@burdenoff/microfe-eventfullymanaged 2026.510.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -0
- package/dist/dev/main.d.ts +2 -0
- package/dist/dev/main.d.ts.map +1 -0
- package/dist/eventfullymanaged/EventfullyManagedRoot.d.ts +4 -0
- package/dist/eventfullymanaged/EventfullyManagedRoot.d.ts.map +1 -0
- package/dist/eventfullymanaged/EventfullyManagedRoot.js +73 -0
- package/dist/eventfullymanaged/EventfullyManagedRoot.js.map +1 -0
- package/dist/eventfullymanaged/EventfullyManagedRoutes.d.ts +2 -0
- package/dist/eventfullymanaged/EventfullyManagedRoutes.d.ts.map +1 -0
- package/dist/eventfullymanaged/EventfullyManagedRoutes.js +297 -0
- package/dist/eventfullymanaged/EventfullyManagedRoutes.js.map +1 -0
- package/dist/eventfullymanaged/api/eventApi.d.ts +657 -0
- package/dist/eventfullymanaged/api/eventApi.d.ts.map +1 -0
- package/dist/eventfullymanaged/api/eventApi.js +630 -0
- package/dist/eventfullymanaged/api/eventApi.js.map +1 -0
- package/dist/eventfullymanaged/components/PageLayout.d.ts +12 -0
- package/dist/eventfullymanaged/components/PageLayout.d.ts.map +1 -0
- package/dist/eventfullymanaged/components/PageLayout.js +53 -0
- package/dist/eventfullymanaged/components/PageLayout.js.map +1 -0
- package/dist/eventfullymanaged/context/EventfullyManagedContext.d.ts +25 -0
- package/dist/eventfullymanaged/context/EventfullyManagedContext.d.ts.map +1 -0
- package/dist/eventfullymanaged/context/EventfullyManagedContext.js +46 -0
- package/dist/eventfullymanaged/context/EventfullyManagedContext.js.map +1 -0
- package/dist/eventfullymanaged/hooks/index.d.ts +3 -0
- package/dist/eventfullymanaged/hooks/index.d.ts.map +1 -0
- package/dist/eventfullymanaged/index.d.ts +27 -0
- package/dist/eventfullymanaged/index.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/dashboard/DashboardPage.d.ts +2 -0
- package/dist/eventfullymanaged/pages/dashboard/DashboardPage.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/dashboard/DashboardPage.js +79 -0
- package/dist/eventfullymanaged/pages/dashboard/DashboardPage.js.map +1 -0
- package/dist/eventfullymanaged/pages/modules/AnalyticsPage.d.ts +2 -0
- package/dist/eventfullymanaged/pages/modules/AnalyticsPage.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/modules/AnalyticsPage.js +62 -0
- package/dist/eventfullymanaged/pages/modules/AnalyticsPage.js.map +1 -0
- package/dist/eventfullymanaged/pages/modules/AttendeeProfilePage.d.ts +2 -0
- package/dist/eventfullymanaged/pages/modules/AttendeeProfilePage.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/modules/AttendeeProfilePage.js +89 -0
- package/dist/eventfullymanaged/pages/modules/AttendeeProfilePage.js.map +1 -0
- package/dist/eventfullymanaged/pages/modules/CommunicationPage.d.ts +2 -0
- package/dist/eventfullymanaged/pages/modules/CommunicationPage.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/modules/CommunicationPage.js +81 -0
- package/dist/eventfullymanaged/pages/modules/CommunicationPage.js.map +1 -0
- package/dist/eventfullymanaged/pages/modules/EntityListSection.d.ts +14 -0
- package/dist/eventfullymanaged/pages/modules/EntityListSection.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/modules/EntityListSection.js +36 -0
- package/dist/eventfullymanaged/pages/modules/EntityListSection.js.map +1 -0
- package/dist/eventfullymanaged/pages/modules/EventsPage.d.ts +2 -0
- package/dist/eventfullymanaged/pages/modules/EventsPage.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/modules/EventsPage.js +91 -0
- package/dist/eventfullymanaged/pages/modules/EventsPage.js.map +1 -0
- package/dist/eventfullymanaged/pages/modules/KioskPage.d.ts +2 -0
- package/dist/eventfullymanaged/pages/modules/KioskPage.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/modules/KioskPage.js +52 -0
- package/dist/eventfullymanaged/pages/modules/KioskPage.js.map +1 -0
- package/dist/eventfullymanaged/pages/modules/NetworkingPage.d.ts +2 -0
- package/dist/eventfullymanaged/pages/modules/NetworkingPage.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/modules/NetworkingPage.js +65 -0
- package/dist/eventfullymanaged/pages/modules/NetworkingPage.js.map +1 -0
- package/dist/eventfullymanaged/pages/modules/OperationsHubPage.d.ts +9 -0
- package/dist/eventfullymanaged/pages/modules/OperationsHubPage.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/modules/OperationsHubPage.js +309 -0
- package/dist/eventfullymanaged/pages/modules/OperationsHubPage.js.map +1 -0
- package/dist/eventfullymanaged/pages/modules/RegistrationPage.d.ts +2 -0
- package/dist/eventfullymanaged/pages/modules/RegistrationPage.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/modules/RegistrationPage.js +73 -0
- package/dist/eventfullymanaged/pages/modules/RegistrationPage.js.map +1 -0
- package/dist/eventfullymanaged/pages/modules/SponsorDetailsPage.d.ts +2 -0
- package/dist/eventfullymanaged/pages/modules/SponsorDetailsPage.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/modules/SponsorDetailsPage.js +88 -0
- package/dist/eventfullymanaged/pages/modules/SponsorDetailsPage.js.map +1 -0
- package/dist/eventfullymanaged/pages/modules/SponsorLeadsPage.d.ts +2 -0
- package/dist/eventfullymanaged/pages/modules/SponsorLeadsPage.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/modules/SponsorLeadsPage.js +55 -0
- package/dist/eventfullymanaged/pages/modules/SponsorLeadsPage.js.map +1 -0
- package/dist/eventfullymanaged/pages/modules/VenueResourcesPage.d.ts +2 -0
- package/dist/eventfullymanaged/pages/modules/VenueResourcesPage.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/modules/VenueResourcesPage.js +93 -0
- package/dist/eventfullymanaged/pages/modules/VenueResourcesPage.js.map +1 -0
- package/dist/eventfullymanaged/pages/modules/WorkflowsPage.d.ts +2 -0
- package/dist/eventfullymanaged/pages/modules/WorkflowsPage.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/modules/WorkflowsPage.js +93 -0
- package/dist/eventfullymanaged/pages/modules/WorkflowsPage.js.map +1 -0
- package/dist/eventfullymanaged/pages/sponsors/SponsorFormPage.d.ts +2 -0
- package/dist/eventfullymanaged/pages/sponsors/SponsorFormPage.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/sponsors/SponsorFormPage.js +257 -0
- package/dist/eventfullymanaged/pages/sponsors/SponsorFormPage.js.map +1 -0
- package/dist/eventfullymanaged/pages/sponsors/SponsorsListPage.d.ts +2 -0
- package/dist/eventfullymanaged/pages/sponsors/SponsorsListPage.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/sponsors/SponsorsListPage.js +131 -0
- package/dist/eventfullymanaged/pages/sponsors/SponsorsListPage.js.map +1 -0
- package/dist/eventfullymanaged/pages/venues/FloorPlansPage.d.ts +2 -0
- package/dist/eventfullymanaged/pages/venues/FloorPlansPage.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/venues/FloorPlansPage.js +91 -0
- package/dist/eventfullymanaged/pages/venues/FloorPlansPage.js.map +1 -0
- package/dist/eventfullymanaged/pages/venues/VenueDetailPage.d.ts +2 -0
- package/dist/eventfullymanaged/pages/venues/VenueDetailPage.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/venues/VenueDetailPage.js +142 -0
- package/dist/eventfullymanaged/pages/venues/VenueDetailPage.js.map +1 -0
- package/dist/eventfullymanaged/pages/venues/VenueFormPage.d.ts +2 -0
- package/dist/eventfullymanaged/pages/venues/VenueFormPage.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/venues/VenueFormPage.js +250 -0
- package/dist/eventfullymanaged/pages/venues/VenueFormPage.js.map +1 -0
- package/dist/eventfullymanaged/pages/venues/VenueListPage.d.ts +2 -0
- package/dist/eventfullymanaged/pages/venues/VenueListPage.d.ts.map +1 -0
- package/dist/eventfullymanaged/pages/venues/VenueListPage.js +94 -0
- package/dist/eventfullymanaged/pages/venues/VenueListPage.js.map +1 -0
- package/dist/eventfullymanaged/store/eventfullyManagedStore.d.ts +47 -0
- package/dist/eventfullymanaged/store/eventfullyManagedStore.d.ts.map +1 -0
- package/dist/eventfullymanaged/types/index.d.ts +3649 -0
- package/dist/eventfullymanaged/types/index.d.ts.map +1 -0
- package/dist/eventfullymanaged/utils/cn.d.ts +2 -0
- package/dist/eventfullymanaged/utils/cn.d.ts.map +1 -0
- package/dist/eventfullymanaged/utils/cn.js +2 -0
- package/dist/eventfullymanaged/utils/constants.d.ts +3 -0
- package/dist/eventfullymanaged/utils/constants.d.ts.map +1 -0
- package/dist/eventfullymanaged/utils/navigation.d.ts +2 -0
- package/dist/eventfullymanaged/utils/navigation.d.ts.map +1 -0
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-types.d.ts +20716 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/wspace-operations.d.ts +2 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-types.d.ts +53363 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/node_modules/@apollo/client/core/networkStatus.js +9 -0
- package/dist/node_modules/@apollo/client/core/networkStatus.js.map +1 -0
- package/dist/node_modules/@apollo/client/react/context/ApolloContext.js +18 -0
- package/dist/node_modules/@apollo/client/react/context/ApolloContext.js.map +1 -0
- package/dist/node_modules/@apollo/client/react/hooks/constants.js +6 -0
- package/dist/node_modules/@apollo/client/react/hooks/constants.js.map +1 -0
- package/dist/node_modules/@apollo/client/react/hooks/internal/useDeepMemo.js +14 -0
- package/dist/node_modules/@apollo/client/react/hooks/internal/useDeepMemo.js.map +1 -0
- package/dist/node_modules/@apollo/client/react/hooks/internal/useIsomorphicLayoutEffect.js +8 -0
- package/dist/node_modules/@apollo/client/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -0
- package/dist/node_modules/@apollo/client/react/hooks/internal/wrapHook.js +16 -0
- package/dist/node_modules/@apollo/client/react/hooks/internal/wrapHook.js.map +1 -0
- package/dist/node_modules/@apollo/client/react/hooks/useApolloClient.js +12 -0
- package/dist/node_modules/@apollo/client/react/hooks/useApolloClient.js.map +1 -0
- package/dist/node_modules/@apollo/client/react/hooks/useMutation.js +99 -0
- package/dist/node_modules/@apollo/client/react/hooks/useMutation.js.map +1 -0
- package/dist/node_modules/@apollo/client/react/hooks/useQuery.js +129 -0
- package/dist/node_modules/@apollo/client/react/hooks/useQuery.js.map +1 -0
- package/dist/node_modules/@apollo/client/react/hooks/useSyncExternalStore.js +37 -0
- package/dist/node_modules/@apollo/client/react/hooks/useSyncExternalStore.js.map +1 -0
- package/dist/node_modules/@apollo/client/react/internal/index.js +6 -0
- package/dist/node_modules/@apollo/client/react/internal/index.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/canUseDOM.js +7 -0
- package/dist/node_modules/@apollo/client/utilities/internal/canUseDOM.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/compact.js +14 -0
- package/dist/node_modules/@apollo/client/utilities/internal/compact.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/constants.js +6 -0
- package/dist/node_modules/@apollo/client/utilities/internal/constants.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/deepFreeze.js +17 -0
- package/dist/node_modules/@apollo/client/utilities/internal/deepFreeze.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/globals/global.js +9 -0
- package/dist/node_modules/@apollo/client/utilities/internal/globals/global.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/globals/maybe.js +10 -0
- package/dist/node_modules/@apollo/client/utilities/internal/globals/maybe.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/isNonNullObject.js +8 -0
- package/dist/node_modules/@apollo/client/utilities/internal/isNonNullObject.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/makeUniqueId.js +10 -0
- package/dist/node_modules/@apollo/client/utilities/internal/makeUniqueId.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/maybeDeepFreeze.js +9 -0
- package/dist/node_modules/@apollo/client/utilities/internal/maybeDeepFreeze.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/mergeOptions.js +12 -0
- package/dist/node_modules/@apollo/client/utilities/internal/mergeOptions.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/preventUnhandledRejection.js +8 -0
- package/dist/node_modules/@apollo/client/utilities/internal/preventUnhandledRejection.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/internal/stringifyForDisplay.js +10 -0
- package/dist/node_modules/@apollo/client/utilities/internal/stringifyForDisplay.js.map +1 -0
- package/dist/node_modules/@apollo/client/utilities/invariant/index.js +57 -0
- package/dist/node_modules/@apollo/client/utilities/invariant/index.js.map +1 -0
- package/dist/node_modules/@apollo/client/version.js +6 -0
- package/dist/node_modules/@apollo/client/version.js.map +1 -0
- package/dist/node_modules/@wry/equality/lib/index.js +89 -0
- package/dist/node_modules/@wry/equality/lib/index.js.map +1 -0
- package/dist/node_modules/graphql/error/GraphQLError.js +65 -0
- package/dist/node_modules/graphql/error/GraphQLError.js.map +1 -0
- package/dist/node_modules/graphql/error/syntaxError.js +12 -0
- package/dist/node_modules/graphql/error/syntaxError.js.map +1 -0
- package/dist/node_modules/graphql/jsutils/devAssert.js +8 -0
- package/dist/node_modules/graphql/jsutils/devAssert.js.map +1 -0
- package/dist/node_modules/graphql/jsutils/inspect.js +49 -0
- package/dist/node_modules/graphql/jsutils/inspect.js.map +1 -0
- package/dist/node_modules/graphql/jsutils/instanceOf.js +29 -0
- package/dist/node_modules/graphql/jsutils/instanceOf.js.map +1 -0
- package/dist/node_modules/graphql/jsutils/invariant.js +8 -0
- package/dist/node_modules/graphql/jsutils/invariant.js.map +1 -0
- package/dist/node_modules/graphql/jsutils/isObjectLike.js +8 -0
- package/dist/node_modules/graphql/jsutils/isObjectLike.js.map +1 -0
- package/dist/node_modules/graphql/language/ast.js +201 -0
- package/dist/node_modules/graphql/language/ast.js.map +1 -0
- package/dist/node_modules/graphql/language/blockString.js +19 -0
- package/dist/node_modules/graphql/language/blockString.js.map +1 -0
- package/dist/node_modules/graphql/language/characterClasses.js +20 -0
- package/dist/node_modules/graphql/language/characterClasses.js.map +1 -0
- package/dist/node_modules/graphql/language/directiveLocation.js +9 -0
- package/dist/node_modules/graphql/language/directiveLocation.js.map +1 -0
- package/dist/node_modules/graphql/language/kinds.js +9 -0
- package/dist/node_modules/graphql/language/kinds.js.map +1 -0
- package/dist/node_modules/graphql/language/lexer.js +248 -0
- package/dist/node_modules/graphql/language/lexer.js.map +1 -0
- package/dist/node_modules/graphql/language/location.js +18 -0
- package/dist/node_modules/graphql/language/location.js.map +1 -0
- package/dist/node_modules/graphql/language/parser.js +688 -0
- package/dist/node_modules/graphql/language/parser.js.map +1 -0
- package/dist/node_modules/graphql/language/printLocation.js +32 -0
- package/dist/node_modules/graphql/language/printLocation.js.map +1 -0
- package/dist/node_modules/graphql/language/source.js +22 -0
- package/dist/node_modules/graphql/language/source.js.map +1 -0
- package/dist/node_modules/graphql/language/tokenKind.js +9 -0
- package/dist/node_modules/graphql/language/tokenKind.js.map +1 -0
- package/dist/node_modules/graphql-tag/lib/index.js +76 -0
- package/dist/node_modules/graphql-tag/lib/index.js.map +1 -0
- package/dist/node_modules/graphql-tag/node_modules/tslib/tslib.es6.js +11 -0
- package/dist/node_modules/graphql-tag/node_modules/tslib/tslib.es6.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/NotificationFactories.js +21 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/NotificationFactories.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Scheduler.js +14 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Scheduler.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Subscriber.js +117 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Subscriber.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Subscription.js +93 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/Subscription.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/config.js +12 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/config.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js +46 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/observeOn.js +25 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/operators/observeOn.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/Action.js +16 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/Action.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/AsapAction.js +22 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/AsapAction.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/AsapScheduler.js +27 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/AsapScheduler.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js +46 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js +31 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/asap.js +8 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/asap.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js +11 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/immediateProvider.js +17 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/immediateProvider.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/intervalProvider.js +16 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/intervalProvider.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js +16 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/Immediate.js +20 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/Immediate.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js +13 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js +11 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js +11 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/errorContext.js +10 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/errorContext.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js +12 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isFunction.js +8 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isFunction.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/lift.js +21 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/lift.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/noop.js +6 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/noop.js.map +1 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js +14 -0
- package/dist/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js.map +1 -0
- package/dist/node_modules/rxjs/node_modules/tslib/tslib.es6.js +52 -0
- package/dist/node_modules/rxjs/node_modules/tslib/tslib.es6.js.map +1 -0
- package/package.json +97 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
|
|
3
|
+
interface PageLayoutProps {
|
|
4
|
+
title: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
actions?: ReactNode;
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
backPath?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function PageLayout({ title, description, actions, children, backPath }: PageLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=PageLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageLayout.d.ts","sourceRoot":"","sources":["../../../src/eventfullymanaged/components/PageLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,eAAe,2CA0C9F"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { useEventfullyManaged as e } from "../context/EventfullyManagedContext.js";
|
|
2
|
+
import { cn as t } from "../utils/cn.js";
|
|
3
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
|
+
//#region src/eventfullymanaged/components/PageLayout.tsx
|
|
5
|
+
function i({ title: i, description: a, actions: o, children: s, backPath: c }) {
|
|
6
|
+
let { navigate: l } = e();
|
|
7
|
+
return /* @__PURE__ */ r("div", {
|
|
8
|
+
className: t("flex flex-col h-full bg-bg-surface"),
|
|
9
|
+
children: [/* @__PURE__ */ r("div", {
|
|
10
|
+
className: t("flex items-start justify-between px-6 py-4 border-b border-border-default bg-bg-surface"),
|
|
11
|
+
children: [/* @__PURE__ */ r("div", {
|
|
12
|
+
className: "flex flex-col gap-1",
|
|
13
|
+
children: [
|
|
14
|
+
c && /* @__PURE__ */ r("button", {
|
|
15
|
+
type: "button",
|
|
16
|
+
onClick: () => l(c),
|
|
17
|
+
className: t("flex items-center gap-1 text-sm text-text-secondary hover:text-text-primary transition-colors mb-1"),
|
|
18
|
+
children: [/* @__PURE__ */ n("svg", {
|
|
19
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
20
|
+
width: "16",
|
|
21
|
+
height: "16",
|
|
22
|
+
viewBox: "0 0 24 24",
|
|
23
|
+
fill: "none",
|
|
24
|
+
stroke: "currentColor",
|
|
25
|
+
strokeWidth: "2",
|
|
26
|
+
strokeLinecap: "round",
|
|
27
|
+
strokeLinejoin: "round",
|
|
28
|
+
children: /* @__PURE__ */ n("path", { d: "m15 18-6-6 6-6" })
|
|
29
|
+
}), "Back"]
|
|
30
|
+
}),
|
|
31
|
+
/* @__PURE__ */ n("h1", {
|
|
32
|
+
className: t("text-2xl font-semibold text-text-primary"),
|
|
33
|
+
children: i
|
|
34
|
+
}),
|
|
35
|
+
a && /* @__PURE__ */ n("p", {
|
|
36
|
+
className: t("text-sm text-text-secondary mt-0.5"),
|
|
37
|
+
children: a
|
|
38
|
+
})
|
|
39
|
+
]
|
|
40
|
+
}), o && /* @__PURE__ */ n("div", {
|
|
41
|
+
className: "flex items-center gap-2",
|
|
42
|
+
children: o
|
|
43
|
+
})]
|
|
44
|
+
}), /* @__PURE__ */ n("div", {
|
|
45
|
+
className: t("flex-1 overflow-auto p-6"),
|
|
46
|
+
children: s
|
|
47
|
+
})]
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
//#endregion
|
|
51
|
+
export { i as PageLayout };
|
|
52
|
+
|
|
53
|
+
//# sourceMappingURL=PageLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageLayout.js","names":[],"sources":["../../../src/eventfullymanaged/components/PageLayout.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { useEventfullyManaged } from '../context/EventfullyManagedContext';\nimport { cn } from '../utils/cn';\n\ninterface PageLayoutProps {\n title: string;\n description?: string;\n actions?: ReactNode;\n children: ReactNode;\n backPath?: string;\n}\n\nexport function PageLayout({ title, description, actions, children, backPath }: PageLayoutProps) {\n const { navigate } = useEventfullyManaged();\n\n return (\n <div className={cn('flex flex-col h-full bg-bg-surface')}>\n {/* Header */}\n <div className={cn('flex items-start justify-between px-6 py-4 border-b border-border-default bg-bg-surface')}>\n <div className=\"flex flex-col gap-1\">\n {backPath && (\n <button\n type=\"button\"\n onClick={() => navigate(backPath)}\n className={cn(\n 'flex items-center gap-1 text-sm text-text-secondary hover:text-text-primary transition-colors mb-1'\n )}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"m15 18-6-6 6-6\" />\n </svg>\n Back\n </button>\n )}\n <h1 className={cn('text-2xl font-semibold text-text-primary')}>{title}</h1>\n {description && <p className={cn('text-sm text-text-secondary mt-0.5')}>{description}</p>}\n </div>\n {actions && <div className=\"flex items-center gap-2\">{actions}</div>}\n </div>\n\n {/* Content */}\n <div className={cn('flex-1 overflow-auto p-6')}>{children}</div>\n </div>\n );\n}\n"],"mappings":";;;;AAYA,SAAgB,EAAW,EAAE,UAAO,gBAAa,YAAS,aAAU,eAA6B;CAC/F,IAAM,EAAE,gBAAa,GAAsB;AAE3C,QACE,kBAAC,OAAD;EAAK,WAAW,EAAG,qCAAqC;YAAxD,CAEE,kBAAC,OAAD;GAAK,WAAW,EAAG,0FAA0F;aAA7G,CACE,kBAAC,OAAD;IAAK,WAAU;cAAf;KACG,KACC,kBAAC,UAAD;MACE,MAAK;MACL,eAAe,EAAS,EAAS;MACjC,WAAW,EACT,qGACD;gBALH,CAOE,kBAAC,OAAD;OACE,OAAM;OACN,OAAM;OACN,QAAO;OACP,SAAQ;OACR,MAAK;OACL,QAAO;OACP,aAAY;OACZ,eAAc;OACd,gBAAe;iBAEf,kBAAC,QAAD,EAAM,GAAE,kBAAmB,CAAA;OACvB,CAAA,EAAA,OAEC;;KAEX,kBAAC,MAAD;MAAI,WAAW,EAAG,2CAA2C;gBAAG;MAAW,CAAA;KAC1E,KAAe,kBAAC,KAAD;MAAG,WAAW,EAAG,qCAAqC;gBAAG;MAAgB,CAAA;KACrF;OACL,KAAW,kBAAC,OAAD;IAAK,WAAU;cAA2B;IAAc,CAAA,CAChE;MAGN,kBAAC,OAAD;GAAK,WAAW,EAAG,2BAA2B;GAAG;GAAe,CAAA,CAC5D"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { EventfullyManagedRootProps } from '../types';
|
|
3
|
+
|
|
4
|
+
interface EventfullyManagedContextValue {
|
|
5
|
+
basePath: string;
|
|
6
|
+
navigate: (path: string) => void;
|
|
7
|
+
currentUser: EventfullyManagedRootProps['currentUser'];
|
|
8
|
+
workspaceId?: string;
|
|
9
|
+
tenantId?: string;
|
|
10
|
+
apiGatewayUrl: string;
|
|
11
|
+
authToken: string;
|
|
12
|
+
}
|
|
13
|
+
interface EventfullyManagedProviderProps {
|
|
14
|
+
children: ReactNode;
|
|
15
|
+
props: EventfullyManagedRootProps;
|
|
16
|
+
}
|
|
17
|
+
export declare function EventfullyManagedProvider({ children, props }: EventfullyManagedProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare function useEventfullyManaged(): EventfullyManagedContextValue;
|
|
19
|
+
/**
|
|
20
|
+
* Hook for basePath-aware navigation.
|
|
21
|
+
* Returns a navigate function that automatically prepends basePath.
|
|
22
|
+
*/
|
|
23
|
+
export declare function useEventfullyManagedNavigate(): (path: string) => void;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=EventfullyManagedContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventfullyManagedContext.d.ts","sourceRoot":"","sources":["../../../src/eventfullymanaged/context/EventfullyManagedContext.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAmD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACxF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAE3D,UAAU,6BAA6B;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,0BAA0B,CAAC,aAAa,CAAC,CAAC;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,UAAU,8BAA8B;IACtC,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,0BAA0B,CAAC;CACnC;AAED,wBAAgB,yBAAyB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,8BAA8B,2CAwC5F;AAED,wBAAgB,oBAAoB,kCAMnC;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,WArEzB,MAAM,KAAK,IAAI,CAyFjC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { createContext as e, useCallback as t, useContext as n, useMemo as r } from "react";
|
|
2
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
3
|
+
//#region src/eventfullymanaged/context/EventfullyManagedContext.tsx
|
|
4
|
+
var a = e(null);
|
|
5
|
+
function o({ children: e, props: n }) {
|
|
6
|
+
let { basePath: o = "", navigate: s, currentUser: c, workspaceId: l, tenantId: u, apiGatewayUrl: d, authToken: f } = n, p = o.endsWith("/") ? o.slice(0, -1) : o, m = t((e) => {
|
|
7
|
+
if (!p || p === "/") {
|
|
8
|
+
s(e);
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
if (e.startsWith(p)) {
|
|
12
|
+
s(e);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
s(e.startsWith("/") ? `${p}${e}` : `${p}/${e}`);
|
|
16
|
+
}, [p, s]), h = r(() => ({
|
|
17
|
+
basePath: p,
|
|
18
|
+
navigate: m,
|
|
19
|
+
currentUser: c,
|
|
20
|
+
workspaceId: l,
|
|
21
|
+
tenantId: u,
|
|
22
|
+
apiGatewayUrl: d || "",
|
|
23
|
+
authToken: f || ""
|
|
24
|
+
}), [
|
|
25
|
+
p,
|
|
26
|
+
m,
|
|
27
|
+
c,
|
|
28
|
+
l,
|
|
29
|
+
u,
|
|
30
|
+
d,
|
|
31
|
+
f
|
|
32
|
+
]);
|
|
33
|
+
return /* @__PURE__ */ i(a.Provider, {
|
|
34
|
+
value: h,
|
|
35
|
+
children: e
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
function s() {
|
|
39
|
+
let e = n(a);
|
|
40
|
+
if (!e) throw Error("useEventfullyManaged must be used within an EventfullyManagedProvider");
|
|
41
|
+
return e;
|
|
42
|
+
}
|
|
43
|
+
//#endregion
|
|
44
|
+
export { o as EventfullyManagedProvider, s as useEventfullyManaged };
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=EventfullyManagedContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventfullyManagedContext.js","names":[],"sources":["../../../src/eventfullymanaged/context/EventfullyManagedContext.tsx"],"sourcesContent":["/**\n * EventfullyManagedContext\n *\n * Provides basePath-aware navigation and shared props throughout EventfullyManaged.\n * Uses the navigate function from host app props - no react-router hooks needed.\n */\n\nimport { createContext, useContext, useCallback, useMemo, type ReactNode } from 'react';\nimport type { EventfullyManagedRootProps } from '../types';\n\ninterface EventfullyManagedContextValue {\n basePath: string;\n navigate: (path: string) => void;\n currentUser: EventfullyManagedRootProps['currentUser'];\n workspaceId?: string;\n tenantId?: string;\n apiGatewayUrl: string;\n authToken: string;\n}\n\nconst EventfullyManagedContext = createContext<EventfullyManagedContextValue | null>(null);\n\ninterface EventfullyManagedProviderProps {\n children: ReactNode;\n props: EventfullyManagedRootProps;\n}\n\nexport function EventfullyManagedProvider({ children, props }: EventfullyManagedProviderProps) {\n const { basePath = '', navigate: hostNavigate, currentUser, workspaceId, tenantId, apiGatewayUrl, authToken } = props;\n\n // Normalize basePath (remove trailing slash)\n const normalizedBasePath = basePath.endsWith('/') ? basePath.slice(0, -1) : basePath;\n\n // Create basePath-aware navigation using host's navigate function\n const navigate = useCallback(\n (path: string) => {\n // If basePath is empty or \"/\", just use the path as-is\n if (!normalizedBasePath || normalizedBasePath === '/') {\n hostNavigate(path);\n return;\n }\n // If path already starts with basePath, use as-is\n if (path.startsWith(normalizedBasePath)) {\n hostNavigate(path);\n return;\n }\n // Otherwise, prepend basePath\n const fullPath = path.startsWith('/') ? `${normalizedBasePath}${path}` : `${normalizedBasePath}/${path}`;\n hostNavigate(fullPath);\n },\n [normalizedBasePath, hostNavigate]\n );\n\n const value = useMemo(\n () => ({\n basePath: normalizedBasePath,\n navigate,\n currentUser,\n workspaceId,\n tenantId,\n apiGatewayUrl: apiGatewayUrl || '',\n authToken: authToken || '',\n }),\n [normalizedBasePath, navigate, currentUser, workspaceId, tenantId, apiGatewayUrl, authToken]\n );\n\n return <EventfullyManagedContext.Provider value={value}>{children}</EventfullyManagedContext.Provider>;\n}\n\nexport function useEventfullyManaged() {\n const context = useContext(EventfullyManagedContext);\n if (!context) {\n throw new Error('useEventfullyManaged must be used within an EventfullyManagedProvider');\n }\n return context;\n}\n\n/**\n * Hook for basePath-aware navigation.\n * Returns a navigate function that automatically prepends basePath.\n */\nexport function useEventfullyManagedNavigate() {\n const context = useContext(EventfullyManagedContext);\n\n // Create a stable fallback function\n const fallbackNavigate = useCallback((path: string) => {\n const currentPath = window.location.pathname;\n const mfeMatch = currentPath.match(/^(\\/eventfullymanaged)/);\n const basePath = mfeMatch ? mfeMatch[1] : '';\n\n let fullPath = path;\n if (basePath && !path.startsWith(basePath)) {\n fullPath = path.startsWith('/') ? `${basePath}${path}` : `${basePath}/${path}`;\n }\n\n // Use window.location as last resort\n window.location.href = fullPath;\n }, []);\n\n // Return context navigate if available, otherwise fallback\n return context?.navigate ?? fallbackNavigate;\n}\n"],"mappings":";;;AAoBA,IAAM,IAA2B,EAAoD,KAAK;AAO1F,SAAgB,EAA0B,EAAE,aAAU,YAAyC;CAC7F,IAAM,EAAE,cAAW,IAAI,UAAU,GAAc,gBAAa,gBAAa,aAAU,kBAAe,iBAAc,GAG1G,IAAqB,EAAS,SAAS,IAAI,GAAG,EAAS,MAAM,GAAG,GAAG,GAAG,GAGtE,IAAW,GACd,MAAiB;AAEhB,MAAI,CAAC,KAAsB,MAAuB,KAAK;AACrD,KAAa,EAAK;AAClB;;AAGF,MAAI,EAAK,WAAW,EAAmB,EAAE;AACvC,KAAa,EAAK;AAClB;;AAIF,IADiB,EAAK,WAAW,IAAI,GAAG,GAAG,IAAqB,MAAS,GAAG,EAAmB,GAAG,IAC5E;IAExB,CAAC,GAAoB,EAAa,CACnC,EAEK,IAAQ,SACL;EACL,UAAU;EACV;EACA;EACA;EACA;EACA,eAAe,KAAiB;EAChC,WAAW,KAAa;EACzB,GACD;EAAC;EAAoB;EAAU;EAAa;EAAa;EAAU;EAAe;EAAU,CAC7F;AAED,QAAO,kBAAC,EAAyB,UAA1B;EAA0C;EAAQ;EAA6C,CAAA;;AAGxG,SAAgB,IAAuB;CACrC,IAAM,IAAU,EAAW,EAAyB;AACpD,KAAI,CAAC,EACH,OAAU,MAAM,wEAAwE;AAE1F,QAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/eventfullymanaged/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EventfullyManaged Microfrontend
|
|
3
|
+
*
|
|
4
|
+
* Comprehensive event management platform for creating, managing,
|
|
5
|
+
* and analyzing events with registration, networking, sponsors,
|
|
6
|
+
* finance, HR, workflows, and kiosk support.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* import { EventfullyManagedRoot, type EventfullyManagedRootProps } from '@burdenoff/microfe-eventfullymanaged';
|
|
11
|
+
*
|
|
12
|
+
* function App() {
|
|
13
|
+
* const props: EventfullyManagedRootProps = {
|
|
14
|
+
* basePath: '/events',
|
|
15
|
+
* navigate: (path) => router.push(path),
|
|
16
|
+
* currentUser: { id: '1', email: 'user@example.com' },
|
|
17
|
+
* workspaceId: 'ws-1',
|
|
18
|
+
* tenantId: 'tenant-1',
|
|
19
|
+
* };
|
|
20
|
+
*
|
|
21
|
+
* return <EventfullyManagedRoot {...props} />;
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export { EventfullyManagedRoot } from './EventfullyManagedRoot';
|
|
26
|
+
export type { EventfullyManagedRootProps } from './types';
|
|
27
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/eventfullymanaged/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardPage.d.ts","sourceRoot":"","sources":["../../../../src/eventfullymanaged/pages/dashboard/DashboardPage.tsx"],"names":[],"mappings":"AAcA,MAAM,CAAC,OAAO,UAAU,aAAa,4CA+EpC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { useEventfullyManaged as e } from "../../context/EventfullyManagedContext.js";
|
|
2
|
+
import { useDashboardSummaryQuery as t } from "../../api/eventApi.js";
|
|
3
|
+
import { PageLayout as n } from "../../components/PageLayout.js";
|
|
4
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
5
|
+
import { BarChart3 as a, Building2 as o, CalendarDays as s, Megaphone as c, Ticket as l, Users as u } from "lucide-react";
|
|
6
|
+
import { useI18n as d } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
7
|
+
//#region src/eventfullymanaged/pages/dashboard/DashboardPage.tsx
|
|
8
|
+
function f() {
|
|
9
|
+
let { t: f } = d(), p = (e, t) => {
|
|
10
|
+
let n = f(e);
|
|
11
|
+
return n === e ? t : n;
|
|
12
|
+
}, { navigate: m } = e(), { data: h, loading: g } = t(), _ = h?.dashboardSummary, v = [
|
|
13
|
+
{
|
|
14
|
+
label: p("eventfullymanaged.dashboard.cards.activeEvents", "Active Events"),
|
|
15
|
+
value: _?.activeEvents ?? 0,
|
|
16
|
+
icon: s,
|
|
17
|
+
path: "/events"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
label: p("eventfullymanaged.dashboard.cards.venues", "Venues"),
|
|
21
|
+
value: _?.totalVenues ?? 0,
|
|
22
|
+
icon: o,
|
|
23
|
+
path: "/venues"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
label: p("eventfullymanaged.dashboard.cards.registrations", "Registrations"),
|
|
27
|
+
value: _?.totalRegistrations ?? 0,
|
|
28
|
+
icon: l,
|
|
29
|
+
path: "/registration"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
label: p("eventfullymanaged.dashboard.cards.campaigns", "Campaigns"),
|
|
33
|
+
value: _?.totalSponsors ?? 0,
|
|
34
|
+
icon: c,
|
|
35
|
+
path: "/communication"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
label: p("eventfullymanaged.dashboard.cards.analyticsReports", "Analytics Reports"),
|
|
39
|
+
value: _?.totalEvents ?? 0,
|
|
40
|
+
icon: a,
|
|
41
|
+
path: "/analytics"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
label: p("eventfullymanaged.dashboard.cards.networkMatches", "Network Matches"),
|
|
45
|
+
value: _?.upcomingSessions ?? 0,
|
|
46
|
+
icon: u,
|
|
47
|
+
path: "/networking"
|
|
48
|
+
}
|
|
49
|
+
];
|
|
50
|
+
return /* @__PURE__ */ r(n, {
|
|
51
|
+
title: p("eventfullymanaged.dashboard.title", "EventfullyManaged"),
|
|
52
|
+
description: g ? p("eventfullymanaged.dashboard.description.loading", "Loading real-time event operations summary...") : p("eventfullymanaged.dashboard.description.ready", "Unified event operations dashboard."),
|
|
53
|
+
children: /* @__PURE__ */ r("div", {
|
|
54
|
+
className: "grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3",
|
|
55
|
+
children: v.map((e) => {
|
|
56
|
+
let t = e.icon;
|
|
57
|
+
return /* @__PURE__ */ i("button", {
|
|
58
|
+
type: "button",
|
|
59
|
+
onClick: () => m(e.path),
|
|
60
|
+
className: "rounded-lg border border-border-default bg-bg-surface p-5 text-left transition hover:bg-bg-elevated",
|
|
61
|
+
children: [/* @__PURE__ */ i("div", {
|
|
62
|
+
className: "flex items-center justify-between",
|
|
63
|
+
children: [/* @__PURE__ */ r("span", {
|
|
64
|
+
className: "text-sm text-text-secondary",
|
|
65
|
+
children: e.label
|
|
66
|
+
}), /* @__PURE__ */ r(t, { className: "h-5 w-5 text-text-secondary" })]
|
|
67
|
+
}), /* @__PURE__ */ r("div", {
|
|
68
|
+
className: "mt-3 text-3xl font-semibold text-text-primary",
|
|
69
|
+
children: e.value.toLocaleString()
|
|
70
|
+
})]
|
|
71
|
+
}, e.label);
|
|
72
|
+
})
|
|
73
|
+
})
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
export { f as default };
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=DashboardPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardPage.js","names":[],"sources":["../../../../src/eventfullymanaged/pages/dashboard/DashboardPage.tsx"],"sourcesContent":["import { BarChart3, Building2, CalendarDays, Megaphone, Ticket, Users } from 'lucide-react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\n\nimport { useDashboardSummaryQuery } from '../../api/eventApi';\nimport { PageLayout } from '../../components/PageLayout';\nimport { useEventfullyManaged } from '../../context/EventfullyManagedContext';\n\ntype StatCard = {\n label: string;\n value: number;\n icon: React.ComponentType<{ className?: string }>;\n path: string;\n};\n\nexport default function DashboardPage() {\n const { t: translate } = useI18n();\n const t = (key: string, fallback: string) => {\n const value = translate(key);\n return value === key ? fallback : value;\n };\n const { navigate } = useEventfullyManaged();\n const { data, loading } = useDashboardSummaryQuery();\n\n const summary = data?.dashboardSummary;\n const cards: StatCard[] = [\n {\n label: t('eventfullymanaged.dashboard.cards.activeEvents', 'Active Events'),\n value: summary?.activeEvents ?? 0,\n icon: CalendarDays,\n path: '/events',\n },\n {\n label: t('eventfullymanaged.dashboard.cards.venues', 'Venues'),\n value: summary?.totalVenues ?? 0,\n icon: Building2,\n path: '/venues',\n },\n {\n label: t('eventfullymanaged.dashboard.cards.registrations', 'Registrations'),\n value: summary?.totalRegistrations ?? 0,\n icon: Ticket,\n path: '/registration',\n },\n {\n label: t('eventfullymanaged.dashboard.cards.campaigns', 'Campaigns'),\n value: summary?.totalSponsors ?? 0,\n icon: Megaphone,\n path: '/communication',\n },\n {\n label: t('eventfullymanaged.dashboard.cards.analyticsReports', 'Analytics Reports'),\n value: summary?.totalEvents ?? 0,\n icon: BarChart3,\n path: '/analytics',\n },\n {\n label: t('eventfullymanaged.dashboard.cards.networkMatches', 'Network Matches'),\n value: summary?.upcomingSessions ?? 0,\n icon: Users,\n path: '/networking',\n },\n ];\n\n return (\n <PageLayout\n title={t('eventfullymanaged.dashboard.title', 'EventfullyManaged')}\n description={\n loading\n ? t('eventfullymanaged.dashboard.description.loading', 'Loading real-time event operations summary...')\n : t('eventfullymanaged.dashboard.description.ready', 'Unified event operations dashboard.')\n }\n >\n <div className=\"grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3\">\n {cards.map((card) => {\n const Icon = card.icon;\n return (\n <button\n key={card.label}\n type=\"button\"\n onClick={() => navigate(card.path)}\n className=\"rounded-lg border border-border-default bg-bg-surface p-5 text-left transition hover:bg-bg-elevated\"\n >\n <div className=\"flex items-center justify-between\">\n <span className=\"text-sm text-text-secondary\">{card.label}</span>\n <Icon className=\"h-5 w-5 text-text-secondary\" />\n </div>\n <div className=\"mt-3 text-3xl font-semibold text-text-primary\">{card.value.toLocaleString()}</div>\n </button>\n );\n })}\n </div>\n </PageLayout>\n );\n}\n"],"mappings":";;;;;;;AAcA,SAAwB,IAAgB;CACtC,IAAM,EAAE,GAAG,MAAc,GAAS,EAC5B,KAAK,GAAa,MAAqB;EAC3C,IAAM,IAAQ,EAAU,EAAI;AAC5B,SAAO,MAAU,IAAM,IAAW;IAE9B,EAAE,gBAAa,GAAsB,EACrC,EAAE,SAAM,eAAY,GAA0B,EAE9C,IAAU,GAAM,kBAChB,IAAoB;EACxB;GACE,OAAO,EAAE,kDAAkD,gBAAgB;GAC3E,OAAO,GAAS,gBAAgB;GAChC,MAAM;GACN,MAAM;GACP;EACD;GACE,OAAO,EAAE,4CAA4C,SAAS;GAC9D,OAAO,GAAS,eAAe;GAC/B,MAAM;GACN,MAAM;GACP;EACD;GACE,OAAO,EAAE,mDAAmD,gBAAgB;GAC5E,OAAO,GAAS,sBAAsB;GACtC,MAAM;GACN,MAAM;GACP;EACD;GACE,OAAO,EAAE,+CAA+C,YAAY;GACpE,OAAO,GAAS,iBAAiB;GACjC,MAAM;GACN,MAAM;GACP;EACD;GACE,OAAO,EAAE,sDAAsD,oBAAoB;GACnF,OAAO,GAAS,eAAe;GAC/B,MAAM;GACN,MAAM;GACP;EACD;GACE,OAAO,EAAE,oDAAoD,kBAAkB;GAC/E,OAAO,GAAS,oBAAoB;GACpC,MAAM;GACN,MAAM;GACP;EACF;AAED,QACE,kBAAC,GAAD;EACE,OAAO,EAAE,qCAAqC,oBAAoB;EAClE,aACE,IACI,EAAE,mDAAmD,gDAAgD,GACrG,EAAE,iDAAiD,sCAAsC;YAG/F,kBAAC,OAAD;GAAK,WAAU;aACZ,EAAM,KAAK,MAAS;IACnB,IAAM,IAAO,EAAK;AAClB,WACE,kBAAC,UAAD;KAEE,MAAK;KACL,eAAe,EAAS,EAAK,KAAK;KAClC,WAAU;eAJZ,CAME,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,QAAD;OAAM,WAAU;iBAA+B,EAAK;OAAa,CAAA,EACjE,kBAAC,GAAD,EAAM,WAAU,+BAAgC,CAAA,CAC5C;SACN,kBAAC,OAAD;MAAK,WAAU;gBAAiD,EAAK,MAAM,gBAAgB;MAAO,CAAA,CAC3F;OAVF,EAAK,MAUH;KAEX;GACE,CAAA;EACK,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnalyticsPage.d.ts","sourceRoot":"","sources":["../../../../src/eventfullymanaged/pages/modules/AnalyticsPage.tsx"],"names":[],"mappings":"AAaA,MAAM,CAAC,OAAO,UAAU,aAAa,4CA6DpC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { useAnalyticsSnapshotsQuery as e, useUpsertAnalyticsSnapshotMutation as t } from "../../api/eventApi.js";
|
|
2
|
+
import { EntityListSection as n } from "./EntityListSection.js";
|
|
3
|
+
import { useMemo as r, useState as i } from "react";
|
|
4
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
5
|
+
import { BarChart3 as s } from "lucide-react";
|
|
6
|
+
//#region src/eventfullymanaged/pages/modules/AnalyticsPage.tsx
|
|
7
|
+
function c() {
|
|
8
|
+
let c = e({
|
|
9
|
+
limit: 100,
|
|
10
|
+
offset: 0
|
|
11
|
+
}), [l, { loading: u }] = t(), [d, f] = i("overview"), p = r(() => c.data?.analyticsSnapshots.items ?? [], [c.data]);
|
|
12
|
+
return /* @__PURE__ */ o("div", {
|
|
13
|
+
className: "space-y-6 p-6",
|
|
14
|
+
children: [/* @__PURE__ */ o("section", {
|
|
15
|
+
className: "rounded-lg border border-border-default bg-bg-surface p-5",
|
|
16
|
+
children: [
|
|
17
|
+
/* @__PURE__ */ a("h1", {
|
|
18
|
+
className: "text-2xl font-bold text-text-primary",
|
|
19
|
+
children: "Analytics"
|
|
20
|
+
}),
|
|
21
|
+
/* @__PURE__ */ a("p", {
|
|
22
|
+
className: "mt-1 text-sm text-text-secondary",
|
|
23
|
+
children: "Generate and track analytics snapshots from event operations data."
|
|
24
|
+
}),
|
|
25
|
+
/* @__PURE__ */ o("div", {
|
|
26
|
+
className: "mt-4 flex flex-col gap-3 sm:flex-row",
|
|
27
|
+
children: [/* @__PURE__ */ a("input", {
|
|
28
|
+
value: d,
|
|
29
|
+
onChange: (e) => f(e.target.value),
|
|
30
|
+
placeholder: "daily-summary",
|
|
31
|
+
className: "flex-1 rounded-md border border-border-default px-3 py-2"
|
|
32
|
+
}), /* @__PURE__ */ o("button", {
|
|
33
|
+
type: "button",
|
|
34
|
+
disabled: u,
|
|
35
|
+
onClick: async () => {
|
|
36
|
+
d.trim() && await l({ variables: { input: {
|
|
37
|
+
name: d,
|
|
38
|
+
title: d,
|
|
39
|
+
status: "created",
|
|
40
|
+
metadata: {}
|
|
41
|
+
} } });
|
|
42
|
+
},
|
|
43
|
+
className: "inline-flex items-center rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:opacity-90 disabled:opacity-60",
|
|
44
|
+
children: [/* @__PURE__ */ a(s, { className: "mr-2 h-4 w-4" }), u ? "Generating..." : "Generate Snapshot"]
|
|
45
|
+
})]
|
|
46
|
+
})
|
|
47
|
+
]
|
|
48
|
+
}), /* @__PURE__ */ a(n, {
|
|
49
|
+
heading: c.loading ? "Loading snapshots..." : `Snapshots (${p.length})`,
|
|
50
|
+
emptyLabel: "No analytics snapshots available yet.",
|
|
51
|
+
rows: p.map((e) => ({
|
|
52
|
+
id: e.id,
|
|
53
|
+
title: e.title ?? e.name ?? `Snapshot ${e.id}`,
|
|
54
|
+
status: e.status ?? void 0
|
|
55
|
+
}))
|
|
56
|
+
})]
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
//#endregion
|
|
60
|
+
export { c as default };
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=AnalyticsPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AnalyticsPage.js","names":[],"sources":["../../../../src/eventfullymanaged/pages/modules/AnalyticsPage.tsx"],"sourcesContent":["import { BarChart3 } from 'lucide-react';\nimport { useMemo, useState } from 'react';\n\nimport { useAnalyticsSnapshotsQuery, useUpsertAnalyticsSnapshotMutation } from '../../api/eventApi';\nimport { EntityListSection } from './EntityListSection';\n\ntype SnapshotRow = {\n id: string;\n name?: string;\n title?: string;\n status?: string;\n};\n\nexport default function AnalyticsPage() {\n const snapshotsQuery = useAnalyticsSnapshotsQuery({ limit: 100, offset: 0 });\n const [upsertSnapshot, { loading: creating }] = useUpsertAnalyticsSnapshotMutation();\n const [snapshotName, setSnapshotName] = useState('overview');\n\n const snapshots = useMemo(\n () => (snapshotsQuery.data?.analyticsSnapshots.items ?? []) as SnapshotRow[],\n [snapshotsQuery.data]\n );\n\n const onCreate = async () => {\n if (!snapshotName.trim()) return;\n await upsertSnapshot({\n variables: {\n input: {\n name: snapshotName,\n title: snapshotName,\n status: 'created',\n metadata: {},\n },\n },\n });\n };\n\n return (\n <div className=\"space-y-6 p-6\">\n <section className=\"rounded-lg border border-border-default bg-bg-surface p-5\">\n <h1 className=\"text-2xl font-bold text-text-primary\">Analytics</h1>\n <p className=\"mt-1 text-sm text-text-secondary\">\n Generate and track analytics snapshots from event operations data.\n </p>\n <div className=\"mt-4 flex flex-col gap-3 sm:flex-row\">\n <input\n value={snapshotName}\n onChange={(e) => setSnapshotName(e.target.value)}\n placeholder=\"daily-summary\"\n className=\"flex-1 rounded-md border border-border-default px-3 py-2\"\n />\n <button\n type=\"button\"\n disabled={creating}\n onClick={onCreate}\n className=\"inline-flex items-center rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:opacity-90 disabled:opacity-60\"\n >\n <BarChart3 className=\"mr-2 h-4 w-4\" />\n {creating ? 'Generating...' : 'Generate Snapshot'}\n </button>\n </div>\n </section>\n\n <EntityListSection\n heading={snapshotsQuery.loading ? 'Loading snapshots...' : `Snapshots (${snapshots.length})`}\n emptyLabel=\"No analytics snapshots available yet.\"\n rows={snapshots.map((row) => ({\n id: row.id,\n title: row.title ?? row.name ?? `Snapshot ${row.id}`,\n status: row.status ?? undefined,\n }))}\n />\n </div>\n );\n}\n"],"mappings":";;;;;;AAaA,SAAwB,IAAgB;CACtC,IAAM,IAAiB,EAA2B;EAAE,OAAO;EAAK,QAAQ;EAAG,CAAC,EACtE,CAAC,GAAgB,EAAE,SAAS,OAAc,GAAoC,EAC9E,CAAC,GAAc,KAAmB,EAAS,WAAW,EAEtD,IAAY,QACT,EAAe,MAAM,mBAAmB,SAAS,EAAE,EAC1D,CAAC,EAAe,KAAK,CACtB;AAgBD,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,WAAD;GAAS,WAAU;aAAnB;IACE,kBAAC,MAAD;KAAI,WAAU;eAAuC;KAAc,CAAA;IACnE,kBAAC,KAAD;KAAG,WAAU;eAAmC;KAE5C,CAAA;IACJ,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,SAAD;MACE,OAAO;MACP,WAAW,MAAM,EAAgB,EAAE,OAAO,MAAM;MAChD,aAAY;MACZ,WAAU;MACV,CAAA,EACF,kBAAC,UAAD;MACE,MAAK;MACL,UAAU;MACV,SA/BO,YAAY;AACtB,SAAa,MAAM,IACxB,MAAM,EAAe,EACnB,WAAW,EACT,OAAO;QACL,MAAM;QACN,OAAO;QACP,QAAQ;QACR,UAAU,EAAE;QACb,EACF,EACF,CAAC;;MAqBM,WAAU;gBAJZ,CAME,kBAAC,GAAD,EAAW,WAAU,gBAAiB,CAAA,EACrC,IAAW,kBAAkB,oBACvB;QACL;;IACE;MAEV,kBAAC,GAAD;GACE,SAAS,EAAe,UAAU,yBAAyB,cAAc,EAAU,OAAO;GAC1F,YAAW;GACX,MAAM,EAAU,KAAK,OAAS;IAC5B,IAAI,EAAI;IACR,OAAO,EAAI,SAAS,EAAI,QAAQ,YAAY,EAAI;IAChD,QAAQ,EAAI,UAAU,KAAA;IACvB,EAAE;GACH,CAAA,CACE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttendeeProfilePage.d.ts","sourceRoot":"","sources":["../../../../src/eventfullymanaged/pages/modules/AttendeeProfilePage.tsx"],"names":[],"mappings":"AAuBA,MAAM,CAAC,OAAO,UAAU,mBAAmB,4CAqE1C"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { useAttendeesQuery as e, useRegistrationsQuery as t } from "../../api/eventApi.js";
|
|
2
|
+
import { EntityListSection as n } from "./EntityListSection.js";
|
|
3
|
+
import { useMemo as r } from "react";
|
|
4
|
+
import { useParams as i } from "react-router-dom";
|
|
5
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
6
|
+
//#region src/eventfullymanaged/pages/modules/AttendeeProfilePage.tsx
|
|
7
|
+
function s() {
|
|
8
|
+
let { id: s = "" } = i(), c = e({
|
|
9
|
+
limit: 100,
|
|
10
|
+
offset: 0
|
|
11
|
+
}), l = t({
|
|
12
|
+
limit: 100,
|
|
13
|
+
offset: 0
|
|
14
|
+
}), u = r(() => (c.data?.attendees.items ?? []).find((e) => e.id === s), [s, c.data]), d = r(() => (l.data?.registrations.items ?? []).filter((e) => e.attendeeId === s), [s, l.data]);
|
|
15
|
+
return /* @__PURE__ */ o("div", {
|
|
16
|
+
className: "space-y-6 p-6",
|
|
17
|
+
children: [/* @__PURE__ */ o("section", {
|
|
18
|
+
className: "rounded-lg border border-border-default bg-bg-surface p-5",
|
|
19
|
+
children: [
|
|
20
|
+
/* @__PURE__ */ a("h1", {
|
|
21
|
+
className: "text-2xl font-bold text-text-primary",
|
|
22
|
+
children: "Attendee Profile"
|
|
23
|
+
}),
|
|
24
|
+
/* @__PURE__ */ a("p", {
|
|
25
|
+
className: "mt-1 text-sm text-text-secondary",
|
|
26
|
+
children: c.loading ? "Loading attendee profile..." : u ? `${u.fullName ?? u.id} profile from registration and attendee APIs.` : "Attendee not found in current query scope."
|
|
27
|
+
}),
|
|
28
|
+
u ? /* @__PURE__ */ o("div", {
|
|
29
|
+
className: "mt-4 grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-4",
|
|
30
|
+
children: [
|
|
31
|
+
/* @__PURE__ */ o("div", {
|
|
32
|
+
className: "rounded-md border border-border-default p-3",
|
|
33
|
+
children: [/* @__PURE__ */ a("p", {
|
|
34
|
+
className: "text-xs uppercase tracking-wide text-text-secondary",
|
|
35
|
+
children: "Name"
|
|
36
|
+
}), /* @__PURE__ */ a("p", {
|
|
37
|
+
className: "mt-1 font-medium text-text-primary",
|
|
38
|
+
children: u.fullName ?? u.id
|
|
39
|
+
})]
|
|
40
|
+
}),
|
|
41
|
+
/* @__PURE__ */ o("div", {
|
|
42
|
+
className: "rounded-md border border-border-default p-3",
|
|
43
|
+
children: [/* @__PURE__ */ a("p", {
|
|
44
|
+
className: "text-xs uppercase tracking-wide text-text-secondary",
|
|
45
|
+
children: "Email"
|
|
46
|
+
}), /* @__PURE__ */ a("p", {
|
|
47
|
+
className: "mt-1 font-medium text-text-primary",
|
|
48
|
+
children: u.email ?? "Unavailable"
|
|
49
|
+
})]
|
|
50
|
+
}),
|
|
51
|
+
/* @__PURE__ */ o("div", {
|
|
52
|
+
className: "rounded-md border border-border-default p-3",
|
|
53
|
+
children: [/* @__PURE__ */ a("p", {
|
|
54
|
+
className: "text-xs uppercase tracking-wide text-text-secondary",
|
|
55
|
+
children: "Company"
|
|
56
|
+
}), /* @__PURE__ */ a("p", {
|
|
57
|
+
className: "mt-1 font-medium text-text-primary",
|
|
58
|
+
children: u.company ?? "Unavailable"
|
|
59
|
+
})]
|
|
60
|
+
}),
|
|
61
|
+
/* @__PURE__ */ o("div", {
|
|
62
|
+
className: "rounded-md border border-border-default p-3",
|
|
63
|
+
children: [/* @__PURE__ */ a("p", {
|
|
64
|
+
className: "text-xs uppercase tracking-wide text-text-secondary",
|
|
65
|
+
children: "Role"
|
|
66
|
+
}), /* @__PURE__ */ a("p", {
|
|
67
|
+
className: "mt-1 font-medium text-text-primary",
|
|
68
|
+
children: u.role ?? "Unavailable"
|
|
69
|
+
})]
|
|
70
|
+
})
|
|
71
|
+
]
|
|
72
|
+
}) : null
|
|
73
|
+
]
|
|
74
|
+
}), /* @__PURE__ */ a(n, {
|
|
75
|
+
heading: l.loading ? "Loading attendee registrations..." : `Registrations (${d.length})`,
|
|
76
|
+
emptyLabel: "No registrations linked to this attendee.",
|
|
77
|
+
rows: d.map((e) => ({
|
|
78
|
+
id: e.id,
|
|
79
|
+
title: `Registration ${e.id}`,
|
|
80
|
+
subtitle: [e.quantity ? `Qty ${e.quantity}` : void 0, e.totalAmount ? `${e.totalAmount} ${e.currency ?? ""}` : void 0].filter(Boolean).join(" • "),
|
|
81
|
+
status: e.status
|
|
82
|
+
}))
|
|
83
|
+
})]
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
export { s as default };
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=AttendeeProfilePage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttendeeProfilePage.js","names":[],"sources":["../../../../src/eventfullymanaged/pages/modules/AttendeeProfilePage.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { useParams } from 'react-router-dom';\n\nimport { useAttendeesQuery, useRegistrationsQuery } from '../../api/eventApi';\nimport { EntityListSection } from './EntityListSection';\n\ntype AttendeeRow = {\n id: string;\n fullName?: string;\n email?: string;\n company?: string;\n role?: string;\n};\n\ntype RegistrationRow = {\n id: string;\n attendeeId?: string;\n status?: string;\n quantity?: number;\n currency?: string;\n totalAmount?: string;\n};\n\nexport default function AttendeeProfilePage() {\n const { id = '' } = useParams();\n const attendeesQuery = useAttendeesQuery({ limit: 100, offset: 0 });\n const registrationsQuery = useRegistrationsQuery({ limit: 100, offset: 0 });\n\n const attendee = useMemo(\n () => ((attendeesQuery.data?.attendees.items ?? []) as AttendeeRow[]).find((item) => item.id === id),\n [id, attendeesQuery.data]\n );\n const registrations = useMemo(\n () =>\n ((registrationsQuery.data?.registrations.items ?? []) as RegistrationRow[]).filter(\n (registration) => registration.attendeeId === id\n ),\n [id, registrationsQuery.data]\n );\n\n return (\n <div className=\"space-y-6 p-6\">\n <section className=\"rounded-lg border border-border-default bg-bg-surface p-5\">\n <h1 className=\"text-2xl font-bold text-text-primary\">Attendee Profile</h1>\n <p className=\"mt-1 text-sm text-text-secondary\">\n {attendeesQuery.loading\n ? 'Loading attendee profile...'\n : attendee\n ? `${attendee.fullName ?? attendee.id} profile from registration and attendee APIs.`\n : 'Attendee not found in current query scope.'}\n </p>\n {attendee ? (\n <div className=\"mt-4 grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-4\">\n <div className=\"rounded-md border border-border-default p-3\">\n <p className=\"text-xs uppercase tracking-wide text-text-secondary\">Name</p>\n <p className=\"mt-1 font-medium text-text-primary\">{attendee.fullName ?? attendee.id}</p>\n </div>\n <div className=\"rounded-md border border-border-default p-3\">\n <p className=\"text-xs uppercase tracking-wide text-text-secondary\">Email</p>\n <p className=\"mt-1 font-medium text-text-primary\">{attendee.email ?? 'Unavailable'}</p>\n </div>\n <div className=\"rounded-md border border-border-default p-3\">\n <p className=\"text-xs uppercase tracking-wide text-text-secondary\">Company</p>\n <p className=\"mt-1 font-medium text-text-primary\">{attendee.company ?? 'Unavailable'}</p>\n </div>\n <div className=\"rounded-md border border-border-default p-3\">\n <p className=\"text-xs uppercase tracking-wide text-text-secondary\">Role</p>\n <p className=\"mt-1 font-medium text-text-primary\">{attendee.role ?? 'Unavailable'}</p>\n </div>\n </div>\n ) : null}\n </section>\n\n <EntityListSection\n heading={\n registrationsQuery.loading ? 'Loading attendee registrations...' : `Registrations (${registrations.length})`\n }\n emptyLabel=\"No registrations linked to this attendee.\"\n rows={registrations.map((registration) => ({\n id: registration.id,\n title: `Registration ${registration.id}`,\n subtitle: [\n registration.quantity ? `Qty ${registration.quantity}` : undefined,\n registration.totalAmount ? `${registration.totalAmount} ${registration.currency ?? ''}` : undefined,\n ]\n .filter(Boolean)\n .join(' • '),\n status: registration.status,\n }))}\n />\n </div>\n );\n}\n"],"mappings":";;;;;;AAuBA,SAAwB,IAAsB;CAC5C,IAAM,EAAE,QAAK,OAAO,GAAW,EACzB,IAAiB,EAAkB;EAAE,OAAO;EAAK,QAAQ;EAAG,CAAC,EAC7D,IAAqB,EAAsB;EAAE,OAAO;EAAK,QAAQ;EAAG,CAAC,EAErE,IAAW,SACP,EAAe,MAAM,UAAU,SAAS,EAAE,EAAoB,MAAM,MAAS,EAAK,OAAO,EAAG,EACpG,CAAC,GAAI,EAAe,KAAK,CAC1B,EACK,IAAgB,SAEhB,EAAmB,MAAM,cAAc,SAAS,EAAE,EAAwB,QACzE,MAAiB,EAAa,eAAe,EAC/C,EACH,CAAC,GAAI,EAAmB,KAAK,CAC9B;AAED,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,WAAD;GAAS,WAAU;aAAnB;IACE,kBAAC,MAAD;KAAI,WAAU;eAAuC;KAAqB,CAAA;IAC1E,kBAAC,KAAD;KAAG,WAAU;eACV,EAAe,UACZ,gCACA,IACE,GAAG,EAAS,YAAY,EAAS,GAAG,iDACpC;KACJ,CAAA;IACH,IACC,kBAAC,OAAD;KAAK,WAAU;eAAf;MACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,KAAD;QAAG,WAAU;kBAAsD;QAAQ,CAAA,EAC3E,kBAAC,KAAD;QAAG,WAAU;kBAAsC,EAAS,YAAY,EAAS;QAAO,CAAA,CACpF;;MACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,KAAD;QAAG,WAAU;kBAAsD;QAAS,CAAA,EAC5E,kBAAC,KAAD;QAAG,WAAU;kBAAsC,EAAS,SAAS;QAAkB,CAAA,CACnF;;MACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,KAAD;QAAG,WAAU;kBAAsD;QAAW,CAAA,EAC9E,kBAAC,KAAD;QAAG,WAAU;kBAAsC,EAAS,WAAW;QAAkB,CAAA,CACrF;;MACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,KAAD;QAAG,WAAU;kBAAsD;QAAQ,CAAA,EAC3E,kBAAC,KAAD;QAAG,WAAU;kBAAsC,EAAS,QAAQ;QAAkB,CAAA,CAClF;;MACF;SACJ;IACI;MAEV,kBAAC,GAAD;GACE,SACE,EAAmB,UAAU,sCAAsC,kBAAkB,EAAc,OAAO;GAE5G,YAAW;GACX,MAAM,EAAc,KAAK,OAAkB;IACzC,IAAI,EAAa;IACjB,OAAO,gBAAgB,EAAa;IACpC,UAAU,CACR,EAAa,WAAW,OAAO,EAAa,aAAa,KAAA,GACzD,EAAa,cAAc,GAAG,EAAa,YAAY,GAAG,EAAa,YAAY,OAAO,KAAA,EAC3F,CACE,OAAO,QAAQ,CACf,KAAK,MAAM;IACd,QAAQ,EAAa;IACtB,EAAE;GACH,CAAA,CACE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommunicationPage.d.ts","sourceRoot":"","sources":["../../../../src/eventfullymanaged/pages/modules/CommunicationPage.tsx"],"names":[],"mappings":"AAkBA,MAAM,CAAC,OAAO,UAAU,iBAAiB,4CAoGxC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { useAnnouncementsQuery as e, useCommunicationCampaignsQuery as t, useUpsertAnnouncementMutation as n } from "../../api/eventApi.js";
|
|
2
|
+
import { EntityListSection as r } from "./EntityListSection.js";
|
|
3
|
+
import { useMemo as i, useState as a } from "react";
|
|
4
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
5
|
+
import { Megaphone as c } from "lucide-react";
|
|
6
|
+
import { useI18n as l } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
7
|
+
//#region src/eventfullymanaged/pages/modules/CommunicationPage.tsx
|
|
8
|
+
function u() {
|
|
9
|
+
let { t: u } = l(), d = (e, t) => {
|
|
10
|
+
let n = u(e);
|
|
11
|
+
return n === e ? t : n;
|
|
12
|
+
}, f = e({
|
|
13
|
+
limit: 100,
|
|
14
|
+
offset: 0
|
|
15
|
+
}), p = t({
|
|
16
|
+
limit: 100,
|
|
17
|
+
offset: 0
|
|
18
|
+
}), [m, { loading: h }] = n(), [g, _] = a(""), v = i(() => f.data?.announcements.items ?? [], [f.data]), y = i(() => p.data?.communicationCampaigns.items ?? [], [p.data]);
|
|
19
|
+
return /* @__PURE__ */ s("div", {
|
|
20
|
+
className: "space-y-6 p-6",
|
|
21
|
+
children: [
|
|
22
|
+
/* @__PURE__ */ s("section", {
|
|
23
|
+
className: "rounded-lg border border-border-default bg-bg-surface p-5",
|
|
24
|
+
children: [
|
|
25
|
+
/* @__PURE__ */ o("h1", {
|
|
26
|
+
className: "text-2xl font-bold text-text-primary",
|
|
27
|
+
children: d("eventfullymanaged.communication.title", "Communication")
|
|
28
|
+
}),
|
|
29
|
+
/* @__PURE__ */ o("p", {
|
|
30
|
+
className: "mt-1 text-sm text-text-secondary",
|
|
31
|
+
children: d("eventfullymanaged.communication.description", "Announcements and campaigns managed via workspace APIs.")
|
|
32
|
+
}),
|
|
33
|
+
/* @__PURE__ */ s("div", {
|
|
34
|
+
className: "mt-4 flex flex-col gap-3 sm:flex-row",
|
|
35
|
+
children: [/* @__PURE__ */ o("input", {
|
|
36
|
+
value: g,
|
|
37
|
+
onChange: (e) => _(e.target.value),
|
|
38
|
+
placeholder: d("eventfullymanaged.communication.inputPlaceholder", "Emergency schedule update"),
|
|
39
|
+
className: "flex-1 rounded-md border border-border-default px-3 py-2"
|
|
40
|
+
}), /* @__PURE__ */ s("button", {
|
|
41
|
+
type: "button",
|
|
42
|
+
disabled: h,
|
|
43
|
+
onClick: async () => {
|
|
44
|
+
g.trim() && (await m({ variables: { input: {
|
|
45
|
+
title: g,
|
|
46
|
+
name: g,
|
|
47
|
+
status: "draft",
|
|
48
|
+
metadata: {}
|
|
49
|
+
} } }), _(""));
|
|
50
|
+
},
|
|
51
|
+
className: "inline-flex items-center rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:opacity-90 disabled:opacity-60",
|
|
52
|
+
children: [/* @__PURE__ */ o(c, { className: "mr-2 h-4 w-4" }), h ? d("eventfullymanaged.communication.actions.creating", "Creating...") : d("eventfullymanaged.communication.actions.createAnnouncement", "Create Announcement")]
|
|
53
|
+
})]
|
|
54
|
+
})
|
|
55
|
+
]
|
|
56
|
+
}),
|
|
57
|
+
/* @__PURE__ */ o(r, {
|
|
58
|
+
heading: f.loading ? d("eventfullymanaged.communication.announcements.loading", "Loading announcements...") : `${d("eventfullymanaged.communication.announcements.heading", "Announcements")} (${v.length})`,
|
|
59
|
+
emptyLabel: d("eventfullymanaged.communication.announcements.empty", "No announcements published yet."),
|
|
60
|
+
rows: v.map((e) => ({
|
|
61
|
+
id: e.id,
|
|
62
|
+
title: e.title ?? e.name ?? `${d("eventfullymanaged.communication.announcements.itemPrefix", "Announcement")} ${e.id}`,
|
|
63
|
+
status: e.status ?? void 0
|
|
64
|
+
}))
|
|
65
|
+
}),
|
|
66
|
+
/* @__PURE__ */ o(r, {
|
|
67
|
+
heading: p.loading ? d("eventfullymanaged.communication.campaigns.loading", "Loading campaigns...") : `${d("eventfullymanaged.communication.campaigns.heading", "Campaigns")} (${y.length})`,
|
|
68
|
+
emptyLabel: d("eventfullymanaged.communication.campaigns.empty", "No communication campaigns created yet."),
|
|
69
|
+
rows: y.map((e) => ({
|
|
70
|
+
id: e.id,
|
|
71
|
+
title: e.title ?? e.name ?? `${d("eventfullymanaged.communication.campaigns.itemPrefix", "Campaign")} ${e.id}`,
|
|
72
|
+
status: e.status ?? void 0
|
|
73
|
+
}))
|
|
74
|
+
})
|
|
75
|
+
]
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
//#endregion
|
|
79
|
+
export { u as default };
|
|
80
|
+
|
|
81
|
+
//# sourceMappingURL=CommunicationPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommunicationPage.js","names":[],"sources":["../../../../src/eventfullymanaged/pages/modules/CommunicationPage.tsx"],"sourcesContent":["import { Megaphone } from 'lucide-react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { useMemo, useState } from 'react';\n\nimport {\n useAnnouncementsQuery,\n useCommunicationCampaignsQuery,\n useUpsertAnnouncementMutation,\n} from '../../api/eventApi';\nimport { EntityListSection } from './EntityListSection';\n\ntype SimpleRow = {\n id: string;\n name?: string;\n title?: string;\n status?: string;\n};\n\nexport default function CommunicationPage() {\n const { t: translate } = useI18n();\n const t = (key: string, fallback: string) => {\n const value = translate(key);\n return value === key ? fallback : value;\n };\n const announcementsQuery = useAnnouncementsQuery({ limit: 100, offset: 0 });\n const campaignsQuery = useCommunicationCampaignsQuery({ limit: 100, offset: 0 });\n const [createAnnouncement, { loading: creating }] = useUpsertAnnouncementMutation();\n const [announcementTitle, setAnnouncementTitle] = useState('');\n\n const announcements = useMemo(\n () => (announcementsQuery.data?.announcements.items ?? []) as SimpleRow[],\n [announcementsQuery.data]\n );\n const campaigns = useMemo(\n () => (campaignsQuery.data?.communicationCampaigns.items ?? []) as SimpleRow[],\n [campaignsQuery.data]\n );\n\n const onCreate = async () => {\n if (!announcementTitle.trim()) return;\n await createAnnouncement({\n variables: {\n input: {\n title: announcementTitle,\n name: announcementTitle,\n status: 'draft',\n metadata: {},\n },\n },\n });\n setAnnouncementTitle('');\n };\n\n return (\n <div className=\"space-y-6 p-6\">\n <section className=\"rounded-lg border border-border-default bg-bg-surface p-5\">\n <h1 className=\"text-2xl font-bold text-text-primary\">\n {t('eventfullymanaged.communication.title', 'Communication')}\n </h1>\n <p className=\"mt-1 text-sm text-text-secondary\">\n {t('eventfullymanaged.communication.description', 'Announcements and campaigns managed via workspace APIs.')}\n </p>\n <div className=\"mt-4 flex flex-col gap-3 sm:flex-row\">\n <input\n value={announcementTitle}\n onChange={(e) => setAnnouncementTitle(e.target.value)}\n placeholder={t('eventfullymanaged.communication.inputPlaceholder', 'Emergency schedule update')}\n className=\"flex-1 rounded-md border border-border-default px-3 py-2\"\n />\n <button\n type=\"button\"\n disabled={creating}\n onClick={onCreate}\n className=\"inline-flex items-center rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:opacity-90 disabled:opacity-60\"\n >\n <Megaphone className=\"mr-2 h-4 w-4\" />\n {creating\n ? t('eventfullymanaged.communication.actions.creating', 'Creating...')\n : t('eventfullymanaged.communication.actions.createAnnouncement', 'Create Announcement')}\n </button>\n </div>\n </section>\n\n <EntityListSection\n heading={\n announcementsQuery.loading\n ? t('eventfullymanaged.communication.announcements.loading', 'Loading announcements...')\n : `${t('eventfullymanaged.communication.announcements.heading', 'Announcements')} (${announcements.length})`\n }\n emptyLabel={t('eventfullymanaged.communication.announcements.empty', 'No announcements published yet.')}\n rows={announcements.map((row) => ({\n id: row.id,\n title:\n row.title ??\n row.name ??\n `${t('eventfullymanaged.communication.announcements.itemPrefix', 'Announcement')} ${row.id}`,\n status: row.status ?? undefined,\n }))}\n />\n\n <EntityListSection\n heading={\n campaignsQuery.loading\n ? t('eventfullymanaged.communication.campaigns.loading', 'Loading campaigns...')\n : `${t('eventfullymanaged.communication.campaigns.heading', 'Campaigns')} (${campaigns.length})`\n }\n emptyLabel={t('eventfullymanaged.communication.campaigns.empty', 'No communication campaigns created yet.')}\n rows={campaigns.map((row) => ({\n id: row.id,\n title:\n row.title ??\n row.name ??\n `${t('eventfullymanaged.communication.campaigns.itemPrefix', 'Campaign')} ${row.id}`,\n status: row.status ?? undefined,\n }))}\n />\n </div>\n );\n}\n"],"mappings":";;;;;;;AAkBA,SAAwB,IAAoB;CAC1C,IAAM,EAAE,GAAG,MAAc,GAAS,EAC5B,KAAK,GAAa,MAAqB;EAC3C,IAAM,IAAQ,EAAU,EAAI;AAC5B,SAAO,MAAU,IAAM,IAAW;IAE9B,IAAqB,EAAsB;EAAE,OAAO;EAAK,QAAQ;EAAG,CAAC,EACrE,IAAiB,EAA+B;EAAE,OAAO;EAAK,QAAQ;EAAG,CAAC,EAC1E,CAAC,GAAoB,EAAE,SAAS,OAAc,GAA+B,EAC7E,CAAC,GAAmB,KAAwB,EAAS,GAAG,EAExD,IAAgB,QACb,EAAmB,MAAM,cAAc,SAAS,EAAE,EACzD,CAAC,EAAmB,KAAK,CAC1B,EACK,IAAY,QACT,EAAe,MAAM,uBAAuB,SAAS,EAAE,EAC9D,CAAC,EAAe,KAAK,CACtB;AAiBD,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,WAAD;IAAS,WAAU;cAAnB;KACE,kBAAC,MAAD;MAAI,WAAU;gBACX,EAAE,yCAAyC,gBAAgB;MACzD,CAAA;KACL,kBAAC,KAAD;MAAG,WAAU;gBACV,EAAE,+CAA+C,0DAA0D;MAC1G,CAAA;KACJ,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,SAAD;OACE,OAAO;OACP,WAAW,MAAM,EAAqB,EAAE,OAAO,MAAM;OACrD,aAAa,EAAE,oDAAoD,4BAA4B;OAC/F,WAAU;OACV,CAAA,EACF,kBAAC,UAAD;OACE,MAAK;OACL,UAAU;OACV,SAlCO,YAAY;AACtB,UAAkB,MAAM,KAC7B,MAAM,EAAmB,EACvB,WAAW,EACT,OAAO;SACL,OAAO;SACP,MAAM;SACN,QAAQ;SACR,UAAU,EAAE;SACb,EACF,EACF,CAAC,EACF,EAAqB,GAAG;;OAuBhB,WAAU;iBAJZ,CAME,kBAAC,GAAD,EAAW,WAAU,gBAAiB,CAAA,EACrC,IACG,EAAE,oDAAoD,cAAc,GACpE,EAAE,8DAA8D,sBAAsB,CACnF;SACL;;KACE;;GAEV,kBAAC,GAAD;IACE,SACE,EAAmB,UACf,EAAE,yDAAyD,2BAA2B,GACtF,GAAG,EAAE,yDAAyD,gBAAgB,CAAC,IAAI,EAAc,OAAO;IAE9G,YAAY,EAAE,uDAAuD,kCAAkC;IACvG,MAAM,EAAc,KAAK,OAAS;KAChC,IAAI,EAAI;KACR,OACE,EAAI,SACJ,EAAI,QACJ,GAAG,EAAE,4DAA4D,eAAe,CAAC,GAAG,EAAI;KAC1F,QAAQ,EAAI,UAAU,KAAA;KACvB,EAAE;IACH,CAAA;GAEF,kBAAC,GAAD;IACE,SACE,EAAe,UACX,EAAE,qDAAqD,uBAAuB,GAC9E,GAAG,EAAE,qDAAqD,YAAY,CAAC,IAAI,EAAU,OAAO;IAElG,YAAY,EAAE,mDAAmD,0CAA0C;IAC3G,MAAM,EAAU,KAAK,OAAS;KAC5B,IAAI,EAAI;KACR,OACE,EAAI,SACJ,EAAI,QACJ,GAAG,EAAE,wDAAwD,WAAW,CAAC,GAAG,EAAI;KAClF,QAAQ,EAAI,UAAU,KAAA;KACvB,EAAE;IACH,CAAA;GACE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type EntityRow = {
|
|
2
|
+
id: string;
|
|
3
|
+
title: string;
|
|
4
|
+
subtitle?: string;
|
|
5
|
+
status?: string;
|
|
6
|
+
};
|
|
7
|
+
interface EntityListSectionProps {
|
|
8
|
+
heading: string;
|
|
9
|
+
rows: EntityRow[];
|
|
10
|
+
emptyLabel: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function EntityListSection({ heading, rows, emptyLabel }: EntityListSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=EntityListSection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityListSection.d.ts","sourceRoot":"","sources":["../../../../src/eventfullymanaged/pages/modules/EntityListSection.tsx"],"names":[],"mappings":"AAAA,KAAK,SAAS,GAAG;IACf,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,UAAU,sBAAsB;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,sBAAsB,2CA2BtF"}
|