{"version":3,"file":"js/app.9fd38802.js","mappings":"wCAAA,IAAIA,EAAM,CACT,yBAA0B,CACzB,MACA,MAED,0BAA2B,CAC1B,MACA,MAED,4BAA6B,CAC5B,MACA,MAED,0BAA2B,CAC1B,MACA,MAED,wBAAyB,CACxB,MACA,MAED,yBAA0B,CACzB,MACA,MAED,uBAAwB,CACvB,KACA,MAED,kBAAmB,CAClB,MACA,MAED,oBAAqB,CACpB,KACA,MAED,qBAAsB,CACrB,MACA,KAED,kBAAmB,CAClB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,sBAAuB,CACtB,MACA,KAED,0BAA2B,CAC1B,MACA,MAED,mBAAoB,CACnB,MACA,MAED,4BAA6B,CAC5B,MACA,MAED,wBAAyB,CACxB,MACA,KAED,6BAA8B,CAC7B,MACA,MAED,oBAAqB,CACpB,KACA,MAED,kBAAmB,CAClB,MACA,MAED,wBAAyB,CACxB,MACA,MAED,yBAA0B,CACzB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,4BAA6B,CAC5B,KACA,MAED,0BAA2B,CAC1B,MACA,KAED,2BAA4B,CAC3B,MACA,MAED,yBAA0B,CACzB,IACA,KAED,0BAA2B,CAC1B,MACA,MAED,4BAA6B,CAC5B,MACA,MAED,4BAA6B,CAC5B,MACA,MAED,0BAA2B,CAC1B,MACA,KAED,wBAAyB,CACxB,MACA,MAED,yBAA0B,CACzB,KACA,MAED,0BAA2B,CAC1B,MACA,MAED,wBAAyB,CACxB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,oBAAqB,CACpB,MACA,MAED,6BAA8B,CAC7B,MACA,MAED,4BAA6B,CAC5B,MACA,MAED,2BAA4B,CAC3B,MACA,MAED,0BAA2B,CAC1B,MACA,MAED,0BAA2B,CAC1B,MACA,MAED,qBAAsB,CACrB,MACA,MAED,qBAAsB,CACrB,KACA,MAED,kBAAmB,CAClB,MACA,MAED,4BAA6B,CAC5B,MACA,MAED,6BAA8B,CAC7B,KACA,MAED,+BAAgC,CAC/B,MACA,MAED,2BAA4B,CAC3B,MACA,MAED,gCAAiC,CAChC,MACA,MAED,6BAA8B,CAC7B,MACA,MAED,wBAAyB,CACxB,MACA,MAED,iBAAkB,CACjB,MACA,KAED,iBAAkB,CACjB,MACA,MAED,oBAAqB,CACpB,MACA,MAED,2BAA4B,CAC3B,MACA,MAED,sBAAuB,CACtB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,2BAA4B,CAC3B,KACA,MAED,oBAAqB,CACpB,IACA,KAED,iBAAkB,CACjB,MACA,KAED,sBAAuB,CACtB,MACA,MAED,oBAAqB,CACpB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,6BAA8B,CAC7B,MACA,MAED,sBAAuB,CACtB,MACA,KAED,mBAAoB,CACnB,MACA,MAED,kBAAmB,CAClB,MACA,IAED,sBAAuB,CACtB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,oBAAqB,CACpB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,oBAAqB,CACpB,KACA,MAED,iBAAkB,CACjB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,oBAAqB,CACpB,MACA,MAED,yBAA0B,CACzB,KACA,KAED,uBAAwB,CACvB,MACA,KAED,0BAA2B,CAC1B,MACA,MAED,uBAAwB,CACvB,KACA,MAED,uBAAwB,CACvB,MACA,MAED,kBAAmB,CAClB,KACA,MAED,qBAAsB,CACrB,MACA,KAED,kBAAmB,CAClB,MACA,MAED,qBAAsB,CACrB,KACA,MAED,sBAAuB,CACtB,KACA,MAED,kBAAmB,CAClB,MACA,MAED,kBAAmB,CAClB,MACA,KAED,8BAA+B,CAC9B,MACA,KAED,qBAAsB,CACrB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,uBAAwB,CACvB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,oBAAqB,CACpB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,mBAAoB,CACnB,KACA,MAED,mBAAoB,CACnB,MACA,MAED,6BAA8B,CAC7B,MACA,MAED,2BAA4B,CAC3B,MACA,MAED,qBAAsB,CACrB,MACA,MAED,uBAAwB,CACvB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,uBAAwB,CACvB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,2BAA4B,CAC3B,MACA,MAED,yBAA0B,CACzB,MACA,MAED,uBAAwB,CACvB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,oBAAqB,CACpB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,yBAA0B,CACzB,KACA,MAED,yBAA0B,CACzB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,oBAAqB,CACpB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,gBAAiB,CAChB,MACA,MAED,6BAA8B,CAC7B,MACA,MAED,sBAAuB,CACtB,MACA,MAED,yBAA0B,CACzB,MACA,MAED,wBAAyB,CACxB,MACA,MAED,oBAAqB,CACpB,MACA,MAED,wBAAyB,CACxB,MACA,MAED,uBAAwB,CACvB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,iBAAkB,CACjB,MACA,MAED,yBAA0B,CACzB,MACA,MAED,oBAAqB,CACpB,MACA,MAED,kBAAmB,CAClB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,uBAAwB,CACvB,IACA,KAED,mBAAoB,CACnB,MACA,MAED,uBAAwB,CACvB,MACA,MAED,oBAAqB,CACpB,MACA,KAED,qBAAsB,CACrB,MACA,KAED,oBAAqB,CACpB,MACA,MAED,qBAAsB,CACrB,MACA,MAED,kBAAmB,CAClB,KACA,MAED,qBAAsB,CACrB,MACA,MAED,uBAAwB,CACvB,MACA,MAED,yBAA0B,CACzB,MACA,KAED,uBAAwB,CACvB,MACA,KAED,kBAAmB,CAClB,MACA,MAED,uBAAwB,CACvB,MACA,MAED,yBAA0B,CACzB,MACA,MAED,mBAAoB,CACnB,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,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW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","sources":["webpack://bgs-pwa/./node_modules/@bgsonline/frontend-ui-kit/src/assets/img/icons/ lazy ^\\.\\/icon\\-.*\\.svg$ namespace object","webpack://bgs-pwa/./node_modules/@bgsonline/frontend-ui-kit/src/components/complex/content/plugins/ lazy ^\\.\\/.*\\.vue$ namespace object","webpack://bgs-pwa/./src/application/authenticate.ts","webpack://bgs-pwa/./src/services/storage/cards.ts","webpack://bgs-pwa/./src/application/businessCards.ts","webpack://bgs-pwa/./src/application/contents.ts","webpack://bgs-pwa/./src/services/storage/dictionary.ts","webpack://bgs-pwa/./src/application/dictionary.ts","webpack://bgs-pwa/./src/application/event-context.ts","webpack://bgs-pwa/./src/services/storage/events.ts","webpack://bgs-pwa/./src/application/events.ts","webpack://bgs-pwa/./src/application/index.ts","webpack://bgs-pwa/./src/application/notifications.ts","webpack://bgs-pwa/./src/services/storage/socket-notifications.ts","webpack://bgs-pwa/./src/application/web-socket.ts","webpack://bgs-pwa/./src/lib/browser-notification.ts","webpack://bgs-pwa/./src/lib/regExpressions.ts","webpack://bgs-pwa/./src/lib/utilities.ts","webpack://bgs-pwa/./src/registerServiceWorker.ts","webpack://bgs-pwa/./src/ui/components/app/AppModal/index.vue?37f6","webpack://bgs-pwa/./src/ui/components/app/AppModal/index.vue","webpack://bgs-pwa/./src/ui/components/app/AppModal/contents/PWAUpdateAvailablePrompt.vue?bacc","webpack://bgs-pwa/./src/ui/components/app/AppModal/contents/PWAUpdateAvailablePrompt.vue","webpack://bgs-pwa/./src/ui/assets/images/bgs-online-icon-bg.svg","webpack://bgs-pwa/./src/ui/assets/images/bgs-online-icon-bg.svg?095c","webpack://bgs-pwa/./src/ui/assets/images/arrow-to.svg","webpack://bgs-pwa/./src/ui/assets/images/arrow-to.svg?bb30","webpack://bgs-pwa/./src/ui/components/app/AppModal/contents/PWAInstallAppPrompt.vue?e8ca","webpack://bgs-pwa/./src/ui/components/app/AppModal/contents/PWAInstallAppPrompt.vue","webpack://bgs-pwa/./src/ui/assets/images/rounded-scanner-conner.svg","webpack://bgs-pwa/./src/ui/assets/images/rounded-scanner-conner.svg?71c3","webpack://bgs-pwa/./src/ui/components/app/AppQRScanner/SafariInstructionList.vue?9537","webpack://bgs-pwa/./src/ui/components/app/AppQRScanner/SafariInstructionList.vue?77c8","webpack://bgs-pwa/./src/ui/components/app/AppQRScanner/SafariInstructionList.vue","webpack://bgs-pwa/./src/ui/components/app/AppQRScanner/AndroidInstructionList.vue?3462","webpack://bgs-pwa/./src/ui/components/app/AppQRScanner/AndroidInstructionList.vue?f1af","webpack://bgs-pwa/./src/ui/components/app/AppQRScanner/AndroidInstructionList.vue","webpack://bgs-pwa/./src/ui/components/app/AppQRScanner/AllowCameraAccess.vue?8115","webpack://bgs-pwa/./src/ui/components/app/AppQRScanner/AllowCameraAccess.vue","webpack://bgs-pwa/./src/ui/components/app/AppQRScanner/index.vue?6035","webpack://bgs-pwa/./src/ui/components/app/AppQRScanner/index.vue","webpack://bgs-pwa/./src/ui/components/app/AppFullscreenCover/index.vue?04c0","webpack://bgs-pwa/./src/ui/components/app/AppFullscreenCover/index.vue","webpack://bgs-pwa/./src/ui/layouts/EmptyLayout.vue?e948","webpack://bgs-pwa/./src/ui/layouts/EmptyLayout.vue?b704","webpack://bgs-pwa/./src/ui/layouts/EmptyLayout.vue","webpack://bgs-pwa/./src/ui/App.vue?149b","webpack://bgs-pwa/./src/ui/App.vue","webpack://bgs-pwa/./src/ui/assets/images/bgs-online-logo-dark.svg","webpack://bgs-pwa/./src/ui/assets/images/bgs-online-logo-dark.svg?c7ca","webpack://bgs-pwa/./src/ui/components/app/AppLoader.vue?f677","webpack://bgs-pwa/./src/ui/components/app/AppLoader.vue","webpack://bgs-pwa/./src/ui/LoaderApp.vue?defa","webpack://bgs-pwa/./src/ui/LoaderApp.vue","webpack://bgs-pwa/./src/ui/router/routes/auth.ts","webpack://bgs-pwa/./src/ui/router/middleware/auth.ts","webpack://bgs-pwa/./src/ui/components/app/AppHeader/AppHeaderButtonBack.vue?1745","webpack://bgs-pwa/./src/ui/components/app/AppHeader/AppHeaderButtonBack.vue","webpack://bgs-pwa/./src/ui/components/app/AppHeader/AppHeaderTitle.vue?b0ad","webpack://bgs-pwa/./src/ui/components/app/AppHeader/AppHeaderTitle.vue","webpack://bgs-pwa/./src/ui/components/app/AppHeader/AppHeaderActions.vue?56f6","webpack://bgs-pwa/./src/ui/components/app/AppHeader/AppHeaderActions.vue","webpack://bgs-pwa/./src/ui/components/app/AppHeader/AppHeader.vue?a6ea","webpack://bgs-pwa/./src/ui/components/app/AppHeader/AppHeader.vue","webpack://bgs-pwa/./src/ui/ui-kit/UiSwipeRemoval.vue?2bf8","webpack://bgs-pwa/./src/ui/ui-kit/UiSwipeRemoval.vue","webpack://bgs-pwa/./src/ui/components/app/AppNotifications/WsNotifications.vue?f952","webpack://bgs-pwa/./src/ui/components/app/AppNotifications/WsNotifications.vue","webpack://bgs-pwa/./src/ui/components/app/AppNotifications/StatusNotifications.vue?bc52","webpack://bgs-pwa/./src/ui/components/app/AppNotifications/StatusNotifications.vue","webpack://bgs-pwa/./src/ui/layouts/MainLayout.vue?9a8b","webpack://bgs-pwa/./src/ui/layouts/MainLayout.vue","webpack://bgs-pwa/./src/ui/router/middleware/agreement-approved.ts","webpack://bgs-pwa/./src/ui/router/middleware/profile-accepted.ts","webpack://bgs-pwa/./src/ui/router/routes/myEvents.ts","webpack://bgs-pwa/./src/ui/components/app/AppBottomMenu/index.vue?cb35","webpack://bgs-pwa/./src/ui/components/app/AppMenu/index.vue?4946","webpack://bgs-pwa/./src/ui/components/app/AppModal/contents/InstallInstruction/InstallInstructionAndroid.vue?77cf","webpack://bgs-pwa/./src/ui/components/app/AppModal/contents/InstallInstruction/InstallInstructionAndroid.vue","webpack://bgs-pwa/./src/ui/use/browser.ts","webpack://bgs-pwa/./src/ui/components/app/AppModal/contents/InstallInstruction/InstallInstructionIos.vue?8ff8","webpack://bgs-pwa/./src/ui/components/app/AppModal/contents/InstallInstruction/InstallInstructionIos.vue","webpack://bgs-pwa/./src/ui/components/app/AppModal/contents/InstallInstruction/index.vue?bbc4","webpack://bgs-pwa/./src/ui/components/app/AppModal/contents/InstallInstruction/index.vue","webpack://bgs-pwa/./src/ui/components/app/AppMenu/index.vue?eb6d","webpack://bgs-pwa/./src/ui/components/app/AppMenu/index.vue","webpack://bgs-pwa/./src/ui/components/app/AppModal/contents/AppNavWindow.vue?1b43","webpack://bgs-pwa/./src/ui/components/app/AppModal/contents/AppNavWindow.vue","webpack://bgs-pwa/./src/ui/components/app/AppBottomMenu/index.vue?a538","webpack://bgs-pwa/./src/ui/components/app/AppBottomMenu/index.vue","webpack://bgs-pwa/./src/ui/use/sidebar.ts","webpack://bgs-pwa/./src/ui/components/app/AppSidebar/index.vue?b7b0","webpack://bgs-pwa/./src/ui/components/app/AppSidebar/index.vue","webpack://bgs-pwa/./src/ui/layouts/SubLayout.vue?de37","webpack://bgs-pwa/./src/ui/layouts/SubLayout.vue","webpack://bgs-pwa/./src/ui/components/app/AppFab/AppFastAccessMenu.vue?48c2","webpack://bgs-pwa/./src/ui/components/app/AppFab/AppFastAccessMenu.vue","webpack://bgs-pwa/./src/ui/components/app/AppFab/index.vue?1060","webpack://bgs-pwa/./src/ui/components/app/AppFab/index.vue","webpack://bgs-pwa/./src/ui/layouts/EventLayout.vue?7e01","webpack://bgs-pwa/./src/ui/layouts/EventLayout.vue","webpack://bgs-pwa/./src/ui/router/routes/event.ts","webpack://bgs-pwa/./src/ui/router/routes/profile.ts","webpack://bgs-pwa/./src/ui/router/routes/welcome.ts","webpack://bgs-pwa/./src/ui/router/routes.ts","webpack://bgs-pwa/./src/ui/router/index.ts","webpack://bgs-pwa/./src/ui/analytics/gtm.ts","webpack://bgs-pwa/./src/main.ts","webpack://bgs-pwa/./src/services/db/tables/users.ts","webpack://bgs-pwa/./src/services/db/tables/userEvents.ts","webpack://bgs-pwa/./src/services/db/tables/publicEvents.ts","webpack://bgs-pwa/./src/services/db/tables/timelines.ts","webpack://bgs-pwa/./src/services/db/tables/sessions.ts","webpack://bgs-pwa/./src/services/db/tables/participants.ts","webpack://bgs-pwa/./src/services/db/tables/eventCompanies.ts","webpack://bgs-pwa/./src/services/db/tables/contactGroups.ts","webpack://bgs-pwa/./src/services/db/tables/stands.ts","webpack://bgs-pwa/./src/services/db/tables/companies.ts","webpack://bgs-pwa/./src/services/db/tables/contacts.ts","webpack://bgs-pwa/./src/services/db/tables/menus.ts","webpack://bgs-pwa/./src/services/db/tables/contents.ts","webpack://bgs-pwa/./src/services/db/tables/notifications.ts","webpack://bgs-pwa/./src/services/db/tables/my-participants.ts","webpack://bgs-pwa/./src/services/db/tables/favorites.ts","webpack://bgs-pwa/./src/services/db/tables/calendarEventTypes.ts","webpack://bgs-pwa/./src/services/db/tables/calendarEvents.ts","webpack://bgs-pwa/./src/services/db/tables/eventMeetings.ts","webpack://bgs-pwa/./src/services/db/tables/topics.ts","webpack://bgs-pwa/./src/services/db/tables/articles.ts","webpack://bgs-pwa/./src/services/db/index.ts","webpack://bgs-pwa/./src/domain/event-favorite.ts","webpack://bgs-pwa/./src/repositories/online/event.ts","webpack://bgs-pwa/./src/repositories/offline/event.ts","webpack://bgs-pwa/./src/repositories/online/user.ts","webpack://bgs-pwa/./src/repositories/offline/user.ts","webpack://bgs-pwa/./src/repositories/online/program.ts","webpack://bgs-pwa/./src/repositories/offline/program.ts","webpack://bgs-pwa/./src/repositories/online/contact.ts","webpack://bgs-pwa/./src/repositories/offline/contact.ts","webpack://bgs-pwa/./src/domain/event-stand.ts","webpack://bgs-pwa/./src/repositories/online/stand.ts","webpack://bgs-pwa/./src/repositories/offline/stand.ts","webpack://bgs-pwa/./src/repositories/online/static.ts","webpack://bgs-pwa/./src/repositories/offline/static.ts","webpack://bgs-pwa/./src/repositories/online/notification.ts","webpack://bgs-pwa/./src/repositories/offline/notification.ts","webpack://bgs-pwa/./src/repositories/index.ts","webpack://bgs-pwa/./src/services/api/index.ts","webpack://bgs-pwa/./src/services/auth/CognitoAuth/index.ts","webpack://bgs-pwa/./src/services/auth/config.ts","webpack://bgs-pwa/./src/services/auth/index.ts","webpack://bgs-pwa/./src/services/http/index.ts","webpack://bgs-pwa/./src/services/storage/app.ts","webpack://bgs-pwa/./src/services/storage/notifications.ts","webpack://bgs-pwa/./src/services/storage/user.ts","webpack://bgs-pwa/./src/services/storage/vip-meetings.ts","webpack://bgs-pwa/./src/services/web-socket/index.ts","webpack://bgs-pwa/./src/ui/components/app/AppFullscreenCover/app-fullscreen-cover.ts","webpack://bgs-pwa/./src/ui/components/app/AppModal/app-modal.ts","webpack://bgs-pwa/./src/ui/components/app/AppNotifications/app-notifications.ts","webpack://bgs-pwa/./src/ui/components/app/AppQRScanner/AppQRScanner.ts","webpack://bgs-pwa/./src/ui/localization/locales/ru.ts","webpack://bgs-pwa/./src/ui/localization/locales/en.ts","webpack://bgs-pwa/./src/application/localization.ts","webpack://bgs-pwa/./src/ui/localization/index.ts","webpack://bgs-pwa/./src/ui/use/app.ts","webpack://bgs-pwa/./src/ui/components/event/EventBusinessCards/SuccessCardScanningResult.vue?b7d5","webpack://bgs-pwa/./src/ui/components/event/EventBusinessCards/SuccessCardScanningResult.vue","webpack://bgs-pwa/./src/ui/components/event/EventBusinessCards/FailureCardScanningResult.vue?bee9","webpack://bgs-pwa/./src/ui/components/event/EventBusinessCards/FailureCardScanningResult.vue","webpack://bgs-pwa/./src/ui/use/business-cards.ts","webpack://bgs-pwa/./src/ui/use/device.ts","webpack://bgs-pwa/./src/ui/use/pwa.ts","webpack://bgs-pwa/./src/ui/use/sub-layout.ts","webpack://bgs-pwa/./src/ui/components/app/AppModal/contents/SharedBusinessCard.vue?7173","webpack://bgs-pwa/./src/ui/components/app/AppModal/contents/SharedBusinessCard.vue","webpack://bgs-pwa/webpack/bootstrap","webpack://bgs-pwa/webpack/runtime/chunk loaded","webpack://bgs-pwa/webpack/runtime/compat get default export","webpack://bgs-pwa/webpack/runtime/define property getters","webpack://bgs-pwa/webpack/runtime/ensure chunk","webpack://bgs-pwa/webpack/runtime/get javascript chunk filename","webpack://bgs-pwa/webpack/runtime/get mini-css chunk filename","webpack://bgs-pwa/webpack/runtime/global","webpack://bgs-pwa/webpack/runtime/hasOwnProperty shorthand","webpack://bgs-pwa/webpack/runtime/load script","webpack://bgs-pwa/webpack/runtime/make namespace object","webpack://bgs-pwa/webpack/runtime/node module decorator","webpack://bgs-pwa/webpack/runtime/publicPath","webpack://bgs-pwa/webpack/runtime/css loading","webpack://bgs-pwa/webpack/runtime/jsonp chunk loading","webpack://bgs-pwa/webpack/startup"],"sourcesContent":["var map = {\n\t\"./icon-add-to-home.svg\": [\n\t\t61396,\n\t\t1396\n\t],\n\t\"./icon-alert-circle.svg\": [\n\t\t77466,\n\t\t7466\n\t],\n\t\"./icon-alert-triangle.svg\": [\n\t\t58986,\n\t\t8986\n\t],\n\t\"./icon-arrow-bottom.svg\": [\n\t\t96873,\n\t\t6873\n\t],\n\t\"./icon-arrow-left.svg\": [\n\t\t89564,\n\t\t9564\n\t],\n\t\"./icon-arrow-right.svg\": [\n\t\t89944,\n\t\t9944\n\t],\n\t\"./icon-arrow-top.svg\": [\n\t\t2837,\n\t\t2837\n\t],\n\t\"./icon-atom.svg\": [\n\t\t83343,\n\t\t3343\n\t],\n\t\"./icon-b-card.svg\": [\n\t\t9506,\n\t\t9506\n\t],\n\t\"./icon-bell-no.svg\": [\n\t\t50314,\n\t\t314\n\t],\n\t\"./icon-bell.svg\": [\n\t\t67548,\n\t\t7548\n\t],\n\t\"./icon-bgs.svg\": [\n\t\t33473,\n\t\t3473\n\t],\n\t\"./icon-bitcoin.svg\": [\n\t\t55418,\n\t\t5418\n\t],\n\t\"./icon-book.svg\": [\n\t\t22429,\n\t\t2429\n\t],\n\t\"./icon-bookmark.svg\": [\n\t\t20455,\n\t\t455\n\t],\n\t\"./icon-broadcasting.svg\": [\n\t\t81547,\n\t\t1547\n\t],\n\t\"./icon-brush.svg\": [\n\t\t63875,\n\t\t3875\n\t],\n\t\"./icon-calendar-dates.svg\": [\n\t\t65948,\n\t\t5948\n\t],\n\t\"./icon-call-phone.svg\": [\n\t\t90128,\n\t\t128\n\t],\n\t\"./icon-camera-off-line.svg\": [\n\t\t43551,\n\t\t3551\n\t],\n\t\"./icon-camera.svg\": [\n\t\t4130,\n\t\t4130\n\t],\n\t\"./icon-case.svg\": [\n\t\t74735,\n\t\t4735\n\t],\n\t\"./icon-check-mark.svg\": [\n\t\t45374,\n\t\t5374\n\t],\n\t\"./icon-check-marks.svg\": [\n\t\t54260,\n\t\t4260\n\t],\n\t\"./icon-check.svg\": [\n\t\t95280,\n\t\t5280\n\t],\n\t\"./icon-chevron-bottom.svg\": [\n\t\t4363,\n\t\t4363\n\t],\n\t\"./icon-chevron-left.svg\": [\n\t\t10141,\n\t\t141\n\t],\n\t\"./icon-chevron-right.svg\": [\n\t\t58337,\n\t\t8337\n\t],\n\t\"./icon-chevron-top.svg\": [\n\t\t488,\n\t\t488\n\t],\n\t\"./icon-circle-check.svg\": [\n\t\t74505,\n\t\t4505\n\t],\n\t\"./icon-circle-checked.svg\": [\n\t\t80631,\n\t\t4924\n\t],\n\t\"./icon-circle-loading.svg\": [\n\t\t14650,\n\t\t4650\n\t],\n\t\"./icon-circle-minus.svg\": [\n\t\t50909,\n\t\t909\n\t],\n\t\"./icon-circle-one.svg\": [\n\t\t87989,\n\t\t7989\n\t],\n\t\"./icon-circle-plus.svg\": [\n\t\t3140,\n\t\t3140\n\t],\n\t\"./icon-circle-three.svg\": [\n\t\t78019,\n\t\t8019\n\t],\n\t\"./icon-circle-two.svg\": [\n\t\t39598,\n\t\t9598\n\t],\n\t\"./icon-circle-x.svg\": [\n\t\t95355,\n\t\t5355\n\t],\n\t\"./icon-coffee.svg\": [\n\t\t76898,\n\t\t6898\n\t],\n\t\"./icon-comment-checked.svg\": [\n\t\t98236,\n\t\t8236\n\t],\n\t\"./icon-comment-delete.svg\": [\n\t\t36216,\n\t\t6216\n\t],\n\t\"./icon-comment-minus.svg\": [\n\t\t14089,\n\t\t4089\n\t],\n\t\"./icon-comment-plus.svg\": [\n\t\t88241,\n\t\t8241\n\t],\n\t\"./icon-comment-text.svg\": [\n\t\t45541,\n\t\t5541\n\t],\n\t\"./icon-comment.svg\": [\n\t\t43977,\n\t\t3977\n\t],\n\t\"./icon-compass.svg\": [\n\t\t9783,\n\t\t9783\n\t],\n\t\"./icon-copy.svg\": [\n\t\t81512,\n\t\t1512\n\t],\n\t\"./icon-creditcard-add.svg\": [\n\t\t23519,\n\t\t3519\n\t],\n\t\"./icon-creditcard-face.svg\": [\n\t\t8462,\n\t\t8462\n\t],\n\t\"./icon-creditcard-income.svg\": [\n\t\t24188,\n\t\t4188\n\t],\n\t\"./icon-creditcard-no.svg\": [\n\t\t66926,\n\t\t6926\n\t],\n\t\"./icon-creditcard-outcome.svg\": [\n\t\t19003,\n\t\t9003\n\t],\n\t\"./icon-creditcard-scan.svg\": [\n\t\t55365,\n\t\t5365\n\t],\n\t\"./icon-creditcard.svg\": [\n\t\t78692,\n\t\t8692\n\t],\n\t\"./icon-cup.svg\": [\n\t\t40404,\n\t\t404\n\t],\n\t\"./icon-cut.svg\": [\n\t\t42519,\n\t\t2519\n\t],\n\t\"./icon-dinner.svg\": [\n\t\t36814,\n\t\t6814\n\t],\n\t\"./icon-download-bold.svg\": [\n\t\t33185,\n\t\t3185\n\t],\n\t\"./icon-download.svg\": [\n\t\t64834,\n\t\t4834\n\t],\n\t\"./icon-ethereum.svg\": [\n\t\t29972,\n\t\t9972\n\t],\n\t\"./icon-external-link.svg\": [\n\t\t3201,\n\t\t3201\n\t],\n\t\"./icon-eye-no.svg\": [\n\t\t112,\n\t\t112\n\t],\n\t\"./icon-eye.svg\": [\n\t\t30697,\n\t\t697\n\t],\n\t\"./icon-filter-x.svg\": [\n\t\t25724,\n\t\t5724\n\t],\n\t\"./icon-filter.svg\": [\n\t\t15808,\n\t\t5808\n\t],\n\t\"./icon-flag.svg\": [\n\t\t51191,\n\t\t1191\n\t],\n\t\"./icon-flame.svg\": [\n\t\t25942,\n\t\t5942\n\t],\n\t\"./icon-gift.svg\": [\n\t\t12241,\n\t\t2241\n\t],\n\t\"./icon-glasses.svg\": [\n\t\t72999,\n\t\t2999\n\t],\n\t\"./icon-globe-2.svg\": [\n\t\t72269,\n\t\t2269\n\t],\n\t\"./icon-globe.svg\": [\n\t\t76056,\n\t\t6056\n\t],\n\t\"./icon-heart-handshake.svg\": [\n\t\t26826,\n\t\t6826\n\t],\n\t\"./icon-heart-no.svg\": [\n\t\t90563,\n\t\t563\n\t],\n\t\"./icon-heart.svg\": [\n\t\t29681,\n\t\t9681\n\t],\n\t\"./icon-home.svg\": [\n\t\t20086,\n\t\t86\n\t],\n\t\"./icon-icecream.svg\": [\n\t\t33965,\n\t\t3965\n\t],\n\t\"./icon-image.svg\": [\n\t\t96487,\n\t\t6487\n\t],\n\t\"./icon-import.svg\": [\n\t\t29309,\n\t\t9309\n\t],\n\t\"./icon-info.svg\": [\n\t\t22241,\n\t\t4958\n\t],\n\t\"./icon-iphone.svg\": [\n\t\t2150,\n\t\t2150\n\t],\n\t\"./icon-key.svg\": [\n\t\t91523,\n\t\t1523\n\t],\n\t\"./icon-laughing.svg\": [\n\t\t15084,\n\t\t5084\n\t],\n\t\"./icon-layers.svg\": [\n\t\t44197,\n\t\t4197\n\t],\n\t\"./icon-layout-list.svg\": [\n\t\t29000,\n\t\t9000\n\t],\n\t\"./icon-lightbulb.svg\": [\n\t\t10932,\n\t\t932\n\t],\n\t\"./icon-lightning-no.svg\": [\n\t\t85654,\n\t\t5654\n\t],\n\t\"./icon-lightning.svg\": [\n\t\t6102,\n\t\t6102\n\t],\n\t\"./icon-line-link.svg\": [\n\t\t79611,\n\t\t9611\n\t],\n\t\"./icon-line.svg\": [\n\t\t5804,\n\t\t5804\n\t],\n\t\"./icon-link-no.svg\": [\n\t\t30631,\n\t\t631\n\t],\n\t\"./icon-link.svg\": [\n\t\t92028,\n\t\t2028\n\t],\n\t\"./icon-loading.svg\": [\n\t\t3620,\n\t\t3620\n\t],\n\t\"./icon-location.svg\": [\n\t\t1131,\n\t\t1131\n\t],\n\t\"./icon-lock.svg\": [\n\t\t61449,\n\t\t1449\n\t],\n\t\"./icon-mail.svg\": [\n\t\t60939,\n\t\t939\n\t],\n\t\"./icon-map-pin-location.svg\": [\n\t\t20385,\n\t\t385\n\t],\n\t\"./icon-map-pin.svg\": [\n\t\t11423,\n\t\t1423\n\t],\n\t\"./icon-map.svg\": [\n\t\t87224,\n\t\t7224\n\t],\n\t\"./icon-maximize.svg\": [\n\t\t17303,\n\t\t7303\n\t],\n\t\"./icon-menu-dots.svg\": [\n\t\t43323,\n\t\t3323\n\t],\n\t\"./icon-menu.svg\": [\n\t\t31231,\n\t\t1231\n\t],\n\t\"./icon-mic-no.svg\": [\n\t\t14411,\n\t\t4411\n\t],\n\t\"./icon-mic.svg\": [\n\t\t17493,\n\t\t7493\n\t],\n\t\"./icon-minimize.svg\": [\n\t\t38238,\n\t\t8238\n\t],\n\t\"./icon-minus.svg\": [\n\t\t6223,\n\t\t6223\n\t],\n\t\"./icon-modal.svg\": [\n\t\t53477,\n\t\t3477\n\t],\n\t\"./icon-more-horizontal.svg\": [\n\t\t93761,\n\t\t3761\n\t],\n\t\"./icon-more-vertical.svg\": [\n\t\t16781,\n\t\t6781\n\t],\n\t\"./icon-neutral.svg\": [\n\t\t48014,\n\t\t8014\n\t],\n\t\"./icon-newspaper.svg\": [\n\t\t43308,\n\t\t3308\n\t],\n\t\"./icon-nut.svg\": [\n\t\t36703,\n\t\t6703\n\t],\n\t\"./icon-options.svg\": [\n\t\t81387,\n\t\t1387\n\t],\n\t\"./icon-paperclip.svg\": [\n\t\t79128,\n\t\t9128\n\t],\n\t\"./icon-paypass.svg\": [\n\t\t63679,\n\t\t3679\n\t],\n\t\"./icon-pencil-create.svg\": [\n\t\t89771,\n\t\t9771\n\t],\n\t\"./icon-pencil-edit.svg\": [\n\t\t39971,\n\t\t9971\n\t],\n\t\"./icon-pie-chart.svg\": [\n\t\t25785,\n\t\t5785\n\t],\n\t\"./icon-pin.svg\": [\n\t\t55652,\n\t\t5652\n\t],\n\t\"./icon-planet.svg\": [\n\t\t19909,\n\t\t9909\n\t],\n\t\"./icon-play.svg\": [\n\t\t57471,\n\t\t7471\n\t],\n\t\"./icon-player-play.svg\": [\n\t\t8385,\n\t\t8385\n\t],\n\t\"./icon-plus-square.svg\": [\n\t\t28334,\n\t\t8334\n\t],\n\t\"./icon-plus.svg\": [\n\t\t85988,\n\t\t5988\n\t],\n\t\"./icon-pocket.svg\": [\n\t\t83426,\n\t\t3426\n\t],\n\t\"./icon-printer.svg\": [\n\t\t47785,\n\t\t7785\n\t],\n\t\"./icon-qr-2.svg\": [\n\t\t99349,\n\t\t9349\n\t],\n\t\"./icon-qr.svg\": [\n\t\t91541,\n\t\t1541\n\t],\n\t\"./icon-question-circle.svg\": [\n\t\t18877,\n\t\t8877\n\t],\n\t\"./icon-question.svg\": [\n\t\t66762,\n\t\t6762\n\t],\n\t\"./icon-refresh-ccw.svg\": [\n\t\t15153,\n\t\t5153\n\t],\n\t\"./icon-refresh-cw.svg\": [\n\t\t69058,\n\t\t9058\n\t],\n\t\"./icon-rocket.svg\": [\n\t\t67963,\n\t\t7963\n\t],\n\t\"./icon-rotate-ccw.svg\": [\n\t\t59312,\n\t\t9312\n\t],\n\t\"./icon-rotate-cw.svg\": [\n\t\t36650,\n\t\t6650\n\t],\n\t\"./icon-route.svg\": [\n\t\t27010,\n\t\t7010\n\t],\n\t\"./icon-sad.svg\": [\n\t\t65176,\n\t\t5176\n\t],\n\t\"./icon-search-line.svg\": [\n\t\t31001,\n\t\t1001\n\t],\n\t\"./icon-search.svg\": [\n\t\t32580,\n\t\t6601\n\t],\n\t\"./icon-send.svg\": [\n\t\t34080,\n\t\t4080\n\t],\n\t\"./icon-settings.svg\": [\n\t\t62560,\n\t\t2560\n\t],\n\t\"./icon-share-ios.svg\": [\n\t\t676,\n\t\t676\n\t],\n\t\"./icon-share.svg\": [\n\t\t91490,\n\t\t1490\n\t],\n\t\"./icon-shield-ok.svg\": [\n\t\t53994,\n\t\t3994\n\t],\n\t\"./icon-shield.svg\": [\n\t\t90179,\n\t\t179\n\t],\n\t\"./icon-shocked.svg\": [\n\t\t90125,\n\t\t125\n\t],\n\t\"./icon-smiled.svg\": [\n\t\t14838,\n\t\t4838\n\t],\n\t\"./icon-star-no.svg\": [\n\t\t65161,\n\t\t5161\n\t],\n\t\"./icon-star.svg\": [\n\t\t7877,\n\t\t7877\n\t],\n\t\"./icon-sticker.svg\": [\n\t\t86844,\n\t\t6844\n\t],\n\t\"./icon-strongbox.svg\": [\n\t\t65440,\n\t\t5440\n\t],\n\t\"./icon-thumbs-down.svg\": [\n\t\t49988,\n\t\t215\n\t],\n\t\"./icon-thumbs-up.svg\": [\n\t\t60823,\n\t\t823\n\t],\n\t\"./icon-time.svg\": [\n\t\t44223,\n\t\t4223\n\t],\n\t\"./icon-toy-horse.svg\": [\n\t\t45619,\n\t\t5619\n\t],\n\t\"./icon-trash-empty.svg\": [\n\t\t69585,\n\t\t9585\n\t],\n\t\"./icon-trash.svg\": [\n\t\t32383,\n\t\t2383\n\t],\n\t\"./icon-unlock.svg\": [\n\t\t31513,\n\t\t261\n\t],\n\t\"./icon-user-circle.svg\": [\n\t\t6471,\n\t\t6471\n\t],\n\t\"./icon-user.svg\": [\n\t\t50639,\n\t\t639\n\t],\n\t\"./icon-users.svg\": [\n\t\t72522,\n\t\t2522\n\t],\n\t\"./icon-utensils.svg\": [\n\t\t32092,\n\t\t2092\n\t],\n\t\"./icon-video-no.svg\": [\n\t\t33919,\n\t\t3919\n\t],\n\t\"./icon-video.svg\": [\n\t\t86369,\n\t\t6369\n\t],\n\t\"./icon-wallet.svg\": [\n\t\t60234,\n\t\t234\n\t],\n\t\"./icon-watch.svg\": [\n\t\t31500,\n\t\t1500\n\t],\n\t\"./icon-whatsapp.svg\": [\n\t\t69318,\n\t\t9318\n\t],\n\t\"./icon-wi-fi-no.svg\": [\n\t\t12807,\n\t\t2807\n\t],\n\t\"./icon-wi-fi.svg\": [\n\t\t91016,\n\t\t1016\n\t],\n\t\"./icon-x.svg\": [\n\t\t93243,\n\t\t3243\n\t],\n\t\"./icon-zoom-in.svg\": [\n\t\t40975,\n\t\t975\n\t],\n\t\"./icon-zoom-out.svg\": [\n\t\t92361,\n\t\t2361\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 3311;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./button.vue\": [\n\t\t13819,\n\t\t4616\n\t],\n\t\"./content-block.vue\": [\n\t\t54300,\n\t\t4300\n\t],\n\t\"./delimiter.vue\": [\n\t\t21912,\n\t\t1912\n\t],\n\t\"./embed.vue\": [\n\t\t91173,\n\t\t1173\n\t],\n\t\"./event-information.vue\": [\n\t\t44212,\n\t\t4212\n\t],\n\t\"./header.vue\": [\n\t\t69284,\n\t\t9284\n\t],\n\t\"./image.vue\": [\n\t\t96546,\n\t\t6546\n\t],\n\t\"./list.vue\": [\n\t\t55729,\n\t\t5729\n\t],\n\t\"./paragraph.vue\": [\n\t\t78606,\n\t\t8606\n\t],\n\t\"./raw.vue\": [\n\t\t73108,\n\t\t3108\n\t],\n\t\"./warning.vue\": [\n\t\t85678,\n\t\t5678\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 50600;\nmodule.exports = webpackAsyncContext;","import { useAuth } from '@/services/auth'\nimport { useUserStorage } from '@/services/storage/user'\nimport { useAppStorage } from '@/services/storage/app'\nimport { useUserRepository } from '@/repositories'\n\nimport { AppStorageService, UserRepository, UserStorageService, AuthenticationService } from './app-types'\n\nconst REDIRECT_FROM_APP_KEY = 'redirect_from_app'\nexport function useAuthenticate() {\n const appStorage: AppStorageService = useAppStorage()\n const userStorage: UserStorageService = useUserStorage()\n const authService: AuthenticationService = useAuth()\n const userRepository: UserRepository = useUserRepository(appStorage.isOnline.value)\n\n async function remoteLogin() {\n authService.login()\n }\n\n async function signIn(code: string) {\n authService.signIn(code).then(async () => await fetchUser())\n }\n\n async function fetchUser() {\n if (appStorage.isOnline.value) {\n userStorage.setAuthenticated(!!authService.getToken())\n if (userStorage.isAuthenticated.value) {\n const user = await userRepository.getMyUser()\n if (user) {\n userStorage.setUser(user)\n localStorage.setItem('last_user_id', user.id)\n }\n }\n } else {\n const lastUserId = localStorage.getItem('last_user_id')\n if (lastUserId) {\n const lastUser = await userRepository.getMyUser(lastUserId)\n if (lastUser) {\n userStorage.setAuthenticated(true)\n userStorage.setUser(lastUser)\n }\n }\n }\n }\n\n async function logout(): Promise {\n authService.signOut()\n userStorage.setAuthenticated(false)\n userStorage.setUser(undefined)\n }\n\n function getRedirectFromAppPath() {\n return localStorage.getItem(REDIRECT_FROM_APP_KEY)\n }\n\n function setRedirectFromAppPath(path: string) {\n localStorage.setItem(REDIRECT_FROM_APP_KEY, path)\n }\n\n return {\n user: userStorage.user,\n isAuthenticated: userStorage.isAuthenticated,\n logout,\n fetchUser,\n signIn,\n remoteLogin,\n getRedirectFromAppPath,\n setRedirectFromAppPath,\n }\n}\n","import { ref, Ref } from 'vue'\nimport { Profile } from '@bgsonline/frontend-types/api/event-service'\n\nimport { CardsStorageService } from '@/application/app-types'\n\nconst cards: Ref = ref([])\n\nfunction setCards(data: Profile[]) {\n cards.value = data\n}\n\nexport function useCardStorage(): CardsStorageService {\n return { cards, setCards }\n}\n","import { ref } from 'vue'\n\nimport { CardsStorageService } from '@/application/app-types'\nimport { useCardStorage } from '@/services/storage/cards'\nimport { useEventService } from '@/services/api'\nimport { useAuth } from '@/services/auth'\nimport { useAppStorage } from '@/services/storage/app'\n\nexport type CardsListFormat = 'json' | 'csv' | 'xlsx' | 'html'\nexport const SHARE_TOKEN_PARAM_NAME = 'share-token'\n\nexport function useBusinessCards() {\n const isFetching = ref(false)\n const cardsStorage: CardsStorageService = useCardStorage()\n const eventService = useEventService()\n const authService = useAuth()\n const appStorage = useAppStorage()\n\n async function fetchUserCards() {\n cardsStorage.setCards([])\n isFetching.value = true\n const response = await eventService.getMyBusinessCards()\n cardsStorage.setCards(response.data.data)\n isFetching.value = false\n }\n\n async function getParticipant(participantId: string) {\n return eventService.getParticipant(participantId, {\n include: ['profile.avatar', 'profile.contacts', 'profile.companies.contacts'],\n })\n }\n\n function addCardByToken(token: string) {\n return eventService.addBusinessCard(token)\n }\n\n function getUserCardsFile(format: CardsListFormat) {\n const token = authService.getToken()\n return fetch(`${process.env.VUE_APP_API_URL}/event-service/me/business-cards`, {\n method: 'GET',\n headers: {\n accept: getContentTypeByFormat(format),\n Authorization: `Bearer ${token}`,\n 'x-participant-id': appStorage.participantId.value,\n },\n })\n }\n\n return {\n businessCards: cardsStorage.cards,\n isFetching,\n fetchUserCards,\n getMyParticipant: getParticipant,\n addCardByToken,\n getUserCardsFile,\n }\n}\n\nfunction getContentTypeByFormat(format: CardsListFormat): string {\n let header = 'application/json'\n switch (format) {\n case 'csv':\n header = 'text/csv'\n break\n case 'xlsx':\n header = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n break\n case 'html':\n header = 'text/html'\n break\n }\n return header\n}\n","import { useStaticRepository } from '@/repositories'\nimport { AppStorageService } from '@/application/app-types'\nimport { useAppStorage } from '@/services/storage/app'\n\nexport function useEventContents() {\n const appStorage: AppStorageService = useAppStorage()\n\n const staticRepository = useStaticRepository(appStorage.isOnline.value)\n\n function fetchEventRightMenuItems() {\n staticRepository\n .getMenu(appStorage.participantId.value, 'Menu right')\n .then((data) => appStorage.setRightMenuItems(data))\n }\n\n function fetchEventTopMenuItems() {\n appStorage.setTopMenuItems(null)\n staticRepository\n .getMenu(appStorage.participantId.value, 'Menu top')\n .then((data) => appStorage.setTopMenuItems(data))\n }\n\n function getEventContent(contentId: string) {\n return staticRepository.getContent(appStorage.participantId.value, contentId)\n }\n return {\n fetchEventRightMenuItems,\n fetchEventTopMenuItems,\n eventRightMenuItems: appStorage.rightMenuItems,\n eventTopMenuItems: appStorage.topMenuItems,\n getEventContent,\n }\n}\n","import { ref, Ref } from 'vue'\n\nimport { DictionaryStorageService } from '@/application/app-types'\nimport { ContactGroup } from '@bgsonline/frontend-types/api/contact-service'\n\nconst contactGroups: Ref = ref([])\n\nfunction setContactGroups(data: ContactGroup[]) {\n contactGroups.value = data\n}\n\nexport function useDictionaryStorage(): DictionaryStorageService {\n return { contactGroups, setContactGroups }\n}\n","import { DictionaryStorageService } from '@/application/app-types'\nimport { useDictionaryStorage } from '@/services/storage/dictionary'\nimport { useContactRepository } from '@/repositories'\nimport { useAppStorage } from '@/services/storage/app'\n\nexport function useDictionary() {\n const appStorage = useAppStorage()\n const dictionaryStorage: DictionaryStorageService = useDictionaryStorage()\n const contactRepository = useContactRepository(appStorage.isOnline.value)\n\n async function fetchDictionary() {\n await fetchContactsGroups()\n }\n\n function fetchContactsGroups() {\n return contactRepository.getContactGroups().then((groups) => dictionaryStorage.setContactGroups(groups))\n }\n\n return { contactGroups: dictionaryStorage.contactGroups, fetchDictionary }\n}\n","import { AppStorageService } from '@/application/app-types'\nimport { useAppStorage } from '@/services/storage/app'\nimport { useEvents } from '@/application/events'\nimport { useEventRepository } from '@/repositories'\nimport { getHttpClient } from '@/services/http'\nimport { useVipMeetingsStorage } from '@/services/storage/vip-meetings'\nimport { computed } from 'vue'\nimport type { Company } from '@bgsonline/frontend-types/api/event-service'\n\nexport function useEventContext() {\n const appStorage: AppStorageService = useAppStorage()\n const vipMeetingStorage = useVipMeetingsStorage()\n const { getUserEventById } = useEvents()\n const eventRepository = useEventRepository(appStorage.isOnline.value)\n\n const participantCompany = computed(() => {\n return (appStorage.participant.value?.profile?.companies || [])[0]\n })\n\n async function setCurrentEventData(eventId: string) {\n // clear menus\n appStorage.setRightMenuItems(null)\n appStorage.setTopMenuItems(null)\n // clear storages\n vipMeetingStorage.setVipMeetings([])\n // apply current event data\n appStorage.setCurrentEventId(eventId)\n const event = await getUserEventById(eventId)\n\n if (event?.participant_id) {\n getHttpClient().setHeader('x-participant-id', event?.participant_id)\n appStorage.setParticipantId(event.participant_id)\n appStorage.setCurrentEvent(event)\n appStorage.setParticipant(await eventRepository.getMyParticipant(event.participant_id))\n }\n return event\n }\n\n return {\n currentEventId: appStorage.currentEventId,\n participantId: appStorage.participantId,\n participant: appStorage.participant,\n currentEvent: appStorage.currentEvent,\n participantCompany,\n setCurrentEventData,\n }\n}\n","import { Ref, ref } from 'vue'\nimport { IEvent, MyEvent } from '@bgsonline/frontend-types/api/event-service'\n\nimport { EventStorageService } from '@/application/app-types'\n\nconst publicEvents: Ref = ref([])\nconst userEvents: Ref = ref([])\n\nfunction setPublicEvents(data: IEvent[]) {\n publicEvents.value = data\n}\n\nfunction setUserEvents(data: MyEvent[]) {\n userEvents.value = data\n}\n\nexport function useEventStorage(): EventStorageService {\n return { setPublicEvents, setUserEvents, publicEvents, userEvents }\n}\n","import { useEventStorage } from '@/services/storage/events'\n\nimport { AppStorageService, EventRepository, EventStorageService } from './app-types'\n\nimport { useEventRepository } from '@/repositories'\nimport { useAppStorage } from '@/services/storage/app'\n\nexport function useEvents() {\n const eventStorage: EventStorageService = useEventStorage()\n const appStorage: AppStorageService = useAppStorage()\n const eventRepository: EventRepository = useEventRepository(appStorage.isOnline.value)\n\n async function fetchPublicEvents(): Promise {\n const events = await eventRepository.getEvents()\n eventStorage.setPublicEvents(events)\n }\n\n async function fetchUserEvents() {\n const events = await eventRepository.getMyEvents()\n eventStorage.setUserEvents(events)\n }\n\n async function getUserEventById(eventId: string) {\n return eventRepository.getUserEventById(eventId)\n }\n\n async function getEventById(eventId: string) {\n return eventRepository.getEventById(eventId)\n }\n\n return {\n publicEvents: eventStorage.publicEvents,\n userEvents: eventStorage.userEvents,\n fetchPublicEvents,\n fetchUserEvents,\n getUserEventById,\n getEventById,\n }\n}\n","import { computed, readonly } from 'vue'\nimport { useAppStorage } from '@/services/storage/app'\nimport { AppStorageService } from '@/application/app-types'\n\nexport function useApplication() {\n const appStorage: AppStorageService = useAppStorage()\n\n return {\n isOnline: readonly(appStorage.isOnline),\n isOffline: computed(() => !appStorage.isOnline.value),\n }\n}\n","import { computed, ref } from 'vue'\n\nimport { useAppStorage } from '@/services/storage/app'\nimport { useNotificationRepository } from '@/repositories'\nimport { useLiveFeedNotificationsStorage } from '@/services/storage/notifications'\nimport { useNotificationService2 } from '@/services/api'\n\nexport function useNotifications() {\n const appStorage = useAppStorage()\n const notificationService2 = useNotificationService2()\n const notificationRepository = useNotificationRepository(appStorage.isOnline.value)\n const liveFeedNotificationsStorage = useLiveFeedNotificationsStorage()\n const loading = ref(false)\n\n function fetchEventNotifications() {\n if (!loading.value && appStorage.currentEvent.value) {\n liveFeedNotificationsStorage.setNotifications([])\n loading.value = true\n notificationRepository\n .getNotifications(appStorage.currentEvent.value, appStorage.participantId.value)\n // set all notifications as live feed notifications\n .then((notifications) => liveFeedNotificationsStorage.setNotifications(notifications))\n .finally(() => (loading.value = false))\n }\n }\n\n function readNotifications(notificationsIds: string[]) {\n liveFeedNotificationsStorage.markNotificationsAsRead(notificationsIds)\n notificationRepository.readNotifications(notificationsIds)\n }\n\n function getPushSubscription(subscriptionId: string) {\n return notificationService2.getWebPushSubscription(subscriptionId)\n }\n\n function savePushSubscription(subscription: PushSubscription) {\n const { endpoint, keys } = subscription.toJSON()\n // @ts-ignore\n return notificationService2.createWebPushSubscription({ endpoint, keys })\n }\n\n return {\n loading,\n fetchEventNotifications,\n eventNotifications: liveFeedNotificationsStorage.notifications,\n unreadNotificationsCount: liveFeedNotificationsStorage.unreadNotificationsCount,\n hasNewNotifications: computed(() => liveFeedNotificationsStorage.newNotificationsIds.value.length),\n readNotifications,\n getPushSubscription,\n savePushSubscription,\n }\n}\n","import { Ref, ref } from 'vue'\nimport dayjs from 'dayjs'\n\nimport { SocketNotificationStorageService } from '@/application/app-types'\nimport { Notification } from '@bgsonline/frontend-types/api/notification-service'\n\nconst notifications: Ref = ref([])\n\nfunction addNotification(notification: Notification) {\n const alreadyAdded = notifications.value.find((ntf) => ntf.id === notification.id)\n if (!alreadyAdded) {\n notifications.value.unshift(notification)\n }\n}\n\nfunction deleteNotifications(notificationsIds: string[]) {\n notifications.value = notifications.value.filter((ntf) => !notificationsIds.includes(ntf.id))\n}\n\nexport function useSocketNotificationsStorage(): SocketNotificationStorageService {\n return {\n notifications,\n addNotification,\n deleteNotifications,\n }\n}\n","import { WebSocketService } from '@/services/web-socket'\nimport { useAppStorage } from '@/services/storage/app'\nimport { useLiveFeedNotificationsStorage } from '@/services/storage/notifications'\nimport { useNotificationRepository } from '@/repositories'\nimport { useUserStorage } from '@/services/storage/user'\nimport { useEvents } from '@/application/events'\nimport { useSocketNotificationsStorage } from '@/services/storage/socket-notifications'\n\nlet lastConnectedParticipantChannel = ''\n\nexport function useWebSocket() {\n const webSocketService = WebSocketService()\n const appStorage = useAppStorage()\n const userStorage = useUserStorage()\n const { fetchUserEvents } = useEvents()\n const notificationRepository = useNotificationRepository(appStorage.isOnline.value)\n const liveFeedNotificationsStorage = useLiveFeedNotificationsStorage()\n const socketNotificationsStorage = useSocketNotificationsStorage()\n\n function connectToParticipantChannel() {\n // leave old channel if exist\n if (lastConnectedParticipantChannel) {\n webSocketService.leaveChannel(lastConnectedParticipantChannel)\n }\n const participantChannel = `participants.${appStorage.participantId.value}`\n lastConnectedParticipantChannel = participantChannel\n webSocketService.setHeader('x-participant-id', appStorage.participantId.value)\n // connect to new channel\n webSocketService.connect(participantChannel)\n webSocketService.subscribe(async (notification) => {\n // handle only live feed notifications\n if (notification.code === 'custom') {\n const newNotification = await notificationRepository.getNotification(\n // @ts-ignore\n notification.notification_id,\n appStorage.participantId.value\n )\n if (newNotification) {\n liveFeedNotificationsStorage.addNotification(newNotification)\n socketNotificationsStorage.addNotification(newNotification)\n }\n }\n })\n }\n\n function connectToUserChannel() {\n if (userStorage.user.value) {\n webSocketService.setHeader('x-user-id', userStorage.user.value.id)\n webSocketService.connect(`users.${userStorage.user.value.id}`)\n webSocketService.subscribe(async (notification) => {\n if (notification.code === 'event-service.participant.registered') {\n await fetchUserEvents()\n }\n })\n }\n }\n\n function deleteSocketNotifications(notificationsIds: string[]) {\n socketNotificationsStorage.deleteNotifications(notificationsIds)\n }\n\n return {\n connectToParticipantChannel,\n connectToUserChannel,\n socketNotifications: socketNotificationsStorage.notifications,\n deleteSocketNotifications,\n }\n}\n","function storePermission(permission: NotificationPermission) {\n localStorage.setItem('notifications.permission', permission)\n}\n\nfunction getStorePermission(): NotificationPermission {\n return localStorage.getItem('notifications.permission') as NotificationPermission\n}\n\nfunction removeStorePermission() {\n return localStorage.removeItem('notifications.permission')\n}\n\nexport function displayNotification(notification: any) {\n if (hasPermission()) {\n navigator.serviceWorker.getRegistration().then((registration) => {\n if (registration) {\n registration.showNotification(notification)\n }\n })\n }\n}\n\nexport function hasPermission() {\n return 'Notification' in window && (Notification.permission === 'granted' || getStorePermission() === 'granted')\n}\n\nexport function canAskPermission() {\n return 'Notification' in window && Notification.permission === 'default' && !hasPermission()\n}\n\nexport function requestNotificationPermissions() {\n try {\n return Notification.requestPermission().then((permission) => {\n storePermission(permission)\n logAccessStatus(permission)\n return permission\n })\n } catch (error) {\n console.log('User agent:', window?.navigator?.userAgent)\n // Safari doesn't return a promise for requestPermissions, and it\n // throws a TypeError. It takes a callback as the first argument\n // instead.\n if (error instanceof TypeError) {\n Notification.requestPermission(logAccessStatus)\n } else {\n throw error\n }\n }\n}\n\nfunction logAccessStatus(result: NotificationPermission) {\n console.log('Notification permission status: ', result)\n}\n","export const uuidRegex = '\\\\b[0-9a-f]{8}\\\\b-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-\\\\b[0-9a-f]{12}\\\\b'\nexport const urlRegex = /^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w.-]+)+[\\w\\-._~:/?#[\\]@!$&'()*+,;=.]+$/\nexport const emailRegex =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\nexport const phoneRegex = /^[+]?[(]?\\d{3}[)]?[-\\s.]?\\d{3}[-\\s.]?\\d{4,7}$/im\n","import { emailRegex, phoneRegex, urlRegex } from '@/lib/regExpressions'\n\nexport type Unit = 'KB' | 'MB' | 'GB' | 'TB'\n\nconst units = ['KB', 'MB', 'GB', 'TB']\nconst thresh = 1024\n\nexport function humanReadableFileSize(bytes: number, dp = 1, unit: Unit | undefined = undefined): string {\n if (!unit && Math.abs(bytes) < thresh) {\n return bytes + ' B'\n }\n\n let unitIndex = unit ? units.indexOf(unit) : -1\n const r = 10 ** dp\n\n do {\n bytes /= thresh\n ++unitIndex\n } while (Math.round(Math.abs(bytes) * r) / r >= thresh && unitIndex < units.length - 1)\n\n return bytes.toFixed(dp) + ' ' + units[unitIndex]\n}\n\nexport function bytesFromHumanReadableFileSize(fileSize: string, dp = 1): number {\n const [bytesString, unit] = fileSize.split(' ')\n let bytes = Number(bytesString)\n if (unit === 'B') {\n return bytes\n }\n\n let unitIndex = -1\n const r = 10 ** dp\n\n do {\n bytes *= thresh\n ++unitIndex\n } while (Math.round(Math.abs(bytes) * r) / r < thresh && unitIndex < units.length - 1)\n\n return bytes\n}\n\nexport function generateUuid(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16) | 0\n const v = c === 'x' ? r : (r & 0x3) | 0x8\n return v.toString(16)\n })\n}\n\nexport function getProgress(loaded: number, total: number) {\n return Math.round((loaded / total) * 100)\n}\n\nexport function validateEmail(value: string) {\n return emailRegex.test(String(value).toLowerCase())\n}\n\n/**\n * Valid formats:\n *\n * (123) 456-7890\n * (123)456-7890\n * 123-456-7890\n * 123.456.7890\n * 1234567890\n * +31636363634\n * 075-63546725\n * @param value\n */\nexport function validatePhoneNumber(value: string) {\n return phoneRegex.test(String(value).toLowerCase())\n}\n\n/**\n * Valid formats\n *\n * http://\n * https://\n * @param value\n */\nexport function validateUrl(value: string) {\n return urlRegex.test(String(value).toLowerCase())\n}\n\nexport function hasScroll(el: HTMLElement): boolean {\n return el.scrollHeight > el.offsetHeight || el.scrollWidth > el.offsetWidth\n}\n","import { register } from 'register-service-worker'\n\nregister(`${process.env.BASE_URL}service-worker.js`, {\n ready(registration) {\n document.dispatchEvent(new CustomEvent('sw-ready', { detail: registration }))\n },\n registered(registration) {\n document.dispatchEvent(new CustomEvent('sw-registered', { detail: registration }))\n // check updates every hour\n setInterval(() => {\n registration.update()\n }, 1000 * 60 * 60)\n },\n cached() {\n console.log('Content has been cached for offline use.')\n },\n updatefound(registration) {\n // dispatch update available event\n document.dispatchEvent(new CustomEvent('sw-update-available', { detail: registration }))\n },\n updated(registration) {\n // dispatch update downloaded event\n document.dispatchEvent(new CustomEvent('sw-update-downloaded', { detail: registration }))\n },\n offline() {\n // dispatch offline event\n document.dispatchEvent(new CustomEvent('sw-works-offline', { detail: {} }))\n },\n error(error) {\n console.error('Error during service worker registration:', error)\n },\n})\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveDynamicComponent as _resolveDynamicComponent, mergeProps as _mergeProps, openBlock as _openBlock, createBlock as _createBlock, createElementVNode as _createElementVNode, isRef as _isRef, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-14f05002\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"app-modal__content\" }\n\nimport UiModal from '@bgsonline/frontend-ui-kit/src/components/base/ui-modal'\n\n import { useAppModal } from '@/ui/components/app/AppModal/app-modal'\n\n \n const __default__ = {\n name: 'AppModal',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n const { closeModal, visible, dynamicComponentProps, dynamicComponent, modalProps } = useAppModal()\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(_unref(UiModal), _mergeProps({\n class: \"app-modal\",\n modelValue: _unref(visible),\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => (_isRef(visible) ? (visible).value = $event : null))\n }, _unref(modalProps)), {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n (_openBlock(), _createBlock(_resolveDynamicComponent(_unref(dynamicComponent)), _mergeProps(_unref(dynamicComponentProps), { \"onClick:close\": _unref(closeModal) }), null, 16, [\"onClick:close\"]))\n ])\n ]),\n _: 1\n }, 16, [\"modelValue\"]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=14f05002&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-14f05002\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-62169557\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\n\nimport { usePWA } from '@/ui/use/pwa'\n import { useAppModal } from '@/ui/components/app/AppModal/app-modal'\n\n // Components\n import { UiDialog } from '@bgsonline/frontend-ui-kit/src/components/base/ui-modal'\n\n // Use\n \n const __default__ = {\n name: 'PWAUpdateAvailablePrompt',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n const { closeModal } = useAppModal()\n const { refreshApp, refreshingApp } = usePWA()\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(_unref(UiDialog), {\n \"onClick:ok\": _unref(refreshApp),\n \"onClick:cancel\": _unref(closeModal),\n okText: _ctx.$t('buttons.update'),\n cancelText: _ctx.$t('buttons.dismiss'),\n closeable: false,\n disableFooter: _unref(refreshingApp)\n }, {\n default: _withCtx(() => [\n (_unref(refreshingApp))\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createTextVNode(_toDisplayString(_ctx.$t('update-available-prompt.being-updated')), 1)\n ], 64))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createTextVNode(_toDisplayString(_ctx.$t('update-available-prompt.update-available')) + \" \", 1),\n _hoisted_1,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('update-available-prompt.restart-after-update')), 1)\n ], 64))\n ]),\n _: 1\n }, 8, [\"onClick:ok\", \"onClick:cancel\", \"okText\", \"cancelText\", \"disableFooter\"]))\n}\n}\n\n})","import script from \"./PWAUpdateAvailablePrompt.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PWAUpdateAvailablePrompt.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PWAUpdateAvailablePrompt.vue?vue&type=style&index=0&id=62169557&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-62169557\"]])\n\nexport default __exports__","","import { render } from \"./bgs-online-icon-bg.svg?vue&type=template&id=4f9e980c\"\nconst script = {}\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","","import { render } from \"./arrow-to.svg?vue&type=template&id=d7362c5a\"\nconst script = {}\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-846b468a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"install-prompt__content\" }\nconst _hoisted_2 = { class: \"install-prompt__app-icon\" }\nconst _hoisted_3 = { class: \"install-prompt__text\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_5 = { class: \"install-prompt__images\" }\nconst _hoisted_6 = { class: \"install-prompt__images-app\" }\nconst _hoisted_7 = { class: \"install-prompt__images-arrow\" }\nconst _hoisted_8 = { class: \"install-prompt__images-phone\" }\nconst _hoisted_9 = { class: \"install-prompt__actions\" }\nconst _hoisted_10 = { class: \"install-prompt__actions-item\" }\nconst _hoisted_11 = { class: \"install-prompt__actions-item\" }\n\nimport AppIcon from '@/ui/assets/images/bgs-online-icon-bg.svg'\n import ArrowIcon from '@/ui/assets/images/arrow-to.svg'\n import { UiWindow } from '@bgsonline/frontend-ui-kit/src/components/base/ui-modal'\n import UiText from '@bgsonline/frontend-ui-kit/src/components/base/ui-text'\n import UiIcon from '@bgsonline/frontend-ui-kit/src/components/base/ui-icon.vue'\n import UiButton from '@bgsonline/frontend-ui-kit/src/components/base/ui-button'\n\n // Use\n import { usePWA } from '@/ui/use/pwa'\n import { useAppModal } from '@/ui/components/app/AppModal/app-modal'\n\n // Methods\n \n const __default__ = {\n name: 'PWAUpdateAvailablePrompt',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n // Components\n const { closeModal } = useAppModal()\n const { saveDismissInstallUserChoose, PWAInstaller } = usePWA()\n function installApp() {\n closeModal()\n PWAInstaller()\n }\n\n function dismiss() {\n closeModal()\n saveDismissInstallUserChoose()\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(_unref(UiWindow), {\n class: \"install-prompt\",\n \"hide-buttons\": \"\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_unref(AppIcon))\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_unref(UiText), {\n type: \"title\",\n size: \"l\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('install-app-prompt.get-app')), 1)\n ]),\n _: 1\n }),\n _createVNode(_unref(UiText), {\n class: \"install-prompt__text-description\",\n type: \"subtitle\",\n size: \"l\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('install-app-prompt.app-advantages')), 1)\n ]),\n _: 1\n }),\n _hoisted_4\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_unref(AppIcon))\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createVNode(_unref(ArrowIcon))\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(UiIcon, {\n name: \"iphone\",\n size: \"40\"\n })\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(_unref(UiButton), {\n block: \"\",\n outlined: \"\",\n plain: \"\",\n onClick: dismiss\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('install-app-prompt.later')), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createVNode(_unref(UiButton), {\n block: \"\",\n onClick: installApp\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('buttons.install')), 1)\n ]),\n _: 1\n })\n ])\n ])\n ])\n ]),\n _: 1\n }))\n}\n}\n\n})","import script from \"./PWAInstallAppPrompt.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PWAInstallAppPrompt.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PWAInstallAppPrompt.vue?vue&type=style&index=0&id=846b468a&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-846b468a\"]])\n\nexport default __exports__","","import { render } from \"./rounded-scanner-conner.svg?vue&type=template&id=43608465\"\nconst script = {}\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-35125eaa\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/_createStaticVNode(\"
  • Open "Safari".
  • Go to app.bgs-events.com .
  • Log in if not logged in yet.
  • Click on "aA" in the address bar of the browser.
  • Go to "Website Settings".
  • Find "Allow app.bgs-events.com to access", click "Camera" and choose "Allow".
  • If you use the app, open it once again. Allow it to use the camera. For the browser version just continue using it.
  • \", 7)\nconst _hoisted_8 = [\n _hoisted_1\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"ul\", null, _hoisted_8))\n}","\n export default {\n name: 'SafariInstructionList',\n }\n","import { render } from \"./SafariInstructionList.vue?vue&type=template&id=35125eaa&scoped=true&ts=true\"\nimport script from \"./SafariInstructionList.vue?vue&type=script&lang=ts\"\nexport * from \"./SafariInstructionList.vue?vue&type=script&lang=ts\"\n\nimport \"./SafariInstructionList.vue?vue&type=style&index=0&id=35125eaa&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-35125eaa\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2ea46010\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/_createStaticVNode(\"
  • Open the "Chrome app".
  • Go to app.bgs-events.com .
  • Log in if not logged in yet.
  • To the right of the address bar, tap "More" (3 dots) > "Settings".
  • Tap "Site Settings".
  • Tap "Camera".
  • Tap to turn the camera on.
  • If you use the app, open it once again. Allow it to use the camera. For the browser version just continue using it.
  • \", 8)\nconst _hoisted_9 = [\n _hoisted_1\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"ul\", null, _hoisted_9))\n}","\n export default {\n name: 'AndroidInstructionList',\n }\n","import { render } from \"./AndroidInstructionList.vue?vue&type=template&id=2ea46010&scoped=true&ts=true\"\nimport script from \"./AndroidInstructionList.vue?vue&type=script&lang=ts\"\nexport * from \"./AndroidInstructionList.vue?vue&type=script&lang=ts\"\n\nimport \"./AndroidInstructionList.vue?vue&type=style&index=0&id=2ea46010&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2ea46010\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b2eb6fca\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"camera-access\" }\nconst _hoisted_2 = { class: \"camera-access__icon\" }\nconst _hoisted_3 = { class: \"camera-access__text\" }\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = {\n key: 0,\n class: \"camera-access__card\"\n}\nconst _hoisted_6 = {\n key: 1,\n class: \"camera-access__card\"\n}\n\nimport { useDevice } from '@/ui/use/device'\n\n import UiText from '@bgsonline/frontend-ui-kit/src/components/base/ui-text'\n import UiIcon from '@bgsonline/frontend-ui-kit/src/components/base/ui-icon'\n import SafariInstructionList from '@/ui/components/app/AppQRScanner/SafariInstructionList.vue'\n import AndroidInstructionList from '@/ui/components/app/AppQRScanner/AndroidInstructionList.vue'\n\n \n const __default__ = {\n name: 'AllowCameraAccess',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n const { isIOS, isAndroid } = useDevice()\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_unref(UiIcon), { name: \"camera-off-line\" })\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_unref(UiText), {\n type: \"title\",\n size: \"m\",\n class: \"camera-access__text-title\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('qr-scanner.allow-access.title')), 1)\n ]),\n _: 1\n }),\n _createVNode(_unref(UiText), {\n type: \"text\",\n size: \"l\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('qr-scanner.allow-access.description')) + \" \", 1),\n (_unref(isAndroid) || _unref(isIOS))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, _toDisplayString(_ctx.$t('qr-scanner.allow-access.instruction')), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]),\n (_unref(isIOS))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createVNode(SafariInstructionList)\n ]))\n : (_unref(isAndroid))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(AndroidInstructionList)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./AllowCameraAccess.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AllowCameraAccess.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AllowCameraAccess.vue?vue&type=style&index=0&id=b2eb6fca&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b2eb6fca\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, normalizeClass as _normalizeClass, createBlock as _createBlock, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-201362b3\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"app-qr-scanner\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"app-qr-scanner__sight\"\n}\nconst _hoisted_3 = { class: \"app-qr-scanner__scan\" }\nconst _hoisted_4 = { class: \"app-qr-scanner__top-panel\" }\nconst _hoisted_5 = { class: \"app-qr-scanner__controls\" }\nconst _hoisted_6 = { class: \"app-qr-scanner__message\" }\nconst _hoisted_7 = { class: \"app-qr-scanner__bottom-panel\" }\nconst _hoisted_8 = { class: \"app-qr-scanner__controls\" }\n\nimport { Ref, ref } from 'vue'\n import { QrStream } from 'vue3-qr-reader'\n\n import { CameraType } from '@/ui/ui-types'\n\n import { useAppQRScanner } from '@/ui/components/app/AppQRScanner/AppQRScanner'\n import { useSubLayout } from '@/ui/use/sub-layout'\n\n import UiButton from '@bgsonline/frontend-ui-kit/src/components/base/ui-button.vue'\n import UiIcon from '@bgsonline/frontend-ui-kit/src/components/base/ui-icon.vue'\n import UiText from '@bgsonline/frontend-ui-kit/src/components/base/ui-text.vue'\n import RoundedScannerConner from '@/ui/assets/images/rounded-scanner-conner.svg'\n import AllowCameraAccess from '@/ui/components/app/AppQRScanner/AllowCameraAccess.vue'\n\n \n const __default__ = {\n name: 'AppQRScanner',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n const { isScannerActive, onSuccessfullyDetect, closeScanner } = useAppQRScanner()\n const { openSubLayout } = useSubLayout()\n const camera: Ref = ref('auto')\n const torchSupported = ref(true)\n const torchActive = ref(false)\n const errorMessage = ref('')\n const cameraChanging = ref(false)\n\n function onDetect(event: Promise) {\n event.then((data) => {\n if (data.content) {\n onSuccessfullyDetect(data.content)\n }\n })\n }\n\n async function onInit(promise: Promise) {\n promise\n .then(({ capabilities }) => {\n torchSupported.value = capabilities.torch\n errorMessage.value = ''\n })\n .catch((error: any) => {\n if (error.name && error.name === 'NotAllowedError') {\n showAllowCameraAccess()\n } else {\n errorMessage.value = error.name\n }\n })\n .finally(() => {\n setTimeout(() => (cameraChanging.value = false), 500)\n })\n }\n\n function switchCamera() {\n cameraChanging.value = true\n switch (camera.value) {\n case 'auto':\n setCamera('rear')\n break\n case 'rear':\n setCamera('front')\n break\n case 'front':\n setCamera('auto')\n }\n }\n\n function setCamera(newCamera: CameraType) {\n camera.value = newCamera\n }\n\n function toggleTorch() {\n if (torchSupported.value) {\n torchActive.value = !torchActive.value\n }\n }\n function showAllowCameraAccess() {\n openSubLayout(AllowCameraAccess, {}, { hideAppTitle: true, backButtonText: 'Back' })\n closeScanner()\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_unref(isScannerActive))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_unref(QrStream), {\n camera: camera.value,\n torch: torchActive.value,\n onDetect: onDetect,\n onInit: onInit\n }, null, 8, [\"camera\", \"torch\"]),\n (!errorMessage.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createVNode(_unref(RoundedScannerConner), { class: \"conner top-left\" }),\n _createVNode(_unref(RoundedScannerConner), { class: \"conner top-right\" }),\n _createVNode(_unref(RoundedScannerConner), { class: \"conner bottom-left\" }),\n _createVNode(_unref(RoundedScannerConner), { class: \"conner bottom-right\" })\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(UiButton, {\n icon: \"\",\n plain: \"\",\n onClick: _unref(closeScanner)\n }, {\n default: _withCtx(() => [\n _createVNode(UiIcon, {\n name: \"chevron-left\",\n class: \"active\",\n size: \"m\"\n })\n ]),\n _: 1\n }, 8, [\"onClick\"]),\n (!errorMessage.value && torchSupported.value)\n ? (_openBlock(), _createBlock(UiButton, {\n key: 0,\n icon: \"\",\n plain: \"\",\n onClick: toggleTorch,\n class: _normalizeClass({ active: torchActive.value })\n }, {\n default: _withCtx(() => [\n _createVNode(UiIcon, {\n name: \"lightning\",\n size: \"m\"\n })\n ]),\n _: 1\n }, 8, [\"class\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n (errorMessage.value)\n ? (_openBlock(), _createBlock(UiText, {\n key: 0,\n class: \"error\",\n type: \"text\",\n size: \"xs\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(`qr-scanner.error.${errorMessage.value}`)), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(UiButton, {\n plain: \"\",\n outlined: \"\",\n size: \"small\",\n onClick: switchCamera\n }, {\n default: _withCtx(() => [\n _createVNode(UiIcon, {\n name: \"refresh-ccw\",\n class: _normalizeClass({ rotation: cameraChanging.value }),\n size: \"m\"\n }, null, 8, [\"class\"])\n ]),\n _: 1\n })\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=201362b3&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-201362b3\"]])\n\nexport default __exports__","import { useCssVars as _useCssVars, defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveDynamicComponent as _resolveDynamicComponent, normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, createBlock as _createBlock, Transition as _Transition, withCtx as _withCtx, createVNode as _createVNode, Fragment as _Fragment } from \"vue\"\n\nimport { useAppFullscreenCover } from '@/ui/components/app/AppFullscreenCover/app-fullscreen-cover'\n import { computed } from 'vue'\n\n \n const __default__ = {\n name: 'AppFullscreenCover',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n_useCssVars(_ctx => ({\n \"7a7729f0\": (opacity.value)\n}))\n\n const { isVisible, dynamicComponent, dynamicComponentProps, coverOptions, hideFullscreenCover } =\n useAppFullscreenCover()\n\n const opacity = computed(() => {\n return coverOptions.value.background?.opacity\n })\n\n function handleMaskClick() {\n if (coverOptions.value.maskClickCloseable) {\n hideFullscreenCover()\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_unref(isVisible))\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([\"app-fullscreen-cover\", { transparent: !!opacity.value }])\n }, null, 2))\n : _createCommentVNode(\"\", true),\n _createVNode(_Transition, { name: \"fade\" }, {\n default: _withCtx(() => [\n (_unref(isVisible))\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"app-fullscreen-cover__content\",\n onClick: handleMaskClick\n }, [\n (_openBlock(), _createBlock(_resolveDynamicComponent(_unref(dynamicComponent)), _normalizeProps(_guardReactiveProps(_unref(dynamicComponentProps))), null, 16))\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ], 64))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=24339d00&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-24339d00\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2a128731\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"empty-layout\" }\nconst _hoisted_2 = { class: \"empty-layout__content\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_router_view)\n ])\n ]))\n}","\n export default {\n name: 'EmptyLayout',\n }\n","import { render } from \"./EmptyLayout.vue?vue&type=template&id=2a128731&scoped=true&ts=true\"\nimport script from \"./EmptyLayout.vue?vue&type=script&lang=ts\"\nexport * from \"./EmptyLayout.vue?vue&type=script&lang=ts\"\n\nimport \"./EmptyLayout.vue?vue&type=style&index=0&id=2a128731&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2a128731\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, resolveDynamicComponent as _resolveDynamicComponent, openBlock as _openBlock, createBlock as _createBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1a8ffb5c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"app\" }\n\nimport { computed, watch, onBeforeMount, onBeforeUnmount } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { useAppModal } from '@/ui/components/app/AppModal/app-modal'\n import { usePWA } from '@/ui/use/pwa'\n import { useNotifications } from '@/application/notifications'\n\n import AppModal from '@/ui/components/app/AppModal/index.vue'\n import PWAUpdateAvailablePrompt from '@/ui/components/app/AppModal/contents/PWAUpdateAvailablePrompt.vue'\n import PWAInstallAppPrompt from '@/ui/components/app/AppModal/contents/PWAInstallAppPrompt.vue'\n import { useApplication } from '@/application'\n import AppQRScanner from '@/ui/components/app/AppQRScanner/index.vue'\n import AppFullscreenCover from '@/ui/components/app/AppFullscreenCover/index.vue'\n import { useAppNotifications } from '@/ui/components/app/AppNotifications/app-notifications'\n import { useI18n } from 'vue-i18n'\n import { useAuthenticate } from '@/application/authenticate'\n import EmptyLayout from '@/ui/layouts/EmptyLayout.vue'\n import { useWebSocket } from '@/application/web-socket'\n import { hasPermission } from '@/lib/browser-notification'\n\n /*// @ts-ignore\nimport workers from '@/ui/workers'*/\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'App',\n setup(__props) {\n\n const route = useRoute()\n const { isOnline } = useApplication()\n const { openModal } = useAppModal()\n const { setRegistration, setInstallEvent, isAddToHomeScreenPossible, checkSubscription, setAppBadge } = usePWA()\n const { addNotification } = useAppNotifications()\n const { t } = useI18n()\n const { user, isAuthenticated } = useAuthenticate()\n const { connectToUserChannel } = useWebSocket()\n const { unreadNotificationsCount } = useNotifications()\n\n const currentLayout = computed(() => {\n return route.meta.layout || EmptyLayout\n })\n\n // watch on online state\n watch(\n isOnline,\n (newVal, prevVal) => {\n if (!newVal) {\n addNotification({ content: `${t('messages.offline-mode')}`, type: 'warning' }, 5000)\n } else {\n if (prevVal === false) {\n addNotification({ content: `${t('messages.online-mode')}`, type: 'info' }, 5000)\n }\n }\n },\n { immediate: true }\n )\n\n watch(\n user,\n (newVal) => {\n if (newVal) {\n connectToUserChannel()\n checkSubscription()\n // @ts-ignore\n if (window?.ReactNativeWebView) {\n // @ts-ignore\n window.ReactNativeWebView.postMessage(JSON.stringify(newVal))\n }\n }\n },\n { immediate: true }\n )\n\n // set unread messages count at application`s badge\n watch(unreadNotificationsCount, setAppBadge, { immediate: true })\n\n /*\nworker usage example\nconst { worker, send } = workers\nworker.onmessage = (e: any) => {\nconst { data } = e\nconsole.log('message from worker', data)\n}\nsend({ foo: 'baz' })\n*/\n\n // service-worker-events\n document.addEventListener('sw-update-downloaded', showRefreshAppPrompt, { once: true })\n document.addEventListener(\n 'sw-ready',\n (event: any) => {\n // set registration\n setRegistration(event.detail)\n\n // check for push subscription if notification permission is granted\n if (isOnline && isAuthenticated.value && hasPermission()) {\n checkSubscription()\n }\n },\n { once: true }\n )\n\n // pwa events\n onBeforeMount(() => {\n window.addEventListener('beforeinstallprompt', showInstallAppPrompt)\n })\n onBeforeUnmount(() => window.removeEventListener('beforeinstallprompt', showInstallAppPrompt))\n\n function showRefreshAppPrompt(event: any) {\n setRegistration(event.detail)\n openModal(PWAUpdateAvailablePrompt, {\n modalProps: {\n closeOnOverlay: false,\n },\n })\n }\n\n function showInstallAppPrompt(event: any) {\n setInstallEvent(event)\n if (isAddToHomeScreenPossible()) {\n openModal(PWAInstallAppPrompt, {\n modalProps: {\n closeOnOverlay: false,\n },\n })\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(AppModal),\n _createVNode(AppQRScanner),\n _createVNode(AppFullscreenCover),\n (_openBlock(), _createBlock(_resolveDynamicComponent(currentLayout.value)))\n ]))\n}\n}\n\n})","import script from \"./App.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=1a8ffb5c&scoped=true&lang=stylus\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1a8ffb5c\"]])\n\nexport default __exports__","","import { render } from \"./bgs-online-logo-dark.svg?vue&type=template&id=fec0a0c0\"\nconst script = {}\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-66f38156\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"app-loader\" }\nconst _hoisted_2 = { class: \"app-loader__logo\" }\n\nimport BGSOnlineLogo from '@/ui/assets/images/bgs-online-logo-dark.svg'\n\n const __default__ = {\n name: 'AppLoader',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_unref(BGSOnlineLogo))\n ])\n ]))\n}\n}\n\n})","import script from \"./AppLoader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppLoader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AppLoader.vue?vue&type=style&index=0&id=66f38156&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-66f38156\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-92581e96\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"app\" }\n\nimport AppLoader from '@/ui/components/app/AppLoader.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'LoaderApp',\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(AppLoader)\n ]))\n}\n}\n\n})","import script from \"./LoaderApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LoaderApp.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./LoaderApp.vue?vue&type=style&index=0&id=92581e96&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-92581e96\"]])\n\nexport default __exports__","import { RouteRecordRaw } from 'vue-router'\n\nimport EmptyLayout from '@/ui/layouts/EmptyLayout.vue'\n\nconst authRoutes: RouteRecordRaw[] = [\n {\n path: '/register',\n name: 'Register',\n meta: { layout: EmptyLayout },\n component: () => import('@/ui/pages/register.vue'),\n },\n {\n path: '/login',\n name: 'Login',\n meta: { layout: EmptyLayout },\n component: () => import('@/ui/pages/remote-login.vue'),\n },\n {\n path: '/signin-callback',\n name: 'SignInCallback',\n meta: { layout: EmptyLayout },\n component: () => import('@/ui/pages/signin-callback.vue'),\n },\n]\nexport default authRoutes\n","import { NavigationGuardNext, RouteLocationNormalized } from 'vue-router'\nimport { useAuthenticate } from '@/application/authenticate'\n\nconst { isAuthenticated } = useAuthenticate()\n\nexport default function auth(to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext) {\n if (to.name !== 'Login' && !isAuthenticated.value) {\n const registerCode = to.query.registration_invite_code\n if (registerCode) {\n next({ name: 'Register', query: Object.assign({}, { redirectedFrom: to.path }, to.query) })\n }\n next({ name: 'Login', query: { redirectedFrom: to.fullPath } })\n } else {\n next()\n }\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, createElementBlock as _createElementBlock } from \"vue\"\n\nimport { computed } from 'vue'\n import { useI18n } from 'vue-i18n'\n import { NavigationFailure, useRoute, useRouter } from 'vue-router'\n\n import UiButton from '@bgsonline/frontend-ui-kit/src/components/base/ui-button.vue'\n import UiIcon from '@bgsonline/frontend-ui-kit/src/components/base/ui-icon.vue'\n import UiText from '@bgsonline/frontend-ui-kit/src/components/base/ui-text'\n\n \n const __default__ = {\n name: 'AppHeaderButtonBack',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n const { t } = useI18n()\n const router = useRouter()\n const route = useRoute()\n const isRoot = computed(() => route.path && !window.history.state.back)\n const iconName = computed(() => (isRoot.value ? 'bgs' : 'chevron-left'))\n const buttonBack = computed(() => {\n const button: { text: string; action(): Promise } = {\n text: t('buttons.back'),\n action: async () => await router.back(),\n }\n\n switch (route.name) {\n case 'MyEvent':\n button.text = t('button-back.event-list')\n button.action = async () => await router.push('/')\n break\n case 'Event':\n if (route.params.path && route.params.path === 'business-program') {\n button.text = t('button-back.main')\n button.action = async () =>\n await router.push({ name: 'Event', params: { eventId: route.params.eventId, path: 'main' } })\n }\n break\n }\n\n if (isRoot.value) {\n button.text = ''\n button.action = async () => await router.push('/')\n }\n return button\n })\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"button-back\", { link: !!buttonBack.value.text, root: isRoot.value }])\n }, [\n _createVNode(UiButton, {\n icon: !buttonBack.value.text,\n plain: \"\",\n size: \"small\",\n block: !!buttonBack.value.text,\n onClick: buttonBack.value.action\n }, {\n default: _withCtx(() => [\n _createVNode(UiIcon, { name: iconName.value }, null, 8, [\"name\"]),\n (buttonBack.value.text)\n ? (_openBlock(), _createBlock(_unref(UiText), {\n key: 0,\n type: \"description\",\n size: \"l\",\n class: \"button-back__text\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(buttonBack.value.text), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"icon\", \"block\", \"onClick\"])\n ], 2))\n}\n}\n\n})","import script from \"./AppHeaderButtonBack.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppHeaderButtonBack.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AppHeaderButtonBack.vue?vue&type=style&index=0&id=7ac40c94&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-7ac40c94\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0b159e51\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"title\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"title__text\"\n}\n\nimport { useApp } from '@/ui/use/app'\n import BgsOnlineLogo from '@/ui/assets/images/bgs-online-logo-dark.svg'\n\n \n const __default__ = {\n name: 'AppHeaderTitle',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n const { appTitle } = useApp()\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(appTitle))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_unref(appTitle)), 1))\n : (_openBlock(), _createBlock(_unref(BgsOnlineLogo), { key: 1 }))\n ]))\n}\n}\n\n})","import script from \"./AppHeaderTitle.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppHeaderTitle.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AppHeaderTitle.vue?vue&type=style&index=0&id=0b159e51&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0b159e51\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, withCtx as _withCtx, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, withModifiers as _withModifiers, normalizeClass as _normalizeClass, createBlock as _createBlock } from \"vue\"\n\nimport { useApp } from '@/ui/use/app'\n import { useRouter } from 'vue-router'\n\n // Components\n import UiButton from '@bgsonline/frontend-ui-kit/src/components/base/ui-button.vue'\n import UiIcon from '@bgsonline/frontend-ui-kit/src/components/base/ui-icon.vue'\n\n \n const __default__ = {\n name: 'AppHeaderActions',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n const { headerActions } = useApp()\n const router = useRouter()\n\n async function goToHelpCenter() {\n await router.push({ name: 'Articles' })\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(UiButton, {\n plain: \"\",\n icon: \"\",\n size: \"small\",\n onClick: goToHelpCenter\n }, {\n default: _withCtx(() => [\n _createVNode(UiIcon, { name: \"question-circle\" })\n ]),\n _: 1\n }),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(headerActions), (item, idx) => {\n return (_openBlock(), _createBlock(UiButton, {\n loading: item.loading,\n class: _normalizeClass({ active: item.active, disabled: item.disabled }),\n disabled: item.disabled,\n key: idx,\n onClick: _withModifiers(item.action, [\"stop\"]),\n icon: \"\",\n plain: \"\",\n size: \"small\"\n }, {\n default: _withCtx(() => [\n _createVNode(UiIcon, {\n name: item.icon\n }, null, 8, [\"name\"])\n ]),\n _: 2\n }, 1032, [\"loading\", \"class\", \"disabled\", \"onClick\"]))\n }), 128))\n ], 64))\n}\n}\n\n})","import script from \"./AppHeaderActions.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppHeaderActions.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AppHeaderActions.vue?vue&type=style&index=0&id=3f44ac0a&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3f44ac0a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, TransitionGroup as _TransitionGroup, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5ce39f7a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"app-header__right\" }\nconst _hoisted_2 = { class: \"app-header__actions\" }\n\nimport { computed, ref } from 'vue'\n import { useRouter } from 'vue-router'\n\n import { useUserStorage } from '@/services/storage/user'\n import { useApplication } from '@/application'\n\n import AppHeaderButtonBack from '@/ui/components/app/AppHeader/AppHeaderButtonBack.vue'\n import AppHeaderTitle from '@/ui/components/app/AppHeader/AppHeaderTitle.vue'\n import AppHeaderActions from '@/ui/components/app/AppHeader/AppHeaderActions.vue'\n import UiAvatar from '@bgsonline/frontend-ui-kit/src/components/base/ui-avatar.vue'\n import UiBadge from '@bgsonline/frontend-ui-kit/src/components/base/ui-badge.vue'\n\n \n const __default__ = {\n name: 'AppHeader',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n props: {\n showUser: {\n type: Boolean,\n default: true,\n },\n },\n setup(__props) {\n\n \n\n const AVATAR_SIZE = 32\n const { user } = useUserStorage()\n const router = useRouter()\n const { isOnline } = useApplication()\n const userAvatarSrc = computed(() => {\n return user?.value?.avatar?.url\n })\n const headerRef = ref(null)\n const titleRef = ref(null)\n\n // methods\n function goToProfile() {\n router.push({ name: 'Profile' })\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"app-header\",\n ref_key: \"headerRef\",\n ref: headerRef\n }, [\n _createVNode(AppHeaderButtonBack),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(AppHeaderActions)\n ]),\n (__props.showUser)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"app-header__user\",\n onClick: goToProfile\n }, [\n (_unref(user))\n ? (_openBlock(), _createBlock(UiAvatar, {\n key: 0,\n src: userAvatarSrc.value,\n size: AVATAR_SIZE\n }, null, 8, [\"src\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", {\n class: \"app-header__description\",\n ref_key: \"titleRef\",\n ref: titleRef\n }, [\n _createVNode(_TransitionGroup, { name: \"list-fade-from-bottom\" }, {\n default: _withCtx(() => [\n _createVNode(AppHeaderTitle, { key: \"1\" }),\n (!_unref(isOnline))\n ? (_openBlock(), _createBlock(UiBadge, {\n class: \"app-header__description-offline\",\n color: \"error\",\n variant: \"bubble\",\n bordered: \"\",\n size: \"small\",\n content: \"Offline\",\n key: \"2\"\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ], 512)\n ], 512))\n}\n}\n\n})","import script from \"./AppHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AppHeader.vue?vue&type=style&index=0&id=5ce39f7a&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-5ce39f7a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nimport { ref, PropType, watch } from 'vue'\n import { useSwipe, SwipeDirection } from '@vueuse/core'\n\n \n const __default__ = {\n name: 'UiSwipeRemoval',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n props: {\n directions: {\n type: Array as PropType,\n default: () => [SwipeDirection.LEFT, SwipeDirection.RIGHT],\n },\n },\n emits: ['close'],\n setup(__props, { emit }) {\n\nconst props = __props;\n\n const el = ref()\n \n \n const { isSwiping, direction } = useSwipe(el)\n watch(isSwiping, () => {\n if (direction.value && props.directions?.includes(direction.value)) {\n close()\n }\n })\n\n function close() {\n emit('close', direction.value?.toLowerCase())\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"ui-swipe-removal\",\n ref_key: \"el\",\n ref: el\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ], 512))\n}\n}\n\n})","import script from \"./UiSwipeRemoval.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UiSwipeRemoval.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UiSwipeRemoval.vue?vue&type=style&index=0&id=df7033e0&scoped=true&lang=stylus\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-df7033e0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createVNode as _createVNode, withCtx as _withCtx, createBlock as _createBlock, createCommentVNode as _createCommentVNode, TransitionGroup as _TransitionGroup, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-bd7ca974\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"ws-notifications\" }\n\nimport { computed, ref, nextTick } from 'vue'\n import { useRouter } from 'vue-router'\n\n import type { Notification } from '@bgsonline/frontend-types/api/notification-service'\n import { useAppNotifications } from '@/ui/components/app/AppNotifications/app-notifications'\n import { useEventContext } from '@/application/event-context'\n\n // Components\n import UiKitCallout from '@bgsonline/frontend-ui-kit/src/components/base/ui-callout.vue'\n import UiSwipeRemoval from '@/ui/ui-kit/UiSwipeRemoval.vue'\n import UiContent from '@bgsonline/frontend-ui-kit/src/components/complex/content/index.vue'\n\n \n const __default__ = {\n name: 'WsNotifications',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n const { socketNotifications, removeSocketNotification } = useAppNotifications()\n const notificationDuration = 5000 // TODO move to notification controller\n const removingClass = ref('fade')\n\n const router = useRouter()\n const { currentEventId } = useEventContext()\n const firstThreeNotifications = computed(() => socketNotifications.value.filter((ntf) => !ntf.read_at).slice(0, 3))\n const itemAnimation = computed(() => {\n let transitionClass\n\n switch (removingClass.value) {\n case 'fade':\n transitionClass = 'list-fade-in'\n break\n case 'from-bottom':\n transitionClass = 'list-fade-in'\n break\n case 'right':\n transitionClass = 'list-fade-to-right'\n break\n case 'down':\n transitionClass = 'list-fade-to-bottom'\n break\n case 'top':\n transitionClass = 'list-fade-to-top'\n break\n case 'left':\n transitionClass = 'list-fade-to-left'\n break\n }\n return transitionClass\n })\n\n function closeSocketNotification(notification: Notification, direction: 'right' | 'left' | 'down' | 'top') {\n console.log(notification)\n removingClass.value = direction\n removeSocketNotification(notification)\n nextTick(() => (removingClass.value = 'fade'))\n }\n\n function onTimerEnd(notification: Notification) {\n closeSocketNotification(notification, 'top')\n }\n\n async function openLiveFeed() {\n if (currentEventId.value) {\n await router.push({ name: 'Event', params: { eventId: currentEventId.value, path: 'live-feed' } })\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_TransitionGroup, { name: itemAnimation.value }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(firstThreeNotifications.value, (notification, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"ws-notifications__item\",\n key: notification.id\n }, [\n (i === 0)\n ? (_openBlock(), _createBlock(UiSwipeRemoval, {\n key: 0,\n onClose: ($event: any) => (closeSocketNotification(notification, $event)),\n onClick: openLiveFeed\n }, {\n default: _withCtx(() => [\n _createVNode(UiKitCallout, {\n \"onClick:close\": ($event: any) => (closeSocketNotification(notification, 'top')),\n \"onTimer:end\": ($event: any) => (onTimerEnd(notification)),\n timer: notificationDuration,\n closeable: \"\"\n }, {\n default: _withCtx(() => [\n _createVNode(UiContent, {\n body: notification.short_body\n }, null, 8, [\"body\"])\n ]),\n _: 2\n }, 1032, [\"onClick:close\", \"onTimer:end\"])\n ]),\n _: 2\n }, 1032, [\"onClose\"]))\n : (_openBlock(), _createBlock(UiKitCallout, { key: 1 }, {\n default: _withCtx(() => [\n _createVNode(UiContent, {\n body: notification.short_body\n }, null, 8, [\"body\"])\n ]),\n _: 2\n }, 1024))\n ]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"name\"])\n ]))\n}\n}\n\n})","import script from \"./WsNotifications.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WsNotifications.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WsNotifications.vue?vue&type=style&index=0&id=bd7ca974&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-bd7ca974\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, createVNode as _createVNode, createBlock as _createBlock, TransitionGroup as _TransitionGroup, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-071317b4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"status-notifications\" }\n\nimport { computed, ref, nextTick } from 'vue'\n\n import UiSwipeRemoval from '@/ui/ui-kit/UiSwipeRemoval.vue'\n import UiToast from '@bgsonline/frontend-ui-kit/src/components/base/ui-toast.vue'\n import { useAppNotifications, type AppNotification } from '@/ui/components/app/AppNotifications/app-notifications'\n\n \n const __default__ = {\n name: 'StatusNotifications',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n const { notifications, removeNotification } = useAppNotifications()\n const removingClass = ref('fade')\n\n const itemAnimation = computed(() => {\n let transitionClass\n\n switch (removingClass.value) {\n case 'fade':\n transitionClass = 'list-fade-in'\n break\n case 'from-bottom':\n transitionClass = 'list-fade-in'\n break\n case 'right':\n transitionClass = 'list-fade-to-right'\n break\n case 'down':\n transitionClass = 'list-fade-to-bottom'\n break\n case 'top':\n transitionClass = 'list-fade-to-top'\n break\n case 'left':\n transitionClass = 'list-fade-to-left'\n break\n }\n return transitionClass\n })\n\n function closeNotification(notification: AppNotification, direction: 'right' | 'left' | 'down') {\n removingClass.value = direction\n removeNotification(notification)\n nextTick(() => (removingClass.value = 'fade'))\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_TransitionGroup, { name: itemAnimation.value }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(notifications), (notification) => {\n return (_openBlock(), _createBlock(UiSwipeRemoval, {\n key: notification.uuid,\n onClose: ($event: any) => (closeNotification(notification, $event))\n }, {\n default: _withCtx(() => [\n _createVNode(UiToast, {\n type: notification.type\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(notification.content), 1)\n ]),\n _: 2\n }, 1032, [\"type\"])\n ]),\n _: 2\n }, 1032, [\"onClose\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"name\"])\n ]))\n}\n}\n\n})","import script from \"./StatusNotifications.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StatusNotifications.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StatusNotifications.vue?vue&type=style&index=0&id=071317b4&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-071317b4\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-22a787f2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"main\" }\nconst _hoisted_2 = { class: \"main__header\" }\nconst _hoisted_3 = { class: \"main__content\" }\nconst _hoisted_4 = { class: \"main__notifications\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"main__notifications-top\" }, null, -1))\nconst _hoisted_6 = { class: \"main__notifications-center\" }\nconst _hoisted_7 = { class: \"main__notifications-bottom\" }\n\nimport AppHeader from '@/ui/components/app/AppHeader/AppHeader.vue'\n import WsNotifications from '@/ui/components/app/AppNotifications/WsNotifications.vue'\n import StatusNotifications from '@/ui/components/app/AppNotifications/StatusNotifications.vue'\n\n const __default__ = {\n name: 'MainLayout',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(AppHeader)\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_router_view)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(StatusNotifications)\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createVNode(WsNotifications)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./MainLayout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./MainLayout.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./MainLayout.vue?vue&type=style&index=0&id=22a787f2&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-22a787f2\"]])\n\nexport default __exports__","import { NavigationGuardNext, RouteLocationNormalized } from 'vue-router'\nimport { useAuthenticate } from '@/application/authenticate'\n\nconst { user } = useAuthenticate()\n\nexport default function agreementApproved(\n to: RouteLocationNormalized,\n from: RouteLocationNormalized,\n next: NavigationGuardNext\n) {\n if (to.name !== 'Agreements' && !user.value?.agreement_approved) {\n next({ name: 'Agreements', query: { redirectedFrom: to.fullPath } })\n } else if (to.name === 'Agreements' && user.value?.agreement_approved) {\n next({ name: 'Home' })\n } else {\n next()\n }\n}\n","import { NavigationGuardNext, RouteLocationNormalized } from 'vue-router'\nimport { useAuthenticate } from '@/application/authenticate'\n\nconst { user } = useAuthenticate()\n\nexport default function profileAccepted(\n to: RouteLocationNormalized,\n from: RouteLocationNormalized,\n next: NavigationGuardNext\n) {\n //@ts-ignore\n if (to.name !== 'Welcome' && !user.value?.profile_accepted) {\n next({ name: 'Welcome', query: { redirectedFrom: to.fullPath } })\n //@ts-ignore\n } else if (to.name === 'Welcome' && user.value?.profile_accepted) {\n next({ name: 'Home' })\n } else {\n next()\n }\n}\n","import { RouteRecordRaw } from 'vue-router'\n\nimport auth from '@/ui/router/middleware/auth'\nimport { uuidRegex } from '@/lib/regExpressions'\nimport MainLayout from '@/ui/layouts/MainLayout.vue'\nimport agreementApproved from '@/ui/router/middleware/agreement-approved'\nimport profileAccepted from '@/ui/router/middleware/profile-accepted'\n\nconst myEventRoutes: RouteRecordRaw[] = [\n {\n path: '/my-events',\n name: 'MyEvents',\n component: () => import('@/ui/pages/my-events/index.vue'),\n meta: { layout: MainLayout },\n beforeEnter: [auth, profileAccepted, agreementApproved],\n },\n // eventId: uuid\n // path: string, optional\n {\n path: `/my-events/:eventId(${uuidRegex})/:path?/:contentId(${uuidRegex})?`,\n name: 'MyEvent',\n component: () => import('@/ui/pages/my-events/[event].vue'),\n meta: { layout: MainLayout },\n props: true,\n beforeEnter: [auth, profileAccepted, agreementApproved],\n },\n]\n\nexport default myEventRoutes\n","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, withCtx as _withCtx, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5209d074\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"app-bottom-menu\" }\nconst _hoisted_2 = [\"data-label\", \"onClick\"]\nconst _hoisted_3 = { class: \"app-bottom-menu__item-content\" }\nconst _hoisted_4 = { class: \"app-bottom-menu__item-icon\" }\nconst _hoisted_5 = { class: \"app-bottom-menu__item-label\" }\nconst _hoisted_6 = {\n key: 1,\n class: \"app-bottom-menu__item-content\"\n}\nconst _hoisted_7 = { class: \"app-bottom-menu__item-icon\" }\nconst _hoisted_8 = { class: \"app-bottom-menu__item-label\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ui_icon = _resolveComponent(\"ui-icon\")!\n const _component_ui_badge = _resolveComponent(\"ui-badge\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList($setup.items, (item, idx) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"app-bottom-menu__item\", { active: item.isActive && item.isActive.value }]),\n key: idx,\n \"data-label\": item.label,\n onClick: ($event: any) => ($setup.handleClick(item))\n }, [\n (item.counter && item.counter?.value)\n ? (_openBlock(), _createBlock(_component_ui_badge, {\n key: 0,\n content: item.counter?.value,\n rounded: \"\",\n size: \"small\",\n color: \"error\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_ui_icon, {\n name: item.icon\n }, null, 8, [\"name\"])\n ]),\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(item.label), 1)\n ])\n ]),\n _: 2\n }, 1032, [\"content\"]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createVNode(_component_ui_icon, {\n name: item.icon\n }, null, 8, [\"name\"])\n ]),\n _createElementVNode(\"div\", _hoisted_8, _toDisplayString(item.label), 1)\n ]))\n ], 10, _hoisted_2))\n }), 128))\n ]))\n}","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, createTextVNode as _createTextVNode, Fragment as _Fragment, withCtx as _withCtx, renderList as _renderList, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9b5d5068\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"app-menu__header\" }\nconst _hoisted_2 = { class: \"app-menu__user-avatar\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"app-menu__user-info\"\n}\nconst _hoisted_4 = { class: \"app-menu__user-name\" }\nconst _hoisted_5 = { class: \"app-menu__user-link\" }\nconst _hoisted_6 = { class: \"app-menu__content\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ui_avatar = _resolveComponent(\"ui-avatar\")!\n const _component_ui_icon = _resolveComponent(\"ui-icon\")!\n const _component_ui_button = _resolveComponent(\"ui-button\")!\n const _component_ui_menu_item = _resolveComponent(\"ui-menu-item\")!\n const _component_ui_delimiter = _resolveComponent(\"ui-delimiter\")!\n const _component_ui_menu = _resolveComponent(\"ui-menu\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"app-menu\", _ctx.className])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"app-menu__user\",\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.goToProfile && _ctx.goToProfile(...args)))\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_ui_avatar, {\n src: _ctx.user?.avatar?.url,\n size: _ctx.avatarSize\n }, null, 8, [\"src\", \"size\"])\n ]),\n (!_ctx.collapse)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, _toDisplayString(_ctx.user?.full_name), 1),\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_ctx.t('links.go-to-profile')) + \" >\", 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(_component_ui_button, {\n size: \"small\",\n outlined: \"\",\n plain: \"\",\n onClick: _ctx.goToMyEvents\n }, {\n default: _withCtx(() => [\n (_ctx.collapse)\n ? (_openBlock(), _createBlock(_component_ui_icon, {\n key: 0,\n name: \"layout-list\"\n }))\n : _createCommentVNode(\"\", true),\n (!_ctx.collapse)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createTextVNode(_toDisplayString(_ctx.t('button-back.event-list')), 1)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_ui_menu, { collapse: _ctx.collapse }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.menuEntries, (entry, idx) => {\n return (_openBlock(), _createElementBlock(_Fragment, { key: idx }, [\n (entry.type === 'item')\n ? (_openBlock(), _createBlock(_component_ui_menu_item, {\n key: 0,\n icon: entry.icon,\n badge: entry.counter,\n active: _ctx.isActive(entry),\n title: _ctx.t(entry.label),\n onClick: ($event: any) => (_ctx.handleItemClick(entry))\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.t(entry.label)), 1)\n ]),\n _: 2\n }, 1032, [\"icon\", \"badge\", \"active\", \"title\", \"onClick\"]))\n : _createCommentVNode(\"\", true),\n (entry.type === 'delimiter')\n ? (_openBlock(), _createBlock(_component_ui_delimiter, { key: 1 }))\n : _createCommentVNode(\"\", true)\n ], 64))\n }), 128))\n ]),\n _: 1\n }, 8, [\"collapse\"]),\n (_ctx.canInstall)\n ? (_openBlock(), _createBlock(_component_ui_button, {\n key: 0,\n outlined: \"\",\n size: \"small\",\n title: _ctx.t('sidebar.install-app'),\n onClick: _ctx.installApp\n }, {\n default: _withCtx(() => [\n (_ctx.collapse)\n ? (_openBlock(), _createBlock(_component_ui_icon, {\n key: 0,\n name: \"download-bold\"\n }))\n : _createCommentVNode(\"\", true),\n (!_ctx.collapse)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createTextVNode(_toDisplayString(_ctx.t('sidebar.install-app')), 1)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"title\", \"onClick\"]))\n : _createCommentVNode(\"\", true)\n ])\n ], 2))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-09027e33\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"android-install\" }\nconst _hoisted_2 = { class: \"android-install__header\" }\nconst _hoisted_3 = { class: \"android-install__icon\" }\nconst _hoisted_4 = { class: \"android-install__title\" }\nconst _hoisted_5 = { class: \"android-install__description\" }\nconst _hoisted_6 = { class: \"android-install__content\" }\nconst _hoisted_7 = { class: \"android-install__step\" }\nconst _hoisted_8 = { class: \"android-install__delimiter\" }\nconst _hoisted_9 = { class: \"android-install__step\" }\nconst _hoisted_10 = { class: \"android-install__delimiter\" }\nconst _hoisted_11 = { class: \"android-install__step\" }\nconst _hoisted_12 = { class: \"android-install__delimiter\" }\nconst _hoisted_13 = { class: \"android-install__step\" }\n\nimport BgsOnlineIcon from '@/ui/assets/images/bgs-online-icon-bg.svg'\n import UiIcon from '@bgsonline/frontend-ui-kit/src/components/base/ui-icon.vue'\n\n const __default__ = {\n name: 'InstallInstructionAndroid',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n // Components\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_unref(BgsOnlineIcon))\n ]),\n _createElementVNode(\"h1\", _hoisted_4, _toDisplayString(_ctx.$t('installation.title')), 1),\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_ctx.$t('installation.android.description')), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('installation.android.step1')) + \" \", 1),\n _createVNode(UiIcon, {\n name: \"more-vertical\",\n size: \"l\"\n })\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(UiIcon, { name: \"arrow-bottom\" })\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createTextVNode(_toDisplayString(_ctx.$t('installation.android.step2')) + \" \", 1),\n _createVNode(UiIcon, {\n name: \"add-to-home\",\n size: \"l\"\n })\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(UiIcon, { name: \"arrow-bottom\" })\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('installation.android.step3')) + \" \", 1),\n _createVNode(UiIcon, { name: \"modal\" })\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createVNode(UiIcon, { name: \"arrow-bottom\" })\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('installation.android.step4')) + \" \", 1),\n _createVNode(UiIcon, { name: \"iphone\" })\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./InstallInstructionAndroid.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./InstallInstructionAndroid.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./InstallInstructionAndroid.vue?vue&type=style&index=0&id=09027e33&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-09027e33\"]])\n\nexport default __exports__","const isChrome = navigator.userAgent.match(/(?:chrome|crios)\\/(\\d+)/i) !== null\n// Chrome browser also includes the Safari browser’s user-agent\nconst isSafari = !isChrome && navigator.userAgent.indexOf('Safari') > -1\n\nexport function useBrowser() {\n return {\n isChrome,\n isSafari,\n }\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-d17a1852\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"ios-install\" }\nconst _hoisted_2 = { class: \"ios-install__header\" }\nconst _hoisted_3 = { class: \"ios-install__icon\" }\nconst _hoisted_4 = { class: \"ios-install__title\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"ios-install__description\"\n}\nconst _hoisted_6 = {\n key: 1,\n class: \"ios-install__description\"\n}\nconst _hoisted_7 = { class: \"ios-install__content\" }\nconst _hoisted_8 = { class: \"ios-install__step\" }\nconst _hoisted_9 = { class: \"ios-install__delimiter\" }\nconst _hoisted_10 = { class: \"ios-install__step\" }\nconst _hoisted_11 = { class: \"ios-install__delimiter\" }\nconst _hoisted_12 = { class: \"ios-install__step\" }\n\nimport copy from 'copy-to-clipboard'\n import { useI18n } from 'vue-i18n'\n import { useBrowser } from '@/ui/use/browser'\n import { useAppNotifications } from '@/ui/components/app/AppNotifications/app-notifications'\n\n // Components\n import BgsOnlineIcon from '@/ui/assets/images/bgs-online-icon-bg.svg'\n import UiIcon from '@bgsonline/frontend-ui-kit/src/components/base/ui-icon.vue'\n\n // Logic\n \n const __default__ = {\n name: 'InstallInstructionIos',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n const { isSafari } = useBrowser()\n const { addNotification } = useAppNotifications()\n const { t } = useI18n()\n\n function copyLink() {\n copy(location.href) &&\n addNotification(\n {\n type: 'success',\n icon: 'circle-checked',\n content: t('messages.copied'),\n },\n 2000\n )\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_unref(BgsOnlineIcon))\n ]),\n _createElementVNode(\"h1\", _hoisted_4, _toDisplayString(_ctx.$t('installation.title')), 1),\n (_unref(isSafari))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.$t('installation.ios.description')), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_6, _toDisplayString(_ctx.$t('installation.ios.safari_required')), 1))\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n (_unref(isSafari))\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('installation.ios.step1')) + \" \", 1),\n _createVNode(UiIcon, {\n name: \"share-ios\",\n size: \"l\"\n })\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createVNode(UiIcon, { name: \"arrow-bottom\" })\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createTextVNode(_toDisplayString(_ctx.$t('installation.ios.step2')) + \" \", 1),\n _createVNode(UiIcon, {\n name: \"plus-square\",\n size: \"l\"\n })\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createVNode(UiIcon, { name: \"arrow-bottom\" })\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createTextVNode(_toDisplayString(_ctx.$t('installation.ios.step3')) + \" \", 1),\n _createVNode(UiIcon, { name: \"iphone\" })\n ])\n ], 64))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"ios-install__copy\",\n onClick: copyLink\n }, [\n _createTextVNode(_toDisplayString(_ctx.$t('installation.copy_link')) + \" \", 1),\n _createVNode(UiIcon, { name: \"copy\" })\n ]))\n ])\n ]))\n}\n}\n\n})","import script from \"./InstallInstructionIos.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./InstallInstructionIos.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./InstallInstructionIos.vue?vue&type=style&index=0&id=d17a1852&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-d17a1852\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx } from \"vue\"\n\nimport { useDevice } from '@/ui/use/device'\n\n // Components\n import { UiWindow } from '@bgsonline/frontend-ui-kit/src/components/base/ui-modal'\n import InstallInstructionAndroid from './InstallInstructionAndroid.vue'\n import InstallInstructionIos from './InstallInstructionIos.vue'\n\n // Logic\n \n const __default__ = {\n name: 'PWAInstallInstruction',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n const { isAndroid, isIOS } = useDevice()\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(_unref(UiWindow), { class: \"app-install\" }, {\n default: _withCtx(() => [\n (_unref(isAndroid))\n ? (_openBlock(), _createBlock(InstallInstructionAndroid, { key: 0 }))\n : (_unref(isIOS))\n ? (_openBlock(), _createBlock(InstallInstructionIos, { key: 1 }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=d66efa04&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-d66efa04\"]])\n\nexport default __exports__","\n import { computed, ComputedRef, defineComponent, Ref, ref, watch } from 'vue'\n import { useRoute, useRouter } from 'vue-router'\n import { UiIcon as Icon } from '@bgsonline/frontend-ui-kit/src/types/ui-icon'\n\n import { useAuthenticate } from '@/application/authenticate'\n import { useEventContents } from '@/application/contents'\n import { useI18n } from 'vue-i18n'\n\n import InstallInstruction from '@/ui/components/app/AppModal/contents/InstallInstruction'\n import { UiMenu, UiMenuItem } from '@bgsonline/frontend-ui-kit/src/components/base/ui-menu'\n import UiDelimiter from '@bgsonline/frontend-ui-kit/src/components/base/ui-delimiter'\n import UiButton from '@bgsonline/frontend-ui-kit/src/components/base/ui-button'\n import UiIcon from '@bgsonline/frontend-ui-kit/src/components/base/ui-icon'\n import UiAvatar from '@bgsonline/frontend-ui-kit/src/components/base/ui-avatar.vue'\n\n import { usePWA } from '@/ui/use/pwa'\n import { useDevice } from '@/ui/use/device'\n import { useNotifications } from '@/application/notifications'\n import { useAppModal } from '@/ui/components/app/AppModal/app-modal'\n\n type MenuEntry = {\n type: 'item' | 'delimiter'\n label?: string\n action?: () => any\n icon?: Icon.Name | string\n counter?: number | Ref | ComputedRef | string\n path?: string | string[]\n id?: string\n }\n\n export default defineComponent({\n name: 'AppMenu',\n components: { UiMenu, UiMenuItem, UiDelimiter, UiButton, UiIcon, UiAvatar },\n props: {\n collapse: Boolean,\n },\n setup(props, { emit }) {\n const router = useRouter()\n const route = useRoute()\n const { user } = useAuthenticate()\n const { isAndroid, isIOS } = useDevice()\n const { eventRightMenuItems } = useEventContents()\n const { installEvent, PWAInstaller, isStandaloneMode } = usePWA()\n const { unreadNotificationsCount } = useNotifications()\n const { openModal } = useAppModal()\n const { t } = useI18n()\n const avatarSize = 48\n\n const className = computed(() => ({\n '--collapsed': props.collapse,\n }))\n\n const canInstall = computed(() => {\n return !isStandaloneMode && (isAndroid || isIOS || installEvent.value)\n })\n\n const defaultEntries: MenuEntry[] = [\n {\n type: 'item',\n label: 'event.participants',\n action: async () =>\n await router.push({\n name: 'Event',\n params: { eventId: route.params.eventId, path: 'participants-companies' },\n }),\n icon: 'user-circle',\n path: ['participants-companies', 'participants-delegates'],\n },\n {\n type: 'item',\n label: 'event.business-program',\n action: async () =>\n await router.push({ name: 'Event', params: { eventId: route.params.eventId, path: 'business-program' } }),\n icon: 'calendar-dates',\n path: 'business-program',\n },\n {\n type: 'item',\n label: 'event.exhibition',\n action: async () =>\n await router.push({ name: 'Event', params: { eventId: route.params.eventId, path: 'exhibition' } }),\n icon: 'info',\n path: ['exhibition', 'exhibitors-list'],\n },\n {\n type: 'item',\n label: 'event.sponsors',\n action: async () =>\n await router.push({\n name: 'Event',\n params: { eventId: route.params.eventId, path: 'sponsors' },\n }),\n icon: 'heart-handshake',\n path: ['sponsors', 'partners', 'media'],\n },\n {\n type: 'delimiter',\n },\n {\n type: 'item',\n label: 'event.live-feed',\n action: async () =>\n await router.push({\n name: 'Event',\n params: { eventId: route.params.eventId, path: 'live-feed' },\n }),\n icon: 'player-play',\n counter: computed(() => (unreadNotificationsCount.value > 99 ? '99+' : unreadNotificationsCount.value)),\n path: 'live-feed',\n },\n {\n type: 'item',\n label: 'event.business-cards',\n action: async () =>\n await router.push({\n name: 'Event',\n params: { eventId: route.params.eventId, path: 'business-cards' },\n }),\n icon: 'b-card',\n path: 'business-cards',\n },\n {\n type: 'item',\n label: 'event.favorites',\n action: async () =>\n await router.push({\n name: 'Event',\n params: { eventId: route.params.eventId, path: 'favorites' },\n }),\n icon: 'star',\n path: 'favorites',\n },\n {\n type: 'item',\n label: 'event.personal-manager',\n action: async () =>\n await router.push({\n name: 'Event',\n params: { eventId: route.params.eventId, path: 'personal-manager' },\n }),\n icon: 'user',\n path: 'personal-manager',\n },\n ]\n\n const menuEntries: Ref = ref(defaultEntries)\n\n // Watchers\n watch(\n eventRightMenuItems,\n (newVal) => {\n if (newVal && newVal.length) {\n const remoteEntries: MenuEntry[] = [{ type: 'delimiter' }]\n newVal.forEach((menu) => {\n const menuEntry: MenuEntry = {\n type: 'item',\n path: 'content',\n id: menu.content?.id,\n label: menu.title,\n icon: menu.meta?.icon || 'icecream',\n action: menu.content\n ? async () => {\n await router.push({\n name: 'Event',\n params: { eventId: route.params.eventId, path: 'content', id: menu.content?.id },\n })\n }\n : async () => {\n await router.push(menu.link || '/')\n },\n }\n remoteEntries.push(menuEntry)\n })\n menuEntries.value = [...defaultEntries, ...remoteEntries]\n }\n },\n {\n immediate: true,\n }\n )\n\n // Logic\n function handleItemClick(entry: MenuEntry) {\n if (entry.action) {\n emit('click:item')\n entry.action()\n }\n }\n\n function isActive(entry: MenuEntry) {\n if (!entry.path) {\n return false\n }\n\n const itemPaths = !Array.isArray(entry.path) ? [entry.path] : entry.path\n const routePaths = !Array.isArray(route.params.path) ? [route.params.path] : entry.path\n\n return itemPaths.some((path) => {\n if (!entry.id) {\n return routePaths.includes(path)\n }\n\n return routePaths.includes(path) && entry.id === route.params.id\n })\n }\n\n function toggleCollapse() {\n emit('update:collapse', !props.collapse)\n }\n\n async function goToProfile() {\n emit('click:item')\n await router.push({ name: 'Profile' })\n }\n\n async function goToMyEvents() {\n emit('click:item')\n await router.push({ name: 'MyEvents' })\n }\n\n async function installApp() {\n emit('click:item')\n if (installEvent.value) {\n PWAInstaller()\n } else {\n openModal(InstallInstruction)\n }\n }\n\n return {\n user,\n menuEntries,\n handleItemClick,\n goToProfile,\n goToMyEvents,\n installApp,\n isStandaloneMode,\n t,\n isActive,\n toggleCollapse,\n className,\n canInstall,\n avatarSize,\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=9b5d5068&scoped=true&ts=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=9b5d5068&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-9b5d5068\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport { useI18n } from 'vue-i18n'\n import { useAppModal } from '@/ui/components/app/AppModal/app-modal'\n\n // Components\n import AppMenu from '@/ui/components/app/AppMenu'\n import { UiWindow } from '@bgsonline/frontend-ui-kit/src/components/base/ui-modal'\n import UiButton from '@bgsonline/frontend-ui-kit/src/components/base/ui-button'\n\n // Logic\n \n const __default__ = {\n name: 'AppNavWindow',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n const { t } = useI18n()\n const { closeModal } = useAppModal()\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(_unref(UiWindow), null, {\n buttons: _withCtx(() => [\n _createVNode(_unref(UiButton), {\n size: \"small\",\n plain: \"\",\n onClick: _withModifiers(_unref(closeModal), [\"stop\"])\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(t)('buttons.close')), 1)\n ]),\n _: 1\n }, 8, [\"onClick\"])\n ]),\n default: _withCtx(() => [\n _createVNode(_unref(AppMenu), { \"onClick:item\": _unref(closeModal) }, null, 8, [\"onClick:item\"])\n ]),\n _: 1\n }))\n}\n}\n\n})","import script from \"./AppNavWindow.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppNavWindow.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n import { computed, ComputedRef, Ref } from 'vue'\n import { useRoute, useRouter } from 'vue-router'\n import { useI18n } from 'vue-i18n'\n import { useAppModal } from '@/ui/components/app/AppModal/app-modal'\n\n import { type UiIcon as UiIconType } from '@bgsonline/frontend-ui-kit/src/types'\n import { useNotifications } from '@/application/notifications'\n\n // components\n import UiIcon from '@bgsonline/frontend-ui-kit/src/components/base/ui-icon.vue'\n import UiBadge from '@bgsonline/frontend-ui-kit/src/components/base/ui-badge.vue'\n import AppNavWindow from '@/ui/components/app/AppModal/contents/AppNavWindow.vue'\n\n type QuickAccessMenuEntry = {\n icon: UiIconType.Name\n label: string\n action(): void\n counter?: number | Ref | ComputedRef\n isActive?: ComputedRef\n }\n\n export default {\n name: 'AppBottomMenu',\n components: { UiIcon, UiBadge },\n setup() {\n const { t } = useI18n()\n const router = useRouter()\n const route = useRoute()\n const { unreadNotificationsCount } = useNotifications()\n const { openModal } = useAppModal()\n\n const items: QuickAccessMenuEntry[] = [\n {\n icon: 'home',\n label: t('menu.main'),\n isActive: computed(() => !route.params.path || route.params.path === 'main'),\n action: () => changeRoute('main'),\n },\n {\n icon: 'user',\n label: t('menu.participants'),\n isActive: computed(\n () => route.params.path === 'participants-companies' || route.params.path === 'participants-delegates'\n ),\n action: () => changeRoute('participants-companies'),\n },\n {\n icon: 'qr-2',\n label: t('menu.business-card'),\n isActive: computed(() => route.params.path === 'business-cards'),\n action: () => changeRoute('business-cards'),\n },\n {\n icon: 'player-play',\n label: t('menu.live-feed'),\n counter: computed(() => (unreadNotificationsCount.value > 99 ? '99+' : unreadNotificationsCount.value)),\n isActive: computed(() => route.params.path === 'live-feed'),\n action: () => changeRoute('live-feed'),\n },\n {\n icon: 'more-horizontal',\n label: t('menu.menu'),\n action: openMenu,\n },\n ]\n\n function openMenu() {\n openModal(AppNavWindow)\n }\n\n function handleClick(menuItem: QuickAccessMenuEntry) {\n menuItem.action()\n }\n\n async function changeRoute(path: string) {\n await router.push({ name: 'Event', params: { eventId: route.params.eventId, path } })\n }\n\n return { items, handleClick }\n },\n }\n","import { render } from \"./index.vue?vue&type=template&id=5209d074&scoped=true&ts=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=5209d074&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5209d074\"]])\n\nexport default __exports__","import { ref } from 'vue'\n\nconst isSidebarCollapsed = ref(false)\n\nfunction expandSidebar() {\n isSidebarCollapsed.value = false\n}\n\nfunction collapseSidebar() {\n isSidebarCollapsed.value = true\n}\n\nfunction toggleSidebar() {\n isSidebarCollapsed.value = !isSidebarCollapsed.value\n}\n\nexport function useSidebar() {\n return {\n isSidebarCollapsed,\n expandSidebar,\n collapseSidebar,\n toggleSidebar,\n }\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0c021178\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"title\"]\n\nimport { computed, ref } from 'vue'\n import { useI18n } from 'vue-i18n'\n import { useSidebar } from '@/ui/use/sidebar'\n\n // Components\n import UiIcon from '@bgsonline/frontend-ui-kit/src/components/base/ui-icon'\n import AppMenu from '../AppMenu'\n\n \n const __default__ = {\n name: 'AppSidebar',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n const { t } = useI18n()\n const sidebar = ref(null)\n const { toggleSidebar, isSidebarCollapsed } = useSidebar()\n\n // Computed\n const className = computed(() => ({\n '--collapsed': isSidebarCollapsed.value,\n }))\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"aside\", {\n class: _normalizeClass([\"app-nav\", className.value]),\n ref_key: \"sidebar\",\n ref: sidebar\n }, [\n _createElementVNode(\"span\", {\n class: \"app-nav__collapse\",\n title: _unref(t)('buttons.collapse'),\n role: \"button\",\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_unref(toggleSidebar) && _unref(toggleSidebar)(...args)))\n }, [\n _createVNode(_unref(UiIcon), { name: \"menu\" }),\n (!_unref(isSidebarCollapsed))\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createTextVNode(_toDisplayString(_unref(t)('buttons.collapse')), 1)\n ], 64))\n : _createCommentVNode(\"\", true)\n ], 8, _hoisted_1),\n _createVNode(_unref(AppMenu), { collapse: _unref(isSidebarCollapsed) }, null, 8, [\"collapse\"])\n ], 2))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=0c021178&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0c021178\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, resolveDynamicComponent as _resolveDynamicComponent, normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4f1f67de\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"sub-layout\" }\nconst _hoisted_2 = { class: \"sub-layout__header\" }\nconst _hoisted_3 = { class: \"sub-layout__header-title\" }\nconst _hoisted_4 = { class: \"sub-layout__content\" }\n\nimport { watch } from 'vue'\n import { useRoute, useRouter } from 'vue-router'\n\n import { useSubLayout } from '@/ui/use/sub-layout'\n\n import UiIcon from '@bgsonline/frontend-ui-kit/src/components/base/ui-icon.vue'\n import UiText from '@bgsonline/frontend-ui-kit/src/components/base/ui-text'\n import UiButton from '@bgsonline/frontend-ui-kit/src/components/base/ui-button.vue'\n import AppHeaderTitle from '@/ui/components/app/AppHeader/AppHeaderTitle.vue'\n\n \n const __default__ = {\n name: 'SubLayout',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n const { closeSubLayout, subLayoutProps, dynamicComponentProps, dynamicComponent } = useSubLayout()\n const route = useRoute()\n const router = useRouter()\n // close sub layout when route is changed\n watch(route, () => {\n closeSubLayout()\n })\n async function goToHelpCenter() {\n await router.push({ name: 'Articles' })\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"sub-layout__header-back\", { link: !!_unref(subLayoutProps).backButtonText }])\n }, [\n _createVNode(UiButton, {\n icon: !_unref(subLayoutProps).backButtonText,\n plain: \"\",\n block: !!_unref(subLayoutProps).backButtonText,\n onClick: _unref(closeSubLayout)\n }, {\n default: _withCtx(() => [\n _createVNode(UiIcon, { name: \"chevron-left\" }),\n (_unref(subLayoutProps).backButtonText)\n ? (_openBlock(), _createBlock(_unref(UiText), {\n key: 0,\n type: \"description\",\n size: \"l\",\n class: \"sub-layout__header-back-text\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(subLayoutProps).backButtonText), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"icon\", \"block\", \"onClick\"])\n ], 2),\n _createElementVNode(\"div\", _hoisted_3, [\n (!_unref(subLayoutProps).hideAppTitle)\n ? (_openBlock(), _createBlock(AppHeaderTitle, { key: 0 }))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(UiButton, {\n plain: \"\",\n icon: \"\",\n onClick: goToHelpCenter\n }, {\n default: _withCtx(() => [\n _createVNode(UiIcon, { name: \"question-circle\" })\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n (_openBlock(), _createBlock(_resolveDynamicComponent(_unref(dynamicComponent)), _normalizeProps(_guardReactiveProps(_unref(dynamicComponentProps))), null, 16))\n ])\n ]))\n}\n}\n\n})","import script from \"./SubLayout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SubLayout.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./SubLayout.vue?vue&type=style&index=0&id=4f1f67de&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4f1f67de\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, withModifiers as _withModifiers, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-44785e99\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"app-fast-menu\" }\nconst _hoisted_2 = { class: \"app-fast-menu__item-label\" }\nconst _hoisted_3 = { class: \"app-fast-menu__item-button\" }\n\n\n import { useI18n } from 'vue-i18n'\n\n import { UiIcon as Icon } from '@bgsonline/frontend-ui-kit/src/types/ui-icon'\n\n import UiButton from '@bgsonline/frontend-ui-kit/src/components/base/ui-button.vue'\n import UiIcon from '@bgsonline/frontend-ui-kit/src/components/base/ui-icon.vue'\n import SharedBusinessCard from '@/ui/components/app/AppModal/contents/SharedBusinessCard.vue'\n\n import { useEventContext } from '@/application/event-context'\n import { useAppModal } from '@/ui/components/app/AppModal/app-modal'\n import { useCards } from '@/ui/use/business-cards'\n\n \n const __default__ = {\n name: 'AppFastAccessMenu',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n emits: ['click:item'],\n setup(__props, { emit }) {\n\n const { openModal } = useAppModal()\n const { t } = useI18n()\n const { participant } = useEventContext()\n const { addCardByScanner } = useCards()\n\n const menuItems: { label: string; icon: Icon.Name; action(): void }[] = [\n {\n label: t('app-fast-access.share-bc'),\n icon: 'share-ios',\n action: shareMyProfile,\n },\n {\n label: t('app-fast-access.scan-bc'),\n icon: 'qr',\n action: scanBC,\n },\n ]\n\n // Logic\n \n\n function shareMyProfile() {\n if (participant.value?.profile) {\n emit('click:item')\n openModal(SharedBusinessCard, {\n dynamicComponentProps: {\n profile: participant.value.profile,\n },\n })\n }\n }\n\n function scanBC() {\n emit('click:item')\n addCardByScanner(() => {})\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(menuItems, (item, idx) => {\n return _createElementVNode(\"div\", {\n key: idx,\n class: \"app-fast-menu__item\"\n }, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(item.label), 1),\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(UiButton, {\n fab: \"\",\n onClick: _withModifiers(($event: any) => (item.action()), [\"stop\"])\n }, {\n default: _withCtx(() => [\n _createVNode(UiIcon, {\n name: item.icon\n }, null, 8, [\"name\"])\n ]),\n _: 2\n }, 1032, [\"onClick\"])\n ])\n ])\n }), 64))\n ]))\n}\n}\n\n})","import script from \"./AppFastAccessMenu.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppFastAccessMenu.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AppFastAccessMenu.vue?vue&type=style&index=0&id=44785e99&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-44785e99\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, withCtx as _withCtx, createElementVNode as _createElementVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-47a4f4c9\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"onMouseenter\", \"onMouseleave\"]\nconst _hoisted_2 = { class: \"app-action-menu__button\" }\n\nimport { shallowRef, computed, watch } from 'vue'\n\n // Components\n import UiButton from '@bgsonline/frontend-ui-kit/src/components/base/ui-button.vue'\n import UiIcon from '@bgsonline/frontend-ui-kit/src/components/base/ui-icon.vue'\n import AppFastAccessMenu from '@/ui/components/app/AppFab/AppFastAccessMenu.vue'\n\n // Computed\n \n const __default__ = {\n name: 'AppFab',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n const className = computed(() => ({\n '--focused': focused.value,\n '--active': opened.value,\n }))\n\n // Logic\n const STATE_TIMEOUT = 1000\n const opened = shallowRef(false)\n const focused = shallowRef(false)\n const menu = shallowRef()\n\n const listenerOptions = {\n passive: true,\n capture: true,\n }\n\n let timerId: number\n\n function toggleMenu() {\n opened.value = !opened.value\n }\n\n function onMenuClick(event: MouseEvent) {\n if (focused.value) {\n toggleMenu()\n } else {\n focused.value = true\n }\n }\n\n function onTouchStart(event: TouchEvent) {\n timerId && clearTimeout(timerId)\n event.preventDefault()\n event.stopPropagation()\n\n toggleMenu()\n focused.value = true\n }\n\n function onTouchEnd(event: TouchEvent) {\n event.preventDefault()\n event.stopPropagation()\n\n if (!opened.value) {\n debounceFocused()\n }\n }\n\n function onMouseEnter(event: MouseEvent) {\n timerId && clearTimeout(timerId)\n focused.value = true\n }\n\n function onMouseLeave(event: MouseEvent) {\n if (!opened.value) {\n debounceFocused()\n }\n }\n\n function debounceFocused() {\n timerId = setTimeout(() => (focused.value = false), STATE_TIMEOUT)\n }\n\n function onClickOutside(event: MouseEvent | TouchEvent) {\n if (!isOutsideEvent(event)) {\n return\n }\n\n opened.value = false\n debounceFocused()\n }\n\n function onTouchOutside(event: TouchEvent) {\n if (!isOutsideEvent(event)) {\n return\n }\n\n opened.value = false\n debounceFocused()\n }\n\n function isOutsideEvent(event: MouseEvent | TouchEvent) {\n // @ts-expect-error event.target is node\n return !menu.value?.contains(event.target) && event.target !== menu.value\n }\n\n // // Watchers\n watch(opened, (value) => {\n if (value) {\n window.addEventListener('click', onClickOutside, listenerOptions)\n window.addEventListener('touchstart', onTouchOutside, listenerOptions)\n } else {\n window.removeEventListener('touchstart', onTouchOutside, listenerOptions)\n window.removeEventListener('click', onClickOutside, listenerOptions)\n }\n })\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"app-action-menu\", className.value]),\n onMouseenter: _withModifiers(onMouseEnter, [\"stop\"]),\n onMouseleave: _withModifiers(onMouseLeave, [\"stop\"]),\n ref_key: \"menu\",\n ref: menu\n }, [\n _createVNode(AppFastAccessMenu, { \"onClick:item\": toggleMenu }),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(UiButton, {\n fab: \"\",\n onMousedown: onMenuClick,\n onTouchstart: onTouchStart,\n onTouchend: onTouchEnd\n }, {\n default: _withCtx(() => [\n _createVNode(UiIcon, { name: \"b-card\" })\n ]),\n _: 1\n })\n ])\n ], 42, _hoisted_1))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=47a4f4c9&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-47a4f4c9\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, Teleport as _Teleport, createBlock as _createBlock, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1c99f805\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"mobile\"\n}\nconst _hoisted_2 = {\n key: 1,\n class: \"mobile\"\n}\nconst _hoisted_3 = { class: \"mobile__main\" }\nconst _hoisted_4 = { class: \"mobile__top-panel\" }\nconst _hoisted_5 = {\n class: \"mobile__content\",\n id: \"contentElement\"\n}\nconst _hoisted_6 = { class: \"mobile__content-wrapper\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"mobile__bottom-panel\"\n}\nconst _hoisted_8 = { class: \"mobile__bottom-upper\" }\nconst _hoisted_9 = { class: \"mobile__bottom-notifications\" }\nconst _hoisted_10 = { class: \"mobile__bottom-content\" }\n\nimport { computed } from 'vue'\n import { useRoute } from 'vue-router'\n import { useSubLayout } from '@/ui/use/sub-layout'\n import { useAppModal } from '@/ui/components/app/AppModal/app-modal'\n\n // Components\n import AppBottomMenu from '@/ui/components/app/AppBottomMenu/index.vue'\n import AppHeader from '@/ui/components/app/AppHeader/AppHeader.vue'\n import AppSidebar from '@/ui/components/app/AppSidebar/index.vue'\n import SubLayout from '@/ui/layouts/SubLayout.vue'\n import AppFab from '@/ui/components/app/AppFab/index.vue'\n import WsNotifications from '@/ui/components/app/AppNotifications/WsNotifications.vue'\n import StatusNotifications from '@/ui/components/app/AppNotifications/StatusNotifications.vue'\n\n \n const __default__ = {\n name: 'EventLayout',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n setup(__props) {\n\n const route = useRoute()\n\n const mainMenuForbiddenPages = ['add-vip-meeting']\n const { isVisible: isSubLayoutVisible } = useSubLayout()\n const { visible } = useAppModal()\n\n // Computed\n const mainMenuAvailable = computed(() => !mainMenuForbiddenPages.some((item) => route.path.includes(item)))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_unref(isSubLayoutVisible))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(SubLayout)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createVNode(AppSidebar, { class: \"mobile__side\" }),\n _createElementVNode(\"main\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(AppHeader, { \"show-user\": false }),\n (_openBlock(), _createBlock(_Teleport, {\n disabled: !_unref(visible),\n to: \"body\"\n }, [\n _createVNode(StatusNotifications, { class: \"mobile__status-notifications\" })\n ], 8, [\"disabled\"]))\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_router_view)\n ])\n ]),\n (mainMenuAvailable.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n (_openBlock(), _createBlock(_Teleport, {\n disabled: !_unref(visible),\n to: \"body\"\n }, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createVNode(WsNotifications, { class: \"mobile__ws-notifications\" })\n ])\n ], 8, [\"disabled\"]))\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(AppBottomMenu)\n ]),\n _createVNode(AppFab)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./EventLayout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./EventLayout.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./EventLayout.vue?vue&type=style&index=0&id=1c99f805&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1c99f805\"]])\n\nexport default __exports__","import { RouteRecordRaw } from 'vue-router'\n\nimport EventLayout from '@/ui/layouts/EventLayout.vue'\nimport auth from '@/ui/router/middleware/auth'\nimport agreementApproved from '@/ui/router/middleware/agreement-approved'\nimport profileAccepted from '@/ui/router/middleware/profile-accepted'\n\nimport { uuidRegex } from '@/lib/regExpressions'\n\nconst eventRoutes: RouteRecordRaw[] = [\n {\n // eventId: uuid, required\n // path: string, optional\n // id: uuid, optional\n path: `/:eventId(${uuidRegex})/:path?/:id(${uuidRegex})?`,\n name: 'Event',\n meta: { layout: EventLayout },\n component: () => {\n return import('@/ui/pages/event.vue')\n },\n beforeEnter: [auth, profileAccepted, agreementApproved],\n props: true,\n },\n {\n path: `/:eventId(${uuidRegex})/:path(business-program)/:sessionId(${uuidRegex})`,\n name: 'SessionDetails',\n component: () => import('@/ui/pages/my-events/program/[session].vue'),\n meta: { layout: EventLayout },\n props: true,\n beforeEnter: [auth, profileAccepted, agreementApproved],\n },\n {\n path: `/:eventId(${uuidRegex})/:path(business-program)/:sessionId(${uuidRegex})/topic/:topicId(${uuidRegex})`,\n name: 'TopicDetails',\n component: () => import('@/ui/pages/my-events/program/topic/[topic].vue'),\n meta: { layout: EventLayout },\n props: true,\n beforeEnter: [auth, profileAccepted, agreementApproved],\n },\n]\n\nexport default eventRoutes\n","import { RouteRecordRaw } from 'vue-router'\n\nimport { uuidRegex } from '@/lib/regExpressions'\n\nimport MainLayout from '@/ui/layouts/MainLayout.vue'\nimport EmptyLayout from '@/ui/layouts/EmptyLayout.vue'\n\nimport auth from '@/ui/router/middleware/auth'\nimport agreementApproved from '@/ui/router/middleware/agreement-approved'\nimport profileAccepted from '@/ui/router/middleware/profile-accepted'\n\nconst profileRoutes: RouteRecordRaw[] = [\n {\n path: '/profile',\n name: 'Profile',\n component: () => import('@/ui/pages/profile/index.vue'),\n meta: { layout: MainLayout },\n beforeEnter: [auth, profileAccepted, agreementApproved],\n },\n {\n path: '/profile/edit',\n name: 'ProfileEdit',\n component: () => import('@/ui/pages/profile/edit-profile.vue'),\n meta: { layout: MainLayout },\n beforeEnter: [auth, profileAccepted, agreementApproved],\n },\n {\n path: `/profile/companies/:companyId(${uuidRegex})/show`,\n name: 'ProfileCompanyShow',\n component: () => import('@/ui/pages/profile/companies/[companyId].show.vue'),\n meta: { layout: MainLayout },\n props: true,\n beforeEnter: [auth, profileAccepted, agreementApproved],\n },\n {\n path: `/profile/companies/:companyId(${uuidRegex})/edit`,\n name: 'ProfileCompanyEdit',\n component: () => import('@/ui/pages/profile/companies/[companyId].edit.vue'),\n meta: { layout: MainLayout },\n props: true,\n beforeEnter: [auth, profileAccepted, agreementApproved],\n },\n {\n path: '/add-business-card',\n name: 'AddBusinessCard',\n component: () => import('@/ui/pages/add-card-by-link.vue'),\n meta: { layout: EmptyLayout },\n beforeEnter: [auth, profileAccepted, agreementApproved],\n },\n]\n\nexport default profileRoutes\n","import { RouteRecordRaw } from 'vue-router'\n\nimport EmptyLayout from '@/ui/layouts/EmptyLayout.vue'\nimport auth from '@/ui/router/middleware/auth'\nimport agreementApproved from '@/ui/router/middleware/agreement-approved'\nimport profileAccepted from '@/ui/router/middleware/profile-accepted'\n\nconst welcome: RouteRecordRaw[] = [\n {\n path: '/welcome',\n name: 'Welcome',\n meta: { layout: EmptyLayout },\n component: () => import('@/ui/pages/welcome/index.vue'),\n beforeEnter: [auth, profileAccepted, agreementApproved],\n },\n {\n path: '/agreements',\n name: 'Agreements',\n meta: { layout: EmptyLayout },\n component: () => import('@/ui/pages/welcome/agreements/index.vue'),\n beforeEnter: [auth, agreementApproved],\n },\n]\nexport default welcome\n","import { RouteRecordRaw } from 'vue-router'\n\nimport authRoutes from '@/ui/router/routes/auth'\nimport myEvents from '@/ui/router/routes/myEvents'\nimport eventRoutes from '@/ui/router/routes/event'\nimport profileRoutes from '@/ui/router/routes/profile'\nimport welcome from '@/ui/router/routes/welcome'\nimport MainLayout from '@/ui/layouts/MainLayout.vue'\nimport { uuidRegex } from '@/lib/regExpressions'\n\nconst routes: RouteRecordRaw[] = [\n ...authRoutes,\n ...myEvents,\n ...eventRoutes,\n ...profileRoutes,\n ...welcome,\n {\n path: '/',\n name: 'Home',\n redirect: { name: 'MyEvents' },\n },\n {\n path: '/articles',\n name: 'Articles',\n meta: { layout: MainLayout },\n component: () => import('@/ui/pages/articles/index.vue'),\n },\n {\n path: `/articles/:articleId(${uuidRegex})`,\n name: 'Article',\n component: () => import('@/ui/pages/articles/[article].vue'),\n meta: { layout: MainLayout },\n props: true,\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'NotFound',\n redirect: { name: 'Home' },\n },\n]\nexport default routes\n","import { createRouter, createWebHistory } from 'vue-router'\nimport routes from '@/ui/router/routes'\n\nconst router = createRouter({\n history: createWebHistory(),\n routes,\n scrollBehavior(to, from, savedPosition) {\n // always scroll to top\n return { top: 0 }\n },\n})\n\nrouter.beforeEach((to, from, next) => {\n const title = to.meta.title || process.env.VUE_APP_TITLE || 'Event app'\n if (title) {\n // @ts-ignore\n document.title = title\n }\n next()\n})\nexport default router\n","import { VueGtmUseOptions } from '@gtm-support/vue-gtm'\nimport router from '../router'\n\nexport default {\n id: process.env.VUE_APP_GTM_ID, // Your GTM single container ID, array of container ids ['GTM-xxxxxx', 'GTM-yyyyyy'] or array of objects [{id: 'GTM-xxxxxx', queryParams: { gtm_auth: 'abc123', gtm_preview: 'env-4', gtm_cookies_win: 'x'}}, {id: 'GTM-yyyyyy', queryParams: {gtm_auth: 'abc234', gtm_preview: 'env-5', gtm_cookies_win: 'x'}}], // Your GTM single container ID or array of container ids ['GTM-xxxxxx', 'GTM-yyyyyy']\n // queryParams: {\n // Add URL query string when loading gtm.js with GTM ID (required when using custom environments)\n // gtm_auth: 'AB7cDEf3GHIjkl-MnOP8qr',\n // gtm_preview: 'env-4',\n // gtm_cookies_win: 'x',\n // },\n defer: false, // Script can be set to `defer` to speed up page load at the cost of less accurate results (in case visitor leaves before script is loaded, which is unlikely but possible). Defaults to false, so the script is loaded `async` by default\n compatibility: false, // Will add `async` and `defer` to the script tag to not block requests for old browsers that do not support `async`\n nonce: 'lw68noip6b', // Will add `nonce` to the script tag\n enabled: process.env.NODE_ENV === 'production', // defaults to true. Plugin can be disabled by setting this to false for Ex: enabled: !!GDPR_Cookie (optional)\n debug: process.env.NODE_ENV !== 'production', // Whether or not display console logs debugs (optional)\n loadScript: true, // Whether or not to load the GTM Script (Helpful if you are including GTM manually, but need the dataLayer functionality in your components) (optional)\n vueRouter: router, // Pass the router instance to automatically sync with router (optional)\n // ignoredViews: ['homepage'], // Don't trigger events for specified router names (optional)\n trackOnNextTick: false, // Whether or not call trackView in Vue.nextTick\n} as VueGtmUseOptions\n","import { createApp } from 'vue'\nimport { createGtm } from '@gtm-support/vue-gtm'\n\nimport './ui/assets/css/index.styl'\nimport './registerServiceWorker'\n\nimport { getHttpClient } from '@/services/http'\nimport { useAuth } from '@/services/auth'\n\nimport App from './ui/App.vue'\nimport AppLoader from '@/ui/LoaderApp.vue'\nimport router from './ui/router'\nimport i18n from '@/ui/localization'\nimport { useAuthenticate } from '@/application/authenticate'\nimport gtmConfig from './ui/analytics/gtm'\n\nconst loaderApp = createApp(AppLoader)\nloaderApp.mount('#app')\nconst { initAuth } = useAuth()\nconst { fetchUser } = useAuthenticate()\n\n// apply environments variables\nif (process.env.VUE_APP_API_URL) {\n getHttpClient().setBaseUrl(process.env.VUE_APP_API_URL)\n} else {\n console.error('Api url is not defined in .env !')\n}\n\ninitAuth()\nfetchUser().then(() => {\n loaderApp.unmount()\n createApp(App).use(router).use(i18n).use(createGtm(gtmConfig)).mount('#app')\n})\n","export default ['&id'].join(', ')\n","export default ['&id', 'participant_id'].join(', ')\n","export default ['&id'].join(', ')\n","export default ['&id', 'event_id'].join(', ')\n","export default ['&id', 'event_id'].join(', ')\n","export default ['&id', 'registration.event_id', 'registration.company_id'].join(', ')\n","export default ['&id', 'user_service_company_id'].join(', ')\n","export default ['&id', 'name', 'resource_type', 'type'].join(', ')\n","export default ['&id', 'event_id'].join(', ')\n","export default ['&id'].join(', ')\n","export default ['&id', 'resource_id', 'resource_type', 'contact_group_id'].join(', ')\n","export default ['&id', 'event_id', '*tags.name'].join(', ')\n","export default ['&id'].join(', ')\n","export default [\n '&id',\n 'code',\n 'body',\n 'type',\n 'created_by',\n 'sender_id',\n 'sent_at',\n 'abandoned_at',\n 'is_reactionable',\n 'created_at',\n 'updated_at',\n].join(', ')\n","export default ['&id', 'registration.event_id', 'registration.company_id'].join(', ')\n","export default ['&id', 'event_id'].join(', ')\n","export default ['&id', 'title'].join(', ')\n","export default ['&id', 'event_id', 'type_id'].join(', ')\n","export default ['&id', 'event_id', 'registration_owner_id', 'status'].join(', ')\n","export default ['&id', 'session_id'].join(', ')\n","export default ['&id'].join(', ')\n","import Dexie from 'dexie'\n\nimport { Company, Me } from '@bgsonline/frontend-types/api/user-service'\nimport { MyEvent, IEvent, Participant, Company as EventCompany } from '@bgsonline/frontend-types/api/event-service'\nimport { Session, Timeline, Topic } from '@bgsonline/frontend-types/api/program-service'\nimport { Contact, ContactGroup } from '@bgsonline/frontend-types/api/contact-service'\nimport { Article, Content, Menu } from '@bgsonline/frontend-types/api/static-service/public'\nimport { Notification } from '@bgsonline/frontend-types/api/notification-service'\nimport { CalendarEvent, EventType } from '@bgsonline/frontend-types/api/calendar-service'\nimport { Meeting } from '@bgsonline/frontend-types/api/event-service/admin'\nimport { EventStand } from '@/domain/event-stand'\nimport { EventFavorite } from '@/domain/event-favorite'\n\nimport users from '@/services/db/tables/users'\nimport userEvents from '@/services/db/tables/userEvents'\nimport publicEvents from '@/services/db/tables/publicEvents'\nimport timelines from '@/services/db/tables/timelines'\nimport sessions from '@/services/db/tables/sessions'\nimport participants from '@/services/db/tables/participants'\nimport eventCompanies from '@/services/db/tables/eventCompanies'\nimport contactGroups from '@/services/db/tables/contactGroups'\nimport stands from '@/services/db/tables/stands'\nimport companies from '@/services/db/tables/companies'\nimport contacts from '@/services/db/tables/contacts'\nimport menus from '@/services/db/tables/menus'\nimport contents from '@/services/db/tables/contents'\nimport notifications from '@/services/db/tables/notifications'\nimport myParticipants from '@/services/db/tables/my-participants'\nimport favorites from '@/services/db/tables/favorites'\nimport calendarEventTypes from '@/services/db/tables/calendarEventTypes'\nimport calendarEvents from '@/services/db/tables/calendarEvents'\nimport eventMeetings from '@/services/db/tables/eventMeetings'\nimport topics from '@/services/db/tables/topics'\nimport articles from '@/services/db/tables/articles'\n\nclass DB extends Dexie {\n userEvents!: Dexie.Table\n publicEvents!: Dexie.Table\n users!: Dexie.Table\n timelines!: Dexie.Table\n sessions!: Dexie.Table\n participants!: Dexie.Table\n eventCompanies!: Dexie.Table\n contactGroups!: Dexie.Table\n stands!: Dexie.Table\n companies!: Dexie.Table\n contacts!: Dexie.Table\n menus!: Dexie.Table\n contents!: Dexie.Table\n notifications!: Dexie.Table\n myParticipants!: Dexie.Table\n favorites!: Dexie.Table\n calendarEventTypes!: Dexie.Table\n calendarEvents!: Dexie.Table\n eventMeetings!: Dexie.Table\n topics!: Dexie.Table\n articles!: Dexie.Table\n\n constructor() {\n super('DB')\n // do not forget change version number after schema changes\n this.version(10).stores({\n userEvents,\n publicEvents,\n users,\n timelines,\n sessions,\n participants,\n eventCompanies,\n contactGroups,\n stands,\n companies,\n contacts,\n menus,\n contents,\n notifications,\n myParticipants,\n favorites,\n calendarEventTypes,\n calendarEvents,\n eventMeetings,\n topics,\n articles,\n })\n }\n}\n\nconst db = new DB()\n\nexport function useDB() {\n return db\n}\n","import { Favorite } from '@bgsonline/frontend-types/api/event-service'\n\nexport interface EventFavorite extends Favorite {\n event_id: string\n}\nexport function createEventFavorite(favorite: Favorite, eventId: string): EventFavorite {\n return { ...favorite, event_id: eventId }\n}\n","import { CompanyIndexRequest, Favorite, FavoriteType, IEvent } from '@bgsonline/frontend-types/api/event-service'\nimport {\n MeetingFilterQuery,\n MeetingCreateRequest,\n MeetingUpdateRequest,\n} from '@bgsonline/frontend-types/api/event-service/admin'\n\nimport { useAdminEventService, useEventService } from '@/services/api'\nimport { EventRepository, ParticipantsFilter } from '@/application/app-types'\nimport { useDB } from '@/services/db'\n\nimport publicEvents from '@/fake-data/events.json'\nimport { createEventFavorite, EventFavorite } from '@/domain/event-favorite'\nimport { RequestPage } from '@bgsonline/frontend-types/api'\n\nasync function getMyEvents() {\n const response = await useEventService().getMyEvents({ include: ['images', 'accesses'] })\n const events = response.data.data\n useDB().userEvents.bulkPut(events)\n return events\n}\n\nasync function getUserEventById(eventId: string) {\n const response = await useEventService().getMyEvents({\n filter: {\n id: eventId,\n },\n include: ['images', 'accesses'],\n })\n const event = response.data.data[0]\n if (event) {\n useDB().userEvents.put(event)\n }\n return event\n}\n\nasync function getEvents() {\n //todo replace fake data with server response\n //@ts-ignore\n const events = publicEvents.data as IEvent[]\n useDB().publicEvents.bulkPut(events)\n return events\n}\n\nasync function getEventById(eventId: string) {\n const response = await useEventService().getEvent(eventId)\n const event = response.data.data\n if (event) {\n useDB().publicEvents.put(event)\n }\n return event\n}\n\nasync function getEventParticipants(filter: ParticipantsFilter, participantId: string, page?: RequestPage) {\n const response = await useEventService().getParticipants({\n filter,\n page,\n include: [\n 'profile.avatar',\n 'registration.manager',\n 'profile.companies.logo',\n 'profile.companies.contacts',\n 'profile.contacts',\n 'check_ins',\n ],\n headers: {\n 'x-participant-id': participantId,\n },\n })\n const participants = response.data.data\n const meta = response.data.meta\n if (participants && participants.length) {\n useDB().participants.bulkPut(participants)\n }\n\n return { participants, meta }\n}\n\nasync function getMyParticipant(participantId: string) {\n const response = await useEventService().getMe({\n include: [\n 'profile.avatar',\n 'registration.manager',\n 'profile.companies.logo',\n 'profile.companies.contacts',\n 'profile.contacts',\n ],\n })\n const participant = response.data.data\n if (participant) {\n useDB().myParticipants.put(participant)\n }\n return participant\n}\n\nasync function getParticipant(id: string, participantId: string) {\n const response = await useEventService().getParticipant(id, {\n include: [\n 'profile.avatar',\n 'registration.manager',\n 'profile.companies.logo',\n 'profile.companies.contacts',\n 'profile.contacts',\n 'check_ins',\n ],\n headers: {\n 'x-participant-id': participantId,\n },\n })\n const participant = response.data.data\n if (participant) {\n useDB().participants.put(participant)\n }\n return participant\n}\n\nasync function getEventCompanies({ filter, sort }: CompanyIndexRequest, participantId: string, page?: RequestPage) {\n const response = await useEventService().getCompanies({\n filter,\n sort,\n page,\n include: [\n 'logo',\n 'contacts',\n 'registrations.manager',\n 'registrations.participants.profile.companies',\n 'registrations.participants.profile.avatar',\n 'formats',\n 'formats.group',\n ],\n headers: {\n 'x-participant-id': participantId,\n },\n })\n const companies = response.data.data\n const meta = response.data.meta\n if (companies && companies.length) {\n useDB().eventCompanies.bulkPut(companies)\n }\n return { companies, meta }\n}\n\nasync function getCompany(companyId: string, participantId: string) {\n const response = await useEventService().getCompany(companyId, {\n include: [\n 'logo',\n 'contacts',\n 'registrations.manager',\n 'registrations.participants.profile.companies',\n 'registrations.participants.profile.avatar',\n 'formats',\n ],\n headers: {\n 'x-participant-id': participantId,\n },\n })\n\n const company = response.data.data\n if (company) {\n useDB().eventCompanies.put(company)\n }\n return company\n}\n\nasync function getEventFavorites(eventId: string) {\n let pageNumber = 1\n let pageCount = 1\n let favorites: Favorite[] = []\n\n do {\n const response = await useEventService().getFavorites({\n page: { number: pageNumber },\n })\n\n pageCount = response.data.meta?.pages_count || 1\n pageNumber++\n\n favorites = favorites.concat(response.data.data)\n } while (pageNumber <= pageCount)\n\n const eventFavorites: EventFavorite[] = favorites.map((favorite) => createEventFavorite(favorite, eventId))\n useDB().favorites.bulkPut(eventFavorites)\n return eventFavorites\n}\n\nasync function addToFavorite(contextId: string, contextType: FavoriteType, eventId: string) {\n const response = await useEventService().createFavorite({ context_id: contextId, context_type: contextType })\n const favorite = createEventFavorite(response.data.data, eventId)\n useDB().favorites.put(favorite)\n return favorite\n}\n\nasync function removeFromFavorite(favoriteId: string) {\n await useEventService().deleteFavorite(favoriteId)\n useDB().favorites.delete(favoriteId)\n}\n\nasync function getMeetings(filter: MeetingFilterQuery) {\n const response = await useAdminEventService().getMeetings({\n filter,\n include: [\n 'participants.profile.companies',\n 'participants',\n 'participants.profile.avatar',\n 'participants.registration.company.logo',\n 'comments',\n 'participants.registration',\n 'registrations',\n ],\n sort: '-created_at',\n // fixme: if language is different from `en`, server return corrupted response\n headers: {\n 'accept-language': 'en-En',\n },\n })\n useDB().eventMeetings.bulkPut(response.data.data)\n return response.data.data\n}\n\nasync function deleteMeeting(meetingId: string) {\n await useAdminEventService().deleteMeeting(meetingId)\n useDB().eventMeetings.delete(meetingId)\n}\n\nasync function createMeeting(payload: MeetingCreateRequest) {\n const response = await useAdminEventService().createMeeting(payload)\n if (response.data.data) {\n useDB().eventMeetings.put(response.data.data)\n }\n return response.data.data\n}\n\nasync function updateMeeting(meetingId: string, payload: MeetingUpdateRequest) {\n const response = await useAdminEventService().updateMeeting(meetingId, payload)\n if (response.data.data) {\n useDB().eventMeetings.put(response.data.data)\n }\n return response.data.data\n}\n\nasync function getMeeting(meetingId: string) {\n const response = await useAdminEventService().getMeeting(meetingId, {\n include: [\n 'participants.profile.companies',\n 'participants',\n 'participants.profile.avatar',\n 'participants.registration.company.logo',\n 'comments',\n 'participants.registration',\n 'registrations',\n ],\n // fixme: if language is different from `en`, server return corrupted response\n headers: {\n 'accept-language': 'en-En',\n },\n })\n useDB().eventMeetings.put(response.data.data)\n return response.data.data\n}\n\nexport default function (): EventRepository {\n return {\n getMyEvents,\n getUserEventById,\n getEventById,\n getEvents,\n getEventParticipants,\n getMyParticipant,\n getParticipant,\n getEventCompanies,\n getCompany,\n getEventFavorites,\n addToFavorite,\n removeFromFavorite,\n getMeetings,\n createMeeting,\n deleteMeeting,\n updateMeeting,\n getMeeting,\n }\n}\n","import { useDB } from '@/services/db'\nimport { EventRepository, ParticipantsFilter } from '@/application/app-types'\nimport { CompanyIndexRequest, FavoriteType } from '@bgsonline/frontend-types/api/event-service'\nimport {\n MeetingCreateRequest,\n MeetingFilterQuery,\n MeetingUpdateRequest,\n} from '@bgsonline/frontend-types/api/event-service/admin'\nimport { RequestPage } from '@bgsonline/frontend-types/api'\n\ninterface ParticipantsQuery {\n 'registration.event_id'?: string\n 'registration.company_id'?: string\n}\n\nasync function getMyEvents() {\n return useDB().userEvents.toArray()\n}\n\nasync function getUserEventById(eventId: string) {\n return useDB().userEvents.get(eventId)\n}\n\nasync function getEvents() {\n return useDB().publicEvents.toArray()\n}\n\nasync function getEventById(eventId: string) {\n return useDB().publicEvents.get(eventId)\n}\n\nasync function getEventParticipants(filter: ParticipantsFilter, participantId: string, page?: RequestPage) {\n const eventId =\n filter.registration_event_id || (await useDB().userEvents.where({ participant_id: participantId }).first())?.id\n if (eventId) {\n const participantIds = getIdsFromFilter(filter.id)\n const companyId = filter.registration_company_id\n const params: ParticipantsQuery = Object.assign(\n {},\n { 'registration.event_id': eventId },\n companyId ? { 'registration.company_id': companyId } : {}\n )\n const collection = useDB().participants.where(params)\n if (participantIds.length) {\n collection.filter((item) => participantIds.includes(item.id))\n }\n if (filter.q) {\n const text = filter.q.toLowerCase()\n collection.filter((item) =>\n includes(\n [\n item.profile?.name,\n item.profile?.last_name,\n item.profile?.description,\n item.profile?.companies?.[0]?.description,\n item.profile?.companies?.[0]?.title,\n item.profile?.companies?.[0]?.position,\n ],\n text\n )\n )\n }\n return { participants: await collection.toArray(), meta: undefined }\n }\n return { participants: [], meta: undefined }\n}\n\nasync function getParticipant(participantId: string) {\n return useDB().participants.get(participantId)\n}\n\nasync function getEventCompanies({ filter }: CompanyIndexRequest, participantId: string, page?: RequestPage) {\n const eventId = filter?.event_id || (await useDB().userEvents.where({ participant_id: participantId }).first())?.id\n if (eventId) {\n const companiesIds = getIdsFromFilter(filter?.id)\n const table = useDB().eventCompanies\n let collection: ReturnType\n if (filter?.user_service_company_id) {\n collection = useDB().eventCompanies.where({ user_service_company_id: filter.user_service_company_id })\n } else {\n collection = useDB().eventCompanies.toCollection()\n }\n if (filter?.registration_format_type) {\n collection.filter((item) =>\n (item.formats || []).some((format) => format.type === filter.registration_format_type)\n )\n }\n collection.filter((item) => item.registrations?.[0].event_id === eventId)\n if (companiesIds.length) {\n collection.filter((item) => companiesIds.includes(item.id))\n }\n if (filter?.q) {\n const text = filter.q.toLowerCase()\n collection.filter((item) => includes([item.title, item.description], text))\n }\n return { companies: await collection.toArray(), meta: undefined }\n }\n return { companies: [], meta: undefined }\n}\n\nasync function getCompany(companyId: string) {\n return useDB().eventCompanies.get(companyId)\n}\n\nfunction getMyParticipant(participantId: string) {\n return useDB().myParticipants.get(participantId)\n}\n\nfunction getEventFavorites(eventId: string) {\n return useDB().favorites.where({ event_id: eventId }).toArray()\n}\n\nasync function addToFavorite(contextId: string, contextType: FavoriteType, eventId: string) {\n // nothing to do offline\n}\n\nasync function removeFromFavorite(favoriteId: string) {\n // nothing to do offline\n}\n\nasync function getMeetings(filter: MeetingFilterQuery) {\n const { registration_owner_id } = filter\n return useDB().eventMeetings.where({ registration_owner_id }).toArray()\n}\n\nasync function deleteMeeting(meetingId: string) {\n // nothing to do offline\n}\n\nasync function createMeeting(payload: MeetingCreateRequest) {\n // nothing to do offline\n}\n\nasync function updateMeeting(meetingId: string, payload: MeetingUpdateRequest) {\n // nothing to do offline\n}\n\nasync function getMeeting(meetingId: string) {\n return useDB().eventMeetings.get(meetingId)\n}\n\nexport default function (): EventRepository {\n return {\n getMyEvents,\n getUserEventById,\n getEventById,\n getEvents,\n getEventParticipants,\n getMyParticipant,\n getParticipant,\n getEventCompanies,\n getCompany,\n getEventFavorites,\n //@ts-ignore\n addToFavorite,\n removeFromFavorite,\n getMeetings,\n getMeeting,\n //@ts-ignore\n createMeeting,\n //@ts-ignore\n updateMeeting,\n deleteMeeting,\n }\n}\n\nfunction includes(target: Array, text: string): boolean {\n return target.some((item) => !!item?.toLowerCase().includes(text))\n}\n\nfunction getIdsFromFilter(ids: string | string[] | undefined | null) {\n return !ids ? [] : Array.isArray(ids) ? ids : ids.replace(/\\s+/g, '').split(',')\n}\n","import { useDB } from '@/services/db'\nimport { useUserService } from '@/services/api'\n\nimport { UpdateCompanyPayload, UserRepository } from '@/application/app-types'\n\nasync function getMyUser() {\n const response = await useUserService().getMyUser()\n const user = response.data.data\n if (user) {\n useDB().users.put(user)\n }\n return user\n}\n\nasync function getCompanies() {\n const response = await useUserService().getCompanies({ include: ['logo'] })\n const companies = response.data.data\n if (companies.length) {\n useDB().companies.bulkPut(companies)\n }\n\n return companies\n}\n\nasync function updateCompany(companyId: string, payload: UpdateCompanyPayload) {\n const response = await useUserService().updateCompany(companyId, payload)\n const company = response.data.data\n const companyLastState = await useDB().companies.get(companyId)\n if (company && companyLastState) {\n const updatedCompany = Object.assign({}, companyLastState, company)\n useDB().companies.put(updatedCompany)\n }\n return company\n}\n\nasync function updateCompanyLogo(companyId: string, logo: File) {\n const response = await useUserService().setCompanyLogo(companyId, logo)\n const companyLastState = await useDB().companies.get(companyId)\n if (response.data.data && companyLastState) {\n const updatedCompany = Object.assign({}, companyLastState, { logo: response.data.data })\n useDB().companies.put(updatedCompany)\n }\n return response.data.data\n}\n\nexport default function (): UserRepository {\n return {\n getMyUser,\n getCompanies,\n updateCompanyLogo,\n updateCompany,\n }\n}\n","import { useDB } from '@/services/db'\n\nimport { UpdateCompanyPayload, UserRepository } from '@/application/app-types'\n\nasync function getMyUser(id: string) {\n return useDB().users.get(id)\n}\n\nasync function getCompanies() {\n return useDB().companies.toArray()\n}\n// eslint-disable-next-line\nasync function updateCompany(companyId: string, payload: UpdateCompanyPayload) {\n // todo what about update requests in offline mode\n //@ts-ignore\n return useDB().companies.get(companyId)\n}\n// eslint-disable-next-line\nasync function updateCompanyLogo(companyId: string, logo: File) {\n // todo what about update requests in offline mode\n const company = await useDB().companies.get(companyId)\n //@ts-ignore\n return company?.logo\n}\n\nexport default function (): UserRepository {\n return {\n getMyUser,\n getCompanies,\n updateCompanyLogo,\n updateCompany,\n }\n}\n","import { useProgramService } from '@/services/api'\nimport { useDB } from '@/services/db'\nimport { ProgramRepository } from '@/application/app-types'\nimport { SessionIndexRequest } from '@bgsonline/frontend-types/api/program-service'\nimport { TopicFilterQuery } from '@bgsonline/frontend-types/src/api/program-service/public/queries/topic'\n\nasync function getEventTimelines(eventId: string) {\n const response = await useProgramService().getProgram({\n filter: {\n event_id: eventId,\n },\n include: ['sessions.sponsors', 'sessions.topics', 'sessions.topics.speakers'],\n })\n const timelines = response.data.data\n useDB().timelines.bulkPut(timelines)\n return timelines\n}\n\nasync function getSession(sessionId: string) {\n const response = await useProgramService().getSession(sessionId, {\n include: ['topics', 'topics.speakers', 'sponsors', 'speakers'],\n })\n const session = response.data.data\n if (session) {\n useDB().sessions.put(session)\n }\n return session\n}\n\nasync function getSessions(filter: SessionIndexRequest['filter'] = {}) {\n const response = await useProgramService().getSessions({\n filter,\n include: ['topics', 'topics.speakers', 'sponsors', 'speakers'],\n })\n const sessions = response.data.data\n useDB().sessions.bulkPut(sessions)\n return sessions\n}\n\nasync function getTopics(filter: TopicFilterQuery) {\n const response = await useProgramService().getTopics({ filter, include: ['speakers'] })\n useDB().topics.bulkPut(response.data.data)\n return response.data.data\n}\n\nasync function getTopic(topicId: string) {\n const response = await useProgramService().getTopic(topicId, {\n include: ['speakers'],\n })\n const topic = response.data.data\n if (topic) {\n useDB().topics.put(topic)\n }\n return topic\n}\n\nexport default function (): ProgramRepository {\n return { getEventTimelines, getSession, getSessions, getTopics, getTopic }\n}\n","import { useDB } from '@/services/db'\nimport { ProgramRepository } from '@/application/app-types'\nimport { SessionIndexRequest, Topic } from '@bgsonline/frontend-types/api/program-service'\nimport { TopicFilterQuery } from '@bgsonline/frontend-types/src/api/program-service/public/queries/topic'\n\nasync function getEventTimelines(eventId: string) {\n return useDB().timelines.where({ event_id: eventId }).toArray()\n}\n\nasync function getSession(sessionId: string) {\n return useDB().sessions.get(sessionId)\n}\n\nasync function getSessions(filter: SessionIndexRequest['filter'] = {}) {\n const table = useDB().sessions\n let collection: ReturnType\n if (filter?.event_id) {\n collection = table.where({ event_id: filter.event_id })\n } else collection = table.toCollection()\n if (filter?.id) {\n if (filter.id.length) {\n collection.filter((item) => !!filter?.id?.includes(item.id))\n } else collection.filter((item) => item.id === filter.id)\n }\n return collection.toArray()\n}\n\nasync function getTopics(filter: TopicFilterQuery): Promise {\n const topics = await useDB().topics.toArray()\n return topics.filter((topic) => topic.speakers?.some((speaker) => filter.speaker_id?.includes(speaker.id)))\n}\n\nasync function getTopic(topicId: string) {\n return useDB().topics.get(topicId)\n}\n\nexport default function (): ProgramRepository {\n return { getEventTimelines, getSession, getSessions, getTopics, getTopic }\n}\n","import { ContactRepository } from '@/application/app-types'\nimport { useDB } from '@/services/db'\nimport { useContactService } from '@/services/api'\nimport { ContactCreateRequest, ContactUpdateRequest } from '@bgsonline/frontend-tools/types/api-data/contact-service'\n\nasync function getContactGroups() {\n const response = await useContactService().getContactGroups()\n const groups = response.data.data\n if (groups) {\n useDB().contactGroups.bulkPut(groups)\n }\n return groups\n}\n\nasync function deleteContact(contactId: string) {\n await useContactService().deleteContact(contactId)\n}\n\nasync function updateContact(contactId: string, payload: ContactUpdateRequest) {\n const response = await useContactService().updateContact(contactId, payload)\n if (response.data.data) {\n const contactLastState = useDB().contacts.get(contactId)\n if (contactLastState) {\n const updatedContact = Object.assign({}, contactLastState, response.data.data)\n useDB().contacts.put(updatedContact)\n }\n }\n return response.data.data\n}\n\nasync function getCompanyContacts(companyId: string) {\n const response = await useContactService().getCompanyContacts(companyId, 'group')\n if (response.data.data) {\n useDB().contacts.bulkPut(response.data.data)\n }\n return response.data.data\n}\n\nasync function getUserContacts(userId: string) {\n const response = await useContactService().getUserContacts(userId, 'group')\n if (response.data.data) {\n useDB().contacts.bulkPut(response.data.data)\n }\n return response.data.data\n}\n\nasync function createContact(payload: ContactCreateRequest) {\n const response = await useContactService().addContact(payload)\n if (response.data.data) {\n useDB().contacts.put(response.data.data)\n }\n return response.data.data\n}\n\nexport default function (): ContactRepository {\n return {\n getContactGroups,\n deleteContact,\n updateContact,\n getCompanyContacts,\n getUserContacts,\n createContact,\n }\n}\n","import { ContactRepository } from '@/application/app-types'\nimport { useDB } from '@/services/db'\nimport { ContactCreateRequest, ContactUpdateRequest } from '@bgsonline/frontend-tools/types/api-data/contact-service'\n\nasync function getContactGroups() {\n return useDB().contactGroups.toArray()\n}\n\nasync function deleteContact(contactId: string) {\n await useDB().contacts.delete(contactId)\n}\n\nasync function updateContact(contactId: string, payload: ContactUpdateRequest) {\n const contactLastState = await useDB().contacts.get(contactId)\n\n if (contactLastState) {\n const updatedContact = Object.assign({}, contactLastState, payload)\n useDB().contacts.put(updatedContact)\n }\n return contactLastState\n}\n\nasync function getCompanyContacts(companyId: string) {\n return useDB().contacts.where({ resource_id: companyId, resource_type: 'user-service.company' }).toArray()\n}\n\nasync function getUserContacts(userId: string) {\n return useDB().contacts.where({ resource_id: userId, resource_type: 'user-service.user' }).toArray()\n}\n// eslint-disable-next-line\nasync function createContact(payload: ContactCreateRequest) {\n // fix what needs to do\n}\n\nexport default function (): ContactRepository {\n return {\n getContactGroups,\n deleteContact,\n updateContact,\n getCompanyContacts,\n getUserContacts,\n //@ts-ignore\n createContact,\n }\n}\n","import { Stand } from '@bgsonline/frontend-types/api/stand-service'\nimport { StandFilterQuery } from '@bgsonline/frontend-types/src/api/stand-service/public/queries/stand'\n\nexport interface EventStand extends Stand {\n event_id: string\n}\n\nexport interface EventStandsFilterQuery extends StandFilterQuery {\n event_id: string\n}\n\nexport function createEventStand(stand: Stand, eventId: string): EventStand {\n return { ...stand, event_id: eventId }\n}\n","import { StandRepository } from '@/application/app-types'\nimport { useDB } from '@/services/db'\nimport { useStandService } from '@/services/api'\nimport { createEventStand, EventStandsFilterQuery } from '@/domain/event-stand'\n\nasync function getStands(filter: EventStandsFilterQuery) {\n const response = await useStandService().getStands({\n include: ['tags', 'contexts'],\n filter,\n })\n const stands = response.data.data.map((stand) => createEventStand(stand, filter.event_id))\n if (stands.length) {\n useDB().stands.bulkPut(stands)\n }\n return stands\n}\n\nasync function getStand(standId: string, eventId: string) {\n const response = await useStandService().getStand(standId, {\n include: ['tags', 'contexts'],\n })\n const stand = createEventStand(response.data.data, eventId)\n if (response.data.data) {\n useDB().stands.put(stand)\n }\n return stand\n}\n\nexport default function (): StandRepository {\n return {\n getStands,\n getStand,\n }\n}\n","import { StandRepository } from '@/application/app-types'\nimport { EventStandsFilterQuery } from '@/domain/event-stand'\nimport { useDB } from '@/services/db'\n\nasync function getStands(filter: EventStandsFilterQuery) {\n return useDB().stands.where({ event_id: filter.event_id }).toArray()\n}\n\nasync function getStand(standId: string) {\n return useDB().stands.get(standId)\n}\n\nexport default function (): StandRepository {\n return {\n getStands,\n getStand,\n }\n}\n","import { StaticRepository } from '@/application/app-types'\nimport { useDB } from '@/services/db'\nimport { useStaticService } from '@/services/api'\nimport { MenuTagType } from '@/domain/types'\n\nasync function getMenu(currentParticipantId: string, menuTag: MenuTagType) {\n const response = await useStaticService().getMenus({\n filter: {\n tag: menuTag,\n },\n include: ['content', 'tags'],\n headers: {\n 'x-participant-id': currentParticipantId,\n },\n })\n const menus = response.data.data\n\n menus.forEach((menu) => {\n useDB().menus.put(menu)\n if (menu.content) {\n useDB().contents.put(menu.content)\n }\n })\n return menus\n}\n\nasync function getContent(currentParticipantId: string, contentId: string) {\n const response = await useStaticService().getContent(contentId, {\n include: ['tags'],\n headers: {\n 'x-participant-id': currentParticipantId,\n },\n })\n useDB().contents.put(response.data.data)\n return response.data.data\n}\n\nasync function getArticles() {\n const response = await useStaticService().getArticles()\n useDB().articles.bulkPut(response.data.data)\n return response.data.data\n}\n\nasync function getArticle(id: string) {\n const response = await useStaticService().getArticle(id)\n useDB().articles.put(response.data.data)\n return response.data.data\n}\n\nexport default function (): StaticRepository {\n return {\n getMenu,\n getContent,\n getArticles,\n getArticle,\n }\n}\n","import { StaticRepository } from '@/application/app-types'\nimport { useDB } from '@/services/db'\nimport { MenuTagType } from '@/domain/types'\n\nasync function getMenu(participantId: string, menuTag: MenuTagType) {\n const event = await useDB().userEvents.get({ participant_id: participantId })\n if (event) {\n const eventMenus = await useDB().menus.where({ event_id: event.id }).toArray()\n return eventMenus.filter((menu) => menu.tags?.find((tag) => tag.name === menuTag))\n } else return []\n}\n\nasync function getContent(currentParticipantId: string, contentId: string) {\n return useDB().contents.get(contentId)\n}\n\nasync function getArticles() {\n return useDB().articles.toArray()\n}\n\nasync function getArticle(id: string) {\n return useDB().articles.get(id)\n}\n\nexport default function (): StaticRepository {\n return {\n getMenu,\n getContent,\n getArticles,\n getArticle,\n }\n}\n","import dayjs from 'dayjs'\nimport { MyEvent } from '@bgsonline/frontend-types/api/event-service'\n\nimport { useNotificationService } from '@/services/api'\nimport { useDB } from '@/services/db'\nimport { NotificationRepository } from '@/application/app-types'\n\nasync function getNotifications(event: MyEvent, currentParticipantId: string) {\n const response = await useNotificationService().getMyNotifications({\n /* filter: {\n created_at_after: dayjs(event.started_at).format('YYYY-MM-DD[T]HH:mm:ssZ'),\n // created_at_before: dayjs(event.finished_at).format('YYYY-MM-DD[T]HH:mm:ssZ'),\n },*/\n include: 'contexts',\n headers: {\n 'x-participant-id': currentParticipantId,\n },\n })\n const notifications = response.data.data\n useDB().notifications.bulkPut(notifications)\n return notifications\n}\n\nasync function getNotification(notificationId: string, currentParticipantId: string) {\n const response = await useNotificationService().getMyNotification(notificationId, {\n include: 'contexts',\n headers: {\n 'x-participant-id': currentParticipantId,\n },\n })\n if (response.data.data) {\n useDB().notifications.put(response.data.data)\n }\n return response.data.data\n}\n\nasync function readNotifications(notificationIds: string[]) {\n useNotificationService()\n .markNotificationsRead({ notification_id: notificationIds })\n .then(() => {\n const updatedNotifications = useDB().notifications.bulkGet(notificationIds)\n updatedNotifications.then((list) => {\n list.forEach((notification) => {\n if (notification && notification.read_at) {\n notification.read_at = dayjs().format('YYYY-MM-DD[T]HH:mm:ssZ')\n useDB().notifications.put(notification)\n }\n })\n })\n })\n}\n\nexport default function (): NotificationRepository {\n return { getNotifications, getNotification, readNotifications }\n}\n","import dayjs from 'dayjs'\n\nimport { MyEvent } from '@bgsonline/frontend-types/api/event-service'\nimport { useDB } from '@/services/db'\nimport { NotificationRepository } from '@/application/app-types'\n\nasync function getNotifications(event: MyEvent) {\n const notifications = await useDB().notifications.toArray()\n\n return notifications.filter(\n (notification) =>\n dayjs(notification.sent_at).isAfter(event.started_at) && dayjs(notification.sent_at).isBefore(event.finished_at)\n )\n}\n\nasync function getNotification(notificationId: string, currentParticipantId: string) {\n return useDB().notifications.get(notificationId)\n}\n\nasync function readNotifications(notificationIds: string[]) {\n //placeholder\n}\n\nexport default function (): NotificationRepository {\n return { getNotifications, getNotification, readNotifications }\n}\n","import onlineEventRepository from '@/repositories/online/event'\nimport offlineEventRepository from '@/repositories/offline/event'\nimport onlineUserRepository from '@/repositories/online/user'\nimport offlineUserRepository from '@/repositories/offline/user'\nimport onlineProgramRepository from '@/repositories/online/program'\nimport offlineProgramRepository from '@/repositories/offline/program'\nimport onlineContactRepository from '@/repositories/online/contact'\nimport offlineContactRepository from '@/repositories/offline/contact'\nimport onlineStandRepository from '@/repositories/online/stand'\nimport offlineStandRepository from '@/repositories/offline/stand'\nimport onlineStaticRepository from '@/repositories/online/static'\nimport offlineStaticRepository from '@/repositories/offline/static'\nimport onlineNotificationRepository from '@/repositories/online/notification'\nimport offlineNotificationRepository from '@/repositories/offline/notification'\nimport onlineCalendarRepository from '@/repositories/online/calendar'\nimport offlineCalendarRepository from '@/repositories/offline/calendar'\n\nimport {\n ContactRepository,\n EventRepository,\n ProgramRepository,\n StandRepository,\n UserRepository,\n StaticRepository,\n NotificationRepository,\n CalendarRepository,\n} from '@/application/app-types'\n\nexport function useEventRepository(isOnline: boolean): EventRepository {\n return isOnline ? onlineEventRepository() : offlineEventRepository()\n}\n\nexport function useUserRepository(isOnline: boolean): UserRepository {\n return isOnline ? onlineUserRepository() : offlineUserRepository()\n}\n\nexport function useProgramRepository(isOnline: boolean): ProgramRepository {\n return isOnline ? onlineProgramRepository() : offlineProgramRepository()\n}\n\nexport function useContactRepository(isOnline: boolean): ContactRepository {\n return isOnline ? onlineContactRepository() : offlineContactRepository()\n}\n\nexport function useStandRepository(isOnline: boolean): StandRepository {\n return isOnline ? onlineStandRepository() : offlineStandRepository()\n}\n\nexport function useStaticRepository(isOnline: boolean): StaticRepository {\n return isOnline ? onlineStaticRepository() : offlineStaticRepository()\n}\n\nexport function useNotificationRepository(isOnline: boolean): NotificationRepository {\n return isOnline ? onlineNotificationRepository() : offlineNotificationRepository()\n}\n\nexport function useCalendarRepository(isOnline: boolean): CalendarRepository {\n return isOnline ? onlineCalendarRepository() : offlineCalendarRepository()\n}\n","import {\n ProgramService,\n StandService,\n UserService,\n ContactService,\n EventService,\n StaticService,\n NotificationService,\n AdminEventService,\n CalendarService,\n} from '@bgsonline/frontend-api-services'\nimport { NotificationService as NotificationService2 } from '@bgsonline/frontend-api-services/src/api/public/notification-v2-service'\n\nimport { getHttpClient } from '@/services/http'\n\nconst userService = UserService(getHttpClient())\nconst standService = StandService(getHttpClient())\nconst eventService = EventService(getHttpClient())\nconst contactService = ContactService(getHttpClient())\nconst programService = ProgramService(getHttpClient())\nconst staticService = StaticService(getHttpClient())\nconst notificationService = NotificationService(getHttpClient())\nconst calendarService = CalendarService(getHttpClient())\nconst eventAdminService = AdminEventService(getHttpClient())\nconst notificationService2 = NotificationService2(getHttpClient())\n\nexport function useUserService() {\n return userService\n}\n\nexport function useStandService() {\n return standService\n}\n\nexport function useEventService() {\n return eventService\n}\n\nexport function useContactService() {\n return contactService\n}\n\nexport function useProgramService() {\n return programService\n}\n\nexport function useStaticService() {\n return staticService\n}\n\nexport function useNotificationService() {\n return notificationService\n}\n\nexport function useCalendarService() {\n return calendarService\n}\n\nexport function useAdminEventService() {\n return eventAdminService\n}\n\nexport function useNotificationService2() {\n return notificationService2\n}\n","import crypto from 'crypto'\n\nexport interface CognitoStorage {\n setItem(key: string, value: string): void\n\n getItem(key: string): string | null\n\n removeItem(key: string): void\n\n clear(): void\n}\n\nexport interface CognitoSession {\n error?: string\n access_token: string\n expires_in: number\n id_token: string\n refresh_token?: string\n token_type: 'Bearer'\n}\n\nexport type ErrorHandler = (error: any) => void\n\nexport interface CognitoOptions {\n authUrl: string\n signInRedirectUrl: string\n signOutRedirectUrl: string\n userPoolWebClientId: string\n userPoolWebClientSecret?: string\n storageItemName?: string\n}\n\ninterface RequestData {\n grant_type: 'authorization_code' | 'refresh_token'\n client_id: string\n code?: string\n redirect_uri?: string\n refresh_token?: string\n code_verifier?: string\n}\n\nconst DEFAULT_STORAGE_ITEM_NAME = 'auth'\nconst CODES_STORAGE_ITEM = 'challenge_codes'\n\nexport class Auth {\n public session: CognitoSession | null = null\n private readonly options: CognitoOptions\n private readonly storage: CognitoStorage = localStorage\n private readonly errorHandler: (error: any) => void = (e) => console.error('[Cognito Auth service]: ', e)\n public readonly storageItemName: string\n private codes = { code_verifier: '', code_challenge: '' }\n\n constructor(options: CognitoOptions, storage?: CognitoStorage, errorHandler?: ErrorHandler) {\n this.options = options\n if (errorHandler && typeof errorHandler === 'function') {\n this.errorHandler = errorHandler\n }\n this.storageItemName = this.options.storageItemName || DEFAULT_STORAGE_ITEM_NAME\n if (storage) {\n this.storage = storage\n }\n this.loadSession()\n }\n\n public getLoginUrl() {\n const loginUrl = new URL('/auth/authorize', this.options.authUrl)\n const searchParams = loginUrl.searchParams\n searchParams.set('response_type', 'code')\n searchParams.set('client_id', this.options.userPoolWebClientId)\n searchParams.set('redirect_uri', this.options.signInRedirectUrl)\n searchParams.set('code_challenge', this.codes.code_challenge)\n searchParams.set('code_challenge_method', 'S256')\n return loginUrl.toString()\n }\n\n public async singInWithCode(code: string) {\n await this.makeRequest({\n grant_type: 'authorization_code',\n client_id: this.options.userPoolWebClientId,\n code,\n code_verifier: this.codes.code_verifier,\n redirect_uri: this.options.signInRedirectUrl,\n })\n }\n\n public async refresh() {\n if (this.session) {\n await this.makeRequest({\n grant_type: 'refresh_token',\n client_id: this.options.userPoolWebClientId,\n refresh_token: this.session.refresh_token,\n redirect_uri: this.options.signInRedirectUrl,\n })\n }\n }\n\n public signOut() {\n this.removeSession()\n }\n\n private async makeRequest(data: RequestData) {\n try {\n const url = new URL('/auth/token', this.options.authUrl)\n const response = await fetch(url.toString(), {\n method: 'POST',\n headers: this.getRequestHeaders(data),\n body: Auth.createUrlencodedString(data),\n })\n if (response) {\n const data = await response.json()\n if (data.error) {\n this.errorHandler(data.error)\n } else {\n this.session = Object.assign({}, this.session || {}, data)\n this.saveSession()\n }\n }\n } catch (e) {\n this.errorHandler(e)\n }\n }\n\n private loadSession() {\n this.session = JSON.parse(this.storage.getItem(this.storageItemName) || 'null')\n const savedCodes = JSON.parse(this.storage.getItem(CODES_STORAGE_ITEM) || 'null')\n if (savedCodes) {\n this.codes = savedCodes\n } else {\n this.generateCodesPair()\n }\n }\n\n private saveSession() {\n this.storage.setItem(this.storageItemName, JSON.stringify(this.session))\n }\n\n private removeSession() {\n this.session = null\n this.storage.removeItem(this.storageItemName)\n }\n\n private getRequestHeaders(data: RequestData) {\n const headers = {\n 'Content-Type': 'application/x-www-form-urlencoded',\n } as Record\n\n if (this.options.userPoolWebClientSecret) {\n headers.Authorization = 'Basic ' + btoa(`${data.client_id}:${this.options.userPoolWebClientSecret}`)\n }\n\n return headers\n }\n\n private static createUrlencodedString(details: any): string {\n const formBody: string[] = []\n for (const property in details) {\n const encodedKey = encodeURIComponent(property)\n const encodedValue = encodeURIComponent(details[property])\n formBody.push(encodedKey + '=' + encodedValue)\n }\n return formBody.join('&')\n }\n\n private generateCodesPair() {\n const code_verifier = this.base64URLEncode(crypto.randomBytes(32))\n const code_challenge = this.base64URLEncode(this.sha256(code_verifier))\n this.codes = { code_verifier, code_challenge }\n this.saveCodesToStorage()\n }\n\n private saveCodesToStorage() {\n this.storage.setItem(CODES_STORAGE_ITEM, JSON.stringify(this.codes))\n }\n\n private base64URLEncode(str: any) {\n return str.toString('base64').replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '')\n }\n\n private sha256(buffer: any) {\n return crypto.createHash('sha256').update(buffer).digest()\n }\n}\n\nexport default Auth\n","import { CognitoOptions } from '@/services/auth/CognitoAuth'\n\nconst config: CognitoOptions = {\n authUrl: process.env.VUE_APP_COGNITO_AUTH_URL || '',\n signInRedirectUrl: process.env.VUE_APP_BASE_URL + process.env.VUE_APP_COGNITO_SIGNIN_REDIRECT_PATH || '',\n signOutRedirectUrl: process.env.VUE_APP_BASE_URL + process.env.VUE_APP_COGNITO_SIGNOUT_REDIRECT_PATH || '',\n userPoolWebClientId: process.env.VUE_APP_COGNITO_USER_POOL_WEB_CLIENT_ID || '',\n userPoolWebClientSecret: process.env.VUE_APP_COGNITO_USER_POOL_WEB_CLIENT_SECRET || '',\n}\nexport default config\n","import Auth from '@/services/auth/CognitoAuth'\nimport { getHttpClient } from '@/services/http'\nimport { WebSocketService } from '@/services/web-socket'\n\nimport config from '@/services/auth/config'\nimport { AuthenticationService } from '@/application/app-types'\n\nconst echo = WebSocketService()\nconst auth = new Auth(config)\nwindow.addEventListener('storage', watchOnLogout)\n\nfunction watchOnLogout(event: StorageEvent) {\n if (event.key === auth.storageItemName && auth.session && !event.newValue) {\n signOut()\n }\n}\n\nfunction login() {\n window.location.href = auth.getLoginUrl()\n}\n\nfunction register(code = '', redirectFrom = '') {\n const authAppUrl = process.env.VUE_APP_AUTH_APP_URL\n if (!authAppUrl) {\n console.error('AUTH_APP_URL is not defined in .env !')\n } else {\n const url = new URL('/register', authAppUrl)\n url.searchParams.set('back_url', process.env.VUE_APP_BASE_URL + (redirectFrom ? redirectFrom : ''))\n if (code) {\n url.searchParams.set('code', code)\n }\n window.location.href = url.toString()\n }\n}\n\nasync function signIn(code: string) {\n await auth.singInWithCode(code)\n setAuthHeader()\n}\n\nfunction setAuthHeader(): void {\n if (auth.session) {\n const token = auth.session.token_type + ' ' + auth.session.id_token\n getHttpClient().setHeader('Authorization', token)\n echo.setHeader('Authorization', token)\n }\n}\n\nfunction removeAuthHeader(): void {\n getHttpClient().setHeader('Authorization', '')\n}\n\nasync function refresh() {\n await auth.refresh()\n setAuthHeader()\n}\n\nfunction getToken() {\n return auth.session?.id_token\n}\n\nfunction initAuth() {\n setAuthHeader()\n handleBadResponse()\n}\n\nfunction signOut() {\n auth.signOut()\n removeAuthHeader()\n}\n\n/**\n * Checks the HttpClient error for a non-valid token, refreshes the token and resubmits the request\n */\nfunction handleBadResponse() {\n getHttpClient().onError(async (error) => {\n if (error.config && error.response?.status === 401) {\n if (error.config.headers?.['is-repeated-request']) {\n signOut()\n login()\n return Promise.reject(error)\n }\n await refresh()\n error.config.headers = Object.assign({}, error.config.headers, {\n Authorization: auth.session?.token_type + ' ' + auth.session?.id_token,\n 'is-repeated-request': true,\n })\n return getHttpClient().request(error.config)\n }\n return Promise.reject(error)\n })\n}\n\nexport function useAuth(): AuthenticationService {\n return {\n login,\n register,\n signIn,\n refresh,\n getToken,\n initAuth,\n signOut,\n }\n}\n","import { fetchHttp } from '@bgsonline/frontend-api-services'\n\nexport function getHttpClient() {\n return fetchHttp\n}\n","import { readonly, Ref, ref } from 'vue'\nimport { MyEvent, Participant } from '@bgsonline/frontend-types/api/event-service'\nimport { useOnline } from '@vueuse/core'\n\nimport { AppStorageService } from '@/application/app-types'\nimport { Menu } from '@bgsonline/frontend-types/api/static-service/public'\n\nconst isOnline = useOnline()\nconst currentEventId = ref('')\nconst participantId = ref('')\nconst currentEvent: Ref = ref(null)\nconst participant: Ref = ref()\nconst rightMenuItems: Ref = ref(null)\nconst topMenuItems: Ref = ref(null)\n\nfunction setCurrentEventId(eventId: string) {\n currentEventId.value = eventId\n}\n\nfunction setParticipantId(id: string) {\n participantId.value = id\n}\n\nfunction setParticipant(data: Participant | undefined) {\n participant.value = data\n}\n\nfunction setCurrentEvent(event: MyEvent) {\n currentEvent.value = event\n}\n\nfunction setRightMenuItems(menus: Menu[]) {\n rightMenuItems.value = menus\n}\n\nfunction setTopMenuItems(menus: Menu[]) {\n topMenuItems.value = menus\n}\n\nexport function useAppStorage(): AppStorageService {\n return {\n currentEventId: readonly(currentEventId),\n participantId: readonly(participantId),\n currentEvent: currentEvent,\n isOnline: readonly(isOnline),\n participant,\n rightMenuItems,\n topMenuItems,\n setCurrentEventId,\n setParticipantId,\n setCurrentEvent,\n setRightMenuItems,\n setTopMenuItems,\n setParticipant,\n }\n}\n","import { computed, Ref, ref } from 'vue'\nimport dayjs from 'dayjs'\n\nimport { NotificationStorageService } from '@/application/app-types'\nimport { Notification } from '@bgsonline/frontend-types/api/notification-service'\n\nconst notifications: Ref = ref([])\nconst unreadNotificationsCount = computed(\n () => notifications.value.filter((notification) => !notification.read_at).length\n)\nconst newNotificationsIds: Ref = ref([])\n\nfunction setNotifications(data: Notification[]) {\n notifications.value = data\n}\n\nfunction addNotification(notification: Notification) {\n const alreadyAdded = notifications.value.find((ntf) => ntf.id === notification.id)\n if (!alreadyAdded) {\n notifications.value.unshift(notification)\n newNotificationsIds.value.push(notification.id)\n }\n}\n\nfunction markNotificationsAsRead(notificationsIds: string[]) {\n notifications.value.forEach((notification) => {\n if (notificationsIds.includes(notification.id)) {\n notification.read_at = dayjs().format('YYYY-MM-DD[T]HH:mm:ssZ')\n }\n })\n newNotificationsIds.value = newNotificationsIds.value.filter((id) => !notificationsIds.includes(id))\n}\n\nexport function useLiveFeedNotificationsStorage(): NotificationStorageService {\n return {\n notifications,\n unreadNotificationsCount,\n newNotificationsIds,\n setNotifications,\n addNotification,\n markNotificationsAsRead,\n }\n}\n","import { Ref, ref } from 'vue'\nimport { Me, PrivacyPolicyAgreement } from '@bgsonline/frontend-types/api/user-service'\nimport { StorageFile } from '@bgsonline/frontend-types/api'\nimport { UserStorageService } from '@/application/app-types'\n\nconst user: Ref = ref()\nconst isAuthenticated = ref(false)\nconst privatePolicyAgreement: Ref = ref(null)\nconst acceptedPrivacyPolicy = ref(false)\n\nfunction setUser(data: Me) {\n user.value = data\n}\n\nfunction updateUser(data: Me) {\n user.value = Object.assign({}, user.value, data)\n}\n\nfunction setAuthenticated(value: boolean) {\n isAuthenticated.value = value\n}\n\nfunction setUserAvatar(avatar: StorageFile) {\n if (user.value) {\n user.value.avatar = avatar\n }\n}\n\nfunction setPrivatePolicyAgreement(data: PrivacyPolicyAgreement) {\n privatePolicyAgreement.value = data\n}\n\nexport function useUserStorage(): UserStorageService {\n return {\n user,\n privatePolicyAgreement,\n isAuthenticated,\n acceptedPrivacyPolicy,\n setUser,\n setAuthenticated,\n setUserAvatar,\n updateUser,\n setPrivatePolicyAgreement,\n }\n}\n","import { Ref, ref } from 'vue'\n\nimport { VipMeetingsStorage } from '@/application/app-types'\nimport { Meeting } from '@bgsonline/frontend-types/api/event-service/admin'\n\nconst vipMeetings: Ref = ref([])\n\nfunction setVipMeetings(events: Meeting[]) {\n vipMeetings.value = events\n}\n\nfunction deleteVipMeeting(meetingId: string) {\n vipMeetings.value = vipMeetings.value.filter((item) => item.id !== meetingId)\n}\n\nexport function useVipMeetingsStorage(): VipMeetingsStorage {\n return { vipMeetings, setVipMeetings, deleteVipMeeting }\n}\n","import { LaravelEchoListener } from '@bgsonline/frontend-tools'\nimport { LaravelEchoOptions } from '@bgsonline/frontend-tools/types/echo'\n\nconst config: LaravelEchoOptions = {\n broadcaster: process.env.VUE_APP_SOCKET_BROADCASTER || '',\n encrypted: false,\n key: process.env.VUE_APP_SOCKET_KEY || '',\n wsHost: process.env.VUE_APP_SOCKET_WS_HOST || '',\n wsPort: process.env.VUE_APP_SOCKET_WS_PORT || '',\n wssPort: process.env.VUE_APP_SOCKET_WSS_PORT || '',\n disableStats: true,\n forceTLS: false,\n authEndpoint: process.env.VUE_APP_SOCKET_AUTH || '',\n auth: {\n headers: {\n // set token after success auth\n Authorization: '',\n },\n },\n}\n\nconst echo = new LaravelEchoListener(config)\n\nexport function WebSocketService() {\n return echo\n}\n","import { Component, Ref, ref, shallowRef } from 'vue'\n\ninterface AppFullscreenCoverOptions {\n background?: { opacity?: number }\n maskClickCloseable?: boolean\n}\n\nconst isVisible = ref(false)\nconst dynamicComponent: Ref = shallowRef(null)\nconst dynamicComponentProps: Ref = ref({})\nconst coverOptions: Ref = ref({})\n\nfunction hideFullscreenCover() {\n dynamicComponent.value = null\n dynamicComponentProps.value = {}\n isVisible.value = false\n}\n\nfunction showFullscreenCover(component: Component, componentProps: any = {}, options: AppFullscreenCoverOptions = {}) {\n dynamicComponent.value = component\n dynamicComponentProps.value = componentProps\n coverOptions.value = options\n isVisible.value = true\n}\n\nexport function useAppFullscreenCover() {\n return { isVisible, showFullscreenCover, hideFullscreenCover, dynamicComponent, dynamicComponentProps, coverOptions }\n}\n","import { Component, Ref, ref, shallowRef } from 'vue'\n\nexport type DynamicComponentProps = {\n [propName: string]: any\n}\n\ninterface AppModalOptions {\n onModalClose?(): void\n\n dynamicComponentProps?: DynamicComponentProps\n modalProps?: any\n}\n\ninterface AppModalContent {\n component: Component\n options: AppModalOptions\n}\n\nconst modalsQueue: AppModalContent[] = []\n\nconst dynamicComponentProps = ref()\nconst visible = ref(false)\nconst onModalClose: Ref = ref()\nconst dynamicComponent = shallowRef()\nconst modalProps: Ref = ref({})\n\nfunction openModal(component: Component, options: AppModalOptions = {}) {\n modalsQueue.push({ component, options })\n openFromModalsQueue()\n}\n\nfunction closeModal() {\n if (onModalClose.value && typeof onModalClose.value === 'function') {\n onModalClose.value()\n }\n visible.value = false\n openFromModalsQueue()\n}\n\nfunction openFromModalsQueue() {\n if (modalsQueue.length && !visible.value) {\n visible.value = true\n const modal = modalsQueue.shift()\n if (modal) {\n const { component, options } = modal\n dynamicComponent.value = component\n dynamicComponentProps.value = options.dynamicComponentProps || {}\n modalProps.value = options.modalProps\n if (options.onModalClose && typeof options.onModalClose === 'function') {\n onModalClose.value = options.onModalClose\n }\n }\n }\n}\n\nexport function useAppModal() {\n return { openModal, closeModal, visible, dynamicComponentProps, dynamicComponent, modalProps }\n}\n","import { ref } from 'vue'\n\nimport { UiIcon as Icon } from '@bgsonline/frontend-ui-kit/src/types/ui-icon'\nimport { generateUuid } from '@/lib/utilities'\nimport { Notification } from '@bgsonline/frontend-types/api/notification-service'\nimport { useWebSocket } from '@/application/web-socket'\n\ninterface AppNotificationPayload {\n content: string\n icon?: Icon.Name\n type?: 'info' | 'warning' | 'success' | 'error'\n}\n\nexport interface AppNotification extends AppNotificationPayload {\n uuid: string\n content: string\n type: 'info' | 'warning' | 'success' | 'error'\n icon: Icon.Name\n}\n\nconst notifications = ref([] as AppNotification[])\nconst { socketNotifications, deleteSocketNotifications } = useWebSocket()\n\nfunction addNotification(payload: AppNotificationPayload, visibleTime = 800) {\n const notification = {\n uuid: generateUuid(),\n content: payload.content,\n icon: payload.icon || 'info',\n type: payload.type || 'info',\n }\n notifications.value.push(notification)\n\n setTimeout(() => removeNotification(notification), visibleTime)\n}\n\nasync function removeSocketNotification(target: Notification) {\n return deleteSocketNotifications([target.id])\n}\n\nfunction removeNotification(target: AppNotification) {\n notifications.value = notifications.value.filter((notification) => notification.uuid !== target.uuid)\n}\n\nexport function useAppNotifications() {\n return { addNotification, removeNotification, notifications, removeSocketNotification, socketNotifications }\n}\n","import { Ref, ref } from 'vue'\n\nconst isScannerActive = ref(false)\nconst onDetectCallback: Ref = ref(null)\n\nfunction scanQRByCamera(callback: any) {\n isScannerActive.value = true\n onDetectCallback.value = callback\n}\n\nfunction onSuccessfullyDetect(event: string) {\n closeScanner()\n if (onDetectCallback.value && typeof onDetectCallback.value === 'function') {\n onDetectCallback.value(event)\n }\n}\n\nfunction closeScanner() {\n isScannerActive.value = false\n}\n\nexport function useAppQRScanner() {\n return { scanQRByCamera, isScannerActive, onSuccessfullyDetect, closeScanner }\n}\n","export const ru = {\n messages: {\n copied: 'Скопировано в буфер',\n 'phone-copied': 'Номер скопирован',\n 'email-copied': 'Email скопирован',\n 'link-copied': 'Ссылка скопирована',\n 'check-permissions': 'Проверте доступы приложения',\n 'only-online': 'Этот функционал доступен только онлайн',\n 'online-mode': 'Вы снова в сети',\n 'offline-mode': 'Приложение работает вне сети! Некоторый функционал недоступен',\n 'no-manager': 'У вас нет персонального менджера',\n 'contact-organizer': 'Пожалуйста, обратитесь к организатору',\n 'nothing-found': 'Пока что ничего нет...',\n 'no-notifications': 'Пока что нет уведомлений',\n 'no-map': 'Нет карты мероприятия',\n 'no-timelines': 'В программе мероприятия пока что не ничего не запланировано',\n 'empty-cardholder': 'Ваша визитница пуста',\n 'try-scan-first': 'Сканируейте вашу первую визитку',\n 'something-wrong': 'Что-то пошло не так...',\n },\n 'update-available-prompt': {\n 'being-updated': 'Приложение обновляется, пожалуйста подождите...',\n 'update-available': 'Мы выпустили новую версию приложения!',\n 'restart-after-update': 'После обновления приложение перезапустится.',\n },\n 'install-app-prompt': {\n 'get-app': 'Установить приложение',\n 'app-advantages':\n 'Вы можете установить наш сайт как приложение на рабочий стол вашего компьютера, планшета или телефона без скачиваний и лишних действий.',\n later: 'Напомнить позже',\n },\n buttons: {\n dismiss: 'Отклонить',\n update: 'Обновить',\n logout: 'Выйти',\n login: 'Войти',\n install: 'Установить',\n save: 'Сохранить',\n close: 'Закрыть',\n ok: 'Принять',\n cancel: 'Отмена',\n 'add-more': 'Добавить еще',\n start: 'Старт',\n next: 'Далее',\n back: 'Назад',\n upload: 'Загрузить',\n decline: 'Отклонить',\n agree: 'Принять',\n collapse: 'Свернуть панель',\n },\n 'button-back': {\n 'event-list': 'Event list',\n main: 'Main',\n },\n pages: {\n 'my-events': 'Мои ивенты',\n 'my-event': 'Мой ивент',\n 'edit-profile': 'Изменить профиль',\n 'check-points': {\n title: 'Статистика',\n arrived: 'Прибыло',\n registered: 'Зарегистрировано',\n 'last-update': 'Данные актуальны на',\n },\n 'my-events-list': {\n 'empty-list': {\n title: 'Ваш список пуст',\n 'have-events?': 'У вас есть мероприятия, в которых вы участвуете?',\n 'please-register': 'Пожалуйста, зарегистрируйтесь на мероприятие или свяжитесь с вашим персональным менеджером',\n 'go-to-desk': 'или проследуйте на стойку регистрации',\n 'request-button': 'Я участник мероприятия',\n },\n tabs: {\n current: 'Текущие',\n past: 'Прошедшие',\n },\n },\n welcome: {\n common: {\n 'wrong-login': 'Войти под другим аккаунтом?',\n logout: 'Выход',\n },\n 'new-agreement': {\n title: 'Новое пользовательское соглашение',\n description:\n 'Чтобы продолжить работу с приложением, вам необходимо принять новое пользовательское соглашение ниже',\n agreement: 'I have read and accept the',\n 'privacy-policy': 'Политика конфиденциальности',\n },\n greeting: {\n title: 'Добро пожаловать в',\n 'fill-profile': 'Пожалуйста, заполните Ваш профиль',\n 'share-contacts': 'для того чтоб поделиться контактной информацией с другими участниками',\n 'check-info':\n 'Если Вы зарегистрировались с помощью вашего персонального менеджера, то просто проверьте и дополните вашу контакную информацию',\n },\n 'avatar-check': {\n title: 'Фото профиля',\n 'upload-your-photo': 'Загрузите ваше фото. Это поможет другим найти вас на площадке',\n 'photo-required': 'Ваше фото обязательно.',\n 'change-anytime': 'Вы можете поменять его в любое время',\n success: 'Ваш аватар был успешно загружен',\n },\n 'general-information': {\n title: 'Основная информация',\n description: 'Эта информация доступна другим участникам',\n name: 'Имя*',\n surname: 'Фамилия*',\n 'companies-label': 'Моя компания',\n 'contact-manager':\n 'Если вы хотите поменять эту информацию, пожалуйста, свяжитесь в вашим персональным менеджером.',\n },\n 'contact-information': {\n title: 'Контактная информация',\n description:\n 'Чем больше информации вы добавите на свою цифровую визитную карточку, тем проще с вами связаться.',\n 'an-email': 'Электронная почка',\n 'phone-number': 'номер телефона',\n 'at-least': 'и как минимум один',\n 'are-required': 'обязательны к заполнению.',\n email: 'Email*',\n mobile: 'Мобильный номер',\n direct: 'Прямой номер',\n office: 'Рабочий номер',\n agreement: 'Я прочитал и принимаю',\n 'privacy-policy': 'Политики конфиденциальности.',\n },\n 'privacy-policy': {\n title: 'Политика конфиденциальности',\n provisions: 'Основные положения',\n },\n },\n articles: {\n title: 'Центр помощи',\n articles: 'Статьи',\n },\n article: {\n 'copy-link': 'Скопировать ссылку на статью',\n 'link-copied': 'Ссылка на статью скопирована',\n },\n },\n profile: 'Профиль',\n company: 'Компания',\n participant: 'Участник',\n stand: 'Стенд',\n companies: 'Компании',\n delegates: 'Делегаты',\n contacts: 'Контакты',\n event: {\n event: 'Ивент',\n main: 'Главное',\n about: 'Об ивенте',\n notifications: 'Уведломления',\n 'business-program': 'Бизнес программа',\n participants: 'Участники',\n chats: 'Чаты',\n 'mobile-app-sponsor': 'Спонсор мобильного приложения',\n 'gala-dinner': 'Гала ужин',\n exhibition: 'Выставка',\n 'exhibitors-list': 'Стенды',\n 'live-feed': 'Живая лента',\n companies: 'Компании',\n delegates: 'Делегаты',\n 'participants-companies': 'Компании',\n 'participants-delegates': 'Делегаты',\n content: 'Контент',\n 'business-cards': 'Визитки',\n 'saved-business-cards': 'Сохраненные визитки',\n 'personal-manager': 'Личный менеджер',\n favorites: 'Избранное',\n sponsors: 'Спонсоры и Партнеры',\n partners: 'Партнеры',\n 'add-vip-meeting': 'Добавить VIP-встречу',\n 'edit-vip-meeting': 'Изменить VIP-встречу',\n 'vip-meetings': 'Vip-встречи',\n 'check-points': 'Check points',\n stands: 'Стенды',\n location: 'Локация',\n media: 'Медиа Партнеры',\n },\n 'my-event': {\n 'about-event': 'Об ивенте',\n 'business-cards': 'Визитки',\n program: 'Программа',\n 'digital-pass': 'Цифровой пропуск',\n 'event-materials': 'Материалы',\n 'business-program': 'Бизнес программа',\n 'about-business-program': 'Описание что как и где используются бизнесс программа',\n cards: 'Визитки',\n 'about-business-cards': 'Описание что как и где используются бизнесс карточки',\n 'my-cards': 'Мои',\n 'join-the-event': 'Присоедениться к конгрессу',\n 'event-is-over': 'Конгресс завершен',\n 'thanks-for-participation': 'Спасибо за участие',\n 'event-countdown': 'Конгресс начнентся через',\n 'event-starts-in': 'Конгресс начнентся в:',\n },\n 'profile-form': {\n 'fill-info': 'Заполните свою контактную информацию, чтобы упростить дальнейшее общение после мероприятия.',\n name: 'Имя',\n surname: 'Фамилия',\n bio: 'Биография',\n },\n 'user-company-form': {\n 'fill-info':\n 'Информация доступна для других участников конгресса. Заполните форму, и делегаты смогут легко найти компанию и связаться с ней.',\n 'company-name': 'Название компании',\n about: 'О компании',\n },\n 'profile-view': {\n username: 'Имя пользователя',\n },\n 'business-card': {\n 'business-card': 'Визитка',\n 'share-card': 'Поделится визиткой',\n },\n 'company-info': {\n about: 'O компании',\n 'event-team': 'Команда',\n topic: 'Доклад',\n },\n 'participant-info': {\n about: 'Об участнике',\n company: 'Компания',\n topic: 'Доклад',\n },\n contact: {\n phone: 'телефон',\n email: 'email',\n website: 'вебсайт',\n mobile: 'мобильный',\n direct: 'прямой',\n office: 'рабочий',\n bio: 'О себе',\n headquarters: 'штабквартира',\n },\n tabs: {\n about: 'Об ивенте',\n team: 'Команда',\n 'bgs-group': 'BGS group',\n companies: 'Компании',\n participants: 'Участники',\n delegates: 'Делегаты',\n sessions: 'Сессии',\n sponsors: 'Спонсоры',\n partners: 'Партнеры',\n media: 'Медия',\n map: 'Карта',\n 'exhibitors-list': 'Список экспозиций',\n 'my-meetings': 'Мои встречи',\n statistics: 'Статистика',\n all: 'Все',\n stands: 'Стенды',\n day: 'День',\n },\n links: {\n 'go-to-profile': 'Перейти в профиль',\n },\n menu: {\n main: 'Главное',\n participants: 'Участники',\n program: 'Программа',\n 'live-feed': 'Живая лента',\n 'business-card': 'Визитки',\n menu: 'Menu',\n },\n placeholders: {\n 'company-name': 'Компания/Имя',\n company: 'Название компании',\n comment: 'Комментарий',\n },\n chips: {\n 'i-m-participant': 'Я учавствую',\n },\n 'qr-scanner': {\n 'switch-camera': 'Поменяйте камеру!',\n 'scan-code': 'Сканируйте QR-код',\n error: {\n NotAllowedError: 'ОШИБКА: вам необходимо предоставить разрешение на доступ к камере',\n OverconstrainedError: 'ОШИБКА: эта камера не подходит, поменяйте',\n NotFoundError: 'ОШИБКА: нет камеры на этом устройстве',\n NotSupportedError: 'ОШИБКА: требуется безопасный контекст (HTTPS, localhost)',\n NotReadableError: 'ОШИБКА: камера уже используется?',\n StreamApiNotSupportedError: 'ОШИБКА: Stream API не поддерживается в этом браузере',\n InsecureContextError:\n 'ОШИБКА: Доступ к камере разрешен только в безопасном контексте. Используйте HTTPS или localhost, а не HTTP.',\n },\n 'allow-access': {\n title: 'Не удалось отсканировать QR-код',\n description: 'Предоставьте доступ к камере на этом устройстве для сканирования и сохранения визитных карточек. ',\n instruction: 'Чтобы предоставить доступ, следуйте инструкциям:',\n },\n },\n 'card-holder': {\n messages: {\n 'success-scanning': 'Успешно! Визитка сохранена',\n 'failure-scanning': 'Что-то пошло не так',\n 'card-already-added': 'Эта визитка уже добавлена',\n 'code-not-recognised':\n 'QR-код не распознан. Убедитесь, что экран с QR-кодом достаточно яркий, очистите объектив камеры или увеличьте QR-код.',\n 'cards-downloading': 'Все визитки будут загружены одним файлом в формате',\n 'select-format': 'Пожалуста, выберите формат для сохранения',\n 'scan-qr': 'Покажите QR-код, чтобы поделиться своей визиткой',\n },\n export: 'Экспорт',\n 'my-cards': 'Посмотреть мои визитки',\n 'saved-cards': 'Сохраненные визитки',\n description:\n 'Не стесняйтесь использовать свою цифровую визитную карточку и делиться контактными данными с другими делегатами. Собирайте визитки от игроков индустрии и сохраняйте их в конце второго дня мероприятия для вашего удобства.',\n buttons: {\n back: 'Назад',\n 'try-again': 'Попробовать снова',\n 'one-more': 'Сканировать еще',\n 'open-card': 'Открыть визитку',\n return: 'Вернуться в визитки',\n 'back-to-cardholder': 'Вернуться в визитницу',\n download: 'Загрузить',\n share: 'Поделится',\n scan: 'Сканировать',\n },\n },\n 'app-host-menu': {\n 'add-vip-meeting': 'Добавить VIP-встречу',\n },\n qr: {\n scan: {\n fail: 'Что-то пошло не так :(',\n success: 'Успешно!',\n },\n },\n 'check-in': {\n scan: {\n success: 'Успешно! Чекпоинт добавлен',\n },\n },\n return: 'Вернуться',\n 'vip-meetings': {\n 'confirmation-message': 'Вы действительно хотите удалить встречу?',\n 'already-participates': 'Участник уже в списке',\n },\n sidebar: {\n 'install-app': 'Установить приложение',\n },\n form: {\n 'create-password': 'Создайте пароль',\n register: 'Регистрация',\n agree: 'Я соглашаюсь с ',\n terms: 'Условиями использования и Политикой конфиденциальности, а также принимаю все файлы cookie',\n },\n time: {\n day: 'День',\n days: 'Дней',\n hour: 'Час',\n hours: 'Часов',\n minute: 'Минута',\n minutes: 'Минут',\n second: 'Секунда',\n seconds: 'Секунд',\n },\n session: {\n current: 'Текущие',\n next_hour: 'Ближайший час',\n next_two_hours: 'Ближайшие 2 часа',\n 'session-list-empty': 'Your session list is empty',\n 'session-list-empty-text':\n 'No sessions are scheduled during the selected period. Please select other filters or try again later',\n sponsor: 'Спонсор сессии',\n },\n 'reset-all-filter': 'Reset all filters',\n 'app-fast-access': {\n 'share-bc': 'Поделится визиткой',\n 'scan-bc': 'Сканировать визитку',\n },\n speaker: 'Спикер',\n installation: {\n title: 'Install app',\n copy_link: 'Copy the application link',\n ios: {\n safari_required:\n 'To install the application on your phone, you need to open it in Safari and add it to a home screen according to the instructions',\n description: 'Install it as an app to enable push notifications',\n step1: 'Share the page on the tab bar by tapping on the icon',\n step2: 'Add to a home screen by tapping on the icon',\n step3: 'Launch apps from home screen!',\n },\n android: {\n description: 'Install it as an app to enable push notifications',\n step1: 'Press the \"three dot\" icon in the upper right to open the menu',\n step2: 'Select \"Add to Home Screen\" on the right sidebar',\n step3: 'Press the \"Add\" button in the popup',\n step4: 'The PWA is now installed and available on your home screen',\n },\n },\n page: {\n next: 'Следующая страница',\n },\n}\n\nexport default ru\n","export const en = {\n messages: {\n copied: 'Copied to clipboard',\n 'phone-copied': 'Phone was copied',\n 'email-copied': 'Email was copied',\n 'link-copied': 'Link was copied',\n 'check-permissions': 'Check app permissions',\n 'only-online': 'This functionality is only available online',\n 'online-mode': 'You are back online',\n 'offline-mode': 'The app works offline! Some content may not be available',\n 'no-manager': 'You don`t have a personal manager',\n 'contact-organizer': 'Please contact the organizer',\n 'nothing-found': 'So far nothing...',\n 'no-notifications': 'So far no notifications',\n 'no-map': 'There is no map for this event',\n 'no-timelines': 'There are no sessions in the event program yet',\n 'empty-cardholder': 'Your cardholder is empty',\n 'try-scan-first': 'Scan your first business card',\n 'something-wrong': 'Something went wrong...',\n },\n 'update-available-prompt': {\n 'being-updated': 'App is being updated, please wait...',\n 'update-available': 'We have released a new version of the app!',\n 'restart-after-update': 'After the update, the application will restart.',\n },\n 'install-app-prompt': {\n 'get-app': 'Install app',\n 'app-advantages':\n 'You can install our website as an application on the desktop of your computer, tablet or phone without downloading and unnecessary actions.',\n later: 'Remind me later',\n },\n buttons: {\n dismiss: 'Dismiss',\n update: 'Update',\n logout: 'Log out',\n login: 'Login',\n install: 'Install',\n save: 'Save',\n close: 'Close',\n ok: 'Ok',\n cancel: 'Cancel',\n 'add-more': 'Add more',\n start: 'Start',\n next: 'Next',\n back: 'Back',\n upload: 'Upload',\n decline: 'Decline',\n agree: 'Agree',\n accept: 'Accept',\n collapse: 'Collapse the panel',\n },\n 'button-back': {\n 'event-list': 'Event list',\n main: 'Main',\n },\n pages: {\n 'my-events': 'My events',\n 'my-event': 'My event',\n 'edit-profile': 'Edit profile',\n 'check-points': {\n title: 'Statistic',\n arrived: 'Arrived',\n registered: 'Registered',\n 'last-update': 'The data is current at',\n },\n 'live-feed': {\n unread: 'New messages',\n },\n 'my-events-list': {\n 'empty-list': {\n title: 'Your note list is empty',\n 'have-events?': 'Do you have any events in which you participate?',\n 'please-register': 'Please register for the event or contact your personal manager',\n 'go-to-desk': 'or the registration desk!',\n 'request-button': 'I am a participant of an event',\n },\n tabs: {\n current: 'Current',\n past: 'Past',\n },\n },\n welcome: {\n common: {\n 'wrong-login': 'Log in to another account?',\n logout: 'Log out',\n },\n 'new-agreement': {\n title: 'The new user agreement',\n description: 'To continue the application, you need to accept The new user agreement below',\n agreement: 'I have read and accept the',\n 'privacy-policy': 'Privacy policy',\n },\n greeting: {\n title: 'Welcome to',\n 'fill-profile': 'Please fill out your profile',\n 'share-contacts': 'to share contact information with other participants',\n 'check-info':\n 'If you registered with the help of your personal manager, just check and complete your contact information',\n },\n 'avatar-check': {\n title: 'Profile photo',\n 'upload-your-photo': 'Upload your photo. It helps other attendees find you on the site',\n 'photo-required': 'Your profile photo is required.',\n 'change-anytime': 'You can change it anytime',\n success: 'Your avatar was uploaded successful',\n },\n 'general-information': {\n title: 'General information',\n description: 'This information is available to other participants',\n name: 'First name*',\n surname: 'Surname*',\n 'companies-label': 'My company',\n 'contact-manager': 'If you want to change the information, please contact your personal manager',\n },\n 'contact-information': {\n title: 'Contact information',\n description: 'The more information you add to your digital business card, the easier it is to contact you.',\n 'an-email': 'An email',\n 'phone-number': 'phone number',\n 'at-least': 'and at least one',\n 'are-required': 'are required.',\n email: 'Email*',\n mobile: 'Mobile phone',\n direct: 'Direct phone',\n office: 'Office phone',\n agreement: 'I have read and accept the',\n 'privacy-policy': 'Privacy policy.',\n },\n 'privacy-policy': {\n title: 'Privacy policy',\n provisions: 'General provisions',\n },\n },\n articles: {\n title: 'Help center',\n articles: 'Articles',\n },\n article: {\n 'copy-link': 'Copy article link',\n 'link-copied': 'Article link copied',\n },\n },\n profile: 'Profile',\n company: 'Company',\n participant: 'Participant',\n stand: 'Stand',\n companies: 'Companies',\n delegates: 'Delegates',\n contacts: 'Contacts',\n event: {\n event: 'Event',\n main: 'Main',\n about: 'About the congress',\n notifications: 'Notifications',\n 'business-program': 'Business programme',\n participants: 'Participants',\n chats: 'Chats',\n 'mobile-app-sponsor': 'Mobile app sponsor',\n 'gala-dinner': 'Gala dinner',\n exhibition: 'Exhibition',\n 'exhibitors-list': 'Stands',\n 'live-feed': 'Live feed',\n companies: 'Companies',\n delegates: 'Delegates',\n 'participants-companies': 'Companies',\n 'participants-delegates': 'Delegates',\n content: 'Content',\n 'business-cards': 'Cardholder',\n 'saved-business-cards': 'Saved business cards',\n 'personal-manager': 'Personal manager',\n favorites: 'Favourites',\n sponsors: 'Sponsors & Partners',\n partners: 'Partners',\n 'add-vip-meeting': 'Add Vip-meeting',\n 'edit-vip-meeting': 'Edit Vip-meeting',\n 'vip-meetings': 'VIP meetings',\n 'check-points': 'Check points',\n stands: 'Stands',\n location: 'Location',\n media: 'Media Partners',\n },\n 'my-event': {\n 'about-event': 'About event',\n 'business-cards': 'Business cards',\n program: 'Program',\n 'digital-pass': 'Digital pass',\n 'event-materials': 'Event materials',\n 'business-program': 'Business programme',\n 'about-business-program': 'Description of what, how and where the business program is used',\n cards: 'Business cards',\n 'about-business-cards': 'Description of what, how and where the business cards is used',\n 'my-cards': 'My',\n 'join-the-event': 'Join the event',\n 'event-is-over': 'The congress is over',\n 'thanks-for-participation': 'Thanks for participation',\n 'event-countdown': 'Event start after',\n 'event-starts-in': 'Event starts in:',\n },\n 'profile-form': {\n 'fill-info': 'Fill in your contact info to simplify further networking after the event.',\n name: 'name',\n surname: 'surname',\n bio: 'bio',\n },\n 'user-company-form': {\n 'fill-info':\n 'Information is available to other congress participants. Fill in the form and let the delegates easily find and contact the company.',\n 'company-name': 'Company name',\n about: 'About',\n },\n 'profile-view': {\n username: 'Username',\n },\n 'business-card': {\n 'business-card': 'Business card',\n 'share-card': 'Share card',\n },\n 'company-info': {\n about: 'About',\n 'event-team': 'Event team',\n topic: 'Topic',\n },\n 'participant-info': {\n about: 'About',\n company: 'Company',\n topic: 'Topic',\n },\n contact: {\n phone: 'phone',\n email: 'email',\n website: 'website',\n mobile: 'mobile',\n direct: 'direct',\n office: 'office',\n bio: 'bio',\n headquarters: 'headquarters',\n },\n tabs: {\n about: 'About',\n team: 'Team',\n 'bgs-group': 'BGS group',\n companies: 'Companies',\n participants: 'Participants',\n delegates: 'Delegates',\n sessions: 'Sessions',\n sponsors: 'Sponsors',\n partners: 'Partners',\n media: 'Media',\n map: 'Map',\n 'exhibitors-list': 'List of exhibitors',\n 'my-meetings': 'My meetings',\n statistics: 'Statistics',\n all: 'All',\n stands: 'Stands',\n day: 'Day',\n },\n links: {\n 'go-to-profile': 'Go to profile',\n },\n menu: {\n main: 'Main',\n participants: 'Participants',\n program: 'Program',\n 'live-feed': 'Live feed',\n 'business-card': 'Business card',\n menu: 'Menu',\n },\n placeholders: {\n 'company-name': 'Company/name',\n company: 'Company name',\n comment: 'Comment',\n },\n chips: {\n 'i-m-participant': 'I’am a participated',\n },\n 'qr-scanner': {\n 'switch-camera': 'Try to switch camera!',\n 'scan-code': 'Scan QR-code',\n error: {\n NotAllowedError: 'ERROR: you are need to grant camera access permission',\n OverconstrainedError: 'ERROR: installed cameras are not suitable',\n NotFoundError: 'ERROR: no camera on this device',\n NotSupportedError: 'ERROR: secure context required (HTTPS, localhost)',\n NotReadableError: 'ERROR: is the camera already in use?',\n StreamApiNotSupportedError: 'ERROR: Stream API is not supported in this browser',\n InsecureContextError:\n 'ERROR: Camera access is only permitted in secure context. Use HTTPS or localhost rather than HTTP.',\n },\n 'allow-access': {\n title: 'It was not possible to scan the QR code',\n description: 'Please grant access to the camera on this device to scan and save business cards. ',\n instruction: 'To grant access, please follow the instructions:',\n },\n },\n 'card-holder': {\n messages: {\n 'success-scanning': 'Success! Business card saved',\n 'failure-scanning': 'Something went wrong',\n 'card-already-added': 'This business card is already added',\n 'code-not-recognised':\n 'QR code not recognised. Make sure the screen showing the QR code is bright enough, clean your camera lens or enlarge the QR code.',\n 'cards-downloading': 'All business cards will be downloaded as a single file in excel format',\n 'select-format': 'Please select the format in which you want to save it',\n 'scan-qr': 'Show the QR code to share your business card',\n },\n export: 'Export',\n 'my-cards': 'View my business card',\n 'saved-cards': 'Saved business cards',\n description:\n 'Feel free to use your digital business card and share the contact details with other delegates. Collect business cards from the industry players and save them at the end of the Day 2 of the event for your convenience.',\n buttons: {\n back: 'Back',\n 'try-again': 'Try again',\n 'one-more': 'Scan one more',\n 'open-card': 'Open card',\n 'back-to-cardholder': 'Back to cardholder',\n return: 'Return to cardholder',\n download: 'Download',\n share: 'Share',\n scan: 'Scan',\n },\n },\n 'app-host-menu': {\n 'add-vip-meeting': 'Add vip meeting',\n },\n 'vip-meetings': {\n 'confirmation-message': 'Are you sure you want to delete the meeting?',\n 'already-participates': 'Participant already in list',\n },\n qr: {\n scan: {\n fail: 'Something went wrong :(',\n success: 'Success!',\n },\n },\n 'check-in': {\n scan: {\n success: 'Success! Check point added',\n },\n },\n return: 'Return',\n sidebar: {\n 'install-app': 'Install app',\n },\n form: {\n 'create-password': 'Create your password',\n register: 'Register',\n agree: 'I agree to ',\n terms: 'the Terms of Use and Privacy Policy, and accept all cookies',\n },\n time: {\n day: 'Day',\n days: 'Days',\n hour: 'Hour',\n hours: 'Hours',\n minute: 'Minute',\n minutes: 'Minutes',\n second: 'Second',\n seconds: 'Seconds',\n },\n session: {\n current: 'Current',\n next_hour: 'Next hour',\n next_two_hours: 'Next 2 hours',\n 'session-list-empty': 'Your session list is empty',\n 'session-list-empty-text':\n 'No sessions are scheduled during the selected period. Please select other filters or try again later',\n sponsor: 'Session sponsor',\n },\n 'reset-all-filter': 'Reset all filters',\n 'app-fast-access': {\n 'share-bc': 'Share BC',\n 'scan-bc': 'Scan BC',\n },\n speaker: 'Speaker',\n installation: {\n title: 'Install app',\n copy_link: 'Copy the application link',\n ios: {\n safari_required:\n 'To install the application on your phone, you need to open it in Safari and add it to a home screen according to the instructions',\n description: 'Install it as an app to enable push notifications',\n step1: 'Share the page on the tab bar by tapping on the icon',\n step2: 'Add to a home screen by tapping on the icon',\n step3: 'Launch apps from home screen!',\n },\n android: {\n description: 'Install it as an app to enable push notifications',\n step1: 'Press the \"three dot\" icon in the upper right to open the menu',\n step2: 'Select \"Add to Home Screen\" on the right sidebar',\n step3: 'Press the \"Add\" button in the popup',\n step4: 'The PWA is now installed and available on your home screen',\n },\n },\n page: {\n next: 'Next page',\n },\n}\nexport default en\n","import { getHttpClient } from '@/services/http'\n\nexport function useLocalization() {\n const httpClient = getHttpClient()\n function setLocaleHeader(locale: string) {\n httpClient.setHeader('accept-language', locale)\n }\n\n return { setLocaleHeader }\n}\n","import { createI18n } from 'vue-i18n'\nimport ru from './locales/ru'\nimport en from './locales/en'\nimport { useLocalization } from '@/application/localization'\n\nconst messages = { ru, en }\n// temporary disable localization\nlet locale = 'en-En' // localStorage.getItem('locale')\nif (!locale) {\n locale = navigator && navigator.language\n const language = getLang(locale)\n if (!language || !Object.keys(messages).includes(language)) {\n locale = 'en-En'\n }\n}\n\nlocalStorage.setItem('locale', locale)\n\nconst { setLocaleHeader } = useLocalization()\nsetLocaleHeader(locale)\n\nexport const i18n = createI18n({\n legacy: false,\n locale: getLang(locale),\n fallbackLocale: 'en',\n messages,\n})\n\nexport default i18n\n\nfunction getLang(locale: string) {\n return locale.substring(0, 2)\n}\n","import { ComputedRef, Ref, ref } from 'vue'\nimport { UiIcon } from '@bgsonline/frontend-ui-kit'\n\ntype HeaderActionsItem = {\n icon: UiIcon.Name\n active?: boolean | ComputedRef | Ref | undefined\n disabled?: boolean | ComputedRef | Ref | undefined\n loading?: boolean | ComputedRef | Ref | undefined\n target: 'panel' | 'menu' // panel - show action on panel, menu - show action in dropdown menu\n action(): void\n}\nconst appTitle = ref('')\nconst headerActions = ref([] as HeaderActionsItem[])\n\nfunction setAppTitle(title: string) {\n appTitle.value = title\n}\n\nfunction setHeaderActions(actions: HeaderActionsItem[]) {\n // @ts-ignore\n headerActions.value = actions\n}\n\nexport function useApp() {\n return {\n appTitle,\n setAppTitle,\n setHeaderActions,\n headerActions,\n }\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createTextVNode as _createTextVNode, unref as _unref, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-88602e66\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"success-card-scanning\" }\nconst _hoisted_2 = { class: \"success-card-scanning__content\" }\nconst _hoisted_3 = { class: \"success-card-scanning__content-icon\" }\nconst _hoisted_4 = { class: \"success-card-scanning__content-title\" }\nconst _hoisted_5 = { class: \"success-card-scanning__content-actions\" }\nconst _hoisted_6 = { class: \"success-card-scanning__content-actions-item\" }\nconst _hoisted_7 = { class: \"success-card-scanning__content-actions-item\" }\n\n\n\n import UiText from '@bgsonline/frontend-ui-kit/src/components/base/ui-text'\n import UiButton from '@bgsonline/frontend-ui-kit/src/components/base/ui-button.vue'\n import { useAppFullscreenCover } from '@/ui/components/app/AppFullscreenCover/app-fullscreen-cover'\n\n \n const __default__ = {\n name: 'SuccessCardScanningResult',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n props: {\n scanAgainMethod: {\n type: Function,\n required: true,\n },\n openCardMethod: {\n type: Function,\n required: true,\n },\n },\n setup(__props) {\n\nconst props = __props;\n\n \n const { hideFullscreenCover } = useAppFullscreenCover()\n\n function scanAgain() {\n hideFullscreenCover()\n props.scanAgainMethod()\n }\n\n async function openCard() {\n if (typeof props.openCardMethod === 'function') {\n props.openCardMethod()\n }\n hideFullscreenCover()\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_unref(UiText), {\n type: \"title\",\n size: \"l\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"🎉️\")\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_unref(UiText), {\n type: \"title\",\n size: \"l\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('card-holder.messages.success-scanning')) + \"️\", 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(UiButton, {\n outlined: \"\",\n block: \"\",\n onClick: scanAgain\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('card-holder.buttons.one-more')), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createVNode(UiButton, {\n block: \"\",\n onClick: openCard\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('card-holder.buttons.back')), 1)\n ]),\n _: 1\n })\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./SuccessCardScanningResult.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SuccessCardScanningResult.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./SuccessCardScanningResult.vue?vue&type=style&index=0&id=88602e66&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-88602e66\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createTextVNode as _createTextVNode, unref as _unref, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-568559c2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"failure-card-scanning\" }\nconst _hoisted_2 = { class: \"failure-card-scanning__content\" }\nconst _hoisted_3 = { class: \"failure-card-scanning__content-icon\" }\nconst _hoisted_4 = { class: \"failure-card-scanning__content-title\" }\nconst _hoisted_5 = { class: \"failure-card-scanning__content-message\" }\nconst _hoisted_6 = { class: \"failure-card-scanning__content-actions\" }\nconst _hoisted_7 = { class: \"failure-card-scanning__content-actions-item\" }\nconst _hoisted_8 = { class: \"failure-card-scanning__content-actions-item\" }\n\n\n\n import { FailureCardScanningResultProps } from '@/ui/components/event/EventBusinessCards/types'\n\n import UiText from '@bgsonline/frontend-ui-kit/src/components/base/ui-text'\n import UiButton from '@bgsonline/frontend-ui-kit/src/components/base/ui-button.vue'\n import { useAppFullscreenCover } from '@/ui/components/app/AppFullscreenCover/app-fullscreen-cover'\n import '@/ui/components/event/EventBusinessCards/FailureCardScanningResult.vue'\n\n \n const __default__ = {\n name: 'FailureCardScanningResult',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n props: {\n scanAgainMethod: { type: Function },\n message: {},\n onCloseMethod: { type: Function }\n },\n setup(__props: any) {\n\nconst props = __props;\n\n \n const { hideFullscreenCover } = useAppFullscreenCover()\n\n function close() {\n hideFullscreenCover()\n if (props.onCloseMethod && typeof props.onCloseMethod === 'function') {\n props.onCloseMethod()\n }\n }\n\n function scanAgain() {\n hideFullscreenCover()\n props.scanAgainMethod()\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_unref(UiText), {\n type: \"title\",\n size: \"l\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"🤷‍♂️\")\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_unref(UiText), {\n type: \"title\",\n class: \"error\",\n size: \"l\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('card-holder.messages.failure-scanning')) + \"️\", 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n (_ctx.message)\n ? (_openBlock(), _createBlock(_unref(UiText), {\n key: 0,\n type: \"text\",\n size: \"l\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.message), 1)\n ]),\n _: 1\n }))\n : (_openBlock(), _createBlock(_unref(UiText), {\n key: 1,\n type: \"text\",\n size: \"l\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('card-holder.messages.code-not-recognised')), 1)\n ]),\n _: 1\n })),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createVNode(UiButton, {\n outlined: \"\",\n block: \"\",\n onClick: close\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('card-holder.buttons.back')), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(UiButton, {\n block: \"\",\n onClick: scanAgain\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('card-holder.buttons.try-again')), 1)\n ]),\n _: 1\n })\n ])\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./FailureCardScanningResult.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FailureCardScanningResult.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./FailureCardScanningResult.vue?vue&type=style&index=0&id=568559c2&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-568559c2\"]])\n\nexport default __exports__","import { useRouter } from 'vue-router'\n\nimport { useAppQRScanner } from '@/ui/components/app/AppQRScanner/AppQRScanner'\nimport { useBusinessCards, SHARE_TOKEN_PARAM_NAME } from '@/application/businessCards'\nimport { useAppFullscreenCover } from '@/ui/components/app/AppFullscreenCover/app-fullscreen-cover'\nimport i18n from '@/ui/localization'\n\nimport SuccessCardScanningResult from '@/ui/components/event/EventBusinessCards/SuccessCardScanningResult.vue'\nimport FailureCardScanningResult from '@/ui/components/event/EventBusinessCards/FailureCardScanningResult.vue'\nimport { FailureCardScanningResultProps } from '@/ui/components/event/EventBusinessCards/types'\n\nexport function useCards() {\n const { scanQRByCamera } = useAppQRScanner()\n const { addCardByToken, fetchUserCards } = useBusinessCards()\n const { showFullscreenCover } = useAppFullscreenCover()\n const router = useRouter()\n\n async function openSavedCards() {\n await router.push({ name: 'MyEvents' })\n }\n\n function failureScan(props: Omit = {}) {\n showFullscreenCover(FailureCardScanningResult, { scanAgainMethod: () => addCardByScanner(), ...props })\n }\n\n function successScan(backMethod: () => void = openSavedCards) {\n showFullscreenCover(SuccessCardScanningResult, {\n scanAgainMethod: () => addCardByScanner(backMethod),\n openCardMethod: () => backMethod(),\n })\n }\n\n function addCardByScanner(backMethod?: () => void) {\n scanQRByCamera((data: string) => {\n const url = new URL(data)\n const token = url.searchParams.get(SHARE_TOKEN_PARAM_NAME)\n if (token) {\n addCardByToken(token)\n .then(() => {\n fetchUserCards()\n successScan(backMethod)\n })\n .catch((err) => {\n let message = ''\n if (err.message.includes('already shared')) {\n message = i18n.global.t('card-holder.messages.card-already-added')\n }\n failureScan({ message })\n })\n } else failureScan()\n })\n }\n\n return {\n addCardByScanner,\n failureScan,\n successScan,\n }\n}\n","type Platform = 'iPad' | 'iPhone' | 'iPod' | 'Macintosh' | 'Android'\n\nconst isIOS =\n /iPad|iPhone|iPod/.test(navigator.userAgent) || (navigator.userAgent.includes('Mac') && 'ontouchend' in document)\nconst isAndroid = /Android/.test(navigator.userAgent)\n\nfunction is(platform: Platform): boolean {\n const regExp = new RegExp('\\\\(' + platform)\n return regExp.test(navigator.userAgent)\n}\n\nexport function useDevice() {\n return {\n isIOS,\n isAndroid,\n is,\n }\n}\n","import { Ref, ref } from 'vue'\nimport { BeforeInstallPromptEvent } from '@/domain/types'\nimport { useNotifications } from '@/application/notifications'\n\nconst STORAGE_REJECTED_TIME_ITEM_NAME = 'app_installation_rejected_at'\nconst REJECTED_TIME_EXPIRES_AT = 1000 * 60 * 60 * 24 // ms\n\nconst registration: Ref = ref(null)\nconst installEvent: Ref = ref(null)\nconst updateExists = ref(false)\nconst refreshingApp = ref(false)\nconst { savePushSubscription } = useNotifications()\n\nfunction setRegistration(event: ServiceWorkerRegistration) {\n registration.value = event\n updateExists.value = true\n if (navigator.serviceWorker) {\n navigator.serviceWorker.addEventListener('controllerchange', () => {\n if (refreshingApp.value) return\n refreshingApp.value = true\n window.location.reload()\n })\n }\n}\n\nfunction setInstallEvent(event: BeforeInstallPromptEvent) {\n installEvent.value = event\n}\n\nfunction refreshApp() {\n updateExists.value = false\n // Protect against missing registration.waiting.\n if (!registration.value || !registration.value.waiting) {\n return\n }\n registration.value.waiting.postMessage('skip-waiting')\n}\n\nfunction PWAInstaller() {\n installEvent.value?.prompt()\n installEvent.value?.userChoice.then((choice) => {\n if (choice.outcome === 'accepted') {\n // Do something additional if the user chose to install\n } else {\n saveDismissInstallUserChoose()\n }\n })\n}\n\nfunction saveDismissInstallUserChoose() {\n localStorage.setItem(STORAGE_REJECTED_TIME_ITEM_NAME, JSON.stringify(Date.now()))\n}\n\nfunction isAddToHomeScreenPossible() {\n const lastDismissTime = JSON.parse(localStorage.getItem(STORAGE_REJECTED_TIME_ITEM_NAME) || 'null')\n if (lastDismissTime) {\n return Date.now() - Number(lastDismissTime) > REJECTED_TIME_EXPIRES_AT\n }\n return true\n}\n\nfunction subscribeToPush() {\n navigator.serviceWorker?.getRegistration().then((registration) => {\n registration?.pushManager\n .subscribe({\n applicationServerKey: process.env.VUE_APP_PUSH_PUBLIC_KEY,\n userVisibleOnly: true,\n })\n .then(async (subscription) => {\n await savePushSubscription(subscription)\n })\n .catch((error) => {\n console.log('error while subscribing', error)\n })\n })\n}\n\nfunction checkSubscription() {\n navigator.serviceWorker?.getRegistration().then((registration) => {\n registration?.active?.postMessage({ type: 'set-language', data: localStorage.getItem('locale') })\n registration?.pushManager.getSubscription().then(async (subscription) => {\n if (subscription) {\n await savePushSubscription(subscription)\n } else {\n subscribeToPush()\n }\n })\n })\n}\n\nasync function getSubscription() {\n const registration = await navigator.serviceWorker?.getRegistration()\n return registration?.pushManager.getSubscription()\n}\n\nfunction setAppBadge(content: number) {\n // @ts-ignore setAppBadge has partial support (only ios and chrome atm)\n 'setAppBadge' in navigator && navigator.setAppBadge(content)\n}\n\nconst isStandaloneMode = window.matchMedia('(display-mode: standalone)').matches\n\nexport function usePWA() {\n return {\n registration,\n updateExists,\n refreshingApp,\n installEvent,\n setRegistration,\n subscribeToPush,\n refreshApp,\n PWAInstaller,\n setInstallEvent,\n saveDismissInstallUserChoose,\n isAddToHomeScreenPossible,\n checkSubscription,\n getSubscription,\n setAppBadge,\n isStandaloneMode,\n }\n}\n","/*\nSubLayout used for rendering component in layout without routing\n */\nimport { Component, Ref, ref, shallowRef } from 'vue'\n\nexport interface SubLayoutProps {\n hideAppTitle?: boolean\n backButtonText?: string\n}\n\nconst isVisible = ref(false)\nconst subLayoutProps: Ref = ref({})\nconst dynamicComponent: Ref = shallowRef('')\nconst dynamicComponentProps: Ref = ref({})\n\nexport function useSubLayout() {\n function closeSubLayout() {\n dynamicComponent.value = ''\n dynamicComponentProps.value = {}\n isVisible.value = false\n }\n\n function openSubLayout(component: Component, componentProps: any = {}, layoutProps: SubLayoutProps = {}) {\n subLayoutProps.value = layoutProps\n dynamicComponent.value = component\n dynamicComponentProps.value = componentProps\n isVisible.value = true\n }\n\n return { isVisible, dynamicComponent, dynamicComponentProps, subLayoutProps, openSubLayout, closeSubLayout }\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-575fde06\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"shared-business-card__content\" }\n\nimport { computed, PropType } from 'vue'\n import { useDictionary } from '@/application/dictionary'\n\n // Types\n import { Profile } from '@bgsonline/frontend-types/api/event-service'\n\n import { SHARE_TOKEN_PARAM_NAME } from '@/application/businessCards'\n\n // Components\n import UiQrCode from '@bgsonline/frontend-ui-kit/src/components/base/ui-qr-code.vue'\n import UiText from '@bgsonline/frontend-ui-kit/src/components/base/ui-text.vue'\n import { UiWindow } from '@bgsonline/frontend-ui-kit/src/components/base/ui-modal'\n\n // Props\n \n const __default__ = {\n name: 'SharedBusinessCard',\n }\n\nexport default /*#__PURE__*/_defineComponent({\n ...__default__,\n props: {\n profile: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(__props) {\n\nconst props = __props;\n\n \n\n const { contactGroups, fetchDictionary } = useDictionary()\n if (!contactGroups.value.length) {\n fetchDictionary()\n }\n const shareProfileLink = computed(\n () =>\n `${process.env.VUE_APP_BASE_URL}/add-business-card?${SHARE_TOKEN_PARAM_NAME}=${props.profile.share_profile_token}`\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(_unref(UiWindow), {\n class: \"shared-business-card\",\n \"align-center\": \"\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createVNode(UiText, {\n class: \"shared-business-card__content-text\",\n type: \"title\",\n size: \"s\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('card-holder.messages.scan-qr')), 1)\n ]),\n _: 1\n }),\n _createVNode(UiQrCode, {\n data: shareProfileLink.value,\n size: \"333\"\n }, null, 8, [\"data\"])\n ])\n ]),\n _: 1\n }))\n}\n}\n\n})","import script from \"./SharedBusinessCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./SharedBusinessCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./SharedBusinessCard.vue?vue&type=style&index=0&id=575fde06&lang=stylus&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src4237538495/src/frontend-pwa/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-575fde06\"]])\n\nexport default __exports__","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"86\":\"47a71d7f\",\"112\":\"1ecfad8f\",\"125\":\"30bb9c1d\",\"128\":\"64f6328f\",\"141\":\"3a3fb0e9\",\"179\":\"81b3aa5a\",\"215\":\"66e00551\",\"234\":\"895677c9\",\"261\":\"9c4e7798\",\"290\":\"5f2cae4a\",\"314\":\"81a8e149\",\"385\":\"92168ce0\",\"404\":\"8bbc4192\",\"455\":\"bbcd6aba\",\"488\":\"14b0d826\",\"563\":\"5a305634\",\"606\":\"09202a54\",\"631\":\"1b43c42d\",\"639\":\"fdbb0d0e\",\"676\":\"9f21cf6f\",\"697\":\"fbb3832f\",\"823\":\"0226fe44\",\"909\":\"ee86d498\",\"932\":\"46f24a9f\",\"939\":\"3cb4c08f\",\"975\":\"6aff2fe8\",\"1001\":\"c770f1b3\",\"1010\":\"17a9de95\",\"1016\":\"ffb896d2\",\"1131\":\"f39b5882\",\"1173\":\"1ad003e0\",\"1191\":\"78a3bcbd\",\"1231\":\"bea79d19\",\"1265\":\"89046d07\",\"1316\":\"0e7723d5\",\"1387\":\"1dd6abda\",\"1396\":\"025bb37f\",\"1423\":\"a6c56751\",\"1449\":\"af126113\",\"1490\":\"f0946867\",\"1500\":\"3cd4b289\",\"1512\":\"f4d5cbec\",\"1523\":\"cf445999\",\"1541\":\"c87edd63\",\"1547\":\"3dc03a8e\",\"1907\":\"48158fe7\",\"1912\":\"2d32642b\",\"2028\":\"807782ec\",\"2092\":\"b4db5cc9\",\"2150\":\"7cc76ab0\",\"2241\":\"69e3cb7d\",\"2269\":\"a7a9d894\",\"2361\":\"d96940d5\",\"2383\":\"a143ecc8\",\"2402\":\"c75504bf\",\"2429\":\"244dbffe\",\"2519\":\"3d699ae7\",\"2522\":\"5d656c25\",\"2560\":\"c4171d7e\",\"2807\":\"328b61f8\",\"2837\":\"607af0bd\",\"2999\":\"a822a5cd\",\"3005\":\"2b1e7a15\",\"3108\":\"79ffc118\",\"3140\":\"f0c1524f\",\"3185\":\"8bcbeabe\",\"3201\":\"bf84ce58\",\"3208\":\"734d5012\",\"3243\":\"e585c9a7\",\"3308\":\"3a145ae0\",\"3323\":\"24f60ca8\",\"3343\":\"978dba93\",\"3426\":\"9545c603\",\"3473\":\"b83df197\",\"3477\":\"0bdccbc4\",\"3519\":\"e97f76a8\",\"3551\":\"41981d1a\",\"3620\":\"80268e04\",\"3679\":\"f206e81e\",\"3761\":\"7e3029bd\",\"3785\":\"7fec0a6d\",\"3794\":\"0f8f96f4\",\"3875\":\"7a94f150\",\"3919\":\"9e1e4686\",\"3937\":\"1f4da029\",\"3965\":\"a5bc231d\",\"3977\":\"e04396c7\",\"3994\":\"39bfdd3b\",\"4080\":\"b222e645\",\"4089\":\"93aeb253\",\"4130\":\"57b3417d\",\"4188\":\"aa0f14e2\",\"4197\":\"21b7b0ee\",\"4212\":\"8f974830\",\"4223\":\"bb92b0d5\",\"4260\":\"0f3eb1c7\",\"4300\":\"760cee2b\",\"4363\":\"32c51358\",\"4411\":\"7c8eb4c8\",\"4505\":\"553958b5\",\"4616\":\"53acf1dd\",\"4650\":\"9a57a0c8\",\"4735\":\"592550a5\",\"4805\":\"fcca1cb5\",\"4834\":\"2bfec549\",\"4838\":\"407c6b9e\",\"4876\":\"c3d872d2\",\"4924\":\"5e42b7e3\",\"4958\":\"a0ce1769\",\"4988\":\"01704f14\",\"5084\":\"34c6b848\",\"5153\":\"4822b1a5\",\"5161\":\"2c35c686\",\"5176\":\"978308d6\",\"5224\":\"cd286343\",\"5280\":\"622becbf\",\"5355\":\"d563ffb2\",\"5365\":\"27bf7059\",\"5374\":\"f0141305\",\"5418\":\"e55736a5\",\"5440\":\"4013766f\",\"5541\":\"78e7227e\",\"5544\":\"dc34241b\",\"5619\":\"f7edea09\",\"5652\":\"6b850fa9\",\"5654\":\"e56cb635\",\"5678\":\"53fe3b0e\",\"5724\":\"071cd01a\",\"5729\":\"5533e69e\",\"5785\":\"485316d4\",\"5804\":\"8d6faed7\",\"5808\":\"1d6a5dd0\",\"5942\":\"ce883c18\",\"5948\":\"7cb9e6ef\",\"5979\":\"22d5ceb1\",\"5988\":\"4a9120d6\",\"6037\":\"fe968e70\",\"6051\":\"46e12135\",\"6056\":\"f4896b33\",\"6102\":\"a571120d\",\"6149\":\"637abc60\",\"6216\":\"6a3d0551\",\"6223\":\"7c925428\",\"6369\":\"3c0bf87d\",\"6471\":\"243a85ee\",\"6487\":\"feeeba74\",\"6546\":\"f1ec02c0\",\"6601\":\"0943a3f9\",\"6650\":\"f85ba8ae\",\"6703\":\"21318fe9\",\"6762\":\"c18a2628\",\"6781\":\"f756f029\",\"6814\":\"c7a6a957\",\"6826\":\"f99ae8f5\",\"6844\":\"a82579b0\",\"6873\":\"a8780fef\",\"6898\":\"3ee6a0ca\",\"6926\":\"82aeb696\",\"6958\":\"38359290\",\"7010\":\"04f7c77b\",\"7224\":\"f3b71da6\",\"7303\":\"07dfda1d\",\"7455\":\"e52b5b23\",\"7466\":\"e7bc20ca\",\"7471\":\"0970756d\",\"7493\":\"191ce0ec\",\"7548\":\"31f3c2ea\",\"7553\":\"7ab52a39\",\"7785\":\"0b6997a0\",\"7828\":\"6783a528\",\"7877\":\"bed17f7e\",\"7963\":\"8038e389\",\"7989\":\"6140fe5b\",\"8014\":\"9df9657e\",\"8019\":\"ba5d77e1\",\"8236\":\"b9d01e66\",\"8238\":\"216abe0f\",\"8241\":\"443b1c7b\",\"8244\":\"d022b899\",\"8334\":\"b8f4ccd3\",\"8337\":\"56f7ad36\",\"8385\":\"b54ef60d\",\"8462\":\"4eafcad0\",\"8606\":\"8eaff34f\",\"8629\":\"294a328a\",\"8692\":\"ad51da8b\",\"8727\":\"b36749f9\",\"8877\":\"88a3cf9f\",\"8986\":\"e4654ca5\",\"9000\":\"ab440e99\",\"9003\":\"01a160cc\",\"9058\":\"da36df77\",\"9093\":\"cb614716\",\"9128\":\"b3da2fe3\",\"9284\":\"7e9e8d14\",\"9309\":\"fa8240ae\",\"9312\":\"bad7a3ca\",\"9318\":\"464f5813\",\"9349\":\"fefd8736\",\"9506\":\"1e3419f6\",\"9564\":\"68f5a7e5\",\"9585\":\"22b10cca\",\"9598\":\"010766cd\",\"9611\":\"eeff7489\",\"9681\":\"87b564f2\",\"9771\":\"08ac7b35\",\"9783\":\"68bbb68c\",\"9909\":\"a8858a48\",\"9944\":\"308ac419\",\"9960\":\"c114933d\",\"9971\":\"60ef8583\",\"9972\":\"b3f030a5\",\"9988\":\"bdca9f5f\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"606\":\"5dd9281f\",\"1010\":\"ac529b1c\",\"1173\":\"9ee63f30\",\"1316\":\"d597e844\",\"1907\":\"872ec5e1\",\"2402\":\"0e01fa7a\",\"3005\":\"8d60f7fa\",\"3208\":\"46aae54f\",\"3794\":\"5bd18922\",\"3937\":\"31067e3b\",\"4212\":\"72c26afb\",\"4300\":\"350eda68\",\"4805\":\"887166d1\",\"4876\":\"5a427262\",\"4988\":\"f5ce4765\",\"5224\":\"31028019\",\"5544\":\"45393601\",\"5729\":\"ef386c1d\",\"5979\":\"9d3c9fb9\",\"6546\":\"c7cd7407\",\"7553\":\"3eac05c4\",\"7828\":\"032c4292\",\"8244\":\"cb1d8f1d\",\"8629\":\"c5b2c07e\",\"8727\":\"1dd40afa\",\"9093\":\"336aca7b\",\"9960\":\"2dd80f7d\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"bgs-pwa:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t2143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"606\":1,\"1010\":1,\"1173\":1,\"1316\":1,\"1907\":1,\"2402\":1,\"3005\":1,\"3208\":1,\"3794\":1,\"3937\":1,\"4212\":1,\"4300\":1,\"4805\":1,\"4876\":1,\"4988\":1,\"5224\":1,\"5544\":1,\"5729\":1,\"5979\":1,\"6546\":1,\"7553\":1,\"7828\":1,\"8244\":1,\"8629\":1,\"8727\":1,\"9093\":1,\"9960\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t2143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(5979 != chunkId) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = this[\"webpackChunkbgs_pwa\"] = this[\"webpackChunkbgs_pwa\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4998], function() { return __webpack_require__(68921); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","keys","Object","module","exports","REDIRECT_FROM_APP_KEY","useAuthenticate","appStorage","useAppStorage","userStorage","useUserStorage","authService","useAuth","userRepository","useUserRepository","isOnline","value","async","remoteLogin","login","signIn","fetchUser","setAuthenticated","getToken","isAuthenticated","user","getMyUser","setUser","localStorage","setItem","lastUserId","getItem","lastUser","logout","signOut","undefined","getRedirectFromAppPath","setRedirectFromAppPath","path","cards","ref","setCards","data","useCardStorage","SHARE_TOKEN_PARAM_NAME","useBusinessCards","isFetching","cardsStorage","eventService","useEventService","fetchUserCards","response","getMyBusinessCards","getParticipant","participantId","include","addCardByToken","token","addBusinessCard","getUserCardsFile","format","fetch","method","headers","accept","getContentTypeByFormat","Authorization","businessCards","getMyParticipant","header","useEventContents","staticRepository","useStaticRepository","fetchEventRightMenuItems","getMenu","setRightMenuItems","fetchEventTopMenuItems","setTopMenuItems","getEventContent","contentId","getContent","eventRightMenuItems","rightMenuItems","eventTopMenuItems","topMenuItems","contactGroups","setContactGroups","useDictionaryStorage","useDictionary","dictionaryStorage","contactRepository","useContactRepository","fetchDictionary","fetchContactsGroups","getContactGroups","groups","useEventContext","vipMeetingStorage","useVipMeetingsStorage","getUserEventById","useEvents","eventRepository","useEventRepository","participantCompany","computed","participant","profile","companies","setCurrentEventData","eventId","setVipMeetings","setCurrentEventId","event","participant_id","getHttpClient","setHeader","setParticipantId","setCurrentEvent","setParticipant","currentEventId","currentEvent","publicEvents","userEvents","setPublicEvents","setUserEvents","useEventStorage","eventStorage","fetchPublicEvents","events","getEvents","fetchUserEvents","getMyEvents","getEventById","useApplication","readonly","isOffline","useNotifications","notificationService2","useNotificationService2","notificationRepository","useNotificationRepository","liveFeedNotificationsStorage","useLiveFeedNotificationsStorage","loading","fetchEventNotifications","setNotifications","getNotifications","notifications","finally","readNotifications","notificationsIds","markNotificationsAsRead","getPushSubscription","subscriptionId","getWebPushSubscription","savePushSubscription","subscription","endpoint","toJSON","createWebPushSubscription","eventNotifications","unreadNotificationsCount","hasNewNotifications","newNotificationsIds","length","addNotification","notification","alreadyAdded","find","ntf","unshift","deleteNotifications","filter","includes","useSocketNotificationsStorage","lastConnectedParticipantChannel","useWebSocket","webSocketService","WebSocketService","socketNotificationsStorage","connectToParticipantChannel","leaveChannel","participantChannel","connect","subscribe","newNotification","getNotification","notification_id","connectToUserChannel","deleteSocketNotifications","socketNotifications","storePermission","permission","getStorePermission","hasPermission","window","Notification","canAskPermission","requestNotificationPermissions","requestPermission","logAccessStatus","error","console","log","navigator","userAgent","TypeError","result","uuidRegex","urlRegex","emailRegex","phoneRegex","generateUuid","replace","c","r","Math","random","v","toString","validateEmail","String","toLowerCase","validatePhoneNumber","validateUrl","register","ready","registration","document","dispatchEvent","CustomEvent","detail","registered","setInterval","update","cached","updatefound","updated","offline","_hoisted_1","class","__default__","name","_defineComponent","setup","__props","closeModal","visible","dynamicComponentProps","dynamicComponent","modalProps","useAppModal","_ctx","_cache","_openBlock","_createBlock","_unref","UiModal","_mergeProps","modelValue","$event","_isRef","default","_withCtx","_createElementVNode","_resolveDynamicComponent","_","__exports__","_withScopeId","n","_pushScopeId","_popScopeId","refreshApp","refreshingApp","usePWA","UiDialog","okText","$t","cancelText","closeable","disableFooter","_createElementBlock","_Fragment","key","_createTextVNode","_toDisplayString","xmlns","fill","viewBox","d","_hoisted_2","_hoisted_3","_hoisted_4","script","render","stroke","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","saveDismissInstallUserChoose","PWAInstaller","installApp","dismiss","UiWindow","_createVNode","AppIcon","UiText","type","size","ArrowIcon","UiIcon","UiButton","block","outlined","plain","onClick","width","height","_createStaticVNode","$props","$setup","$data","$options","isIOS","isAndroid","useDevice","_createCommentVNode","SafariInstructionList","AndroidInstructionList","isScannerActive","onSuccessfullyDetect","closeScanner","useAppQRScanner","openSubLayout","useSubLayout","camera","torchSupported","torchActive","errorMessage","cameraChanging","onDetect","content","onInit","promise","capabilities","torch","catch","showAllowCameraAccess","setTimeout","switchCamera","setCamera","newCamera","toggleTorch","AllowCameraAccess","hideAppTitle","backButtonText","QrStream","RoundedScannerConner","icon","_normalizeClass","active","rotation","_useCssVars","opacity","isVisible","coverOptions","hideFullscreenCover","useAppFullscreenCover","background","handleMaskClick","maskClickCloseable","transparent","_Transition","_normalizeProps","_guardReactiveProps","_component_router_view","_resolveComponent","__name","route","useRoute","openModal","setRegistration","setInstallEvent","isAddToHomeScreenPossible","checkSubscription","setAppBadge","useAppNotifications","t","useI18n","currentLayout","meta","layout","EmptyLayout","showRefreshAppPrompt","PWAUpdateAvailablePrompt","closeOnOverlay","showInstallAppPrompt","PWAInstallAppPrompt","watch","newVal","prevVal","immediate","ReactNativeWebView","postMessage","JSON","stringify","addEventListener","once","onBeforeMount","onBeforeUnmount","removeEventListener","AppModal","AppQRScanner","AppFullscreenCover","BGSOnlineLogo","AppLoader","authRoutes","component","auth","to","from","next","registerCode","query","registration_invite_code","assign","redirectedFrom","fullPath","router","useRouter","isRoot","history","state","back","iconName","buttonBack","button","text","action","push","params","link","root","appTitle","useApp","BgsOnlineLogo","headerActions","goToHelpCenter","_renderList","item","idx","disabled","_withModifiers","props","showUser","Boolean","AVATAR_SIZE","userAvatarSrc","avatar","url","headerRef","titleRef","goToProfile","ref_key","AppHeaderButtonBack","AppHeaderActions","UiAvatar","src","_TransitionGroup","AppHeaderTitle","UiBadge","color","variant","bordered","directions","Array","SwipeDirection","emits","emit","el","isSwiping","direction","useSwipe","close","_renderSlot","$slots","removeSocketNotification","notificationDuration","removingClass","firstThreeNotifications","read_at","slice","itemAnimation","transitionClass","closeSocketNotification","nextTick","onTimerEnd","openLiveFeed","i","UiSwipeRemoval","onClose","UiKitCallout","timer","UiContent","body","short_body","removeNotification","closeNotification","uuid","UiToast","AppHeader","StatusNotifications","WsNotifications","agreementApproved","agreement_approved","profileAccepted","profile_accepted","myEventRoutes","MainLayout","beforeEnter","_component_ui_icon","_component_ui_badge","items","isActive","label","handleClick","counter","rounded","_component_ui_avatar","_component_ui_button","_component_ui_menu_item","_component_ui_delimiter","_component_ui_menu","className","args","avatarSize","collapse","full_name","goToMyEvents","menuEntries","entry","badge","title","handleItemClick","canInstall","_hoisted_12","_hoisted_13","BgsOnlineIcon","isChrome","match","isSafari","indexOf","useBrowser","copyLink","copy","location","href","InstallInstructionAndroid","InstallInstructionIos","defineComponent","components","UiMenu","UiMenuItem","UiDelimiter","installEvent","isStandaloneMode","defaultEntries","itemPaths","isArray","routePaths","some","toggleCollapse","InstallInstruction","remoteEntries","forEach","menu","menuEntry","buttons","AppMenu","changeRoute","openMenu","AppNavWindow","menuItem","isSidebarCollapsed","expandSidebar","collapseSidebar","toggleSidebar","useSidebar","sidebar","role","closeSubLayout","subLayoutProps","addCardByScanner","useCards","menuItems","shareMyProfile","scanBC","SharedBusinessCard","fab","focused","opened","STATE_TIMEOUT","shallowRef","listenerOptions","passive","capture","timerId","toggleMenu","onMenuClick","onTouchStart","clearTimeout","preventDefault","stopPropagation","onTouchEnd","debounceFocused","onMouseEnter","onMouseLeave","onClickOutside","isOutsideEvent","onTouchOutside","contains","target","onMouseenter","onMouseleave","AppFastAccessMenu","onMousedown","onTouchstart","onTouchend","mainMenuForbiddenPages","isSubLayoutVisible","mainMenuAvailable","SubLayout","AppSidebar","_Teleport","AppBottomMenu","AppFab","eventRoutes","EventLayout","profileRoutes","welcome","routes","myEvents","redirect","createRouter","createWebHistory","scrollBehavior","savedPosition","top","beforeEach","process","VUE_APP_TITLE","defer","compatibility","nonce","enabled","debug","loadScript","vueRouter","trackOnNextTick","loaderApp","createApp","mount","initAuth","setBaseUrl","unmount","App","use","i18n","createGtm","gtmConfig","join","DB","Dexie","constructor","super","this","version","stores","users","timelines","sessions","participants","eventCompanies","stands","contacts","menus","contents","myParticipants","favorites","calendarEventTypes","calendarEvents","eventMeetings","topics","articles","db","useDB","createEventFavorite","favorite","event_id","bulkPut","put","getEvent","getEventParticipants","page","getParticipants","getMe","getEventCompanies","sort","getCompanies","getCompany","companyId","company","getEventFavorites","pageNumber","pageCount","getFavorites","number","pages_count","concat","eventFavorites","addToFavorite","contextId","contextType","createFavorite","context_id","context_type","removeFromFavorite","favoriteId","deleteFavorite","delete","getMeetings","useAdminEventService","deleteMeeting","meetingId","createMeeting","payload","updateMeeting","getMeeting","toArray","get","registration_event_id","where","first","participantIds","getIdsFromFilter","registration_company_id","collection","q","last_name","description","position","companiesIds","user_service_company_id","toCollection","registration_format_type","formats","registrations","registration_owner_id","split","useUserService","updateCompany","companyLastState","updatedCompany","updateCompanyLogo","logo","setCompanyLogo","getEventTimelines","useProgramService","getProgram","getSession","sessionId","session","getSessions","getTopics","getTopic","topicId","topic","table","speakers","speaker","speaker_id","useContactService","deleteContact","contactId","updateContact","contactLastState","updatedContact","getCompanyContacts","getUserContacts","userId","createContact","addContact","resource_id","resource_type","createEventStand","stand","getStands","useStandService","getStand","standId","currentParticipantId","menuTag","useStaticService","getMenus","tag","getArticles","getArticle","eventMenus","tags","useNotificationService","getMyNotifications","notificationId","getMyNotification","notificationIds","markNotificationsRead","updatedNotifications","bulkGet","list","dayjs","sent_at","isAfter","started_at","isBefore","finished_at","onlineEventRepository","offlineEventRepository","onlineUserRepository","offlineUserRepository","useProgramRepository","onlineProgramRepository","offlineProgramRepository","onlineContactRepository","offlineContactRepository","useStandRepository","onlineStandRepository","offlineStandRepository","onlineStaticRepository","offlineStaticRepository","onlineNotificationRepository","offlineNotificationRepository","userService","UserService","standService","StandService","EventService","contactService","ContactService","programService","ProgramService","staticService","StaticService","notificationService","NotificationService","eventAdminService","CalendarService","AdminEventService","NotificationService2","DEFAULT_STORAGE_ITEM_NAME","CODES_STORAGE_ITEM","Auth","options","storage","errorHandler","code_verifier","code_challenge","storageItemName","loadSession","getLoginUrl","loginUrl","URL","authUrl","searchParams","set","userPoolWebClientId","signInRedirectUrl","codes","makeRequest","grant_type","client_id","redirect_uri","refresh_token","removeSession","getRequestHeaders","createUrlencodedString","json","saveSession","parse","savedCodes","generateCodesPair","removeItem","userPoolWebClientSecret","btoa","details","formBody","property","encodedKey","encodeURIComponent","encodedValue","base64URLEncode","crypto","sha256","saveCodesToStorage","str","buffer","digest","config","signOutRedirectUrl","VUE_APP_COGNITO_USER_POOL_WEB_CLIENT_SECRET","echo","watchOnLogout","newValue","redirectFrom","authAppUrl","singInWithCode","setAuthHeader","token_type","id_token","removeAuthHeader","refresh","handleBadResponse","onError","status","reject","request","fetchHttp","useOnline","privatePolicyAgreement","acceptedPrivacyPolicy","updateUser","setUserAvatar","setPrivatePolicyAgreement","vipMeetings","deleteVipMeeting","broadcaster","encrypted","wsHost","wsPort","wssPort","disableStats","forceTLS","authEndpoint","LaravelEchoListener","showFullscreenCover","componentProps","modalsQueue","onModalClose","openFromModalsQueue","modal","shift","visibleTime","onDetectCallback","scanQRByCamera","callback","ru","messages","copied","later","install","save","ok","cancel","start","upload","decline","agree","main","pages","arrived","tabs","current","past","common","agreement","greeting","success","surname","email","mobile","direct","office","provisions","article","delegates","about","chats","exhibition","sponsors","partners","media","program","bio","username","contact","phone","website","headquarters","team","statistics","all","day","links","placeholders","comment","chips","NotAllowedError","OverconstrainedError","NotFoundError","NotSupportedError","NotReadableError","StreamApiNotSupportedError","InsecureContextError","instruction","export","return","download","share","scan","qr","fail","form","terms","time","days","hour","hours","minute","minutes","second","seconds","next_hour","next_two_hours","sponsor","installation","copy_link","ios","safari_required","step1","step2","step3","android","step4","en","unread","useLocalization","httpClient","setLocaleHeader","locale","language","getLang","createI18n","legacy","fallbackLocale","substring","setAppTitle","setHeaderActions","actions","scanAgainMethod","Function","required","openCardMethod","scanAgain","openCard","message","onCloseMethod","openSavedCards","failureScan","FailureCardScanningResult","successScan","backMethod","SuccessCardScanningResult","err","test","is","platform","regExp","RegExp","STORAGE_REJECTED_TIME_ITEM_NAME","REJECTED_TIME_EXPIRES_AT","updateExists","serviceWorker","reload","waiting","prompt","userChoice","choice","outcome","Date","now","lastDismissTime","Number","subscribeToPush","getRegistration","pushManager","applicationServerKey","userVisibleOnly","getSubscription","matchMedia","matches","layoutProps","shareProfileLink","share_profile_token","UiQrCode","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","getter","__esModule","a","definition","defineProperty","enumerable","f","chunkId","reduce","promises","u","miniCssF","g","globalThis","obj","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","onScriptComplete","prev","onerror","onload","doneFns","parentNode","removeChild","bind","head","appendChild","Symbol","toStringTag","nmd","paths","children","p","createStylesheet","fullhref","linkTag","rel","onLinkComplete","errorType","realHref","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}