{"version":3,"sources":["build-constants.js","domains/shared/types/env.ts","domains/shared/constants/media-queries.constants.ts","domains/shared/layout/styles.ts","domains/shared/styles.tsx","domains/shared/constants/env.ts","i18n/languages.ts","domains/shared/utils/environments.ts","i18n/constants.ts","i18n/index.ts","api/services/public-service/types.ts","navigation/book.ts","domains/shared/components/button/styles.ts","domains/shared/components/button/button.component.tsx","domains/shared/constants/main-backgrounds.ts","domains/login/styles.ts","api/types.ts","api/utils.ts","domains/notifications/types.ts","domains/global-errors/global-error.service.ts","domains/shared/services/overlay-service/constants.ts","domains/notifications/container-up/styles.ts","domains/notifications/container-up/toast-container-up.component.tsx","webpack:///./src/domains/shared/components/icon/icons/checked.svg?525f","domains/notifications/container-down/styles.ts","domains/notifications/container-down/toast-container-down.component.tsx","assets/logos/app.svg","domains/shared/components/index.tsx","domains/notifications/styles.ts","domains/notifications/components/notification-lv2.component.tsx","domains/shared/components/icon/styles.ts","domains/shared/components/icon/icons/question-mark.svg","domains/shared/components/icon/icons/question.svg","domains/shared/components/icon/icons/add.svg","domains/shared/components/icon/icons/minus.svg","domains/shared/components/icon/icons/checkmark.svg","domains/shared/components/icon/icons/search.svg","webpack:///./src/domains/shared/components/icon/icons/warning.svg?9169","webpack:///./src/domains/shared/components/icon/icons/error.svg?1aaa","domains/shared/components/icon/icons/settings.svg","domains/shared/components/icon/icons/joystick.svg","domains/shared/components/icon/icons/news.svg","domains/shared/components/icon/icons/microphone.svg","domains/shared/components/icon/icons/link.svg","domains/shared/components/icon/icons/clock.svg","domains/shared/components/icon/icons/box.svg","domains/shared/components/icon/icons/arrow.svg","domains/shared/components/icon/icons/more.svg","domains/shared/components/icon/icons/menu.svg","domains/shared/components/icon/icons/close.svg","domains/shared/components/icon/icons/attachment.svg","domains/shared/components/icon/icons/exit.svg","domains/shared/components/icon/icons/maintenance.svg","domains/shared/components/icon/icons/cogwheel.svg","domains/shared/components/icon/icons/announce.svg","domains/shared/components/icon/icons/open-box.svg","domains/shared/components/icon/icons/note.svg","domains/shared/components/icon/icons/fire.svg","domains/shared/components/icon/icons/lock-open.svg","domains/shared/components/icon/icons/lock-closed.svg","domains/shared/components/icon/icons/calendar.svg","domains/shared/components/icon/icons/download.svg","webpack:///./src/domains/shared/components/icon/icons/loading.svg?02ad","domains/shared/components/icon/icons/cursor.svg","domains/shared/components/icon/icons/personalization.svg","domains/shared/components/icon/icons/time.svg","domains/shared/components/icon/icons/gift.svg","domains/shared/components/icon/icons/achievement.svg","domains/shared/components/icon/icons/copy.svg","domains/shared/components/icon/icons/bell.svg","domains/shared/components/icon/icons/alert.svg","domains/shared/components/icon/icons/timer.svg","webpack:///./src/domains/shared/components/icon/icons/refresh.svg?7373","domains/shared/components/icon/icons/upload.svg","domains/shared/components/icon/icons/player.svg","domains/shared/components/icon/icons/bucket.svg","domains/shared/components/icon/icons/edit.svg","domains/shared/components/icon/icons/like.svg","domains/shared/components/icon/icons/mail.svg","domains/shared/components/icon/icons/pointer.svg","domains/shared/components/icon/icons/unlink.svg","domains/shared/components/icon/icons/calendar-event.svg","domains/shared/components/icon/icons/ps5.svg","domains/shared/components/icon/icons/xbox.svg","domains/shared/components/icon/icons/ps4.svg","domains/shared/components/icon/icons/pc.svg","domains/shared/components/icon/icons/switch.svg","domains/shared/components/icon/icons/mobile.svg","domains/shared/components/icon/icons/vr.svg","domains/shared/components/icon/icons/ios.svg","domains/shared/components/icon/icons/android.svg","domains/shared/components/icon/icons/twitch.svg","domains/shared/components/icon/icons/x.svg","domains/shared/components/icon/icons/youtube.svg","domains/shared/components/icon/icons/instagram.svg","domains/shared/components/icon/icons/facebook.svg","domains/shared/components/icon/icons/tiktok.svg","domains/shared/components/icon/icons/vk.svg","domains/shared/components/icon/icons/afreecatv.svg","domains/shared/components/icon/icons/discord.svg","domains/shared/components/icon/icons/nonolive.svg","domains/shared/components/icon/icons/mildom.svg","domains/shared/components/icon/icons/nimotv.svg","domains/shared/components/icon/icons/openrec.svg","domains/shared/components/icon/icons/reddit.svg","domains/shared/components/icon/icon.component.tsx","domains/shared/components/icon/utils.ts","domains/notifications/components/close-button/index.tsx","domains/shared/services/logging.service.ts","domains/notifications/constants.tsx","domains/shared/utils/dates.ts","domains/notifications/utils.tsx","domains/notifications/notifications.service.tsx","domains/shared/services/overlay-service/service.ts","api/config.ts","api/interceptor.ts","domains/global-errors/utils.ts","api/services/public-service/urls.ts","domains/programs/types.ts","api/services/public-service/service.ts","domains/shared/services/referral/constants.ts","i18n/types.ts","domains/shared/services/referral/referral.service.ts","domains/sign-up/sign-up-data.service.ts","api/services/oauth/urls.ts","api/services/oauth/types.ts","api/services/oauth/constants.ts","analytics/analytics-provider.constants.ts","api/services/oauth/service.ts","domains/shared/constants/channels.ts","domains/sign-up/store/sign-up.store.ts","domains/sign-up/constants.ts","api/services/ubi-service/urls.ts","domains/shared/constants/news.ts","api/services/ubi-service/service.ts","analytics/analytics-provider.service.ts","analytics/analytics-provider.utils.ts","domains/login/constants.ts","domains/login/session.store.ts","domains/profile/constants.ts","domains/profile/utils.ts","domains/profile/profile.restrictions.ts","domains/shared/utils/tags.ts","domains/shared/utils/file.ts","domains/profile/payment-details.ts","domains/dialogs/types.ts","domains/profile/profile.store.ts","domains/shared/utils/programs.ts","domains/shared/stores/metadata.store.ts","navigation/app-history.ts","domains/dialogs/dialogs.store.ts","domains/dashboard/campaigns/store/types.ts","domains/shared/stores/utils.ts","domains/shared/stores/iplocation.store.ts","domains/dashboard/notifications-center/store/constants.ts","domains/dashboard/notifications-center/store/notifications.store.ts","domains/dashboard/campaigns/store/utils.ts","domains/dashboard/campaigns/store/campaigns.store.ts","domains/dashboard/news/store/news.store.ts","domains/dashboard/news/store/constants.ts","init/root-store.ts","domains/shared/components/breadcrumbs/types.ts","domains/dialogs/popups-blocked/styles.ts","domains/dialogs/styles.ts","domains/dialogs/popups-blocked/constants.ts","domains/dialogs/popups-blocked/popups-blocked.dialog.tsx","domains/shared/hooks/useCenteredPopup.ts","analytics/hooks/usePageEventHook.ts","domains/shared/hooks/breakpoints.ts","domains/login/login.page.tsx","domains/login/hooks/useLogin.ts","domains/shared/components/spinner/styles.ts","assets/other/loader.gif","domains/shared/components/spinner/index.tsx","domains/theme/theme.service.ts","domains/theme/styles.ts","domains/theme/index.tsx","domains/shared/layout/main.layout.tsx","domains/shared/layout/loading.layout.tsx","domains/shared/components/breadcrumbs/styles.ts","domains/shared/components/breadcrumbs/breadcrumb.component.tsx","domains/shared/components/breadcrumbs/index.tsx","domains/shared/components/breadcrumbs/utils.ts","domains/sign-up/form-container/styles.ts","domains/shared/utils/document.ts","domains/shared/hooks/useStepper.ts","domains/sign-up/styles.ts","domains/sign-up/requirements/styles.ts","navigation/external-links.ts","assets/requirements/mature.svg","assets/requirements/file.svg","assets/requirements/data.svg","domains/sign-up/requirements/constants.tsx","domains/sign-up/requirements/requirement-item/styles.ts","domains/sign-up/requirements/requirement-item/requirement-item.component.tsx","analytics/hooks/useFlowEventHook.ts","domains/sign-up/form-container/context.ts","domains/sign-up/hooks/useSignUpAnalytics.ts","domains/shared/components/navigation-control/index.tsx","domains/sign-up/linking/styles.ts","domains/sign-up/linking/constants.ts","domains/dialogs/social-media/youtube-channels/styles.ts","domains/dialogs/social-media/youtube-channels/constants.ts","domains/shared/components/radio-group/radio-group.styles.ts","domains/shared/components/radio-group/radio-group.component.tsx","domains/dialogs/social-media/youtube-channels/youtube-channels.dialog.tsx","domains/dialogs/social-media/youtube-linking/styles.ts","domains/dialogs/social-media/youtube-linking/constants.ts","domains/dialogs/social-media/youtube-linking/youtube-linking.dialog.tsx","assets/other/youtube-services.png","domains/shared/hooks/useLinkingUtils/constants.ts","domains/shared/hooks/useLinkingUtils/utils.ts","domains/shared/hooks/useLinkingUtils/index.ts","domains/shared/utils/platforms.ts","domains/shared/hooks/useFilterChannels.ts","navigation/types.ts","domains/sign-up/linking/channel/styles.ts","domains/sign-up/linking/channel/constants.ts","domains/shared/components/button/action-cta/styles.ts","domains/shared/components/button/action-cta/constants.ts","domains/shared/components/tooltip/styles.ts","domains/shared/components/tooltip/tooltip.component.tsx","domains/shared/components/button/action-cta/action-cta.component.tsx","domains/shared/components/input/input.styles.ts","domains/shared/components/input/input.component.tsx","domains/dialogs/social-media/styles.ts","domains/dialogs/social-media/constants.ts","domains/shared/hooks/useForm.ts","domains/shared/validators/constants.ts","domains/shared/validators/base.validators.ts","domains/shared/validators/channel.validation.ts","domains/shared/validators/email.validation.ts","domains/shared/validators/creator-code.validation.ts","domains/dialogs/social-media/social-media.dialog.tsx","domains/dialogs/social-media/twitch-linked/styles.ts","domains/dialogs/social-media/twitch-linked/constants.ts","domains/dialogs/social-media/twitch-linked/components/account-information.component.tsx","domains/shared/hooks/useLoadingAction.ts","domains/dialogs/social-media/twitch-linked/components/change-account.component.tsx","domains/dialogs/social-media/twitch-linked/twitch-linked.dialog.tsx","domains/shared/components/cards/channel/styles.ts","domains/sign-up/linking/channel/channel.component.tsx","domains/sign-up/linking/channel/useChannel.ts","domains/sign-up/linking/communication-channels/styles.ts","domains/sign-up/linking/communication-channels/constants.ts","domains/sign-up/linking/communication-channels/communication-channels.component.tsx","domains/sign-up/linking/linking.component.tsx","domains/sign-up/linking/hooks/useLinkingReactions.ts","domains/shared/components/combobox/styles.ts","domains/shared/components/combobox/constants.ts","domains/shared/components/combobox/combobox.component.tsx","domains/sign-up/user-information/styles.ts","domains/sign-up/user-information/constants.ts","domains/dialogs/email-editing/styles.ts","domains/dialogs/email-editing/contants.ts","domains/dialogs/email-editing/email-editing.dialog.tsx","domains/sign-up/user-information/user-information.component.tsx","domains/sign-up/form-container/constants.ts","domains/sign-up/requirements/requirements.component.tsx","domains/sign-up/form-container/form-container.component.tsx","domains/feedback/styles.ts","domains/feedback/warnings/constants.ts","domains/feedback/animated-status.layout.tsx","domains/feedback/warnings/signup-blocked.page.tsx","domains/sign-up/sign-up.page.tsx","navigation/utils.ts","navigation/private-router.tsx","domains/feedback/profile/constants.ts","domains/feedback/profile/left.page.tsx","domains/feedback/profile/rejected.page.tsx","domains/feedback/profile/banned.page.tsx","domains/feedback/profile/applied.page.tsx","domains/feedback/profile/index.tsx","domains/dashboard/styles.ts","assets/other/stripes.png","domains/dashboard/navigation/styles.ts","domains/dashboard/navigation/constants.ts","domains/dashboard/navigation/web-navigation.component.tsx","domains/dashboard/navigation/extra-links.component.tsx","domains/dashboard/navigation/mobile-navigation.component.tsx","domains/dashboard/navigation/index.tsx","domains/dashboard/notifications-center/styles.ts","domains/dashboard/notifications-center/constants.ts","domains/dashboard/notifications-center/day/styles.ts","domains/dashboard/notifications-center/notification/styles.ts","domains/shared/components/loading/styles.ts","domains/shared/components/loading/constants.ts","domains/shared/components/loading/index.tsx","domains/dashboard/notifications-center/notification/notification.component.tsx","domains/dashboard/notifications-center/day/day.component.tsx","domains/dashboard/notifications-center/empty.component.tsx","domains/dialogs/confirmation/styles.ts","domains/dialogs/confirmation/constants.ts","domains/dialogs/confirmation/confirmation.dialog.tsx","domains/dashboard/notifications-center/notifications-center.page.tsx","domains/dashboard/settings/constants.ts","domains/dashboard/settings/leave-section/styles.ts","domains/shared/components/texarea/styles.ts","domains/shared/components/texarea/index.tsx","domains/dialogs/leave-program/styles.ts","domains/dialogs/leave-program/constants.ts","domains/dialogs/leave-program/leave-program.dialog.tsx","domains/dialogs/leave-program/hooks/useProgramLeaving.ts","domains/dashboard/settings/leave-section/leave-section.component.tsx","domains/dashboard/settings/gaming-section/styles.ts","domains/dialogs/game-preferences/styles.ts","domains/dashboard/campaigns/root/types.ts","domains/shared/components/cards/styles.ts","domains/shared/components/cards/game-platform/styles.ts","domains/shared/components/cards/game-platform/constants.ts","domains/shared/components/cards/game-platform/index.tsx","domains/shared/utils/array.ts","domains/dialogs/game-preferences/hooks/useGamePreferences.ts","domains/dialogs/game-preferences/hooks/useGamePrefAnalytics.ts","domains/dialogs/game-preferences/constants.ts","domains/shared/components/cards/franchise/styles.ts","assets/placeholders/swirl.svg","domains/shared/components/cards/franchise/constants.ts","domains/shared/components/cards/franchise/index.tsx","domains/dialogs/game-preferences/game-preferences.dialog.tsx","domains/dashboard/settings/gaming-section/gaming-section.component.tsx","domains/dashboard/settings/communication/styles.ts","domains/dashboard/settings/communication/personal.component.tsx","domains/dashboard/settings/channels-section/styles.ts","domains/dashboard/settings/channels-section/constants.ts","domains/dashboard/linking/useLinkingContext.ts","domains/dialogs/account-channel-remove-warning/styles.ts","domains/dialogs/account-channel-remove-warning/constants.ts","domains/dialogs/account-channel-remove-warning/account-channel-remove-warning.dialog.tsx","domains/dialogs/social-media/twitch-token-refresh/styles.ts","domains/dialogs/social-media/twitch-token-refresh/constants.ts","domains/dialogs/social-media/twitch-token-refresh/twitch-refresh.dialog.tsx","domains/shared/components/cards/channel/constants.ts","domains/shared/components/cards/channel/index.tsx","domains/dashboard/settings/channels-section/channel/channel.component.tsx","domains/dashboard/settings/channels-section/channel/useChannel.ts","domains/dashboard/settings/channels-section/empty-section/styles.ts","domains/dashboard/settings/channels-section/empty-section/empty.component.tsx","domains/dashboard/settings/channels-section/extra-channels.component.tsx","domains/dashboard/settings/channels-section/primary-channel.component.tsx","domains/dashboard/settings/channels-section/channels.component.tsx","domains/dashboard/settings/tags-section/styles.ts","domains/shared/components/cards/tag/styles.ts","domains/shared/components/cards/tag/index.tsx","domains/dashboard/settings/tags-section/tags-group.component.tsx","domains/dialogs/tags/styles.ts","domains/dialogs/tags/constants.ts","domains/dialogs/tags/context.ts","domains/dialogs/tags/tag.component.tsx","domains/dialogs/tags/tags-group.component.tsx","domains/shared/components/progress-bar/styles.ts","domains/shared/components/progress-bar/progress-bar.component.tsx","domains/shared/components/progress-bar/tags-progress.component.tsx","domains/dialogs/tags/tags.dialog.tsx","domains/dialogs/tags/hooks/useTagsAnalytics.ts","domains/dashboard/settings/tags-section/empty.component.tsx","domains/dashboard/settings/tags-section/tags-section.component.tsx","domains/dialogs/contact-info/styles.ts","domains/dialogs/contact-info/constants.ts","domains/dialogs/contact-info/contact-info.dialog.tsx","domains/shared/hooks/useContactChannel.ts","domains/dashboard/settings/communication/channel.component.tsx","domains/dashboard/settings/communication/contact.component.tsx","domains/dashboard/settings/settings.page.tsx","domains/dashboard/campaigns/root/styles.ts","domains/dashboard/campaigns/root/constants.ts","domains/dashboard/campaigns/announcement/types.ts","domains/dashboard/campaigns/root/welcome-message/styles.ts","domains/dashboard/campaigns/root/welcome-message/welcome-message.component.tsx","domains/dashboard/campaigns/root/campaigns/styles.ts","domains/dashboard/campaigns/root/campaigns/active/styles.ts","domains/dashboard/campaigns/components/invitation-date/styles.ts","domains/shared/components/lazy-image/styles.ts","assets/placeholders/transparent.svg","domains/shared/components/lazy-image/index.tsx","domains/dashboard/campaigns/components/invitation-date/constants.ts","domains/dashboard/campaigns/components/invitation-date/index.tsx","domains/dashboard/campaigns/components/invitation-date/utils.ts","domains/dashboard/campaigns/components/invitation-types/accepted/styles.ts","domains/shared/constants/installments-images.ts","domains/dashboard/campaigns/invitation/benefits/utils/constants.ts","domains/dashboard/campaigns/invitation/benefits/utils/index.ts","domains/dashboard/campaigns/components/invitation-types/hooks/useInvitation.ts","domains/dashboard/campaigns/components/invitation-types/utils.ts","domains/dashboard/campaigns/components/invitation-types/accepted/constants.ts","domains/dashboard/campaigns/components/invitation-types/accepted/accepted-invitation.component.tsx","domains/dashboard/campaigns/components/invitation-types/accepted/accepted-invitation.skeleton.tsx","domains/dashboard/campaigns/root/campaigns/active/invitation-list.skeleton.tsx","domains/dashboard/campaigns/components/empty-invitation-section/styles.ts","domains/dashboard/campaigns/components/empty-invitation-section/constants.ts","domains/dashboard/campaigns/components/empty-invitation-section/index.tsx","domains/dashboard/campaigns/root/campaigns/active/active-invitations.component.tsx","domains/shared/components/slider/styles.ts","domains/shared/components/slider/index.tsx","domains/dashboard/campaigns/components/available-invitation-list/styles.ts","domains/dashboard/campaigns/components/invitation-types/available/styles.ts","domains/dashboard/campaigns/components/invitation-types/available/constants.ts","domains/dashboard/campaigns/components/invitation-types/available/available-invitation.component.tsx","domains/dashboard/campaigns/components/invitation-types/available/available-invitation.skeleton.tsx","domains/dashboard/campaigns/components/available-invitation-list/available-invitation-list.component.tsx","domains/dashboard/campaigns/components/available-invitation-list/constants.ts","domains/dashboard/campaigns/components/available-invitation-list/available-invitation-list.skeleton.tsx","domains/dashboard/campaigns/root/campaigns/available/available-invitations.component.tsx","domains/dashboard/campaigns/root/campaigns/campaigns.component.tsx","domains/dashboard/campaigns/root/programs/styles.ts","assets/programs/placeholders/program-360x450.svg","assets/programs/placeholders/program-950x296.svg","domains/programs/utils.ts","domains/dashboard/campaigns/root/programs/program/styles.ts","domains/dashboard/campaigns/root/programs/constants.ts","domains/dialogs/brand-program/join/context.ts","domains/dialogs/brand-program/join/styles.ts","domains/dialogs/brand-program/join/details/styles.ts","domains/dialogs/brand-program/join/details/constants.ts","domains/shared/components/checkbox/styles.ts","domains/shared/components/checkbox/checkbox.component.tsx","domains/dialogs/brand-program/join/details/confidential-details.component.tsx","domains/dialogs/brand-program/join/details/utils.ts","domains/dialogs/brand-program/join/details/common-details.component.tsx","domains/dialogs/brand-program/join/details/details.component.tsx","domains/dialogs/brand-program/join/success/constants.ts","domains/dialogs/brand-program/join/success/success.component.tsx","domains/dialogs/brand-program/join/hooks/useJoinProgram.ts","domains/dialogs/brand-program/join/join-program.dialog.tsx","domains/dashboard/campaigns/root/programs/hooks/useProgram.ts","domains/dashboard/campaigns/root/programs/program/program.component.tsx","domains/dashboard/campaigns/root/programs/programs.component.tsx","domains/dashboard/campaigns/root/programs/program/special-program.component.tsx","domains/dashboard/campaigns/root/programs/program/utils.ts","domains/dashboard/campaigns/root/welcome-gift/styles.ts","assets/programs/other/rc-gift.png","domains/dashboard/campaigns/root/welcome-gift/constants.ts","domains/dialogs/welcome-gift/styles.ts","assets/welcome-gifts/mobile/rc.png","assets/welcome-gifts/web/rc.png","domains/dialogs/welcome-gift/constants.ts","domains/dialogs/welcome-gift/welcome-gift.dialog.tsx","domains/dashboard/campaigns/root/welcome-gift/welcome-gift.component.tsx","domains/dashboard/campaigns/root/welcome-gift/hooks/useBrandProgramWelcomeGift.ts","domains/dashboard/campaigns/game-releases/styles.ts","domains/dashboard/campaigns/game-releases/constants.ts","domains/dashboard/campaigns/game-releases/release/styles.ts","domains/dashboard/campaigns/game-releases/release/constants.ts","domains/dashboard/campaigns/game-releases/release/release.component.tsx","domains/dashboard/campaigns/game-releases/release/release.skeleton.tsx","domains/dashboard/campaigns/game-releases/release-list.skeleton.tsx","domains/dashboard/campaigns/game-releases/index.tsx","assets/announcement/videos/skull-&-bones/mobile.webm","assets/announcement/videos/skull-&-bones/tablet.webm","assets/announcement/videos/skull-&-bones/desktop.webm","assets/announcement/logos/uf2024.svg","assets/announcement/videos/xdefiant-s1/mobile.webm","assets/announcement/videos/xdefiant-s1/tablet.webm","assets/announcement/videos/xdefiant-s1/desktop.webm","assets/announcement/logos/xdefiant-s1.svg","assets/announcement/logos/sw.svg","assets/announcement/logos/AC_Shadows.svg","domains/dashboard/campaigns/announcement/constants.ts","domains/shared/types/countries.ts","domains/dashboard/campaigns/announcement/styles.ts","domains/dashboard/campaigns/announcement/new-event.component.tsx","domains/dashboard/campaigns/announcement/utils.ts","domains/dashboard/campaigns/announcement/index.tsx","domains/dashboard/campaigns/root/campaigns.page.tsx","domains/dashboard/campaigns/invitation/styles.ts","domains/dashboard/campaigns/invitation/constants.ts","domains/dashboard/campaigns/invitation/invitation.store.ts","domains/dashboard/campaigns/invitation/context.ts","domains/dashboard/campaigns/invitation/description/styles.ts","domains/dashboard/campaigns/invitation/description/constants.ts","domains/dialogs/invitation/participate/context.ts","domains/dialogs/invitation/hooks/useParticipationAnalytics.ts","domains/dialogs/invitation/participate/styles.ts","domains/dialogs/invitation/participate/steps/embargo/styles.ts","domains/dialogs/invitation/participate/steps/constants.ts","domains/dialogs/invitation/participate/steps/embargo/embargo-step.component.tsx","domains/dialogs/invitation/participate/steps/details/styles.ts","domains/dialogs/invitation/participate/steps/details/contact-channels/styles.ts","domains/dialogs/invitation/participate/steps/details/channel/channel.component.tsx","domains/dialogs/invitation/participate/steps/details/contact-channels/contact-channels.component.tsx","domains/shared/components/dropdown/styles.ts","domains/shared/components/dropdown/dropdown-multiple.component.tsx","domains/shared/components/dropdown/dropdown.component.tsx","domains/dialogs/invitation/participate/steps/details/platforms/styles.ts","domains/dialogs/invitation/participate/steps/details/platforms/platforms.component.tsx","domains/dialogs/invitation/participate/steps/details/details-step.component.tsx","domains/dialogs/invitation/participate/steps/ftc/styles.ts","domains/shared/components/ftc/styles.ts","domains/shared/components/ftc/constants.ts","domains/shared/components/ftc/index.tsx","domains/shared/components/ftc/utils.ts","domains/dialogs/invitation/participate/steps/ftc/ftc-step.component.tsx","domains/dialogs/invitation/stores/constants.ts","domains/dialogs/invitation/stores/benefit-platforms.store.tsx","domains/dashboard/assistance/contact-us/types.ts","domains/dialogs/invitation/stores/participation.store.ts","domains/dialogs/invitation/participate/participation.dialog.tsx","domains/dialogs/invitation/decline/styles.ts","domains/dialogs/invitation/decline/constants.ts","domains/dialogs/invitation/decline/decline-invitation.dialog.tsx","domains/dashboard/campaigns/invitation/description/description.component.tsx","domains/dashboard/campaigns/invitation/embargo/styles.ts","domains/dashboard/campaigns/invitation/embargo/constants.ts","domains/dashboard/campaigns/invitation/embargo/embargo.component.tsx","domains/dashboard/campaigns/invitation/guidelines/styles.ts","domains/dashboard/campaigns/invitation/guidelines/constants.ts","domains/dashboard/campaigns/invitation/guidelines/guidelines.component.tsx","domains/dashboard/campaigns/invitation/ftc/styles.ts","domains/dashboard/campaigns/invitation/ftc/constants.ts","domains/dashboard/campaigns/invitation/ftc/ftc.component.tsx","domains/dashboard/campaigns/invitation/resources/styles.ts","domains/dashboard/campaigns/invitation/resources/constants.ts","domains/dashboard/campaigns/invitation/resources/asset.component.tsx","domains/dashboard/campaigns/invitation/resources/resources.component.tsx","domains/dashboard/campaigns/invitation/resources/utils.ts","domains/dashboard/campaigns/invitation/assistance/styles.ts","domains/dashboard/campaigns/invitation/assistance/constants.ts","domains/dashboard/campaigns/invitation/assistance/assistance.component.tsx","domains/dashboard/not-available/styles.ts","domains/dashboard/not-available/index.tsx","domains/shared/components/icon/icons/checked.svg","domains/shared/components/icon/icons/refresh.svg","domains/shared/components/icon/icons/warning.svg","domains/dashboard/campaigns/invitation/benefits/styles.ts","domains/dashboard/campaigns/invitation/benefits/conditional-reward/styles.ts","domains/dashboard/campaigns/invitation/benefits/constants.ts","domains/dashboard/campaigns/invitation/benefits/stores/general-data.ts","domains/dashboard/campaigns/invitation/benefits/stores/reward.store.ts","domains/dashboard/campaigns/invitation/benefits/conditional-reward/user-content/styles.ts","domains/dashboard/campaigns/invitation/benefits/conditional-reward/user-content/embargo/styles.ts","domains/dashboard/campaigns/invitation/benefits/conditional-reward/context.ts","domains/dashboard/campaigns/invitation/benefits/conditional-reward/user-content/embargo/constants.ts","domains/dashboard/campaigns/invitation/benefits/conditional-reward/user-content/embargo/embargo.component.tsx","domains/dashboard/campaigns/invitation/benefits/conditional-reward/user-content/feedback/styles.ts","domains/dashboard/campaigns/invitation/benefits/conditional-reward/user-content/feedback/constants.ts","domains/dashboard/campaigns/invitation/benefits/conditional-reward/user-content/feedback/feedback.component.tsx","domains/dashboard/campaigns/invitation/benefits/conditional-reward/user-content/constants.ts","domains/dashboard/campaigns/invitation/benefits/conditional-reward/user-content/form/styles.ts","domains/dashboard/campaigns/invitation/benefits/conditional-reward/user-content/form/constants.ts","domains/dashboard/campaigns/invitation/benefits/conditional-reward/user-content/form/form.component.tsx","domains/dashboard/campaigns/invitation/benefits/conditional-reward/user-content/end-date/styles.ts","domains/dashboard/campaigns/invitation/benefits/conditional-reward/user-content/end-date/constants.ts","domains/dashboard/campaigns/invitation/benefits/conditional-reward/user-content/end-date/end-date.component.tsx","domains/dashboard/campaigns/invitation/benefits/conditional-reward/user-content/index.tsx","domains/dashboard/campaigns/invitation/benefits/conditional-reward/delivary/styles.ts","domains/dashboard/campaigns/invitation/benefits/conditional-reward/delivary/constants.ts","domains/dashboard/campaigns/invitation/benefits/components/claim/styles.ts","domains/dialogs/benefits/benefit-platform/styles.ts","domains/dialogs/benefits/benefit-platform/constants.ts","domains/dialogs/benefits/benefit-platform/benefit-platform.dialog.tsx","domains/dashboard/campaigns/invitation/benefits/components/claim/constants.ts","domains/shared/utils/sleep.ts","domains/dashboard/campaigns/invitation/benefits/components/claim/claim-reward.component.tsx","domains/dashboard/campaigns/invitation/benefits/components/keys/styles.ts","domains/dashboard/campaigns/invitation/benefits/components/keys/constants.ts","domains/dialogs/benefits/benefit-keys/styles.ts","domains/dialogs/benefits/benefit-keys/constants.ts","domains/dialogs/benefits/benefit-keys/benefit-keys.dialog.tsx","domains/dashboard/campaigns/invitation/benefits/components/keys/index.tsx","domains/dashboard/campaigns/invitation/benefits/conditional-reward/delivary/keys-delivery.component.tsx","domains/dashboard/campaigns/invitation/benefits/conditional-reward/delivary/game-items-delivery.component.tsx","domains/dashboard/campaigns/invitation/benefits/conditional-reward/delivary/invitation-delivery.component.tsx","domains/dashboard/campaigns/invitation/benefits/conditional-reward/constants.ts","domains/dashboard/campaigns/invitation/benefits/conditional-reward/delivary/index.tsx","domains/dashboard/campaigns/invitation/benefits/conditional-reward/index.tsx","domains/dashboard/campaigns/invitation/benefits/extra-reward/styles.ts","domains/dashboard/campaigns/invitation/benefits/extra-reward/delivery/constants.ts","domains/dashboard/campaigns/invitation/benefits/extra-reward/context.ts","domains/dashboard/campaigns/invitation/benefits/extra-reward/delivery/early-access-delivery.components.tsx","domains/dashboard/campaigns/invitation/benefits/extra-reward/delivery/keys-delivery.components.tsx","domains/dashboard/campaigns/invitation/benefits/extra-reward/delivery/game-items-delivery.components.tsx","domains/dashboard/campaigns/invitation/benefits/extra-reward/delivery/physical-goods-delivery.component.tsx","domains/dashboard/campaigns/invitation/benefits/extra-reward/delivery/viewer-rewards-delivery.component.tsx","domains/dashboard/campaigns/invitation/benefits/extra-reward/delivery/sub-rewards-delivery.component.tsx","domains/dashboard/campaigns/invitation/benefits/extra-reward/delivery/invitation-delivery.component.tsx","domains/dashboard/campaigns/invitation/benefits/extra-reward/delivery/early-access-prod-delivery.components.tsx","domains/dashboard/campaigns/invitation/benefits/extra-reward/delivery/closed-beta-delivery.component.tsx","domains/dashboard/campaigns/invitation/benefits/extra-reward/constants.ts","domains/dashboard/campaigns/invitation/benefits/components/platforms/styles.ts","domains/dashboard/campaigns/invitation/benefits/components/platforms/constants.ts","domains/dashboard/campaigns/invitation/benefits/components/platforms/reward-platforms.component.tsx","domains/dashboard/campaigns/invitation/benefits/components/country-blocked/styles.ts","domains/dashboard/campaigns/invitation/benefits/components/country-blocked/index.tsx","domains/dashboard/campaigns/invitation/benefits/components/extra-feedback/styles.ts","domains/dashboard/campaigns/invitation/benefits/components/extra-feedback/constants.ts","domains/dashboard/campaigns/invitation/benefits/components/extra-feedback/index.tsx","domains/dashboard/campaigns/invitation/benefits/extra-reward/index.tsx","domains/dashboard/campaigns/invitation/benefits/benefit/styles.ts","domains/dashboard/campaigns/invitation/benefits/benefit/delivery/constants.ts","domains/dashboard/campaigns/invitation/benefits/benefit/context.ts","domains/dashboard/campaigns/invitation/benefits/components/claim/claim-benefit.component.tsx","domains/dashboard/campaigns/invitation/benefits/benefit/delivery/early-access-delivery.components.tsx","domains/dashboard/campaigns/invitation/benefits/benefit/delivery/game-keys-delivery.components.tsx","domains/dashboard/campaigns/invitation/benefits/benefit/status/styles.ts","domains/dashboard/campaigns/invitation/benefits/benefit/delivery/game-items-delivery.components.tsx","domains/dashboard/campaigns/invitation/benefits/benefit/delivery/physical-goods-delivery.component.tsx","domains/dashboard/campaigns/invitation/benefits/benefit/delivery/viewer-rewards-delivery.component.tsx","domains/dashboard/campaigns/invitation/benefits/benefit/delivery/sub-rewards-delivery.component.tsx","domains/dashboard/campaigns/invitation/benefits/benefit/delivery/invitation-delivery.component.tsx","domains/dashboard/campaigns/invitation/benefits/benefit/delivery/early-access-prod-delivery.components.tsx","domains/dashboard/campaigns/invitation/benefits/benefit/delivery/closed-beta-delivery.component.tsx","domains/dashboard/campaigns/invitation/benefits/benefit/delivery/booking-event-delivery.component.tsx","domains/dashboard/campaigns/invitation/benefits/benefit/delivery/discord-delivery.component.tsx","domains/dashboard/campaigns/invitation/benefits/benefit/constants.ts","domains/dashboard/campaigns/invitation/benefits/stores/benefit.store.ts","domains/dashboard/campaigns/invitation/benefits/components/platforms/benefit-platforms.component.tsx","domains/dashboard/campaigns/invitation/benefits/benefit/status/constants.ts","domains/dashboard/campaigns/invitation/benefits/benefit/status/benefit-status.component.tsx","domains/dashboard/campaigns/invitation/benefits/benefit/index.tsx","domains/dashboard/campaigns/invitation/benefits/index.tsx","domains/dashboard/campaigns/invitation/invitation.page.tsx","domains/dashboard/assistance/styles.ts","domains/dashboard/assistance/faq/styles.ts","domains/dashboard/assistance/faq/constants.ts","domains/shared/components/accordion/styles.ts","domains/shared/components/accordion/index.tsx","domains/dashboard/assistance/faq/faq.component.tsx","domains/dashboard/assistance/constants.ts","domains/dashboard/assistance/contact-us/styles.ts","domains/dashboard/assistance/contact-us/constants.ts","domains/dashboard/campaigns/history/types.ts","domains/dashboard/assistance/contact-us/topic.component.tsx","domains/shared/components/revenue-support-form/styles.ts","domains/shared/components/revenue-support-form/constants.ts","domains/shared/components/revenue-support-form/index.tsx","domains/dashboard/assistance/contact-us/contact-us.component.tsx","domains/dashboard/assistance/contact-us/utils.ts","domains/dashboard/assistance/assistance.page.tsx","domains/dashboard/faq/constants.ts","domains/dashboard/faq/faq.page.tsx","domains/dashboard/terms-of-use/styles.ts","domains/dashboard/terms-of-use/constants.ts","domains/dashboard/terms-of-use/terms-of-use.page.tsx","domains/dashboard/campaigns/history/styles.ts","domains/dashboard/campaigns/history/constants.ts","domains/dashboard/campaigns/history/invitation-list.skeleton.tsx","domains/shared/components/pagination/styles.ts","domains/shared/components/pagination/index.tsx","domains/shared/components/pagination/constants.ts","domains/dashboard/campaigns/history/useInvitationHistory.ts","domains/dashboard/creators-code/types.ts","domains/dashboard/campaigns/history/invitation-history.page.tsx","domains/dashboard/campaigns/program/constants.ts","domains/dashboard/campaigns/program/styles.ts","domains/dashboard/campaigns/program/about/styles.ts","domains/dashboard/campaigns/program/about/constants.ts","domains/dashboard/campaigns/program/utils.ts","domains/dashboard/campaigns/program/about/index.tsx","domains/dashboard/campaigns/program/media-kit/styles.ts","domains/dashboard/campaigns/program/media-kit/constants.ts","domains/dashboard/campaigns/program/media-kit/index.tsx","domains/dashboard/campaigns/program/campaigns/styles.ts","domains/dashboard/campaigns/program/campaigns/constants.ts","domains/dashboard/campaigns/program/campaigns/available/constants.ts","domains/dashboard/campaigns/program/campaigns/available/available-invitations.component.tsx","domains/dashboard/campaigns/program/campaigns/active/styles.ts","domains/dashboard/campaigns/program/campaigns/active/constants.ts","domains/dashboard/campaigns/program/campaigns/active/invitation-list.skeleton.tsx","domains/dashboard/campaigns/program/campaigns/active/active-invitations.component.tsx","domains/dashboard/campaigns/program/campaigns/index.tsx","domains/dashboard/campaigns/program/faq/constants.ts","domains/dashboard/campaigns/program/faq/index.tsx","domains/dashboard/campaigns/program/agenda/styles.ts","domains/dashboard/campaigns/program/agenda/constants.ts","domains/shared/components/date-switcher/styles.ts","domains/shared/components/date-switcher/index.tsx","domains/dashboard/campaigns/program/agenda/event/styles.ts","domains/dashboard/campaigns/program/agenda/event/constants.ts","domains/dashboard/campaigns/program/agenda/event/event.component.tsx","domains/dashboard/campaigns/program/agenda/event/empty-event.component.tsx","domains/dashboard/campaigns/program/agenda/event/event.skeleton.tsx","domains/dashboard/campaigns/program/agenda/event-list.skeleton.tsx","domains/dashboard/campaigns/program/agenda/index.tsx","domains/dashboard/campaigns/program/news/styles.ts","domains/dashboard/campaigns/program/news/constants.ts","domains/dashboard/campaigns/program/news/article/styles.ts","domains/dashboard/news/hooks/useNewsArticle.ts","domains/dashboard/campaigns/program/news/article/program-news-article.component.tsx","domains/dashboard/campaigns/program/news/empty-list.component.tsx","domains/dashboard/campaigns/program/news/article/program-news-article.skeleton.tsx","domains/dashboard/campaigns/program/news/news-list.component.tsx","domains/dashboard/campaigns/program/news/index.tsx","domains/dashboard/campaigns/program/leave/styles.ts","domains/dashboard/campaigns/program/leave/constants.ts","domains/dialogs/brand-program/leave/styles.ts","domains/dialogs/brand-program/leave/constants.ts","domains/dialogs/brand-program/feedback/constants.ts","domains/dialogs/brand-program/feedback/program-feedback.dialog.tsx","domains/dialogs/brand-program/leave/leave-program.dialog.tsx","domains/dashboard/campaigns/program/leave/leave.component.tsx","domains/dashboard/campaigns/program/program.component.tsx","domains/dashboard/campaigns/program/program.page.tsx","domains/dashboard/campaigns/program/program-routers.tsx","domains/dashboard/news/article-page/constants.ts","domains/dashboard/news/article-page/not-available/styles.ts","domains/dashboard/news/article-page/not-available/constants.ts","domains/dashboard/news/article-page/not-available/not-available.component.tsx","domains/dashboard/news/article-page/article/styles.ts","domains/shared/utils/parser.ts","domains/dashboard/news/article-page/article/utils.tsx","domains/dashboard/news/article-page/article/article.component.tsx","domains/dashboard/news/article-page/news-article.page.tsx","domains/dashboard/news/constants.ts","domains/dashboard/news/latest/styles.ts","domains/dashboard/news/latest/article/styles.ts","domains/dashboard/news/styles.ts","domains/dashboard/news/latest/article/latest-article.component.tsx","domains/dashboard/news/latest/constants.ts","domains/dashboard/news/latest/article/latest-article.skeleton.tsx","domains/dashboard/news/latest/news-list.component.tsx","domains/dashboard/news/latest/latest-news.component.tsx","domains/dashboard/news/main/article/styles.ts","domains/dashboard/news/main/article/main-article.skeleton.tsx","domains/dashboard/news/main/article/main-article.component.tsx","domains/dashboard/news/main/main-news.component.tsx","domains/dashboard/news/highlights/constants.ts","domains/dashboard/news/highlights/styles.ts","domains/dashboard/news/highlights/article/styles.ts","domains/dashboard/news/highlights/article/highlight-article.skeleton.tsx","domains/dashboard/news/highlights/highlights-list.component.tsx","domains/dashboard/news/highlights/article/highlight-article.component.tsx","domains/dashboard/news/highlights/highlights-news.component.tsx","domains/dashboard/news/news.page.tsx","domains/dashboard/news/news-routers.tsx","domains/dashboard/creators-code/styles.ts","domains/dashboard/creators-code/constants.ts","domains/profile/types.ts","domains/dashboard/creators-code/locked-content/styles.ts","domains/dashboard/creators-code/settings/code/styles.ts","domains/dashboard/creators-code/locked-content/index.tsx","domains/dashboard/creators-code/settings/code/constants.ts","domains/dashboard/creators-code/settings/styles.ts","domains/dialogs/revenue-sharing/onboarding/animated-flow/types.ts","domains/dashboard/creators-code/settings/code/description/styles.ts","domains/dashboard/creators-code/settings/code/description/constants.ts","domains/shared/utils/clipboard.ts","domains/dashboard/creators-code/settings/code/description/index.tsx","domains/dashboard/creators-code/settings/code/status/styles.ts","domains/dashboard/creators-code/settings/code/status/constants.ts","domains/dashboard/creators-code/settings/code/status/index.tsx","domains/dashboard/creators-code/settings/code/code-edit/constants.ts","domains/dialogs/revenue-sharing/code-editing/styles.ts","domains/dialogs/revenue-sharing/code-editing/constants.ts","domains/shared/components/icon/icons/error.svg","domains/shared/components/icon/icons/loading.svg","domains/dialogs/revenue-sharing/code-editing/rule/styles.ts","domains/dialogs/revenue-sharing/code-editing/rule/index.tsx","domains/dialogs/revenue-sharing/code-editing/code-editing.dialog.tsx","domains/dashboard/creators-code/settings/code/code-edit/index.tsx","domains/dashboard/creators-code/settings/code/code.component.tsx","domains/dashboard/creators-code/settings/faq/styles.ts","domains/dashboard/creators-code/settings/faq/constants.ts","domains/dashboard/creators-code/settings/faq/faq.component.tsx","domains/dashboard/creators-code/settings/contact-us/constants.ts","domains/dashboard/creators-code/settings/contact-us/contact-us.component.tsx","domains/dialogs/revenue-sharing/onboarding/styles.ts","domains/dialogs/revenue-sharing/onboarding/constants.ts","domains/dialogs/revenue-sharing/onboarding/animated-flow/constants.ts","domains/dialogs/revenue-sharing/onboarding/animated-flow/styles.ts","domains/dialogs/revenue-sharing/onboarding/animated-flow/index.tsx","domains/dialogs/revenue-sharing/onboarding/onboarding.dialog.tsx","domains/dashboard/creators-code/settings/payment-information/constants.ts","domains/dashboard/creators-code/settings/payment-information/description/constants.ts","domains/dashboard/creators-code/settings/payment-information/description/styles.ts","domains/dashboard/creators-code/settings/payment-information/description/action.component.tsx","domains/dashboard/creators-code/settings/payment-information/description/index.tsx","domains/dashboard/creators-code/settings/payment-information/status/constants.ts","domains/dashboard/creators-code/settings/payment-information/status/index.tsx","domains/dashboard/creators-code/settings/payment-information/warning/styles.ts","domains/dashboard/creators-code/settings/payment-information/warning/constants.ts","domains/dashboard/creators-code/settings/payment-information/warning/index.tsx","domains/dashboard/creators-code/settings/payment-information/payment-information.component.tsx","domains/dashboard/creators-code/settings/iq-account/status/constants.ts","domains/dashboard/creators-code/settings/iq-account/status/index.tsx","domains/dashboard/creators-code/settings/iq-account/description/constants.ts","domains/dashboard/creators-code/settings/iq-account/description/index.tsx","domains/dashboard/creators-code/settings/iq-account/constants.ts","domains/dashboard/creators-code/settings/iq-account/error/styles.ts","domains/dashboard/creators-code/settings/iq-account/error/constants.ts","domains/dashboard/creators-code/settings/iq-account/error/index.tsx","domains/dashboard/creators-code/settings/iq-account/create-iq.component.tsx","domains/dashboard/creators-code/settings/iq-account/description/useAccountLinkTimer.ts","domains/dashboard/creators-code/transactions/rates/styles.ts","domains/dashboard/creators-code/transactions/rates/constants.ts","domains/dashboard/creators-code/transactions/rates/rate/styles.ts","assets/rates/xDefiant.png","assets/rates/default.png","domains/dashboard/creators-code/transactions/rates/rate/utils.ts","domains/dashboard/creators-code/transactions/rates/rate/constants.ts","domains/dashboard/creators-code/transactions/rates/rate/rate.component.tsx","domains/dashboard/creators-code/transactions/rates/rates.component.tsx","domains/dashboard/creators-code/transactions/earnings/styles.ts","domains/dashboard/creators-code/transactions/earnings/constants.ts","domains/dashboard/creators-code/transactions/earnings/empty-stat.component.tsx","domains/dashboard/creators-code/transactions/earnings/earnings.component.tsx","domains/dashboard/creators-code/tabs/styles.ts","domains/dashboard/creators-code/tabs/index.tsx","domains/dashboard/creators-code/creators-code.page.tsx","domains/dashboard/banners/styles.ts","domains/dashboard/banners/primary-channel-changed/constants.ts","domains/dashboard/banners/primary-channel-changed/index.tsx","domains/dashboard/banners/account-channel-changed/constants.ts","domains/dashboard/banners/account-channel-changed/index.tsx","domains/dashboard/banners/banner.component.tsx","domains/dashboard/linking/linking.provider.tsx","domains/dashboard/linking/useLinkingReactions.ts","domains/dashboard/dashboard.component.tsx","domains/dashboard/onboarding/styles.ts","domains/dashboard/onboarding/context.ts","domains/dashboard/onboarding/onboarding.store.ts","domains/dashboard/onboarding/steps/styles.ts","domains/dashboard/onboarding/steps/terms/styles.ts","domains/dashboard/onboarding/steps/terms/constants.ts","domains/dashboard/onboarding/navigation.component.tsx","domains/dashboard/onboarding/steps/terms/index.tsx","domains/shared/hooks/useScrollBottom.ts","domains/dashboard/onboarding/steps/information/styles.ts","domains/dashboard/onboarding/steps/information/constants.ts","domains/dashboard/onboarding/steps/information/index.tsx","domains/dashboard/onboarding/steps/policy/styles.ts","domains/dashboard/onboarding/steps/policy/constants.ts","domains/dashboard/onboarding/steps/policy/index.tsx","domains/dashboard/onboarding/steps/profile/styles.ts","domains/dashboard/onboarding/steps/profile/constants.ts","domains/dashboard/onboarding/steps/profile/platforms/styles.ts","domains/dashboard/onboarding/steps/profile/platforms/constants.ts","domains/dashboard/onboarding/steps/profile/platforms/platforms.component.tsx","domains/dashboard/onboarding/steps/profile/tags/styles.ts","domains/dashboard/onboarding/steps/profile/tags/tag.component.tsx","domains/dashboard/onboarding/steps/profile/tags/constants.ts","domains/dashboard/onboarding/steps/profile/tags/tags.component.tsx","domains/dashboard/onboarding/steps/profile/index.tsx","domains/dashboard/onboarding/steps/experience/styles.ts","domains/dashboard/onboarding/steps/experience/constants.ts","domains/dashboard/onboarding/steps/experience/games/styles.ts","domains/dashboard/onboarding/steps/experience/games/constants.ts","domains/dashboard/onboarding/steps/experience/games/games.component.tsx","domains/dashboard/onboarding/steps/experience/programs/styles.ts","domains/dashboard/onboarding/steps/experience/programs/constants.ts","domains/shared/components/cards/program/styles.ts","assets/programs/covers/r6.png","assets/programs/covers/xd.png","assets/programs/covers/sb.png","assets/programs/covers/rc.png","assets/programs/covers/crew.png","domains/shared/components/cards/program/constants.ts","assets/programs/logos/r6.png","assets/programs/logos/xd.png","assets/programs/logos/sb.png","assets/programs/logos/rc.png","assets/programs/logos/crew.png","domains/shared/components/cards/program/index.tsx","domains/dashboard/onboarding/steps/experience/programs/programs.component.tsx","domains/dashboard/onboarding/steps/constants.ts","domains/dashboard/onboarding/steps/experience/index.tsx","domains/dashboard/onboarding/steps/index.tsx","domains/dashboard/onboarding/welcome/styles.ts","domains/dashboard/onboarding/welcome/constants.ts","domains/dashboard/onboarding/welcome/index.tsx","domains/dashboard/onboarding/onboarding.component.tsx","domains/dashboard/dashboard.page.tsx","navigation/public-router.tsx","domains/feedback/warnings/not-found.page.tsx","domains/feedback/negative/constants.ts","domains/feedback/negative/unavailable.page.tsx","domains/feedback/negative/server-error.page.tsx","domains/feedback/negative/forbidden.page.tsx","domains/feedback/negative/embargoed-country.page.tsx","domains/feedback/negative/minor.page.tsx","domains/feedback/warnings/maintenance.page.tsx","domains/feedback/negative/whitelist.page.tsx","domains/global-errors/global-error.provider.tsx","navigation/index.tsx","analytics/hooks/useLoginAnalyticEvent.ts","domains/dialogs/dialog-keydown.provider.tsx","domains/dialogs/dialogs.component.tsx","domains/global-header/styles.ts","domains/global-header/constants.ts","domains/global-header/hooks/useGlobalNavigator.ts","domains/global-header/utils.ts","domains/global-header/index.tsx","domains/global-footer/index.tsx","i18n/locale-provider.tsx","domains/shared/hooks/useGlobalErrorHandler.ts","analytics/analytics-provider.component.tsx","domains/shared/components/helmet/index.tsx","domains/shared/components/scroll-restoration/index.tsx","domains/shared/components/scroll-restoration/utils.ts","app.tsx","domains/shared/hooks/useReferral.ts","domains/shared/hooks/usePreventDefaultEscSafari.ts","init/reportWebVitals.ts","index.tsx","domains/shared/services/overlay-service/types.ts","domains/shared/constants/app-config.ts","domains/shared/services/overlay-service/utils.ts","domains/shared/constants/ubi-services.constants.ts"],"names":["exports","BUILD_MODES","DEVELOPMENT","PRODUCTION","ENV","SCREEN_SIZE","BREAKPOINT","ms","mm","ml","ts","tm","tl","ls","lm","ll","xl","MEDIA_QUERIES","FixedNavigationHeight","FixedControlsHeight","GeneralContentStyles","css","AppLayout","styled","div","PageBackground","MainContent","main","HideScrollbarCSS","ReliefEffectCSS","BackgroundGlassCSS","TextEllipsisCSS","LinkCSS","FlexContentCenteringCSS","GlobalMUIStyles","createGlobalStyle","FlickeringAnimation","keyframes","LOCALES","CI_ENVIRONMENT_NAME","ENVIRONMENT","Object","values","includes","UAT","isProductionEnvironment","PROD","isDevelopmentBuild","process","isDevelopmentEnvironment","DEV","getImagePath","defaultNS","loadPath","COUNTRY_LANGUAGE","FR","FR_FR","DE","DE_DE","BR","PT_BR","PT","ES","ES_ES","MX","US","EN_US","KR","KO_KR","JP","JA_JP","PL","PL_PL","IT","IT_IT","FALLBACK_LNG","SUPPORTED_LANGUAGES","RU_RU","ZH_TW","ZH_CN","OVERLAY_LANGUAGES","map","locale","toLowerCase","join","i18n","use","Backend","initReactI18next","init","fallbackLng","supportedLngs","backend","allowMultiLoading","ns","nsSeparator","interpolation","escapeValue","returnEmptyString","react","useSuspense","transKeepBasicHtmlNodesFor","RATE_MODEL","RATE_TYPE","GAMES_CATEGORIES","PROFILE_STATUS","HISTORY_REASONS","GAMES","CHANNEL_IDS","GAME_PLATFORMS","REASONS","INVITATION_STATUS","PUBLICATION_STATUS","BENEFIT_STATUS","BENEFITS_TYPE","ACTIVATION_TYPES","INSTALLMENTS","REWARD_STATUS","REWARD_TYPE","NOTIFICATION_TYPE","urls","language","this","PrimaryButtonState","SecondaryButtonState","WarningButtonState","IconButtonState","ResetButtonCSS","ButtonStyles","button","Button","children","type","kind","props","data-kind","rootPath","getBackground","imageName","web","mobile","BG_IMAGES","login","default","acMirage","rc","r6","xDefiant","uf2023","uf2024","crew","skullAndBones","avatarFOP","princeOfPersiaTLC","xDefiantS1","starWars","AC_Shadows","LoginContent","PresentationWrapper","LogoWrapper","Presentation","section","LoginFrame","iframe","FrameWrapper","Description","Privacy","AccessCTA","ERROR_CODES","HTTP_GENERIC_ERROR_CODES","UBI_SERVICES_PUBLIC_ENDPOINT","CERT","SPONSALIA_PUBLIC_ENDPOINT","GameReleaseApi","getErrorMessage","error","messageText","response","data","errorCode","httpCode","message","getErrorCode","replaceUrlParams","url","params","replace","str","bracket","setUbiPublicServicesApi","path","setSponsaliaPublicServicesApi","NOTIFICATION_LEVEL","globalErrorService","makeObservable","_status","status","_blockedErrorCode","code","_isYouTubeTokenValid","value","observable","computed","DEV_SSO_REFRESH_URL","LOGIN_URL","WEB_AUTH_HOST_UAT_URL","WEB_AUTH_HOST_CERT_URL","WEB_AUTH_HOST_PROD_URL","WEB_AUTH_SSO_UAT_URL","URI","segment","href","WEB_AUTH_SSO_CERT_URL","WEB_AUTH_SSO_PROD_URL","WEB_AUTH_LOGIN_UAT_URL","WEB_AUTH_LOGIN_PROD_URL","WEB_AUTH_LOGIN_CERT_URL","WEB_AUTH_HOST","WEB_AUTH_LOGIN_LOCATION","WEB_AUTH_SSO_API","appearance","disappearance","StyledToastContainer","ToastContainer","toastUpAnimation","cssTransition","enter","exit","_path","ToastContainerUpComponent","observer","theme","position","toast","POSITION","TOP_CENTER","closeOnClick","autoClose","draggable","limit","pauseOnHover","hideProgressBar","enableMultiContainer","containerId","LEVEL4","transition","attrs","toastDownAnimation","ToastContainerDownComponent","BOTTOM_RIGHT","LEVEL2","ExternalLink","a","target","InternalLink","CTALink","state","CTAExternalLink","as","CTARedirectLink","EditButton","FloatLogo","img","src","logo","LottieIcon","Lottie","play","loop","SkeletonPlaceholder","ShowMoreCTA","ToastContentWrapper","NotificationLink","NotificationLv2Component","title","description","ComponentWrapper","i","_excluded","_extends","assign","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgChecked","_ref","svgRef","titleId","width","height","viewBox","xmlns","ref","id","fillRule","clipRule","d","fill","_circle","ForwardRef","SvgQuestionMark","cx","cy","r","stroke","SvgQuestion","SvgAdd","SvgMinus","SvgCheckmark","SvgSearch","SvgWarning","SvgError","SvgSettings","SvgJoystick","SvgNews","SvgMicrophone","SvgLink","SvgClock","SvgBox","SvgArrow","SvgMore","SvgMenu","SvgClose","SvgAttachment","SvgExit","_path2","_path3","SvgMaintenance","SvgCogwheel","SvgAnnounce","SvgOpenBox","SvgNote","SvgFire","SvgLockOpen","SvgLockClosed","SvgCalendar","SvgDownload","_defs","SvgLoading","x1","y1","x2","y2","gradientUnits","stopColor","offset","stopOpacity","SvgCursor","_line","_line2","SvgPersonalization","strokeWidth","SvgTime","SvgGift","SvgAchievement","SvgCopy","SvgBell","SvgAlert","SvgTimer","SvgRefresh","SvgUpload","SvgPlayer","SvgBucket","SvgEdit","SvgLike","SvgMail","SvgPointer","SvgUnlink","SvgCalendarEvent","_path4","_path5","_path6","SvgPs5","_path7","_path8","_path9","SvgXbox","SvgPs4","SvgPc","SvgSwitch","SvgMobile","SvgVr","SvgIos","SvgAndroid","SvgTwitch","SvgX","SvgYoutube","SvgInstagram","SvgFacebook","SvgTiktok","SvgVk","SvgAfreecatv","SvgDiscord","SvgNonolive","_g","SvgMildom","SvgNimotv","SvgOpenrec","SvgReddit","icons","pointer","unlink","mail","like","edit","bucket","player","upload","ios","android","refresh","timer","copy","closedLock","bell","alert","achievement","reddit","gift","time","personalization","cursor","question","loading","download","mildom","nimotv","openrec","note","openBox","announce","discord","maintenance","cogwheel","attachment","close","vr","menu","more","arrow","box","clock","link","settings","joystick","news","microphone","warning","search","minus","add","checkmark","checked","ps5","ps4","pc","xbox","nswitch","questionMark","twitch","x","youtube","instagram","facebook","tiktok","vkontakte","afreecatv","nonolive","fire","openLock","calendar","calendarEvent","Icon","className","SVGIcon","CHANNELS_ICONS_BY_ID","1","2","3","4","5","6","7","8","9","10","11","12","13","14","PLATFORMS_ICONS","CloseButtonComponent","closeToast","onClick","aria-label","loggingService","console","info","warn","NOTIFICATIONS_LVL2","EMBARGO_DATE_REACHED","CAMPAIGN_INVITATION","REVENUE_SHARE_INVITATION","REVENUE_SHARE_AVAILABLE","SURVEY_CAMPAIGN_DECLINE","SURVEY_CAMPAIGN_VALIDATION","SURVEY_NO_EVENT","CAMPAIGN_LIMITS","SURVEY_DESCRIPTIONS","NOTIFICATION_LVL4","CHANNEL_NOTIFICATIONS","FULL_DATE_FORMAT","day","month","year","hour","minute","DAY_MONTH_YEAR_FORMAT","DAY_MONTH_FORMAT","weekday","MONTH_YEAR_FORMAT","getTimeDifference","date","unit","startDate","dayjs","utc","diff","getFormattedDate","isoString","options","Date","Intl","DateTimeFormat","format","getLocalISODate","local","toISOString","generateNotificationPath","config","generatePath","err","getNotificationConfigData","notificationType","REGISTRATION_CLOSED_DATE_REMINDER","invitation","icon","Trans","i18nKey","amount","activationTitle","components","activationLink","to","registrationClosedDate","SURVEY_ONBOARDING_COMPLETE","surveyLink","isExternalLink","BENEFIT_AVAILABLE","creatorsCode","notificationsService","closeButton","success","i18next","t","ubisoftOverlayService","redirectTopic","undefined","loginReaction","webOverlay","makeAutoObservable","autoBind","Promise","resolve","getProfiles","getProfilesResponse","window","addEventListener","receiveUbisoftWebAuthIframeMessage","overlayWidget","reject","timeoutId","setTimeout","getTicket","getTicketResponse","clearTimeout","payload","logout","reInit","reaction","topic","REDIRECT_TOPICS","LOGIN","event","showError","updateRedirectTopic","globalHTTPCancelToken","axios","CancelToken","http","create","baseURL","timeout","headers","Accept","cancelToken","token","interceptors","notificationConfig","showLevel4","sponsaliaErrorCode","ACCESS_DENIED","MAINTENANCE","FORBIDDEN","CREATOR_COUNTRY_BLOCKED","CREATOR_IS_MINOR","isBlockedError","blockedErrorCode","MISSING_YOUTUBE_TOKEN","isYouTubeTokenValid","TOKEN_EXPIRED","INVALID_TICKET","errorMessage","PROGRAM_TYPE","URLS","publicApiService","sessionTicket","Authorization","ticket","GLOBAL_CONFIG","APPLICATION_ID","SessionId","sessionId","request","brandProgramId","method","isActive","invitationId","assetId","responseType","reward","typeId","String","rewardId","communicationLanguageId","secondaryEmail","benefitId","tags","issue","minDate","notificationIds","newCode","contentUrl","notificationId","LANGUAGE_ID","REFERRAL_KEY","REFERRAL_CODES","REFERRAL_DATA","RC","R6","XDefiant","referralService","cleanReferral","localStorage","removeItem","getItem","setItem","signUpDataService","storageData","JSON","parse","stringify","OAUTH_PROVIDERS","OAuthURL","ANALYTICS_EVENTS","UPDATE_GAME_PREF","UPDATE_TAGS_PREF","PROVIDER_REDIRECT_URLS","TIKTOK","INSTAGRAM","oAuthService","profileId","userId","providers","spaceId","returnUrl","generateNextURL","redirectUrl","spaceIds","getUserConsent","consents","ADDITIONAL_COUNTRY_CHANNELS","OPEN_REC","MILDOM","NIMO_TV","ZH_HK","IN_ID","MS_MY","EN_PH","ZH_SG","EN_SG","TH_TH","VI_VN","CN_MO","MY_MM","LO_LA","KM_KH","MS_BN","EN_BN","VKONTAKTE","AFREECATV","NONOLIVE","AR_AF","AR_DZ","AR_BH","AR_KM","AR_DJ","AR_PS","AR_JO","AR_KW","AR_LB","AR_LY","AR_MA","AR_OM","AR_PK","AR_QA","AR_SA","AR_SO","AR_EH","AR_AE","AR_TN","AR_EG","AR_YE","CHANNELS_NAME","TWITCH","YOUTUBE","X","FACEBOOK","DISCORD","CHANNELS_PLACEHOLDERS","UBI_ACCOUNT_CHANNELS","OAUTH_CHANNEL_PROVIDER","PRIMARY_CHANNEL_IDS","Number","initialFormData","countryId","broadcastLanguageId","mainChannelId","channels","Map","SignUpStore","rootStore","form","signupAllowed","isFormSubmitted","isExtraChannelsEditable","when","mainChannel","setIsExtraChannelsEditable","referral","name","metadata","brandPrograms","find","program","languages","lng","primaryChannelData","get","isFormValid","activeChanelList","channel","isMain","channelTypes","channelType","toLocaleLowerCase","Boolean","profile","getData","timestamp","isArray","setForm","creatorData","createCreator","referralCode","referralData","removeData","updateProfileData","set","channelId","setMainChannelId","delete","oauthProvider","removeUserConsent","fetchSignupAllowed","APPLIED","toJSON","saveData","size","ALGOLIA_API_KEY","REACT_APP_ALGOLIA_KEY","HIGHLIGHTS_NEWS_PLACEMENT","MAIN_NEWS_PLACEMENT","LATEST_NEWS_PLACEMENT","NEWS_DETAILS_PLACEMENT","BRAND_PROGRAM_PLACEMENT","ubiApiService","newsConfig","countryCode","tag","placements","localeCode","defaultLocale","interestedMdmBrands","gameReleases","now","filters","unix","hits","NOT_FOUND","filter","hit","brand","mdmId","releaseDate","thumbnail","assets","boxshot","release","isAfter","sort","b","UserId","ANALYTICS_SCRIPT_URL","ANALYTICS_ACCOUNT_ATTRIBUTES","category","action","signedIn","signedOut","ANALYTICS_PAGE_ATTRIBUTES","activations","assistance","termOfUse","participate","applicationSuccessful","faq","newsDetails","introduction","dashboard","empty","ANALYTICS_FLOW_ATTRIBUTES","appRequirements","gamingPreferences","locationAndLanguage","appliedSuccessful","activationEmbargo","platform","yourInformation","participateConfirmed","participateKeysError","campaignParticipate","transparency","termsAndConditions","welcome","contactPreference","updateContactPref","additionalInfo","completeAdditionalInfo","disclosurePolicy","joinedProgram","updatePreferences","confidentialInfo","contentCreatorApplication","page","display","interaction","continue","back","cancel","userConsent","save","primaryChannel","otherChannel","preferredPlatform","favoriteFranchises","newPreferredPlatform","participatePlatformSelect","newFavoriteFranchises","location","broadcastLanguage","communicationLanguage","communicationMethod","applied","fillSurvey","agree","confirm","participationSuccessful","participationError","gotIt","transparencyAgree","termsAndCondition","acceptTermsOfUse","selectContactPref","completeInformation","applicationAreOver","ANALYTICS_CLICK_ATTRIBUTES","flow","available","active","surveyPopup","survey","rejected","missingToken","minor","embargo","whitelist","blockedCountry","forbiddenAccess","past","channelPopup","personalInfo","benefit","leaveProgram","termsOfUse","commonIssues","contactUs","shareFeedback","feedbackSent","displayMode","welcomePopup","newGameIncoming","declinePopup","resources","benefitLocation","platformPopup","favoriteFranchise","update","view","pastPrograms","addChannel","editPreferences","editPersonalInfo","leaveBrandProgram","confirmLeave","goToSupport","goToAccountWebsite","goToUbi","moreInfoAbout","codeOfConduct","accessTermsOfUse","backToAssistance","backToNews","completeSurvey","confirmJoin","brandProgramDetails","closeSurveyPopup","goToNews","helpActivateContent","goFAQ","accessCompleteFAQ","contactTopics","contactTopic","goHelpCenter","sendFeedback","writeFeedback","closeFeedback","closeSentFeedback","changeLangTo","changeCommunicationMethodTo","closeLangChange","confirmLangChange","confirmCommunicationMethodChange","closeMethodChange","closeWelcomeMessage","closeNewGameBlock","gamePreference","campaignList","agenda","declineActivation","confirmDecline","closeDecline","access","changePlatform","closePlatformChange","confirmPlatformChange","changePlatformTo","analyticsService","enabled","hasUserAllowedTracking","trackingEventsBuffer","initAnalytics","flushTrackingEventsBuffer","assignInitialData","setUbiId","ubisoftId","injectAnalyticsScript","envName","ubiId","updateAnalyticalData","sendPageEvent","siteSection","pageName","siteSubSection","websiteData","pageEventData","country","game","genomeId","siteName","siteType","track","PAGE_EVENT","sendAccountEvent","loggedIn","loggedOut","accountEventData","ACCOUNT_EVENT","sendClickEvent","locationDetail","clickEventData","CLICK_EVENT","sendFlowEvent","flowStep","flowType","platformSelection","flowStepDetails","flowEvent","FLOW_EVENT","sendChannelApplyFlowEvents","mainChanelId","primaryChannelName","forEach","channelName","sendPlatformFlowEvents","platforms","flowAction","flowLocationDetail","sendFranchiseFlowEvents","franchises","bufferizeTrackingEvent","trackingEvent","push","eventName","configData","appId","applicationId","analyticsBrand","analyticsGame","environment","analyticsSiteType","analyticsSiteName","errorType","env","script","document","createElement","setAttribute","onload","isFunction","envToUse","getEnvDependentAnalyticEndpoint","body","appendChild","TRANSLATIONS","WELCOME_BANNER_KEY","CHANNELS_ACCOUNT","ACCOUNT_PROFILE_TYPES","GOOGLE","SessionStore","profiles","isWelcomeBannerHidden","isLoading","platformType","UPLAY","session","configure","fetchTicket","Error","configureServices","all","fetchMetadata","fetchProfileData","fetchUserDetails","fetchProfiles","account","it","GROUP_IDS","MAX_TAGS","MAX_GROUP_TAGS","getMaxGroupTags","groupId","SIGNUP_AVAILABLE_STATUSES","CREATED","LEFT","INVITED","ALLOW_REAPPLY_REASONS","IRRELEVANT_CONTENT","MINIMUM_REQUIREMENTS","DASHBOARD_AVAILABLE_STATUSES","ACCEPTED","ON_HOLD","BAN_PENDING","linkedChannelsMapping","profileChannels","channelsTypes","channelsMap","reduce","acc","getStorageKey","ProfileRestrictions","canReapply","revenueSharing","groupTagsByGroup","group","downloadFile","fileName","file","fileURL","URL","createObjectURL","anchor","append","click","remove","revokeObjectURL","DialogActionsType","PaymentDetails","lastAccountCallDate","rates","isDataLoading","stats","isPayable","paymentOnboarding","timeRemains","Math","max","remainingAccountCallTime","isAccountActive","creatorIQId","emailSentAt","fetchPaymentRates","fetchPaymentData","createCreatorIQ","saveLastAccountCallDate","sendPaymentEmail","ERROR_CODE_CREATOR_IQ_PROFILE_NOT_FOUND","resetData","setLasAccountCallDateFromStorage","notPayableReason","payableStatusUpdatedAt","fetchCreatorTransactions","toString","iqLastCallDate","ProfileStore","userDetails","restrictions","paymentDetails","isChannelsLoading","isInactive","codeSentToEcom","isContentChannel","changedUbiAccounts","lastHistoryEntry","reason","REJECTED","isSoftRejected","ubiAccountProfiles","ubiProfileType","termsAccepted","onboardingCompleted","contentChannels","contactChannels","change","channelID","deleteChannel","setMainChannel","fetchCreatorProfile","fetchUserInfo","joinBrandProgram","updateTags","languageId","updateContactInfo","games","XDEFIANT","sortProgramsByID","MetadataStore","countries","gameCategories","leaveReasons","regions","legacy","CROSS_PLATFORM","region","isSpecialEvent","appHistory","createBrowserHistory","INVITATION_TYPE","DialogsStore","list","results","listen","closeDialogs","component","uniqueId","CLOSE","promise","pop","result","SUBMIT","CANCEL","blockedCountries","IPLocationStore","fetchIpLocation","NOTIFICATION_CENTER_ITEMS","NotificationsStore","notifications","intervalId","lastRequestTimestamp","sortedNotificationsByDate","isRead","slice","createdDate","getTime","notification","notificationTypeId","endOf","fetch","startNotify","setInterval","clearInterval","showLevel2","markNotificationAsRead","fetchNotifications","unreadNotifications","n","showNotifications","updateRequestMoment","deleteNotification","deleteAllNotifications","getInvitationType","publicationStatus","CANCELLED","endDate","isInvitationTypeActive","ACTIVE","SENT","registrationClosingDate","isInvitationTypeAvailable","AVAILABLE","isInvitationTypeEnded","isInvitationTypeRejected","ENDED","sortInvitationPreviewByType","invitations","sortedType","CampaignsStore","sortedInvitations","fetchGameReleases","gamesMDMIds","fetchInvitations","NewsStore","selectedTags","latestNewsLimit","newsMap","latestNews","article","some","placement","mainNews","highlights","visibleLatestNews","filteredLatestNews","splice","uniqTags","Set","trim","flat","latestNewsTags","tagName","ipLocation","uPlayProfile","fetchNews","min","newsId","enforceActions","safeDescriptors","BREADCRUMB_STATE","signup","dialogs","campaigns","StoreContext","createContext","useRootStore","useContext","IconWrapper","WarningIcon","Title","h2","Details","FadeEffect","ZoomEffect","RcDialogZoomIn","RcDialogZoomOut","RcDialogFadeIn","RcDialogFadeOut","DialogGlobalStyles","DialogContent","DialogCloseButton","DialogActions","DialogTitle","DialogDescription","CloseIcon","PopupsBlockedDialog","useTranslation","onClose","useCenteredPopup","openPopup","useCallback","dualScreenLeft","screenLeft","screenX","dualScreenTop","screenTop","screenY","fullWidth","innerWidth","documentElement","clientWidth","screen","fullHeight","innerHeight","clientHeight","left","top","popup","open","focus","closed","openDialog","usePageEvent","useLayoutEffect","useLaptopOrLess","useMediaQuery","maxWidth","LoginPage","getLoginUrl","query","GENOME_ID","lang","nextUrl","useEffect","disposer","registerLoginReaction","onAccessClick","useLogin","isLaptopOrLess","alt","SpinnerWrapper","isFullscreen","SpinnerComponent","fullscreen","loader","themeService","activeTheme","DEFAULT","applyTheme","resetTheme","R6Theme","RCTheme","XDefinedTheme","SkullAndBonesTheme","DefaultTheme","UF2023Theme","CrewTheme","ProgramThemes","UF2023","CREW","SKULL_AND_BONES","ThemeVariables","ThemeProvider","MainLayout","LoadingLayout","BreadcrumbsWrapper","Caption","span","BreadcrumbWrapper","VALID","BreadcrumbComponent","number","disabled","BreadcrumbsComponent","activeIndex","onItemClick","stepsConfig","onBreadcrumbClick","index","step","activeStepIndex","currentStepIndex","DISABLED","StepsWrapper","SignUpLayout","Breadcrumbs","scrollTop","smooth","scroll","behavior","useStepper","initialStep","steps","useState","setActiveIndex","ActiveStep","isFirstStep","isLastStep","nextStep","previousStep","StepTitle","StepWrapper","ControlsWrapper","StepsControl","ContentWrapper","PrivacyText","RequirementStep","RequirementsList","ul","PrivacyLink","RequirementLink","UBI_EMAIL_LINK","UBI_ACCOUNT_LINK","EXTERNAL_LINKS","discordSupport","mailtoSupport","paymentApp","dropsRegisterLink","ftcPDFLink","helpLink","guidelinesPDF","disclosures101PDF","federalTrade","disclosures101Common","arabicLanguage","policy","ubisoft","support","privacy","law","creatorsProgramsSupportMail","FTCReviewLink","FTCGuideLink","eCFRLink","li","ImageWrapper","Text","RequirementItem","image","translation","data-test-id","useFlowEvent","useFlowEventCallback","callback","FormContext","useFormContext","useSignUpAnalytics","callChannelsContinueClickEvent","callRequirementsContinueClickEvent","callApplyClickEvent","channelNames","countryName","callChannelsBackClickEvent","callInfoBackClickEvent","NavigationControlsComponent","root","querySelector","ReactDOM","createPortal","Header","header","PrimaryChannelsTitle","h3","ExtraChannelsTitle","SectionsWrapper","ChannelsList","ChannelLink","UrlWrapper","RadioGroupWrapper","RadioGroup","YouTubeChannelsDialog","isEmpty","canSubmit","onSubmit","onChange","_","FormControlLabel","label","control","Radio","Dialog","DescriptionWrapper","ServicesImage","YoutubeLinkingDialog","autoFocus","CHANNELS_REVERSED_PATHS","CHANNELS_LINKING_TOPICS","getAccountLinkUrl","ssoId","LANGUAGE","encodeURIComponent","useLinkingUtils","openOAuthLinkingModal","provider","getAuthorizeUrl","openAccountLinkingModal","getSSO","getYouTubeData","fetchYouTubeChannels","registerLinkingReaction","callbacks","onYouTubeLinked","resetTopic","onTwitchLinked","onTiKToKLinked","onInstagramLinked","onDiscordLinked","SECTION_ID","useFilterChannels","checkAdditionalChannelAllowing","ActiveChannelWrapper","ActionsWrapper","ChannelNameWrapper","ChannelName","ChannelIcon","UserName","ChannelDataWrapper","ErrorDescription","ChannelCTA","Loading","ERROR_TEXT","ActionCTA","ACTION_ICON","StyledTooltip","Tooltip","TooltipIcon","PopperStyles","isDefault","Children","count","data-scheme","enterTouchDelay","data-default","ActionCtaComponent","InputWrapper","EggInput","InputComponent","prefix","suffix","after","before","register","onModelValueChanged","evt","modelValue","placeholder","slot","PlatformReference","useForm","initialState","formElementsRef","useRef","setFormValid","formData","setFormData","validate","current","every","node","__validationResult","onSubmitHandler","onValid","onInvalid","preventDefault","getFormData","entries","onFormDataChange","REQUIRED_MESSAGE","getMessage","REQUIRED_VALIDATOR","Required","ERROR_TRANSLATIONS","CHANNELS_VALIDATIONS","Pattern","EMAIL_REG_EXP","EMAIL_PATTERN_VALIDATOR","CREATOR_CODE_PATTERN","SocialMediaDialog","platformReference","useAnalytics","platformName","isSubmitDisabled","validators","MenuList","ChangeAccountBlock","NameWrapper","AttachmentIcon","ExternalAccountsWrapper","AccountLink","ButtonChange","AccountInformation","setAlreadyLinked","username","setUsername","twitchProfile","ubisoftProfile","nameOnPlatform","useLoadingAction","setIsLoading","ChangeAccount","ubiAccountLink","TwitchLinkedDialog","isAlreadyLinked","Reference","ChannelContentWrapper","AddCTA","PrimaryMark","ChannelContent","isError","isPrimary","MoreIcon","ActionMenu","Menu","MenuAction","MenuItem","MenuActionIcon","MenuActionName","TwitchRefreshButton","DisabledInstagramBlock","DisabledInstagramChannel","ChannelComponent","isDisabled","getReference","errorText","useMemo","onChannelRemove","removeChannel","onTwitchAdd","getAccountData","onExtraChannelAdd","onChannelAdd","reference","useChannel","ChannelsWrapper","CommunicationChannelsComponent","LinkingComponent","analytics","isLinkingValid","text","linkAccount","accountData","linkOAuth","getProviderUserInfo","useLinkingReactions","extraChannels","ArrowIcon","SearchIcon","AutocompleteWrapper","StyledAutocomplete","Autocomplete","ComboboxOption","ComboboxNotFound","CheckedIcon","Combobox","activeOption","option","autoComplete","disableClearable","getOptionLabel","getOptionSelected","renderInput","TextField","variant","renderOption","noOptionsText","popupIcon","UserData","fieldset","UserDataWrapper","Note","p","ControlWrapper","Dropdown","Subtitle","EmailWrapper","EmailSection","AccountsLink","LinkIcon","AnimatedIcon","EmailEditingDialog","animationData","email","UserInformation","submitForm","setActiveCountry","setActiveLanguage","setCommunicationLanguage","isUserInformationValid","onEmailEdit","data-testid","htmlFor","ubisoftEmails","SIGNUP_STEPS","requirements","mature","globalCodeOfConductLink","supportLink","FormContainer","ActiveComponent","saveAndTrackingChanges","defaultLanguageId","Provider","INVALID_CHANNEL_TYPE","INVALID_CHANNEL_URL","UNLINKED_YOUTUBE_CHANNEL_URL","INVALID_CHANNEL_USERNAME","EXISTING_CHANNEL_TYPE","CHANNEL_IS_MAIN","CHANNEL_NOT_EDITABLE","StatusLayout","IconAppearance","ContentAppearance","CoverAppearance","DetailsWrapper","ErrorTitle","WarningTitle","PositiveTitle","AppliedDescription","LinkWrapper","ErrorCode","UserEmail","Icons","AnimatedStatusLayout","SignupBlockedPage","SignUpPage","getDefaultProfileRoute","BANNED","signUp","PrivateRoute","restricted","render","LeftPage","RejectedPage","BannedPage","AppliedStatusPage","referralId","sendApplySuccessPageEvent","StatusPage","EmptyText","DashboardLayout","BannersSection","PageTitle","h1","SectionTitle","SectionContent","ContentTitle","InnerSectionContent","LinkText","SectionIcon","PageContentWrapper","BackLink","BackArrow","PageContentLimits","UnderLine","MenuItemLayout","WebNavigationWrapper","MobileNav","nav","Link","MobileMenuList","MenuLink","NavLink","UnreadNotifications","isUnread","ExtraMenuWarning","ExtraLink","NotificationsExtraLink","Terms","AsideIcon","MenuName","WebNavigation","stripes","MoreCTA","ExtraLinksWrapper","ExtraLinks","getNavigationLinks","isCodeLinkAvailable","WebNavigationComponent","navigationLinks","ExtraLinksComponent","style","overflow","touchAction","removeAttribute","MobileNavigationComponent","isHidden","setIsHidden","toggle","closest","removeEventListener","data-toggle","DashboardMenu","NotificationSection","UnreadTitle","DaysWrapper","EmptyNotificationsContent","DeleteAllCTA","NotificationList","NotificationWrapper","NotificationContent","InfoWrapper","Status","DeleteCTAWrapper","DeleteCTA","CardHoverEffectCSS","Rollin","LoadingBlock","LoadingIcon","LoadingComponent","NotificationComponent","onNotificationClick","pathname","DayComponent","formattedDate","localDate","dateTime","EmptyComponent","ConfirmationDialog","cancelText","submitText","NotificationsCenterPage","markUnreadNotificationsAsRead","dates","onDeleteClick","WarningText","ButtonLeave","StyledTextarea","Textarea","readOnly","InputProps","Reasons","CustomReason","LeaveProgramDialog","reasonId","setReasonId","customReason","setCustomReason","isValid","OTHER","details","useProgramLeaving","translationKey","multiline","rows","LeaveSection","onLeaveButtonClick","GridList","GroupTitle","GamingContent","CAMPAIGN_TABS","DialogForm","CheckedMarker","CheckedLabel","LabelIcon","Content","h4","HiddenCheckbox","input","GamePlatformContent","PlatformIcon","GamePlatformWrapper","GamePlatformCard","readonly","isCheckboxDisabled","data-readonly","data-disabled","addDifference","array","useGamePreferences","analyticType","programName","callGamePrefDisplayFlowEvent","Introduction","Settings","callGamePrefCancelFlowEvent","callGamePrefSaveFlowEvent","callGamePrefPlatformFlowEvent","platformNames","updatedPlatforms","callGamePreGamesFlowEvent","updatedGames","useGamePrefAnalytics","activePlatforms","setActivePlatforms","activeGames","setActiveGames","originalPlatforms","updateGamingPreferences","availablePlatforms","closeDialog","profilePlatformsIds","profileGamesIds","isPlatformsChanged","isGamesChanged","updatePlatforms","updateGames","FranchiseContent","GameLogo","GameCover","FranchiseWrapper","FranchiseCard","fallbackCover","GamePreferencesDialog","onCancel","onPlatformClick","onGameClick","GamingSection","onEditButtonClick","handleEditPreferences","PREFERENCES","profileGames","PersonalSection","ContactsWrapper","ContactChannelsList","InfoHeader","EditCTA","EditPersonalInfoLink","InfoValue","PersonalInfoSection","PERSONAL_INFO","ChannelsContent","isEditModeOn","ChannelsSection","ChannelListTitle","CloseCTA","PrimarySwapMessage","LinkingContext","useLinkingContext","WarningWrapper","Warning","AccountChannelRemoveWarningDialog","TwitchRefreshDialog","ChannelCardComponent","onLink","onTwitchRefresh","onUnlink","onSelect","menuAnchorEl","setMenuAnchorEl","isActionsVisible","isInstagram","onMenuItemClick","currentTarget","disableAutoFocusItem","getContentAnchorEl","anchorEl","anchorOrigin","vertical","horizontal","transformOrigin","isTwitch","isPrimaryId","primaryChannelId","isPrimaryChannelInvalid","isChannelInvalid","swapPrimaryChannel","addTwitch","addExtraChannel","EmptyContent","ExtraChannelsComponent","activeContentChannels","visibleChannels","isNotPrimary","isAllowed","PrimaryChannelComponent","ChannelsComponent","isLinkingLoading","isBlockedLoading","setIsEditModeOn","toggleEditMode","TagsGroup","Tags","EmptyWrapper","EmptyIcon","TagContent","TagWrapper","TagCard","TagsGroupComponent","groupName","GroupsWrapper","GroupWrapper","TagsWrapper","TagsContext","useTagContext","TagComponent","isTagDisabled","onTagClick","groupTags","selectedGroupTags","selectedTag","maxTags","ProgressWrapper","ProgressValue","StyledProgressBar","LinearProgress","isFull","ProgressBar","data-full","TagsProgressComponent","progress","percent","floor","TagsDialog","callCancelFlowEvent","callSaveFlowEvent","callTagSelectFlowEvent","callPageFlowEvent","useTagsAnalytics","profilePlatforms","initialTags","setSelectedTags","groups","groupedTags","onEditClick","TagsSectionComponent","tagsGroups","Label","DialogInput","TRANSLATION","ContactInfoDialog","setLanguageId","useContactChannel","ContactComponent","onContactInfoEdit","SettingsPage","PageHeader","EVENTS","LIST","AGENDA","CloseButton","WelcomeContent","WelcomeText","WelcomeMessageComponent","checkWelcomeBannerState","hideCampaignWelcome","creatorName","scrollInto","InvitationsWrapper","HistoryLink","DateWrapper","DateIcon","LoadingProcess","picture","LazyImageComponent","visibleByDefault","imagePlaceholder","imgRef","imageObserver","IntersectionObserver","entry","isIntersecting","imgEl","unobserve","observe","disconnect","isPlaceholderVisible","transparentPlaceholder","onError","onLoad","InvitationDateComponent","embargoDate","showEmbargoTime","localClosedDate","formattedClosedDate","remainingTime","dateTranslation","milliseconds","showEmbargo","duration","asHours","durationInDays","asDays","durationInHours","days","nrOfUnits","getEmbargoPendingTranslation","localEmbargoDate","InvitationContent","PosterWrapper","PosterIconWrapper","PosterIcon","PosterText","Poster","DataWrapper","InnerWrapper","NamesWrapper","GameName","CampaignName","CardIcon","PublishStatusDesktop","PublishStatusMobile","InvitationLink","SkeletonContentWrapper","IMAGES","ANNO__1880","AC__MIRAGE","AC__VALHALLA","AVATAR__FRONTIERS_OF_PANDORA","BRAWLHALLA","FC__5","FC__6","FOR_HONOR","MARIO_AND_RABBIDS__SPARKS_OF_HOPE","MONOPOLY__MADNESS","CREW__MOTORFEST","ODDBALLERS","PRINCE_OF_PERSIA__LOST_CROWN","R6__EXTRACTION","R6__MOBILE","R6__SIEGE","RIDERS_REPUBLIC","ROCKSMITH_PLUS","ROLLER_CHAMPIONS","STAR_WARS__OUTLAWS","CREW__2","DIVISION__RESURGENCE","SETTLERS__NEW_ALLIES","TRACKMANIA","UBISOFT_PLUS","UNO","AC__NEXUS","JS__2024","VALIANT_HEARTS","PRINCE_OF_PERSIA__ROGUE","BUMP","AC_SHADOWS","installmentCovers","acceptedInvitationCover","availableInvitationCover","invitationPageCover","installmentBackground","getBenefitName","benefitType","EARLY_ACCESS_REDEEM","EARLY_ACCESS_PRODUCTION","EVENT_INVITATION","getSubRewardsText","benefitStartDate","isBefore","getDropViewerRewardsText","activationType","TWITCH_DROPS_MULTI_WAVES","PLACEHOLDER_COVERS","useInvitation","intallmentId","benefitName","benefitDescription","benefitIcon","BOOKING_EVENT","programCampaign","programId","onViewClick","getAnalyticsLocationDetail","AcceptedInvitationComponent","withPosterText","cover","selectedPlatform","intallmentName","media","srcSet","publicationName","AcceptedInvitationSkeleton","InvitationListSkeleton","on","translations","EmptyInvitationsSection","ActiveInvitationsComponent","campaignsHistory","StyledSlider","Slider","direction","SliderComponent","basisSlideWidth","activeSlide","useResizeDetector","sliderRef","slidesToShow","setSlidesToShow","isArrowsAvailable","arrows","slides","querySelectorAll","slickGoTo","changeSlidesAccessibility","slide","classList","contains","nextArrow","prevArrow","afterChange","dots","fade","infinite","swipeToSlide","variableWidth","slidesToScroll","speed","InvitationList","InvitationSlider","Benefit","Platforms","StatusCSS","RemainingTime","SoldOut","FakeButton","AvailableInvitationComponent","canAccept","AvailableInvitationSkeleton","AvailableInvitationListComponent","lazyLoad","AvailableInvitationListSkeleton","Array","from","AvailableInvitationsComponent","CampaignsComponent","isInvitationsInitialized","SliderWrapper","TogglesWrapper","TogglesList","SliderToggle","PROGRAM_IMAGES","getMainProgramImages","getMainImagePath","placeholder950x296","placeholder360x450","ProgramCard","covers","ActionWrapper","ProgramName","ProgramDescription","SpecialProgramCard","JoinContext","useJoinContext","ConfidentialTextWrapper","ConfidentialDescriptionWrapper","CheckboxWrapper","CheckboxComponent","Checkbox","ConfidentialDetailsComponent","isAccepted","setIsAccepted","getConfidentialTranslations","CommonDetailsComponent","DetailsComponent","isConfidential","SuccessComponent","useJoinProgram","brandProgram","contentType","setContentType","JoinProgramDialog","joinProgram","useProgram","onJoinClick","activeProgram","pageUrl","ProgramComponent","ProgramsComponent","classicPrograms","setActiveSlide","onToggleClick","swipe","touchMove","waitForAnimate","SpecialProgramComponent","eventDetails","getEventDetails","WelcomeGiftContent","Hint","Controls","ViewCTA","StyledDialog","StyledDialogContent","DesktopButton","WELCOME_GIFT_IMAGES","MOBILE","rcMobile","WEB","rcWeb","WelcomeGIftDialog","isMobileOrLess","WelcomeGiftComponent","setReward","onClaimReward","claimBrandProgramWelcomeGift","getBrandProgramWelcomeGift","rewards","availableReward","benefitStatus","DELIVERED","claimBenefit","useBrandProgramWelcomeGift","onClaimClick","GameReleasesContent","ReleaseWrapper","figure","GamePoster","ReleaseTitle","ReleaseDate","SkeletonWrapper","ReleaseComponent","gameRelease","ReleaseSkeleton","ReleaseListSkeleton","GameReleases","isGameReleasesInitialized","BLOCKED_COUNTRIES","MOBILE_MEDIA","TABLET_MEDIA","SW_CONFIG","swLogo","AC_CONFIG","AC_Logo","SB_CONFIG","background","videoLoops","videos","skVideoMobile","skVideoTablet","skVideoDesktop","UF2024_CONFIG","uf2024Logo","XD_S1_CONFIG","Infinity","xdVideoMobile","xdVideoTablet","xdVideoDesktop","xdLogo","GAMES_CONFIG","SW","AC","EVENTS_CONFIG","UF2024","XDEFIANT_S1","AnnouncementSection","VideoOverlap","VideoWrapper","Video","video","GlobalStylesOverwrite","NewEventComponent","videoRef","videoLoopsCount","isVideoActive","setIsVideoActive","screenType","setScreenType","refreshMode","refreshRate","handleHeight","skipOnMount","onVideoEnded","matchMedia","matches","muted","autoPlay","controls","playsInline","onEnded","AnnouncementComponent","gameId","eventId","getGameConfig","getEventConfig","CampaignsPage","fetchGameRelease","rcProgram","specialProgram","PageBackgroundStyles","DataName","CampaignWrapper","InvitationStore","isContentAvailable","benefits","rewardType","EXTRA","CONDITIONAL","earlyAccessEndDate","invitationType","EARLY_ACCESS","isLimited","isSoldOut","assetsAvailabilityDate","hasAssets","isAssetsAvailableDatePassed","fetchInvitationById","fetchBenefits","declineInvitation","acceptInvitation","InvitationContext","useInvitationContext","ParticipateContext","useParticipationContext","useParticipationAnalytics","callParticipateCloseFlowEvent","callGotItFlowEvent","callEmbargoDateContinueFlowEvent","callInformationBackFlowEvent","callInformationContinueFlowEvent","callFTCContinueFLowEvent","callEmbargoDisplayFlowEvent","callFTCDisplayFlowEvent","callFTCAgreeToGuidelinesFlowEvent","callEmbargoDateBackFlowEvent","callInformationDisplayFlowEvent","callParticipateSuccessDisplayFlowEvent","callParticipateKeyErrorDisplayFlowEvent","callInformationPlatformSelectFlowEvent","AcceptCheckbox","EmbargoDateWrapper","EmbargoStepComponent","store","onNextStepClick","onPreviousStepClick","DetailsContentWrapper","FormControlWrapper","ContactChannelsComponent","StyledSelect","Select","StyledOption","SelectedValue","determine","MenuProps","disableUnderline","displayEmpty","IconComponent","renderValue","DropdownWrapper","PlatformsDataWrapper","CountriesDropdown","AppleIdConsentCheckbox","PlatformsComponent","platformsOptions","isSinglePlatform","activePlatform","isRegionRequired","countriesOptions","platformId","isAppleIdRequired","appleId","setPlatformId","setCountryId","setAppleId","toggleAppleIdConsent","DetailsStepComponent","isDataValid","isDiscordAvailable","isPlatformsAvailable","FTCWrapper","FTContent","FTCContentWrapper","FTCTitle","RulesWrapper","LinksWrapper","LINKS","FTCTextComponent","ftc","REVENUE_SHARING","TWITCH_DROPS_SINGLE_WAY","TWITCH_SUBS_REWARDS","YOUTUBE_DROPS","YOUTUBE_SUBS_REWARDS","CAPTURE_EVENT_ONLINE","PREVIEW_EVENTS","CAPTURE_EVENT_IN_PERSON","CO_REVEALS","TOURNAMENT_COMPETITION","GAME_ACCESS_CONTENT","UBISOFT_COLLABORATION","getActivationFTC","FTCStepComponent","isFTCMandatory","isAccept","setIsAccept","TOPICS","BenefitPlatformsStore","appleIdConsent","IOS","gropedPlatforms","isAvailable","groupedCountries","PS4","PS5","SWITCH","isAppleIdValid","test","isPlatformsValid","isRegionValid","ParticipationStore","HAND_ON_SESSION","ParticipationDialog","activationName","isEmbargoAvailable","accept","acceptData","DeclineInvitationDialog","DescriptionComponent","images","isDeclineAvailable","decline","isLimitedWarningAvailable","onDeclineClick","onParticipateClick","PLATFORM_WITHOUT_KEYS","fallbackImage","EmbargoContent","EmbargoDate","EmbargoIcon","EmbargoTooltip","EmbargoComponent","displayDateValue","embargoLocalDate","GuidelinesContent","GuidelinesComponent","quickPitch","dangerouslySetInnerHTML","__html","FTCTitleWrapper","FTCComponent","CTAStyles","AssetsContent","DownloadCTA","ExternalCTA","AssetsList","AssetCaption","AssetComponent","downloadId","redirectLink","onDownloadClick","downloadAsset","ResourcesComponent","isAssetsAvailable","detailsText","isInvitationAccepted","getAssetsDetailsText","asset","resourcesUrl","resourcesLabel","AssistanceContent","RedirectLink","AssistanceComponent","CONTACT_US","WarningContent","NotAvailableComponent","DeliveryStatusText","StatusIcon","DeliveryTypeWrapper","FeedbackIconCSS","BenefitIcon","PENDING","FAILED","RewardIcon","APPROVED","ON_REVIEW","DECLINED","BenefitsList","RewardContentWrapper","RewardSection","NOT_CLAIMED_STATUSES","NOT_CLAIMED","NOT_INIT","GeneralData","isCountryError","invitationStore","CLOSED_ALPHA_BETA","availablePlatformList","deliveryDate","bookingClosingDate","isReward","isDeliveryDatePassed","RewardStore","isConditionalReward","adminApproval","claimReward","fetchRewardStatus","fetchRewardKeys","submitRewardContent","EmbargoWrapper","RewardContext","useRewardContext","isEmbargoDatePassed","FeedbackIcon","FeedbackWrapper","FeedbackDetails","q","FeedbackDetailsIcon","FeedbackComponent","UrlInput","Form","VALIDATION_RULES","FormComponent","submitContent","setConfirm","onConfirmToggle","actionVisible","isInputEnable","EndDateWrapper","TimeIcon","EndDateComponent","formattedEndDate","UserContentComponent","isDelivered","BenefitName","ClaimedWrapper","ClaimedText","StatusWrapper","PlatformsWrapper","BenefitPlatformDialog","activePlatformId","onCloseDialog","isSubmitBlocked","delay","timerId","rejectFn","sleep","ClaimRewardComponent","sleepTimer","claim","fetchStatus","KeysList","Key","BenefitKeysDialog","activationKeysLink","KeysComponent","onDisplayClick","fetchKeys","KeysDeliveryComponent","rewardStore","isClaimBlocked","formattedDeliveryDate","GameItemsDeliveryComponent","PC","InvitationDeliveryComponent","DELIVERY_TYPE_COMPONENT","GAME_KEYS","IN_GAME_ITEMS","PHYSICAL_GOODS","DROPS_VIEWER_REWARDS","SUBSCRIBER_REWARDS","BenefitDeliveryComponent","isApproved","displayName","Component","isReadyToClaim","statusText","RewardComponent","updateBenefit","BenefitsContent","ExtraBenefitContext","useExtraBenefitContext","EarlyAccessDeliveryComponent","extraRewardStore","GameKeysDeliveryComponent","InGameItemsDeliveryComponent","PhysicalGoodsDeliveryComponent","ViewerRewardsDeliveryComponent","SubRewardsDeliveryComponent","EarlyAccessProductionDeliveryComponent","ClosedBetaDeliveryComponent","BenefitPlatforms","UpdateCTA","RewardPlatformsComponent","isPlatformsVisible","FeedbackText","CountryBlockedComponent","assistanceLink","ExtraFeedbackComponent","ExtraBenefitComponent","extraBenefit","isCountryBlocked","BenefitCTA","BenefitContext","useBenefitContext","ClaimBenefitComponent","benefitStore","isActivePlatformIOS","benefitStatusText","BookingEventDeliveryComponent","isBookingDatePassed","bookingEventURL","DiscordDeliveryComponent","onLinkingClick","discordInvitationUrl","BENEFIT_TYPE_COMPONENT","BenefitStore","fetchBenefitKeys","fetchBenefitStatus","updateBenefitPlatform","BenefitPlatformsComponent","updatePlatform","isPlatformUpdateAvailable","onUpdateClick","BenefitStatusComponent","isEarlyAccessEnd","BenefitComponent","formattedAvailableDate","BenefitsComponent","extraRewards","filteredExtraRewards","InvitationPage","useParams","backLink","translationsKey","isInitialized","isDataInitialized","ContactUsContent","AccordionsWrapper","FAQLink","ArabicLink","AccordionWrapper","Accordion","AccordionArrow","AccordionDetails","AccordionComponent","summary","AccordionSummary","expandIcon","FaqComponent","instructionForPlatforms","Topics","DropdownLabel","HelpWrapper","DiscordWarning","ContactLink","DiscordCTA","SEARCH_PARAMS","DISCORD_SUPPORTED_TOPICS","CONNECTION_ISSUE","PLATFORM_ISSUE","KEY_ISSUE","TopicComponent","activeTopic","isDiscordActionVisible","isDiscordWarningMessageVisible","MessageWrapper","RevenueSupportFormComponent","setIssue","revenueSupport","ContactUsComponent","useLocation","topics","isCodeActive","BUSINESS_ISSUE","CREATORS_CODE_ISSUE","getIssuesTopics","setActiveTopic","onOpen","selectedTopicId","analyticsKey","AssistancePage","FAQPage","termsLink","terms","TermsWrapper","TermsOfUsePage","HistoryContent","InvitationsList","HistorySectionTitle","PaginationWrapper","Pagination","PaginationComponent","totalPages","currentPage","defaultPage","siblingCount","CODE_TABS","INITIAL_STATE","InvitationHistoryPage","history","useHistory","URLSearchParams","invitationHistory","setInvitationHistory","isUnmount","LIMIT","fetchInvitationsHistory","localeCompare","changePage","PAGE","scrollSmooth","useInvitationHistory","ProgramDetailsWrapper","WelcomeMessage","ProgramContent","WebsiteLink","SocialLink","SocialNetworkWrapper","getProgramPageTranslations","welcomeMessage","mediaKitTitle","mediaKitDescription","aboutTitle","AboutComponent","website","socialNetworks","socialNetwork","MediaKitComponent","mediaKit","CampaignsSection","CampaignsHeader","OngoingCampaigns","setInvitations","fetchProgramInvitations","sortedInvitation","publications","FAQComponent","setFAQ","templateElement","innerHTML","sections","content","textContent","parsedDetails","replaceAll","AgendaSection","EventList","DateSwitcherWrapper","ArrowCTA","DateTime","DateSwitcherComponent","onNextClick","onPrevClick","EventDate","EventBlock","DetailsLink","EventName","EventComponent","programEvent","eventDate","EmptyEventComponent","EventSkeleton","EventListSkeleton","AgendaComponent","events","setEvents","setDate","monthEvents","isSame","onDateChange","newDate","fetchProgramAgenda","sortedData","sortBy","NewsSection","ProgramNewsWrapper","SeeAllLink","EmptyTitle","ArticleLink","HighlightsItem","ImgContainer","useNewsArticle","placementName","articlePlacement","articleId","publishedAt","onArticleClick","mediaUrl","mediaURL","localization","ProgramNewsArticleComponent","EmptyListComponent","ProgramNewsArticleSkeleton","NewsProgramSkeleton","ProgramNewsComponent","setNews","ProgramFeedbackDialog","feedback","FEEDBACK","LeaveComponent","handleLeave","ProgramPage","setProgram","fetchBrandProgram","ProgramRouters","exact","Published","MainImage","ImgWrapper","RECOURSE_TAG_ATTRIBUTES","isMaliciousAttribute","formattedValue","isEvent","startsWith","parseHTMLString","sanitizedHTMLString","htmlString","template","attributes","sanitizeHTMLTags","ParseElement","attribs","domToReact","ArticleComponent","parsedContent","NewsArticlePage","getArticle","isNewsInitialized","NewsContent","NewsList","TitleWrapper","StyledTitle","StyledDropdown","selectedNames","multiple","ArticleWrapper","LatestArticleComponent","LatestArticleSkeleton","NewsListSkeleton","LatestNewsComponent","showMoreLatestNews","isPossibleToShowMore","setSelectedTag","tagsSearchOptions","MainNewsWrapper","BackgroundCover","MainArticleSkeleton","fallbackPoster","MainArticleComponent","MainNewsComponent","HighlightsList","HighlightArticleSkeleton","HighlightsListSkeleton","HighlightArticleComponent","HighlightsNewsComponent","NewsPage","NewsRouters","CreatorCodeTitle","HeaderDescription","PAYMENT_STEPS","TABS","MAIN","EARNING","LockedContent","LockerIcon","LockedContentWrapper","KEY_STEP_TIME","GeneralContentSectionCSS","DescriptionSection","DescriptionTitle","DescriptionText","StatusSection","StatusContent","StatusTitle","StatusText","StepContentWrapper","DisclaimerMessage","ContentSection","CodeWrapper","Code","CopyCTA","copyTextToBuffer","onSuccess","navigator","clipboard","writeText","textArea","opacity","prepend","select","execCommand","onCopyClick","CodeStatusSection","StatusComponent","FormContent","CodeInput","RulesTitle","Rules","Rule","RuleComponent","CodeEditingDialog","initialCode","setCode","isCodeUnique","setIsCodeUnique","updateCreatorCode","isCodeTheSame","isLengthValid","isCreatorCodeLengthValid","isPatternValid","checkValidation","isCreatorCodeValid","isInputValid","isSubmitAvailable","CodeEditComponent","onRequestClick","CodeComponent","CODE","EmailLink","CTAArrow","isOpen","QUESTIONS","isFullVersion","setIsFullVersion","questions","supportEmailLink","FTCDisclosureLink","DESCRIPTIONS","LottieImage","TransitionWrapper","CSSTransition","AnimatedFlowComponent","activeStep","setActiveStep","revenue","onEnterFrame","currentTime","FIRST","SECOND","THIRD","SwitchTransition","classNames","OnboardingDialog","confirmOnboarding","firstName","PaymentAppLink","RequestSent","RequestSuccessIcon","ActionComponent","isEmailRequestDatePassed","onRequestEmailClick","WarningComponent","PaymentInformationComponent","isWarningAvailable","PAYMENT_DATA","isTimerOver","createCreatorIQProfile","ErrorWrapper","ErrorIcon","TimerWrapper","TimerIcon","ErrorComponent","visibleTime","minutes","CreateIQComponent","isAccountCallAvailable","setRemainingTime","useAccountLinkTimer","isErrorAvailable","IQ_LINKING","RatesList","RateWrapper","RatesMap","UBISOFT","Default","RateComponent","rate","rateType","getRateImage","thresholdVC","NumberFormat","model","STORE","percentageRate","thresholdAmount","currency","RatesComponent","isTabletOrLess","TransactionsWrapper","dl","ContentBlock","Tips","DownloadCTAWrapper","TimeWrapper","EmptyStatComponent","EarningsComponent","transactions","downloadTransactions","lastUpdateDate","updatedDate","commissionCurrency","onDowloadClick","commission","amountPaid","saleAmount","comissionAmountApproved","comissionAmountPending","comissionAmountDeclined","transactionAmountApproved","transactionAmountPending","transactionAmountDeclined","TabContentWrapper","ChildrenWrapper","TabsWrapper","TabCTA","TabsComponent","tabs","activeTab","tab","React","toArray","CreatorsCodePage","setActiveTab","isOnboardingPassed","Banner","PrimaryChannelChangedBanner","onRelinkClick","AccountChannelChangedBanner","BannerComponent","LinkingProvider","showSuccess","DashboardComponent","stopNotify","isCreatorsCodeRestricted","OnboardingLayout","OnboardingContext","useOnboardingContext","OnboardingStore","programs","isWelcomeMessageActive","isAgreementAccepted","completeOnboarding","StepDescription","StepContent","TermsText","NavigationComponent","TermsStepComponent","onContinue","toggleAgreementAccepted","debounceTime","gap","isBottom","setIsBottom","scrollRef","el","scrollHeight","onScroll","debounce","isScrolledDown","useScrollBottom","InformationStepComponent","onBack","submitOnboardingData","PolicyText","PolicyStepComponent","SectionWrapper","PlatformsList","TagsList","getGroupTagsIds","isGroupDisabled","TagsComponent","ProfileStepComponent","ContentDescription","GamesList","GamesComponent","ProgramLogo","ProgramCover","ProgramWrapper","PROGRAM_ASSETS","r6Cover","xdCover","sbCover","rcCover","crewCover","updatePrograms","ONBOARDING_STEPS","isGamesValid","OnboardingStepsComponent","WelcomeContentWrapper","AcceptCTA","WelcomeComponent","setWelcomeMessageActive","OnboardingComponent","referralProgram","DashboardPage","isFirstConnectionFlowCompleted","PublicRouter","NotFoundPage","UnavailablePage","ServerErrorPage","ForbiddenPage","EmbargoedCountryPage","MinorPage","MaintenancePage","WhitelistPage","GlobalErrorProvider","isServerError","Routes","isFormRestricted","isDashboardRestricted","DialogKeydownProvider","dialogRoot","DialogsComponent","maskAnimation","animation","destroyOnClose","visible","HeaderGlobalStyles","globalNavigationUAT","GLOBAL_NAVIGATION_URL","useGlobalNavigator","onConnect","getElementById","async","globalNavOverlayWidget","initializedGlobalNavigationScript","_getTicket","clear","GlobalHeader","class","app-id","genome-id-emea","genome-id-ncsa","GlobalFooter","setUrl","removeLocale","origin","open-in-same-window","language-selector-url","language-selector-locales","language-selector-layout","LocaleProvider","ready","isLocaleDefine","setIsLocaleDefine","isLocaleInitialized","lowerCaseLocale","supportedLng","changeLanguage","countryLng","useGlobalErrorHandler","errorsHandler","log","groupEnd","AnalyticProvider","match","RegExp","exec","parseLang","DESCRIPTION","HelmetComponent","Helmet","property","ScrollRestorationComponent","pages","scrollTo","scrollIntoView","scrollPositionY","scrollRestoration","isIgnored","matchPath","isIgnorePath","scrollY","App","setReferral","useReferral","StrictMode","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","extend","fallback","REDIRECT_SEARCH_PARAMS","TOPIC","ERROR","ERROR_MESSAGE","transitionNextUrl","topicOfPostMessage","opener","parent","postMessage","GENERIC_NEXT_URL","filename"],"mappings":"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A,I,2BAAAA,I,sBAAAA,I,6BAAAA,I,sCAAAA,I,wCAAAA,I,sCAAAA,I,kBAAAA,I,uBAAAA,I,uBAAAA,I,gCAAAA,I,4BAAAA,I,oBAAAA,I,cAAAA,I,4BAAAA,I,wBAAAA,I,YAAAA,I,+CAAAA,Q,cAoCAC,O,mBAAAA,I,qBAAAA,I,yBAAAA,I,SAAAA,I,uBAAAA,I,mBAAAA,I,yBAAAA,I,yBAAAA,I,wBAAAA,I,wBAAAA,I,oBAAAA,I,sBAAAA,I,uBAAAA,Q,cAgBAC,O,WAAAA,I,aAAAA,I,6BAAAA,I,mBAAAA,I,uBAAAA,I,aAAAA,I,mBAAAA,I,sCAAAA,I,sBAAAA,I,cAAAA,I,qCAAAA,Q,cAcAC,O,qBAAAA,I,6BAAAA,I,iBAAAA,I,kBAAAA,Q,cAiEAC,O,eAAAA,I,uBAAAA,I,uBAAAA,I,iBAAAA,I,sBAAAA,Q,cAQAC,O,iBAAAA,I,uCAAAA,I,yBAAAA,I,yBAAAA,I,0BAAAA,Q,cAQAC,O,uBAAAA,I,6BAAAA,I,yBAAAA,I,mBAAAA,I,sBAAAA,Q,cAQAC,O,6CAAAA,I,yBAAAA,I,iCAAAA,I,mCAAAA,I,+CAAAA,I,2CAAAA,I,uCAAAA,I,qCAAAA,I,qDAAAA,I,0CAAAA,I,sCAAAA,I,kCAAAA,I,uBAAAA,Q,cA8BAC,O,+BAAAA,I,qDAAAA,I,iCAAAA,I,6CAAAA,I,+CAAAA,I,+CAAAA,I,qDAAAA,I,2BAAAA,I,qCAAAA,I,kDAAAA,I,oDAAAA,I,8CAAAA,I,wBAAAA,I,wDAAAA,I,qCAAAA,Q,cAyCAC,O,8BAAAA,I,8BAAAA,I,kCAAAA,I,kEAAAA,I,8BAAAA,I,oBAAAA,I,oBAAAA,I,4BAAAA,I,4EAAAA,I,4CAAAA,I,wCAAAA,I,8BAAAA,I,kEAAAA,I,sCAAAA,I,8BAAAA,I,4BAAAA,I,wCAAAA,I,sCAAAA,I,0CAAAA,I,8CAAAA,I,wBAAAA,I,kDAAAA,I,kDAAAA,I,8BAAAA,I,kCAAAA,I,gBAAAA,I,0BAAAA,I,4BAAAA,I,0BAAAA,I,wCAAAA,I,sCAAAA,I,wDAAAA,I,kBAAAA,I,+BAAAA,Q,cAkIAC,O,uBAAAA,I,yBAAAA,I,uB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","file":"static/js/main.7cbcf670.chunk.js","sourcesContent":["exports.BUILD_MODES = {\n DEVELOPMENT: \"development\",\n PRODUCTION: \"production\",\n};\n","export enum ENV {\n UAT = \"UAT\",\n DEV = \"DEV\",\n CERT = \"CERT\",\n PROD = \"PROD\",\n}\n","export const SCREEN_SIZE = {\n ms: \"320px\",\n mm: \"375px\",\n ml: \"440px\",\n ts: \"672px\",\n tm: \"768px\",\n tl: \"820px\",\n ls: \"1024px\",\n lm: \"1280px\",\n ll: \"1440px\",\n xl: \"1920px\",\n} as const;\n\nexport const BREAKPOINT = {\n ms: `@media screen and (max-width: ${SCREEN_SIZE.ms})`,\n mm: `@media screen and (max-width: ${SCREEN_SIZE.mm})`,\n ml: `@media screen and (max-width: ${SCREEN_SIZE.ml})`,\n ts: `@media screen and (max-width: ${SCREEN_SIZE.ts})`,\n tm: `@media screen and (max-width: ${SCREEN_SIZE.tm})`,\n tl: `@media screen and (max-width: ${SCREEN_SIZE.tl})`,\n ls: `@media screen and (max-width: ${SCREEN_SIZE.ls})`,\n lm: `@media screen and (max-width: ${SCREEN_SIZE.lm})`,\n ll: `@media screen and (max-width: ${SCREEN_SIZE.ll})`,\n xl: `@media screen and (max-width: ${SCREEN_SIZE.xl})`,\n};\n\nexport const MEDIA_QUERIES = {\n isTouchscreen: \"@media (hover: none) and (pointer: coarse)\",\n isStylesBased: \"@media (hover: none) and (pointer: fine)\",\n isMouseBased: \"@media (hover: hover) and (pointer: fine)\",\n isSupportHover: \"@media (any-hover: hover)\",\n};\n","import styled, { css } from \"styled-components\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const FixedNavigationHeight = \"50px\";\nexport const FixedControlsHeight = \"72px\";\n\nexport const GeneralContentStyles = css`\n flex-grow: 1;\n padding: 4.8rem 2.2rem;\n\n ${BREAKPOINT.tm} {\n padding: 2.4rem 1.6rem;\n }\n`;\n\nexport const AppLayout = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const PageBackground = styled.div`\n position: fixed;\n top: ${FixedNavigationHeight};\n left: 0;\n z-index: -1;\n\n width: 100vw;\n height: 100vh;\n\n background-image: var(--background);\n background-position: top left;\n background-repeat: no-repeat;\n background-size: 100vw;\n\n ${BREAKPOINT.tm} {\n background-image: var(--background-mobile);\n }\n`;\n\nexport const MainContent = styled.main`\n position: relative;\n\n min-height: calc(100vh - ${FixedNavigationHeight});\n`;\n","import { createGlobalStyle, css, keyframes } from \"styled-components\";\n\nimport { BREAKPOINT } from \"./constants/media-queries.constants\";\n\nexport const HideScrollbarCSS = css`\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n`;\n\nexport const ReliefEffectCSS = css`\n box-shadow: inset 1px 1px 1px 0 var(--color-stroke-1),\n 1px 1px 0 0 var(--color-stroke-2);\n`;\n\nexport const BackgroundGlassCSS = css`\n backdrop-filter: blur(5px);\n\n ${BREAKPOINT.ml} {\n backdrop-filter: none;\n }\n`;\n\nexport const TextEllipsisCSS = css`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nexport const LinkCSS = css`\n display: inline-flex;\n align-items: center;\n\n font-weight: bold;\n text-decoration: none;\n color: var(--color-text-clickable);\n\n transition: 0.2s all;\n\n &:hover {\n color: var(--color-text-clickable-hover);\n }\n\n &:active {\n color: var(--color-text-clickable-pressed);\n }\n`;\n\nexport const FlexContentCenteringCSS = css`\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nexport const GlobalMUIStyles = createGlobalStyle`\n .MuiList-root {\n color: var(--color-text-primary);\n\n background-color: var(--color-background-2);\n }\n \n .MuiMenuItem-root {\n &&.Mui-selected,\n &&.Mui-selected:hover {\n background-color: var(--color-background-glass-2);\n }\n }\n\n .MuiAutocomplete-listbox {\n background-color: var(--color-background-2);\n\n .MuiAutocomplete-option {\n padding: 1rem 1.4rem;\n\n &:hover {\n background: var(--color-background-4);\n };\n }\n\n .MuiAutocomplete-option[data-focus=\"true\"] {\n background-color: var(--color-background-glass-2);\n }\n }\n\n .MuiAutocomplete-popper .MuiAutocomplete-noOptions {\n background-color: var(--color-background-2);\n }\n`;\n\nexport const FlickeringAnimation = keyframes`\n 0%, 100% {\n background-color: #666666;\n }\n \n 50% {\n background-color: #989898;\n }\n`;\n","import { ENV } from \"../types/env\";\n\n/* The constant CI_ENVIRONMENT_NAME will be set by Gitlab on deploy stage, and should be one of existing ENVs */\nconst CI_ENVIRONMENT_NAME = \"PROD\" as ENV;\n\nexport const ENVIRONMENT = Object.values(ENV).includes(CI_ENVIRONMENT_NAME)\n ? CI_ENVIRONMENT_NAME\n : ENV.UAT;\n","export enum LOCALES {\n MS_BN = \"ms-BN\",\n EN_BN = \"en-BN\",\n KM_KH = \"km-KH\",\n LO_LA = \"lo-LA\",\n MY_MM = \"my-MM\",\n CN_MO = \"cn-MO\",\n VI_VN = \"vi-VN\",\n ZH_SG = \"zh-SG\",\n EN_SG = \"en-SG\",\n EN_PH = \"en-PH\",\n MS_MY = \"ms-MY\",\n IN_ID = \"in-ID\",\n ZH_HK = \"zh-HK\",\n EN_GB = \"en-GB\",\n EN_CA = \"en-CA\",\n EN_AU = \"en-AU\",\n EN_US = \"en-US\",\n FR_FR = \"fr-FR\",\n FR_BE = \"fr-BE\",\n FR_CH = \"fr-CH\",\n FR_CA = \"fr-CA\",\n ES_ES = \"es-ES\",\n ES_MX = \"es-MX\",\n PT_PT = \"pt-PT\",\n PT_BR = \"pt-BR\",\n ZH_CN = \"zh-CN\",\n ZH_TW = \"zh-TW\",\n NB_NO = \"nb-NO\",\n DA_DK = \"da-DK\",\n DE_DE = \"de-DE\",\n DE_CH = \"de-CH\",\n FI_FI = \"fi-FI\",\n HU_HU = \"hu-HU\",\n IT_IT = \"it-IT\",\n NL_NL = \"nl-NL\",\n PL_PL = \"pl-PL\",\n RU_RU = \"ru-RU\",\n SV_SE = \"sv-SE\",\n TR_TR = \"tr-TR\",\n UK_UA = \"uk-UA\",\n AR_AE = \"ar-AE\",\n JA_JP = \"ja-JP\",\n KO_KR = \"ko-KR\",\n TH_TH = \"th-TH\",\n CS_CZ = \"cs-CZ\",\n NN_NO = \"nn-NO\",\n AR_AF = \"ar-AF\",\n AR_DZ = \"ar-DZ\",\n AR_BH = \"ar-BH\",\n AR_KM = \"ar-KM\",\n AR_DJ = \"ar-DJ\",\n AR_PS = \"ar-PS\",\n AR_JO = \"ar-JO\",\n AR_KW = \"ar-KW\",\n AR_LB = \"ar-LB\",\n AR_LY = \"ar-LY\",\n AR_MA = \"ar-MA\",\n AR_OM = \"ar-OM\",\n AR_PK = \"ar-PK\",\n AR_QA = \"ar-QA\",\n AR_SA = \"ar-SA\",\n AR_SO = \"ar-SO\",\n AR_EH = \"ar-EH\",\n AR_TN = \"ar-TN\",\n AR_EG = \"ar-EG\",\n AR_YE = \"ar-YE\",\n}\n\nexport const COUNTRY_LANGUAGE: Record = {\n FR: LOCALES.FR_FR,\n DE: LOCALES.DE_DE,\n BR: LOCALES.PT_BR,\n PT: LOCALES.PT_BR,\n ES: LOCALES.ES_ES,\n MX: LOCALES.ES_ES,\n US: LOCALES.EN_US,\n KR: LOCALES.KO_KR,\n JP: LOCALES.JA_JP,\n PL: LOCALES.PL_PL,\n IT: LOCALES.IT_IT,\n};\n\nexport const FALLBACK_LNG = LOCALES.EN_US;\n\nexport const SUPPORTED_LANGUAGES = [\n LOCALES.DE_DE,\n LOCALES.EN_US,\n LOCALES.FR_FR,\n LOCALES.PT_BR,\n LOCALES.ES_ES,\n LOCALES.RU_RU,\n LOCALES.KO_KR,\n LOCALES.IT_IT,\n LOCALES.JA_JP,\n LOCALES.PL_PL,\n LOCALES.ZH_TW,\n LOCALES.ZH_CN,\n];\n\nexport const OVERLAY_LANGUAGES = SUPPORTED_LANGUAGES.map((locale) =>\n locale.toLowerCase()\n).join(\",\");\n","import { BUILD_MODES } from \"../../../build-constants\";\nimport { ENVIRONMENT } from \"../constants/env\";\nimport { ENV } from \"../types/env\";\n\nexport const isProductionEnvironment = () => {\n return ENVIRONMENT === ENV.PROD;\n};\n\nexport const isProductionLikeEnvironment = () => {\n /* PROD & CERT environments shouldn't have differences in terms of APIs & services they are working with */\n return [ENV.PROD, ENV.CERT].includes(ENVIRONMENT);\n};\n\nexport const isDevelopmentBuild = () => {\n return process.env.NODE_ENV === BUILD_MODES.DEVELOPMENT;\n};\n\nexport const isDevelopmentEnvironment = () => {\n return ENVIRONMENT === ENV.DEV;\n};\n\nexport const isProductionBuild = () => {\n return process.env.NODE_ENV === BUILD_MODES.PRODUCTION;\n};\n\nexport const getImagePath = () =>\n isDevelopmentBuild() ? \"\" : \"https://static-webservicesops.akamaized.net/sponsalia/prod/fo\";\n","import { isDevelopmentBuild } from \"../domains/shared/utils/environments\";\n\nexport const defaultNS = \"translations\";\nexport const loadPath = isDevelopmentBuild()\n ? \"/{{ns}}/{{lng}}.json\"\n : \"https://static-webservicesops.akamaized.net/sponsalia/prod/fo/{{ns}}/{{lng}}.json\";\n","import i18n from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\nimport Backend from \"i18next-http-backend\";\n\nimport { defaultNS, loadPath } from \"./constants\";\nimport { FALLBACK_LNG, SUPPORTED_LANGUAGES } from \"./languages\";\n\ni18n\n .use(Backend)\n .use(initReactI18next)\n .init({\n fallbackLng: FALLBACK_LNG,\n supportedLngs: SUPPORTED_LANGUAGES,\n backend: {\n loadPath,\n allowMultiLoading: false,\n },\n ns: [defaultNS],\n defaultNS,\n nsSeparator: false,\n interpolation: {\n escapeValue: false,\n },\n returnEmptyString: false,\n react: {\n useSuspense: false,\n transKeepBasicHtmlNodesFor: [\n \"ul\",\n \"div\",\n \"li\",\n \"p\",\n \"ol\",\n \"strong\",\n \"h2\",\n \"section\",\n \"br\",\n \"u\",\n \"i\",\n ],\n },\n });\n\nexport default i18n;\n","import { PROGRAM_TYPE } from \"domains/programs/types\";\nimport { ACCOUNT_PROFILE_TYPES } from \"domains/shared/services/overlay-service/types\";\n\nexport type PaymentStats = {\n amountPaid: null;\n approvedPendingPayment: string;\n comissionAmountApproved: string;\n comissionAmountDeclined: null | number;\n comissionAmountPending: null | number;\n commission: string;\n commissionCurrency: string;\n createdDate: string;\n saleAmount: string;\n transactionAmountApproved: null | number;\n transactionAmountDeclined: null | number;\n transactionAmountPending: null | number;\n updatedDate: string;\n};\n\nexport type PaymentData = {\n isPayable: boolean | null;\n creatorIQId: string | null;\n notPayableReason: string | null;\n payableStatusUpdatedAt: string | null;\n emailSentAt: string | null;\n stats: null | PaymentStats;\n};\n\nexport enum RATE_MODEL {\n STORE = 1,\n IN_GAME = 2,\n}\n\nexport enum RATE_TYPE {\n UBISOFT = 1,\n XDEFIANT = 2,\n}\n\nexport type PaymentRate = {\n id: number;\n title: string;\n isDefault: boolean;\n startDate: string;\n endDate: string | null;\n comment: string | null;\n model: {\n id: RATE_MODEL;\n name: string;\n };\n type: {\n id: RATE_TYPE;\n name: string;\n };\n percentageRate?: number;\n currency?: string;\n thresholdVC?: number;\n thresholdAmount?: number;\n};\n\nexport type YouTubeChannel = {\n id: string;\n title: string;\n description: string;\n};\n\nexport type YouTubeAccount = {\n username: string;\n channels: YouTubeChannel[];\n};\n\nexport type Country = {\n id: number;\n name: string;\n code: string;\n};\n\nexport type Game = {\n id: GAMES;\n name: string;\n logo: string;\n thumbnail: string;\n category: {\n id: number;\n name: string;\n };\n};\n\nexport type MetadataGames = Game & {\n mdmId: number;\n};\n\nexport enum GAMES_CATEGORIES {\n HIGHLIGHTS = \"highlights\",\n OTHERS = \"others\",\n ADDITIONAL = \"additional\",\n}\n\nexport type GameCategory = {\n id: number;\n name: GAMES_CATEGORIES;\n games: MetadataGames[];\n};\n\nexport type Language = {\n id: number;\n name: string;\n code: string;\n};\n\nexport type Platform = {\n id: GAME_PLATFORMS;\n name: string;\n legacy?: boolean;\n};\n\nexport type Tier = {\n id: number;\n name: string;\n};\n\nexport enum PROFILE_STATUS {\n CREATED = 1,\n APPLIED = 2,\n INVITED = 3,\n ACCEPTED = 4,\n REJECTED = 5,\n LEFT = 6,\n BANNED = 7,\n BAN_PENDING = 8,\n ON_HOLD = 9,\n}\n\nexport enum HISTORY_REASONS {\n MINIMUM_REQUIREMENTS = 1,\n INAPPROPRIATE_CONTENT_OR_BEHAVIOR,\n IN_GAME_PERMABAN,\n OTHER,\n UNLINKED_PROFILE,\n NOT_PRODUCED,\n NOT_INTERESTING,\n NOT_STORED,\n CUSTOM_LEAVE_REASON,\n CHANGED_CHANNELS,\n IRRELEVANT_CONTENT,\n}\n\nexport type Status = {\n id: PROFILE_STATUS;\n name: string;\n};\n\nexport type ProfileChannel = {\n idOnPlatform: string;\n isMain: boolean;\n nameOnPlatform: string | null;\n type: ChannelType;\n url: string;\n profileId: string;\n};\n\nexport type HistoryReason = {\n id: HISTORY_REASONS;\n value: string;\n};\n\nexport type CodeDetails = {\n id: number;\n code: string;\n isInactive: boolean;\n codeSentToEcom: boolean;\n updatedDate: string;\n createdDate: string;\n};\n\nexport type ProfileData = {\n revenueSharing: CodeDetails | null;\n tags: TagType[];\n userId: string;\n appleId: string | null;\n username: string;\n country: Country;\n channels: ProfileChannel[];\n games: Game[];\n platforms: Platform[];\n secondaryEmail: string | null;\n tier: Tier;\n status: Status;\n referral?: CreatorReferral;\n brandPrograms: BrandProgram[];\n termsAccepted: boolean;\n onboardingCompleted: boolean;\n communicationLanguage: Language;\n lastHistoryEntry?: {\n canReapply: boolean;\n reason?: HistoryReason;\n };\n};\n\nexport type CreatorReferral = {\n id: number;\n name: string;\n brandProgramId: PROGRAM_TYPE;\n};\n\nexport type BrandProgram = {\n name: string;\n id: PROGRAM_TYPE;\n isSpecialEvent: boolean;\n};\n\nexport type OnboardingData = {\n platforms: number[];\n games: number[];\n tags: number[];\n programs: number[];\n};\n\nexport enum GAMES {\n RAINBOW_SIX_MOBILE = 47,\n POP = 44,\n ANNO = 21,\n AC = 1,\n AVATAR = 42,\n BRAWHALLA = 22,\n FAR_CRY = 2,\n FOR_HONOR = 3,\n GHOST_RECON = 24,\n FENYX_RISING = 35,\n JUST_DANCE = 4,\n RABBITS = 36,\n RAINBOW_SIX = 6,\n RIDERS_REPUBLIC = 37,\n ROLLER_CHAMPIONS = 41,\n SKULL_AND_BONES = 38,\n STEEP = 27,\n THE_CREW = 7,\n DIVISION = 8,\n THE_SETTLERS = 28,\n TRACKMANIA = 29,\n TRIALS = 30,\n UNO = 40,\n WATCH_DOGS = 20,\n XDEFIANT = 43,\n SW = 45,\n DIVISION_RESURGENCE = 45,\n}\n\nexport type ChannelType = {\n id: CHANNEL_IDS;\n name: string;\n ubiProfileType: ACCOUNT_PROFILE_TYPES | null;\n};\n\nexport enum CHANNEL_IDS {\n TWITCH = 1,\n YOUTUBE = 2,\n INSTAGRAM = 3,\n X = 4,\n FACEBOOK = 5,\n TIKTOK = 6,\n VKONTAKTE = 7,\n AFREECATV = 8,\n NONOLIVE = 10,\n OPEN_REC = 11,\n MILDOM = 12,\n NIMO_TV = 13,\n DISCORD = 14,\n}\n\nexport enum GAME_PLATFORMS {\n PC = 1,\n PS5 = 2,\n XBOX_SERIES = 4,\n SWITCH = 5,\n XBOX_ONE = 6,\n PS4 = 8,\n MOBILE = 9,\n VIRTUAL_REALITY = 10,\n ANDROID = 11,\n IOS = 12,\n CROSS_PLATFORM = 13,\n}\n\nexport enum REASONS {\n PRODUCE = 6,\n INTERESTING = 7,\n STORE = 8,\n OTHER = 9,\n}\n\nexport type LeavingReason = {\n id: REASONS;\n translationKey: string;\n value: string;\n};\n\nexport type TagGroup = {\n id: number;\n name: string;\n};\n\nexport type TagType = {\n id: number;\n group: TagGroup;\n name: string;\n translationKey: string;\n};\n\nexport type MetadataResponse = {\n tags: TagType[];\n countries: Country[];\n platforms: Platform[];\n channelTypes: ChannelType[];\n gameCategories: GameCategory[];\n languages: Language[];\n leaveReasons: LeavingReason[];\n brandPrograms: BrandProgram[];\n regions: Region[];\n};\n\nexport type SignupAllowed = {\n signupAllowed: boolean;\n};\n\nexport type CreatorData = {\n countryId: number;\n channels: ChannelData[];\n broadcastLanguageId: number;\n communicationLanguageId: number;\n referralCode?: string;\n};\n\nexport type ChannelData = {\n typeId: CHANNEL_IDS;\n url?: string;\n username?: string;\n isMain?: boolean;\n};\n\nexport type GamingPreferencesRequest = {\n games: Game[];\n platforms: Platform[];\n};\n\nexport type UpdateChannelsResponse = {\n channels: ProfileChannel[];\n};\n\nexport enum INVITATION_STATUS {\n SENT = 1,\n ACCEPTED = 2,\n REJECTED = 3,\n DRAFT = 4,\n REMOVED = 5,\n}\n\nexport enum PUBLICATION_STATUS {\n DRAFT = 1,\n UNDER_VALIDATION = 2,\n VALIDATED = 3,\n PUBLISHED = 4,\n CANCELLED = 5,\n}\n\nexport enum BENEFIT_STATUS {\n NOT_INIT = 1,\n NOT_CLAIMED = 2,\n DELIVERED = 3,\n FAILED = 4,\n PENDING = 5,\n}\n\nexport enum BENEFITS_TYPE {\n EARLY_ACCESS_REDEEM = 1,\n GAME_KEYS = 2,\n IN_GAME_ITEMS = 3,\n PHYSICAL_GOODS = 4,\n DROPS_VIEWER_REWARDS = 5,\n SUBSCRIBER_REWARDS = 6,\n EVENT_INVITATION = 7,\n REVENUE_SHARING = 8,\n EARLY_ACCESS_PRODUCTION = 9,\n CLOSED_ALPHA_BETA = 10,\n HAND_ON_SESSION = 11,\n BOOKING_EVENT = 12,\n DISCORD = 13,\n}\n\nexport type BenefitType = {\n id: BENEFITS_TYPE;\n name: string;\n valueMandatory?: boolean;\n};\n\nexport type Asset = {\n id: number;\n filename: string;\n label: string;\n language: Language;\n createdDate: string;\n};\n\nexport enum ACTIVATION_TYPES {\n EARLY_ACCESS = 1,\n TWITCH_DROPS_SINGLE_WAY = 2,\n YOUTUBE_DROPS = 3,\n TWITCH_SUBS_REWARDS = 4,\n YOUTUBE_SUBS_REWARDS = 5,\n CAPTURE_EVENT_ONLINE = 6,\n CAPTURE_EVENT_IN_PERSON = 7,\n CO_REVEALS = 8,\n REVENUE_SHARING = 9,\n UBISOFT_COLLABORATION = 10,\n TOURNAMENT_COMPETITION = 11,\n GAME_ACCESS_CONTENT = 12,\n WORKSHOP = 13,\n TWITCH_DROPS_MULTI_WAVES = 14,\n PREVIEW_EVENTS = 15,\n}\n\nexport type Region = {\n id: number;\n name: string;\n regionPlatform: string;\n countries: Country[];\n};\n\nexport type PlatformRegion = {\n id: number;\n name: string;\n};\n\nexport type BenefitPlatform = {\n id: number;\n isAvailable: boolean;\n platform: {\n name: string;\n id: GAME_PLATFORMS;\n order: number;\n };\n region: PlatformRegion | null;\n};\n\nexport enum INSTALLMENTS {\n ANNO__1880 = 5060,\n AC__MIRAGE = 6613,\n AC__VALHALLA = 4720,\n AVATAR__FRONTIERS_OF_PANDORA = 5291,\n BRAWLHALLA = 5993,\n FC__5 = 2718,\n FC__6 = 5230,\n FOR_HONOR = 4315,\n MARIO_AND_RABBIDS__SPARKS_OF_HOPE = 5918,\n MONOPOLY__MADNESS = 6536,\n CREW__MOTORFEST = 6486,\n ODDBALLERS = 6591,\n PRINCE_OF_PERSIA__LOST_CROWN = 6507,\n R6__EXTRACTION = 4570,\n R6__MOBILE = 6120,\n R6__SIEGE = 2559,\n RIDERS_REPUBLIC = 5764,\n ROCKSMITH_PLUS = 5257,\n ROLLER_CHAMPIONS = 6074,\n STAR_WARS__OUTLAWS = 6481,\n CREW__2 = 5165,\n DIVISION__RESURGENCE = 6123,\n SETTLERS__NEW_ALLIES = 5059,\n TRACKMANIA = 3665,\n UBISOFT_PLUS = 6188,\n UNO = 5133,\n XDEFIANT = 6206,\n AC__NEXUS = 6194,\n JS__2024 = 6181,\n SKULL_AND_BONES = 4429,\n VALIANT_HEARTS = 6834,\n PRINCE_OF_PERSIA__ROGUE = 6631,\n BUMP = 6526,\n AC_SHADOWS = 6719,\n}\n\nexport type InvitationPreview = {\n // General information\n id: number;\n publicationName: string;\n registrationClosingDate: string;\n status: {\n id: INVITATION_STATUS;\n name: string;\n };\n publicationStatus: {\n id: PUBLICATION_STATUS;\n name: string;\n };\n intallmentName: string;\n endDate: string;\n showEmbargoTime: boolean;\n brandProgramId?: PROGRAM_TYPE;\n brandName: string;\n intallmentId: INSTALLMENTS;\n embargoDate?: string;\n canAccept: boolean;\n isLimited: boolean;\n // Benefits part\n benefitType: BenefitType;\n benefitDescription: string | null;\n platforms: Platform[];\n selectedPlatform: Platform | null;\n benefitDeliveryDate: string | null;\n benefitStartDate: string;\n};\n\nexport type Invitation = {\n id: number;\n publicationName: string;\n registrationClosingDate: string;\n bookingClosingDate?: string;\n status: {\n id: INVITATION_STATUS;\n name: string;\n };\n publicationStatus: {\n id: PUBLICATION_STATUS;\n name: string;\n };\n intallmentName: string;\n endDate: string;\n showEmbargoTime: boolean;\n brandProgramId?: PROGRAM_TYPE;\n brandName: string;\n intallmentId: INSTALLMENTS;\n embargoDate?: string;\n canAccept: boolean;\n isLimited: boolean;\n activationId: number;\n activationName: string;\n activationType: {\n id: ACTIVATION_TYPES;\n name: string;\n };\n assetsAvailabilityDate: string | null;\n publishDate: string;\n startDate: string;\n quickPitch: string | null;\n resourcesUrl: string | null;\n resourcesLabel: string | null;\n assets: Asset[];\n hasAssets: boolean;\n earlyAccessEndDate?: string;\n};\n\nexport type Benefit = {\n availablePlatforms: boolean;\n benefitDescription?: string;\n bookingEventURL?: string;\n discordInvitationUrl?: string;\n platforms: BenefitPlatform[];\n benefitStatus: {\n id: BENEFIT_STATUS;\n name: string;\n };\n country: Country | null;\n deliveryDate: string | null;\n platform?: Platform;\n type: BenefitType;\n startDate: string;\n};\n\nexport type BenefitPlatformData = {\n platformId: GAME_PLATFORMS;\n appleId: string | null;\n countryId: number | null;\n};\n\nexport enum REWARD_STATUS {\n NOT_INIT = 1,\n ON_REVIEW = 2,\n DECLINED = 3,\n APPROVED = 4,\n}\n\nexport enum REWARD_TYPE {\n CONDITIONAL = 1,\n EXTRA = 2,\n}\n\nexport type ExtraReward = {\n id: number;\n rewardType: {\n id: REWARD_TYPE.EXTRA;\n name: string;\n };\n} & Benefit;\n\nexport type ConditionalReward = {\n id: number;\n adminApproval: {\n id: REWARD_STATUS;\n name: string;\n };\n reason: string | null;\n rewardType: {\n id: REWARD_TYPE.CONDITIONAL;\n name: string;\n };\n contentUrl: string | null;\n} & Benefit;\n\nexport type InvitationBenefits = {\n benefit: Benefit;\n rewards: Array;\n};\n\nexport type BenefitKeys = {\n keys: string[];\n};\n\nexport type ProgramReward = {\n name: string;\n id: number;\n assets: {\n name: string;\n image: string;\n }[];\n benefitStatus: {\n id: BENEFIT_STATUS;\n name: string;\n };\n};\n\nexport type ReferralResponse = {\n results: ProgramReward[];\n};\n\nexport type CommunicationSupport = {\n topicName: string;\n body: string;\n campaign?: string;\n};\n\nexport type GameRelease = {\n name: string;\n thumbnail: string;\n releaseDate: string;\n};\n\ntype FeedbackField = {\n label: string;\n value: string;\n};\n\nexport type FeedbackData = {\n feedback: FeedbackField;\n complexity?: FeedbackField;\n reason?: FeedbackField;\n};\n\nexport type ProgramEvent = {\n eventDate: string;\n name: string;\n url?: string;\n};\n\nexport type ProgramAgenda = {\n events: ProgramEvent[];\n};\n\nexport type ProgramDetails = {\n id: number;\n name: string;\n code: string;\n config: {\n faq: boolean;\n agenda: boolean;\n news: boolean;\n };\n brand: {\n id: PROGRAM_TYPE;\n name: string;\n visible: boolean;\n };\n isSpecialEvent: boolean;\n mediaKit?: string;\n socialNetworks?: Array<{ id: number; link: string }>;\n website?: string;\n tagName?: string;\n};\n\nexport enum NOTIFICATION_TYPE {\n CAMPAIGN_INVITATION = 2,\n BENEFIT_AVAILABLE = 3,\n REVENUE_SHARE_INVITATION = 7,\n REVENUE_SHARE_AVAILABLE = 8,\n SURVEY_CAMPAIGN_VALIDATION = 9,\n SURVEY_CAMPAIGN_DECLINE = 10,\n SURVEY_ONBOARDING_COMPLETE = 11,\n SURVEY_NO_EVENT = 12,\n REGISTRATION_CLOSED_DATE_REMINDER = 13,\n EMBARGO_DATE_REACHED = 14,\n CAMPAIGN_LIMITS = 16,\n}\n\nexport type NotificationConfig = {\n activationTitle?: string;\n activationId?: number;\n registrationClosedDate?: string;\n surveyLink?: string;\n campaignId?: number;\n invitationId?: number;\n};\n\nexport type Notification = {\n id: number;\n notificationTypeId: NOTIFICATION_TYPE;\n isRead: boolean;\n createdDate: string;\n config: NotificationConfig;\n};\n\nexport type BenefitStatusResponse = {\n benefitStatus: {\n id: BENEFIT_STATUS;\n name: string;\n };\n};\n\nexport type AcceptInvitationData = {\n platformId?: number;\n countryId?: number;\n appleId?: string;\n};\n\nexport type ChannelSwapData = {\n username: string;\n url?: string;\n};\n","import i18n from \"i18n\";\n\nimport { FALLBACK_LNG } from \"../i18n/languages\";\n\nexport const urls = {\n get locale() {\n return `/${(i18n.language || FALLBACK_LNG).toLowerCase()}`;\n },\n\n get signUp() {\n return `${this.locale}/sign-up`;\n },\n\n get login() {\n return `${this.locale}/login`;\n },\n\n get status() {\n return `${this.locale}/status`;\n },\n\n get settings() {\n return `${this.locale}/dashboard/settings`;\n },\n\n get assistance() {\n return `${this.locale}/dashboard/assistance`;\n },\n\n get faq() {\n return `${this.locale}/dashboard/assistance/faq`;\n },\n\n get terms() {\n return `${this.locale}/dashboard/assistance/terms`;\n },\n\n get invitation() {\n return `${this.locale}/dashboard/campaigns/:invitationId(\\\\d+)`;\n },\n\n get campaignsHistory() {\n return `${this.locale}/dashboard/campaigns/history`;\n },\n\n get program() {\n return `${this.locale}/dashboard/campaigns/programs/:programId(\\\\d+)`;\n },\n\n get programCampaign() {\n return `${this.locale}/dashboard/campaigns/programs/:programId(\\\\d+)/:invitationId(\\\\d+)`;\n },\n\n get campaigns() {\n return `${this.locale}/dashboard/campaigns`;\n },\n\n get creatorsCode() {\n return `${this.locale}/dashboard/creator-codes`;\n },\n\n get news() {\n return `${this.locale}/dashboard/news`;\n },\n\n get article() {\n return `${this.locale}/dashboard/news/:articleId`;\n },\n\n get notifications() {\n return `${this.locale}/dashboard/notifications`;\n },\n};\n\nexport const localePath = \"/:locale([a-zA-Z]{2}-[a-zA-Z]{2})?\";\n","import styled, { css } from \"styled-components\";\n\nexport const PrimaryButtonState = css`\n background-color: var(--color-cta-primary);\n\n color: var(--color-text-cta-primary);\n\n &:not([disabled]):is(:hover, :focus-visible) {\n background-color: var(--color-cta-primary-hover);\n\n color: var(--color-text-cta-primary-hover);\n }\n\n &:not([disabled]):active {\n background-color: var(--color-cta-primary-pressed);\n box-shadow: 0 0 1px 0 var(--color-cta-primary-focus-stroke);\n\n color: var(--color-text-cta-primary-pressed);\n }\n\n &[disabled] {\n background-color: var(--color-cta-primary-disabled);\n\n color: var(--color-text-cta-primary-disabled);\n }\n`;\n\nexport const SecondaryButtonState = css`\n color: var(--color-text-cta-secondary);\n\n background-color: var(--color-cta-secondary);\n\n &:not([disabled]):is(:hover, :focus-visible) {\n background-color: var(--color-cta-secondary-hover);\n }\n\n &:not([disabled]):active {\n background-color: var(--color-cta-secondary-pressed);\n box-shadow: 0 0 1px 0 var(--color-cta-secondary-focus-stroke);\n }\n\n &[disabled] {\n background-color: var(--color-cta-secondary-disabled);\n\n color: var(--color-text-cta-secondary-disabled);\n }\n`;\n\nexport const WarningButtonState = css`\n color: var(--color-text-cta-warning);\n\n background-color: var(--color-cta-warning);\n\n &:not([disabled]):is(:hover, :focus-visible) {\n background-color: var(--color-cta-warning-hover);\n }\n\n &:not([disabled]):active {\n background-color: var(--color-cta-warning-pressed);\n box-shadow: 0 0 1px 0 var(--color-cta-warning-focus-stroke);\n }\n\n &[disabled] {\n background-color: var(--color-cta-warning-disabled);\n }\n`;\n\nexport const IconButtonState = css`\n padding: 0;\n border-radius: 0;\n\n line-height: 0;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n &[disabled] {\n color: var(--color-cta-primary-disabled);\n }\n`;\n\nexport const ResetButtonCSS = css`\n outline: none;\n border: none;\n background: none;\n\n padding: 0;\n\n transition: 0.2s all;\n\n &:not([disabled]) {\n cursor: pointer;\n }\n`;\n\nexport const ButtonStyles = styled.button`\n ${ResetButtonCSS};\n font: var(--font-subtitle-bold);\n\n &:not([data-kind=\"default\"]) {\n border-radius: 30px;\n padding: 0.8rem 2.4rem;\n }\n\n &[data-kind=\"primary\"] {\n ${PrimaryButtonState};\n }\n\n &[data-kind=\"secondary\"] {\n ${SecondaryButtonState};\n }\n\n &[data-kind=\"warning\"] {\n ${WarningButtonState};\n }\n\n &[data-kind=\"icon\"] {\n ${IconButtonState};\n }\n`;\n","import React, { ButtonHTMLAttributes, FC } from \"react\";\n\nimport { ButtonStyles } from \"./styles\";\n\ntype Props = {\n kind?: \"primary\" | \"secondary\" | \"warning\" | \"icon\" | \"default\";\n} & ButtonHTMLAttributes;\n\nexport const Button: FC = ({\n children,\n type = \"button\",\n kind = \"primary\",\n ...props\n}) => {\n return (\n \n {children}\n \n );\n};\n","import { getImagePath } from \"../utils/environments\";\n\nconst rootPath = getImagePath();\n\nconst getBackground = (imageName: string) => ({\n web: `${rootPath}/images/main-backgrounds/web/${imageName}`,\n mobile: `${rootPath}/images/main-backgrounds/mobile/${imageName}`,\n});\n\nexport const BG_IMAGES = {\n login: getBackground(\"Login.png\"),\n default: getBackground(\"Default.png\"),\n acMirage: getBackground(\"AC__Mirage.png\"),\n rc: getBackground(\"RC.png\"),\n r6: getBackground(\"R6.png\"),\n xDefiant: getBackground(\"XDefiant.png\"),\n uf2023: getBackground(\"UF2023.png\"),\n uf2024: getBackground(\"UF2024.png\"),\n crew: getBackground(\"Crew.png\"),\n skullAndBones: getBackground(\"Skull-&-Bones.png\"),\n avatarFOP: getBackground(\"Avatar__FOP.png\"),\n princeOfPersiaTLC: getBackground(\"Prince-of-Persia__The-Last-Crown.png\"),\n xDefiantS1: getBackground(\"XDefiant-S1.png\"),\n starWars: getBackground(\"Star-Wars.png\"),\n AC_Shadows: getBackground(\"AC_Shadows.png\"),\n};\n","import styled from \"styled-components\";\n\nimport { FixedNavigationHeight } from \"domains/shared/layout/styles\";\nimport { FlexContentCenteringCSS } from \"domains/shared/styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { Button } from \"domains/shared/components/button\";\nimport { BG_IMAGES } from \"domains/shared/constants/main-backgrounds\";\n\nexport const LoginContent = styled.main`\n display: flex;\n\n flex-grow: 1;\n min-height: calc(100vh - ${FixedNavigationHeight});\n`;\n\nexport const PresentationWrapper = styled.div`\n max-width: 49.4rem;\n`;\n\nexport const LogoWrapper = styled.div`\n display: flex;\n justify-content: center;\n\n padding: 0 4rem;\n margin-bottom: 3rem;\n\n img {\n width: 100%;\n }\n`;\n\nexport const Presentation = styled.section`\n background-image: url(${BG_IMAGES.login.web});\n background-size: cover;\n background-position: center;\n\n width: 85.8rem;\n flex-grow: 1;\n padding: 1.6rem;\n\n ${BREAKPOINT.ml} {\n background-image: url(${BG_IMAGES.login.mobile});\n }\n\n ${FlexContentCenteringCSS};\n`;\n\nexport const LoginFrame = styled.iframe`\n max-width: 56rem;\n width: 100%;\n height: 56rem;\n`;\n\nexport const FrameWrapper = styled.section`\n ${FlexContentCenteringCSS};\n flex-direction: column;\n\n width: 59.8rem;\n\n background-color: var(--color-background-4);\n`;\n\nexport const Description = styled.div`\n font: var(--font-title);\n color: var(--color-text-primary);\n text-align: center;\n\n ${BREAKPOINT.ls} {\n font: var(--font-subtitle);\n\n margin-bottom: 1.6rem;\n }\n`;\n\nexport const Privacy = styled.div`\n font: var(--font-body);\n color: var(--color-text-primary);\n text-align: center;\n\n max-width: 56rem;\n padding: 1.6rem;\n\n ${BREAKPOINT.ls} {\n max-width: inherit;\n padding: 0;\n }\n`;\n\nexport const AccessCTA = styled(Button)`\n width: 100%;\n\n ${BREAKPOINT.ls} {\n margin-bottom: 1.6rem;\n }\n`;\n","import { AxiosError, AxiosRequestConfig, AxiosResponse } from \"axios\";\n\nimport { ApplicationId } from \"domains/shared/types/app-config\";\n\nexport enum ERROR_CODES {\n CREATOR_IS_MINOR = 400012,\n CREATOR_COUNTRY_BLOCKED = 400013,\n ADDRESS_NOT_EXISTS = 404007,\n ACCESS_DENIED = 403011,\n MAINTENANCE = 503000,\n MISSING_YOUTUBE_TOKEN = 401007,\n INVALID_CHANNEL_TYPE = 400023,\n INVALID_MAIN_CHANNEL = 400021,\n INVALID_CHANNEL_URL = 400022,\n UNLINKED_YOUTUBE_CHANNEL_URL = 400024,\n INVALID_CHANNEL_USERNAME = 400027,\n EXISTING_CHANNEL_TYPE = 400028,\n CHANNEL_IS_MAIN = 400029,\n CHANNEL_NOT_EDITABLE = 400042,\n TOKEN_EXPIRED = 401003,\n INVALID_TICKET = 401004,\n FORBIDDEN = 403000,\n PLATFORM_WITHOUT_KEYS = 400067,\n NOT_SUPPORT_BENEFIT_COUNTRY = 400072,\n ERROR_CODE_CREATOR_IQ_PROFILE_NOT_FOUND = 404040,\n CREATORS_CODE_NOT_UNIQUE = 400085,\n}\n\nexport enum HTTP_GENERIC_ERROR_CODES {\n NOT_FOUND = 404,\n}\n\ntype ErrorContext = \"Sponsalia\";\n\ntype SponsaliaErrorData = {\n errorCode: ERROR_CODES;\n message: string;\n httpCode: number;\n errorContext: ErrorContext;\n moreInfo: string;\n transactionTime: string;\n transactionId: string;\n};\n\nexport type ErrorConfig = AxiosError & {\n config: AxiosRequestConfig;\n};\n\nexport type UbiServiceHeaders = {\n authorization: string;\n \"Ubi-AppId\": ApplicationId;\n SessionId: string;\n};\n\nexport type ResponseNotificationConfig = {\n notificationConfig?: {\n description: string;\n values?: Array;\n };\n};\n\nexport type ResponseConfig = AxiosResponse & {\n config: ResponseNotificationConfig & AxiosRequestConfig;\n};\n","import { ERROR_CODES, ErrorConfig } from \"./types\";\n\nimport { ENVIRONMENT } from \"domains/shared/constants/env\";\nimport { ENV } from \"domains/shared/types/env\";\n\nexport const UBI_SERVICES_PUBLIC_ENDPOINT = {\n [ENV.DEV]: \"https://uat-public-ubiservices.ubi.com\",\n [ENV.UAT]: \"https://uat-public-ubiservices.ubi.com\",\n [ENV.CERT]: \"https://cert2-public-ubiservices.ubi.com\",\n [ENV.PROD]: \"https://public-ubiservices.ubi.com\",\n};\n\nexport const SPONSALIA_PUBLIC_ENDPOINT = {\n [ENV.DEV]: \"https://dev-public-ubiservices.ubi.com\",\n [ENV.UAT]: \"https://uat-public-ubiservices.ubi.com\",\n [ENV.CERT]: \"https://cert2-public-ubiservices.ubi.com\",\n [ENV.PROD]: \"https://public-ubiservices.ubi.com\",\n};\n\nexport const GameReleaseApi =\n \"https://avcvysejs1-dsn.algolia.net/1/indexes/products_{locale}_default/browse\";\n\nexport const getErrorMessage = (error: ErrorConfig) => {\n let messageText: string;\n\n if (error.response?.data) {\n const { errorCode, httpCode, message } = error.response.data;\n\n messageText = `${errorCode ?? httpCode}: ${message}`;\n } else {\n messageText = error.message;\n }\n\n return messageText;\n};\n\nexport const getErrorCode = (error: ErrorConfig) => {\n return error.response?.data.errorCode ?? null;\n};\n\nexport function replaceUrlParams(\n url: string,\n params: Record\n): string {\n return url.replace(/{(\\w+)}/gi, (str, bracket) => {\n return bracket in params ? `${params[bracket]}` : \"\";\n });\n}\n\nexport function setUbiPublicServicesApi(path: string) {\n return `${UBI_SERVICES_PUBLIC_ENDPOINT[ENVIRONMENT]}${path}`;\n}\n\nexport function setSponsaliaPublicServicesApi(path: string) {\n return `${SPONSALIA_PUBLIC_ENDPOINT[ENVIRONMENT]}${path}`;\n}\n\nexport const isChannelsError = (errorCode: ERROR_CODES) =>\n [\n ERROR_CODES.MISSING_YOUTUBE_TOKEN,\n ERROR_CODES.INVALID_CHANNEL_TYPE,\n ERROR_CODES.INVALID_CHANNEL_URL,\n ERROR_CODES.UNLINKED_YOUTUBE_CHANNEL_URL,\n ERROR_CODES.INVALID_CHANNEL_USERNAME,\n ERROR_CODES.EXISTING_CHANNEL_TYPE,\n ERROR_CODES.CHANNEL_IS_MAIN,\n ERROR_CODES.CHANNEL_NOT_EDITABLE,\n ].includes(errorCode);\n","import { IconsType } from \"domains/shared/components/icon/icon.component\";\nimport {\n NOTIFICATION_TYPE,\n NotificationConfig,\n} from \"api/services/public-service\";\n\nexport enum NOTIFICATION_LEVEL {\n LEVEL1,\n LEVEL2,\n LEVEL3,\n LEVEL4,\n}\n\nexport type NotificationsData = {\n icon: IconsType;\n title: JSX.Element;\n description: JSX.Element;\n link: string | null;\n isExternalLink?: boolean;\n};\n\nexport type Level2Params = {\n notificationType: NOTIFICATION_TYPE;\n config: NotificationConfig;\n onClick?: () => void;\n};\n","import { computed, makeObservable, observable } from \"mobx\";\n\nimport { ErrorCode, Status } from \"./types\";\n\nclass GlobalErrorService {\n @observable\n private _isYouTubeTokenValid = true;\n @observable\n private _blockedErrorCode: ErrorCode = null;\n @observable\n private _status: Status = null;\n\n public constructor() {\n makeObservable(this);\n }\n\n @computed\n public get isServerError() {\n return this._status && this._status >= 500;\n }\n\n @computed\n public get status(): Status {\n return this._status;\n }\n\n public set status(status: Status) {\n this._status = status;\n }\n\n @computed\n public get blockedErrorCode(): ErrorCode {\n return this._blockedErrorCode;\n }\n\n public set blockedErrorCode(code: ErrorCode) {\n this._blockedErrorCode = code;\n }\n\n @computed\n public get isYouTubeTokenValid() {\n return this._isYouTubeTokenValid;\n }\n\n public set isYouTubeTokenValid(value: boolean) {\n this._isYouTubeTokenValid = value;\n }\n}\n\nexport const globalErrorService = new GlobalErrorService();\n","import URI from \"urijs\";\n\nimport { ENV } from \"../../types/env\";\n\nconst PROD_SSO_REFRESH_URL = `api/sso/v1/refresh`;\nconst DEV_SSO_REFRESH_URL = `v2/crosschannelauth/public/Sso/refresh`;\nconst LOGIN_URL = \"login\";\n\nconst WEB_AUTH_HOST_UAT_URL = \"https://uat-connect.ubisoft.com\";\nconst WEB_AUTH_HOST_CERT_URL = \"https://cert2-connect.ubisoft.com\";\nconst WEB_AUTH_HOST_PROD_URL = \"https://connect.ubisoft.com\";\n\nconst WEB_AUTH_SSO_UAT_URL = new URI(WEB_AUTH_HOST_UAT_URL)\n .segment(DEV_SSO_REFRESH_URL)\n .href();\n\nconst WEB_AUTH_SSO_CERT_URL = new URI(WEB_AUTH_HOST_CERT_URL)\n .segment(DEV_SSO_REFRESH_URL)\n .href();\n\nconst WEB_AUTH_SSO_PROD_URL = new URI(WEB_AUTH_HOST_PROD_URL)\n .segment(PROD_SSO_REFRESH_URL)\n .href();\n\nconst WEB_AUTH_LOGIN_UAT_URL = new URI(WEB_AUTH_HOST_UAT_URL)\n .segment(LOGIN_URL)\n .href();\n\nconst WEB_AUTH_LOGIN_PROD_URL = new URI(WEB_AUTH_HOST_PROD_URL)\n .segment(LOGIN_URL)\n .href();\n\nconst WEB_AUTH_LOGIN_CERT_URL = new URI(WEB_AUTH_HOST_CERT_URL)\n .segment(LOGIN_URL)\n .href();\n\nexport const WEB_AUTH_HOST = {\n [ENV.DEV]: WEB_AUTH_HOST_UAT_URL,\n [ENV.UAT]: WEB_AUTH_HOST_UAT_URL,\n [ENV.CERT]: WEB_AUTH_HOST_CERT_URL,\n [ENV.PROD]: WEB_AUTH_HOST_PROD_URL,\n} as const;\n\nexport const WEB_AUTH_LOGIN_LOCATION = {\n [ENV.DEV]: WEB_AUTH_LOGIN_UAT_URL,\n [ENV.UAT]: WEB_AUTH_LOGIN_UAT_URL,\n [ENV.CERT]: WEB_AUTH_LOGIN_CERT_URL,\n [ENV.PROD]: WEB_AUTH_LOGIN_PROD_URL,\n} as const;\n\nexport const WEB_AUTH_SSO_API = {\n [ENV.DEV]: WEB_AUTH_SSO_UAT_URL,\n [ENV.UAT]: WEB_AUTH_SSO_UAT_URL,\n [ENV.CERT]: WEB_AUTH_SSO_CERT_URL,\n [ENV.PROD]: WEB_AUTH_SSO_PROD_URL,\n} as const;\n","import styled, { keyframes } from \"styled-components\";\n\nimport { cssTransition, ToastContainer } from \"react-toastify\";\n\nconst appearance = keyframes`\n from {\n transform: translate(-50%, -200%);\n }\n\n to {\n transform: translate(-50%, 0);\n }\n`;\n\nconst disappearance = keyframes`\n from {\n transform: translate(-50%, 0);\n opacity: 1;\n }\n\n to {\n transform: translate(-50%, -200%);\n opacity: 0;\n }\n`;\n\nexport const StyledToastContainer = styled(ToastContainer)`\n --toastify-color-success: var(--color-notification-positive);\n --toastify-color-warning: var(--color-notification-warning);\n --toastify-color-error: var(--color-notification-negative);\n\n --toastify-text-color-success: var(--color-feedback-positive);\n --toastify-text-color-warning: var(--color-feedback-warning);\n --toastify-text-color-error: var(--color-feedback-negative);\n\n --toastify-icon-color-success: var(--color-feedback-positive);\n --toastify-icon-color-warning: var(--color-feedback-warning);\n --toastify-icon-color-error: var(--color-feedback-negative);\n\n --toastify-toast-width: max-content;\n --toastify-toast-min-height: 4rem;\n --toastify-z-index: 999;\n\n --translateY: 0;\n\n &&&.Toastify__toast-container {\n top: 2.5rem;\n left: 50%;\n\n .Toastify__toast {\n position: absolute;\n\n width: max-content;\n max-width: 100vw;\n margin: 0;\n\n transform: translate(-50%, var(--translateY));\n will-change: transform, opacity;\n transition: transform 0.1s, opacity 0.1s;\n\n opacity: 1;\n z-index: 3;\n\n cursor: default;\n\n &:nth-child(2) {\n --translateY: -8px;\n\n opacity: 0.6;\n z-index: 2;\n }\n\n &:nth-child(3) {\n --translateY: -16px;\n\n opacity: 0.4;\n z-index: 1;\n }\n }\n }\n\n .Toastify__toast--success .Toastify__toast-icon {\n color: var(--toastify-icon-color-success);\n }\n\n .Toastify__toast--warning .Toastify__toast-icon {\n color: var(--toastify-icon-color-warning);\n }\n\n .Toastify__toast--error .Toastify__toast-icon {\n color: var(--toastify-icon-color-error);\n }\n\n .Toastify__toast {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n\n padding: 0 2rem;\n\n border-radius: 50px;\n box-shadow: 0 0 2px var(--color-stroke-2);\n }\n\n .Toastify__toast-body {\n align-items: center;\n gap: 1rem;\n\n overflow: auto;\n\n color: var(--color-text-primary);\n font: var(--font-body-bold);\n }\n\n .Toastify__toast-icon {\n margin: 0;\n }\n\n .close-button {\n color: var(--color-text-cta-primary);\n }\n\n .appearanceAnimation {\n animation-name: ${appearance};\n\n animation-duration: 0.4s;\n }\n\n .disappearanceAnimation {\n animation-name: ${disappearance};\n\n animation-duration: 0.2s;\n animation-fill-mode: both;\n }\n`;\n\nexport const toastUpAnimation = cssTransition({\n enter: \"appearanceAnimation\",\n exit: \"disappearanceAnimation\",\n});\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { toast } from \"react-toastify\";\n\nimport { StyledToastContainer, toastUpAnimation } from \"./styles\";\n\nimport { NOTIFICATION_LEVEL } from \"../types\";\n\nexport const ToastContainerUpComponent: FC = observer(() => {\n return (\n \n );\n});\n","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgChecked(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8 15L3 10L4.41 8.58004L8 12.17L15.59 4.58004L17 6.00004L8 15ZM10 0C4.47715 0 0 4.47715 0 10C0 12.6522 1.05357 15.1957 2.92893 17.0711C4.8043 18.9464 7.34784 20 10 20C12.6522 20 15.1957 18.9464 17.0711 17.0711C18.9464 15.1957 20 12.6522 20 10C20 7.34784 18.9464 4.8043 17.0711 2.92893C15.1957 1.05357 12.6522 0 10 0Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgChecked);\nexport default __webpack_public_path__ + \"static/media/checked.47365149.svg\";\nexport { ForwardRef as ReactComponent };","import styled, { keyframes } from \"styled-components\";\n\nimport { ToastContainer, cssTransition } from \"react-toastify\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { FixedControlsHeight } from \"domains/shared/layout/styles\";\n\nconst appearance = keyframes`\n from {\n transform: translate(100%, var(--translateY));\n }\n\n to {\n transform: translate(var(--translateX), var(--translateY));\n }\n`;\n\nconst disappearance = keyframes`\n from {\n transform: translate(0, 0);\n opacity: 1;\n }\n\n to {\n transform: translate(0, 120%);\n opacity: 0;\n }\n`;\n\nexport const StyledToastContainer = styled(ToastContainer).attrs(() => ({\n \"data-scheme\": \"default\",\n}))`\n --toastify-color-info: var(--color-background-4);\n --toastify-color-success: var(--color-notification-positive);\n --toastify-color-warning: var(--color-notification-warning);\n --toastify-color-error: var(--color-notification-negative);\n\n --toastify-z-index: 999;\n --toastify-toast-min-height: max-content;\n --toastify-toast-width: 42rem;\n --toastify-toast-max-width: 42rem;\n\n --translateY: 0;\n --translateX: 0;\n\n ${BREAKPOINT.tm} {\n --toastify-toast-width: 100%;\n --toastify-toast-max-width: 100%;\n }\n\n &&&.Toastify__toast-container {\n bottom: 1rem;\n\n ${BREAKPOINT.ls} {\n bottom: calc(${FixedControlsHeight} + 0.8rem);\n }\n\n ${BREAKPOINT.ls} {\n right: 0;\n }\n\n .Toastify__toast {\n position: absolute;\n right: 0;\n bottom: 0;\n z-index: 3;\n\n margin: 0;\n\n width: 100%;\n\n translate: var(--translateX) var(--translateY);\n scale: 1;\n will-change: translate, scale, opacity;\n transition: translate 0.1s, scale 0.1s;\n\n opacity: 1;\n cursor: default;\n\n &:nth-child(2) {\n --translateY: -8px;\n --translateX: 8px;\n\n opacity: 0.6;\n z-index: 2;\n\n ${BREAKPOINT.tm} {\n --translateX: 0;\n scale: 0.95;\n }\n\n .close-button {\n opacity: 0;\n pointer-events: none;\n }\n }\n\n &:nth-child(3) {\n --translateY: -16px;\n --translateX: 16px;\n\n opacity: 0.4;\n z-index: 1;\n\n ${BREAKPOINT.tm} {\n --translateX: 0;\n scale: 0.9;\n }\n\n .close-button {\n opacity: 0;\n pointer-events: none;\n }\n }\n }\n }\n\n .Toastify__toast {\n display: flex;\n justify-content: space-between;\n align-items: start;\n gap: 2rem;\n\n padding: 1.6rem 2.4rem;\n box-shadow: 0 0 4px var(--color-stroke-2);\n\n border-radius: 8px;\n }\n\n .Toastify__toast-body {\n align-items: start;\n gap: 2rem;\n\n padding: 0;\n margin: 0;\n\n color: var(--color-text-primary);\n font: var(--font-body-bold);\n }\n\n .Toastify__toast-icon {\n margin: 0;\n\n font-size: 2.4rem;\n }\n\n .close-button {\n color: var(--color-text-cta-primary);\n }\n\n .appearanceAnimation {\n animation-name: ${appearance};\n\n animation-duration: 0.4s;\n }\n\n .disappearanceAnimation {\n animation-name: ${disappearance};\n\n animation-duration: 0.1s;\n animation-fill-mode: both;\n }\n`;\n\nexport const toastDownAnimation = cssTransition({\n enter: \"appearanceAnimation\",\n exit: \"disappearanceAnimation\",\n});\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { toast } from \"react-toastify\";\n\nimport { StyledToastContainer, toastDownAnimation } from \"./styles\";\n\nimport { NOTIFICATION_LEVEL } from \"../types\";\n\nexport const ToastContainerDownComponent: FC = observer(() => {\n return (\n \n );\n});\n","export default __webpack_public_path__ + \"static/media/app.913eb1b8.svg\";","import React from \"react\";\nimport styled from \"styled-components\";\nimport { Link } from \"react-router-dom\";\nimport Lottie from \"react-lottie-player\";\n\nimport { FlickeringAnimation, LinkCSS } from \"../styles\";\nimport { PrimaryButtonState, SecondaryButtonState } from \"./button/styles\";\n\nimport logo from \"assets/logos/app.svg\";\n\nimport { Button } from \"./button\";\nimport { BREAKPOINT } from \"../constants/media-queries.constants\";\nimport { LinkState } from \"./types\";\n\nexport const ExternalLink = styled.a.attrs(() => ({\n target: \"_blank\",\n}))`\n ${LinkCSS};\n`;\n\n// https://github.com/styled-components/styled-components/issues/1449\nexport const InternalLink = styled((props) => )`\n ${LinkCSS};\n`;\n\n// https://github.com/styled-components/styled-components/issues/1449\nexport const CTALink = styled((props) => )`\n padding: 0.8rem 2.4rem;\n flex-shrink: 0;\n\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n font: var(--font-subtitle);\n text-decoration: none;\n\n border-radius: 30px;\n\n transition: 0.2s all;\n\n &[disabled] {\n ${SecondaryButtonState};\n\n pointer-events: none;\n }\n\n ${(props) =>\n props.state === \"secondary\" ? SecondaryButtonState : PrimaryButtonState}\n`;\n\nexport const CTAExternalLink = styled(CTALink).attrs(() => ({\n target: \"_blank\",\n as: \"a\",\n}))`\n font-weight: bold;\n`;\n\nexport const CTARedirectLink = styled(CTAExternalLink).attrs(() => ({\n target: \"_self\",\n}))``;\n\nexport const EditButton = styled(Button).attrs(() => ({\n kind: \"default\",\n}))`\n ${LinkCSS};\n\n font: var(--font-body-bold);\n\n &:disabled {\n color: var(--color-text-tertiary);\n }\n`;\n\nexport const FloatLogo = styled.img.attrs(() => ({\n src: logo,\n}))`\n position: absolute;\n top: 26px;\n left: 56px;\n\n max-width: 20rem;\n\n ${BREAKPOINT.ls} {\n display: none;\n }\n`;\n\nexport const LottieIcon = styled(Lottie).attrs(() => ({\n play: true,\n loop: false,\n}))<{ animationData: Record }>``;\n\nexport const SkeletonPlaceholder = styled.div`\n animation: ${FlickeringAnimation} infinite 2s linear;\n`;\n\nexport const ShowMoreCTA = styled(Button).attrs(() => ({\n kind: \"secondary\",\n}))`\n width: 100%;\n padding: 1rem 0.5rem;\n\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.5em;\n\n font: var(--font-body-bold);\n\n border-radius: 5px;\n`;\n","import styled from \"styled-components\";\n\nimport { InternalLink } from \"../shared/components\";\n\nexport const ToastContentWrapper = styled.div`\n h3 {\n margin-bottom: 0.8rem;\n\n font: var(--font-body-bold);\n }\n\n div {\n font-weight: normal;\n }\n\n h3,\n div {\n &:empty {\n display: none;\n }\n }\n`;\n\nexport const NotificationLink = styled(InternalLink)`\n display: inline;\n\n font: var(--font-body-bold);\n`;\n","import React, { FC } from \"react\";\n\nimport { ToastContentWrapper } from \"../styles\";\n\ntype Props = {\n title: JSX.Element;\n description: JSX.Element;\n};\n\nexport const NotificationLv2Component: FC = ({ title, description }) => (\n \n

{title}

\n
{description}
\n
\n);\n","import styled from \"styled-components\";\n\nexport const ComponentWrapper = styled.i`\n line-height: 0;\n\n display: inline-block;\n\n > svg {\n vertical-align: middle;\n }\n`;\n","var _circle, _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgQuestionMark(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8,\n cy: 8,\n r: 7.5,\n stroke: \"currentColor\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.03192 12C7.48854 12 7.07302 11.584 7.07302 11.04C7.07302 10.496 7.48854 10.08 8.03192 10.08C8.5753 10.08 8.99083 10.496 8.99083 11.04C8.99083 11.584 8.5753 12 8.03192 12ZM8.70316 8.832V9.12H7.39265V8.544C7.39265 7.264 8.73512 7.04 8.73512 6.144C8.73512 5.728 8.44745 5.376 7.93603 5.376C7.39265 5.376 7.00909 5.792 6.81731 6.272L5.66663 5.568C6.01822 4.64 6.88124 4 7.968 4C9.34242 4 10.3333 4.8 10.3333 6.016C10.3013 7.68 8.70316 7.84 8.70316 8.832Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgQuestionMark);\nexport default __webpack_public_path__ + \"static/media/question-mark.ebe24833.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgQuestion(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 10 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.0636 16C3.97684 16 3.14579 15.168 3.14579 14.08C3.14579 12.992 3.97684 12.16 5.0636 12.16C6.15036 12.16 6.98141 12.992 6.98141 14.08C6.98141 15.168 6.15036 16 5.0636 16ZM6.40607 9.664V10.24H3.78506V9.088C3.78506 6.528 6.46999 6.08 6.46999 4.288C6.46999 3.456 5.89465 2.752 4.87182 2.752C3.78506 2.752 3.01794 3.584 2.63438 4.544L0.333008 3.136C1.0362 1.28 2.76223 0 4.93575 0C7.68461 0 9.66634 1.6 9.66634 4.032C9.60241 7.36 6.40607 7.68 6.40607 9.664Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgQuestion);\nexport default __webpack_public_path__ + \"static/media/question.d48ab34a.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAdd(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 15 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 9.36293H8.57143V15.7915H6.42857V9.36293H0V7.22008H6.42857V0.791504H8.57143V7.22008H15V9.36293Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAdd);\nexport default __webpack_public_path__ + \"static/media/add.7aa73045.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMinus(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 13 3\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0.666748 0.666504H12.3334V2.33317H0.666748V0.666504Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMinus);\nexport default __webpack_public_path__ + \"static/media/minus.8d7e2d3f.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCheckmark(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 18 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.25 13.7501L0 7.5001L1.7625 5.7251L6.25 10.2126L15.7375 0.725098L17.5 2.5001L6.25 13.7501Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCheckmark);\nexport default __webpack_public_path__ + \"static/media/checkmark.047e78fb.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSearch(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 18 18\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.4999 11H11.7099L11.4299 10.73C12.4099 9.59 12.9999 8.11 12.9999 6.5C12.9999 2.91 10.0899 0 6.49994 0C2.90994 0 -6.10352e-05 2.91 -6.10352e-05 6.5C-6.10352e-05 10.09 2.90994 13 6.49994 13C8.10994 13 9.58994 12.41 10.7299 11.43L10.9999 11.71V12.5L15.9999 17.49L17.4899 16L12.4999 11ZM6.49988 10.9999C4.00988 10.9999 1.99988 8.98994 1.99988 6.49994C1.99988 4.00994 4.00988 1.99994 6.49988 1.99994C8.98988 1.99994 10.9999 4.00994 10.9999 6.49994C10.9999 8.98994 8.98988 10.9999 6.49988 10.9999Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSearch);\nexport default __webpack_public_path__ + \"static/media/search.bc1825ee.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgWarning(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 42 42\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M23.0837 23.0834H18.917V10.5834H23.0837V23.0834ZM23.0837 31.4167H18.917V27.2501H23.0837V31.4167ZM21.0003 0.166748C9.49439 0.166748 0.166992 9.49415 0.166992 21.0001C0.166992 26.5254 2.36193 31.8245 6.26893 35.7315C10.1759 39.6385 15.475 41.8334 21.0003 41.8334C26.5257 41.8334 31.8247 39.6385 35.7317 35.7315C39.6387 31.8245 41.8337 26.5254 41.8337 21.0001C41.8337 15.4747 39.6387 10.1757 35.7317 6.26869C31.8247 2.36168 26.5257 0.166748 21.0003 0.166748Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWarning);\nexport default __webpack_public_path__ + \"static/media/warning.cf324fb3.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgError(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 42 42\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.26387 6.26362C-1.8653 14.397 -1.8653 27.597 6.26387 35.7282C14.3972 43.8595 27.5972 43.8595 35.7285 35.7282C43.8597 27.597 43.8597 14.397 35.7285 6.26362C27.5972 -1.86554 14.3972 -1.86554 6.26387 6.26362ZM15.1035 12.1572L12.1576 15.1031L18.0514 20.9968L12.1576 26.8885L15.1035 29.8343L20.9972 23.9427L26.8889 29.8343L29.8347 26.8885L23.943 20.9968L29.8347 15.1031L26.8889 12.1572L20.9972 18.051L15.1035 12.1572Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgError);\nexport default __webpack_public_path__ + \"static/media/error.cb541ce1.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSettings(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9.72933 13.5C7.79634 13.5 6.22933 11.933 6.22933 10C6.22933 8.067 7.79634 6.5 9.72933 6.5C11.6623 6.5 13.2293 8.067 13.2293 10C13.2293 11.933 11.6623 13.5 9.72933 13.5ZM17.1593 10.97C17.1993 10.65 17.2293 10.33 17.2293 10C17.2293 9.67 17.1993 9.34 17.1593 9L19.2693 7.37C19.4593 7.22 19.5093 6.95 19.3893 6.73L17.3893 3.27C17.2693 3.05 16.9993 2.96 16.7793 3.05L14.2893 4.05C13.7693 3.66 13.2293 3.32 12.5993 3.07L12.2293 0.42C12.1893 0.18 11.9793 0 11.7293 0H7.72933C7.47933 0 7.26933 0.18 7.22933 0.42L6.85933 3.07C6.22933 3.32 5.68933 3.66 5.16933 4.05L2.67933 3.05C2.45933 2.96 2.18933 3.05 2.06933 3.27L0.0693316 6.73C-0.0606684 6.95 -0.000668393 7.22 0.189332 7.37L2.29933 9C2.25933 9.34 2.22933 9.67 2.22933 10C2.22933 10.33 2.25933 10.65 2.29933 10.97L0.189332 12.63C-0.000668393 12.78 -0.0606684 13.05 0.0693316 13.27L2.06933 16.73C2.18933 16.95 2.45933 17.03 2.67933 16.95L5.16933 15.94C5.68933 16.34 6.22933 16.68 6.85933 16.93L7.22933 19.58C7.26933 19.82 7.47933 20 7.72933 20H11.7293C11.9793 20 12.1893 19.82 12.2293 19.58L12.5993 16.93C13.2293 16.67 13.7693 16.34 14.2893 15.94L16.7793 16.95C16.9993 17.03 17.2693 16.95 17.3893 16.73L19.3893 13.27C19.5093 13.05 19.4593 12.78 19.2693 12.63L17.1593 10.97Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSettings);\nexport default __webpack_public_path__ + \"static/media/settings.0be739d7.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgJoystick(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7 6H17C20.3137 6 23 8.68629 23 12C23 15.3137 20.3137 18 17 18C15.22 18 13.63 17.23 12.53 16H11.47C10.37 17.23 8.78 18 7 18C3.68629 18 1 15.3137 1 12C1 8.68629 3.68629 6 7 6ZM6 9V11H4V13H6V15H8V13H10V11H8V9H6ZM15.5 12C14.6716 12 14 12.6716 14 13.5C14 14.3284 14.6716 15 15.5 15C16.3284 15 17 14.3284 17 13.5C17 12.6716 16.3284 12 15.5 12ZM18.5 9C17.6716 9 17 9.67157 17 10.5C17 11.3284 17.6716 12 18.5 12C19.3284 12 20 11.3284 20 10.5C20 9.67157 19.3284 9 18.5 9Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgJoystick);\nexport default __webpack_public_path__ + \"static/media/joystick.9c529346.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNews(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 18 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.666504 0.5V13C0.666504 14.3783 1.78817 15.5 3.1665 15.5H14.8332C16.204 15.5 17.3332 14.3708 17.3332 13V3.83333H15.6665V13C15.6665 13.4709 15.304 13.8333 14.8332 13.8333C14.3732 13.8333 13.9998 13.4592 13.9998 13V0.5H0.666504ZM3.99984 3H10.6665V5.5H3.99984V3ZM3.99984 8H10.6665V9.66667H3.99984V8ZM3.99984 11.3333H10.6665V13H3.99984V11.3333Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNews);\nexport default __webpack_public_path__ + \"static/media/news.8f8d8349.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMicrophone(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 16 20\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.91013 0.5C5.94565 0.502514 4.06235 1.28401 2.67325 2.67312C1.28415 4.06221 0.502646 5.94552 0.500132 7.91V13.363C0.497622 13.5434 0.530838 13.7226 0.597868 13.8902C0.664897 14.0577 0.764415 14.2103 0.89069 14.3393C1.01696 14.4682 1.1675 14.5708 1.33362 14.6413C1.49975 14.7118 1.67818 14.7488 1.85863 14.75H3.00813C3.37018 14.7475 3.71669 14.6026 3.9727 14.3466C4.22872 14.0906 4.37364 13.744 4.37613 13.382V9.05C4.37114 8.69049 4.22481 8.34739 3.9688 8.09494C3.71279 7.84248 3.36768 7.70096 3.00813 7.701H1.81113C1.87337 6.12385 2.54366 4.63201 3.68153 3.53816C4.8194 2.4443 6.33651 1.83335 7.91488 1.83335C9.49326 1.83335 11.0104 2.4443 12.1482 3.53816C13.2861 4.63201 13.9564 6.12385 14.0186 7.701H13.7241H13.0401C12.6185 7.70099 12.214 7.86784 11.9149 8.16509C11.6159 8.46235 11.4466 8.86586 11.4441 9.2875V13.135C11.4365 13.5128 11.5616 13.8814 11.7977 14.1764C12.0338 14.4715 12.3659 14.6745 12.7361 14.75V15.0825C12.7791 15.5451 12.651 16.0075 12.3762 16.3821C12.1014 16.7567 11.6988 17.0176 11.2446 17.1155C11.1691 16.8251 10.9995 16.5678 10.7623 16.3839C10.5251 16.2 10.2337 16.0998 9.93363 16.099H7.26413C6.90132 16.099 6.55336 16.2431 6.29681 16.4997C6.04026 16.7562 5.89613 17.1042 5.89613 17.467V18.1795C5.90845 18.534 6.058 18.8699 6.31322 19.1163C6.56845 19.3626 6.9094 19.5002 7.26413 19.5H9.93363C10.2526 19.4986 10.561 19.3858 10.8056 19.1811C11.0502 18.9764 11.2155 18.6927 11.2731 18.379C12.0762 18.2856 12.8122 17.8856 13.3273 17.2625C13.8425 16.6394 14.0969 15.8413 14.0376 15.035V14.75C14.407 14.6743 14.738 14.4709 14.9725 14.1756C15.207 13.8804 15.33 13.5119 15.3201 13.135V7.91C15.3176 5.94552 14.5361 4.06221 13.147 2.67312C11.7579 1.28401 9.87462 0.502514 7.91013 0.5ZM1.85863 9.05H3.00813C3.02424 9.04984 3.03986 9.05552 3.05209 9.06601C3.06432 9.07649 3.07233 9.09106 3.07463 9.107V13.4105C3.07463 13.4281 3.06763 13.4451 3.05516 13.4575C3.04268 13.47 3.02577 13.477 3.00813 13.477H1.85863C1.84269 13.4747 1.82812 13.4667 1.81764 13.4545C1.80716 13.4422 1.80147 13.4266 1.80163 13.4105V9.05C1.8103 9.045 1.82013 9.04236 1.83013 9.04236C1.84014 9.04236 1.84997 9.045 1.85863 9.05ZM9.99063 18.1795C9.99063 18.1795 9.99063 18.246 9.93363 18.246H7.26413C7.26413 18.246 7.20713 18.246 7.20713 18.1795V17.467C7.20713 17.467 7.20713 17.4005 7.26413 17.4005H9.93363C9.93363 17.4005 9.99063 17.4005 9.99063 17.467V18.1795ZM14.0186 13.1825C14.0186 13.2606 13.9876 13.3355 13.9324 13.3907C13.8771 13.446 13.8022 13.477 13.7241 13.477H13.0401C12.962 13.477 12.8871 13.446 12.8319 13.3907C12.7767 13.3355 12.7456 13.2606 12.7456 13.1825V9.2875C12.7481 9.21105 12.7802 9.13856 12.8352 9.08537C12.8901 9.03218 12.9636 9.00246 13.0401 9.0025H13.7241C13.8006 9.00246 13.8741 9.03218 13.9291 9.08537C13.9841 9.13856 14.0162 9.21105 14.0186 9.2875V13.135V13.1825Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMicrophone);\nexport default __webpack_public_path__ + \"static/media/microphone.eda53f9e.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLink(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 12 12\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.75893 0.333984V1.59324H10.0193L3.83004 7.7825L4.71782 8.67028L10.9071 2.48102V4.74139H12.1663V0.333984H7.75893ZM10.9071 10.4081H2.09227V1.59324H6.49967V0.333984H2.09227C1.39338 0.333984 0.833008 0.900651 0.833008 1.59324V10.4081C0.833008 10.742 0.965679 11.0623 1.20184 11.2985C1.43799 11.5346 1.75829 11.6673 2.09227 11.6673H10.9071C11.2411 11.6673 11.5614 11.5346 11.7975 11.2985C12.0337 11.0623 12.1663 10.742 12.1663 10.4081V6.00065H10.9071V10.4081Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLink);\nexport default __webpack_public_path__ + \"static/media/link.2fd573c5.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgClock(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 18 18\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9.00033 15.666C12.6822 15.666 15.667 12.6812 15.667 8.99935C15.667 5.31745 12.6822 2.33268 9.00033 2.33268C5.31843 2.33268 2.33366 5.31745 2.33366 8.99935C2.33366 12.6812 5.31843 15.666 9.00033 15.666ZM9.00033 0.666016C11.2105 0.666016 13.3301 1.54399 14.8929 3.10679C16.4557 4.6696 17.3337 6.78921 17.3337 8.99935C17.3337 13.6017 13.6027 17.3327 9.00033 17.3327C4.39199 17.3327 0.666992 13.5827 0.666992 8.99935C0.666992 4.39698 4.39795 0.666016 9.00033 0.666016ZM9.41699 4.83268V9.20768L13.167 11.4327L12.542 12.4577L8.16699 9.83268V4.83268H9.41699Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgClock);\nexport default __webpack_public_path__ + \"static/media/clock.ae769294.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgBox(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 20 13\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10.1519 0.0839844L2.90256 1.89633L0.980178 3.78174C0.706838 4.04982 0.832925 4.51378 1.20436 4.60664L2.70663 4.9822V10.2065C2.70663 10.4205 2.8456 10.6098 3.04983 10.6738L10.2009 12.9173L17.3039 10.6743C17.5077 10.6099 17.6462 10.4209 17.6462 10.2072V5.12915L19.0131 4.62906C19.328 4.51386 19.4366 4.12347 19.2266 3.86216L17.6462 1.89633L10.1519 0.0839844ZM9.76009 0.671755L4.32307 2.23919L9.76009 3.90458V0.671755ZM3.09851 2.63104L9.51518 4.63931L8.19266 6.01081L1.82498 4.00254L3.09851 2.63104ZM8.33961 6.84351L3.39241 5.27608V10.1743L9.76009 12.0356V5.27608L8.33961 6.84351ZM10.5928 5.27608V12.0356L16.9605 10.1743V5.27608L12.0623 6.84351L10.5928 5.27608ZM10.4458 3.90458V0.671755L15.9318 2.23919L10.4458 3.90458ZM10.8867 4.63931L17.1074 2.63104L18.5279 4.14949L12.2582 6.01081L10.8867 4.63931Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBox);\nexport default __webpack_public_path__ + \"static/media/box.d55f929e.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgArrow(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 18 12\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2.115 0L9 6.885L15.885 0L18 2.13L9 11.13L0 2.13L2.115 0Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgArrow);\nexport default __webpack_public_path__ + \"static/media/arrow.1bab93af.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMore(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14 6C14 4.9 13.1 4 12 4C10.9 4 10 4.9 10 6C10 7.1 10.9 8 12 8C13.1 8 14 7.1 14 6ZM14 18C14 16.9 13.1 16 12 16C10.9 16 10 16.9 10 18C10 19.1 10.9 20 12 20C13.1 20 14 19.1 14 18ZM14 12C14 10.9 13.1 10 12 10C10.9 10 10 10.9 10 12C10 13.1 10.9 14 12 14C13.1 14 14 13.1 14 12Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMore);\nexport default __webpack_public_path__ + \"static/media/more.574977e0.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMenu(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3 4H7V8H3V4ZM9 5V7H21V5H9ZM3 10H7V14H3V10ZM9 11V13H21V11H9ZM3 16H7V20H3V16ZM9 17V19H21V17H9Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMenu);\nexport default __webpack_public_path__ + \"static/media/menu.07ed5b18.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgClose(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12L19 6.41Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgClose);\nexport default __webpack_public_path__ + \"static/media/close.2b135fda.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAttachment(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.24984 9.99992C3.24984 8.57492 4.40817 7.41658 5.83317 7.41658H9.1665V5.83325H5.83317C4.7281 5.83325 3.66829 6.27224 2.88689 7.05364C2.10549 7.83504 1.6665 8.89485 1.6665 9.99992C1.6665 11.105 2.10549 12.1648 2.88689 12.9462C3.66829 13.7276 4.7281 14.1666 5.83317 14.1666H9.1665V12.5833H5.83317C4.40817 12.5833 3.24984 11.4249 3.24984 9.99992ZM6.6665 10.8333H13.3332V9.16659H6.6665V10.8333ZM14.1665 5.83325H10.8332V7.41658H14.1665C15.5915 7.41658 16.7498 8.57492 16.7498 9.99992C16.7498 11.4249 15.5915 12.5833 14.1665 12.5833H10.8332V14.1666H14.1665C15.2716 14.1666 16.3314 13.7276 17.1128 12.9462C17.8942 12.1648 18.3332 11.105 18.3332 9.99992C18.3332 8.89485 17.8942 7.83504 17.1128 7.05364C16.3314 6.27224 15.2716 5.83325 14.1665 5.83325Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAttachment);\nexport default __webpack_public_path__ + \"static/media/attachment.acc0cc2d.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgExit(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17 17.25V14H10V10H17V6.75L22.25 12L17 17.25ZM13 2C14.1046 2 15 2.89543 15 4V8H13V4H4V20H13V16H15V20C15 21.1046 14.1046 22 13 22H4C2.89543 22 2 21.1046 2 20V4C2 2.89543 2.89543 2 4 2H13Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgExit);\nexport default __webpack_public_path__ + \"static/media/exit.fc347749.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMaintenance(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 55 55\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10.5327 1.09998C15.2557 1.09998 19.0918 4.8978 19.1535 9.60619C19.1537 9.61717 19.1666 9.62314 19.1749 9.61594C19.1834 9.60854 19.1967 9.61491 19.1962 9.62619L19.0358 13.5676C19.0301 13.7081 19.0838 13.8445 19.1838 13.9434L51.014 45.4334C52.9537 47.3523 52.9641 50.4823 51.0372 52.4141C49.0355 54.421 45.7572 54.3286 43.8716 52.2123L14.1036 18.8017C14.0188 18.7065 13.9008 18.6473 13.7738 18.6362L10.413 18.3423C5.7066 18.2782 1.91113 14.4431 1.91113 9.72154C1.91113 9.25125 1.94879 8.78976 2.02125 8.33991C2.09962 7.85335 2.82486 7.83489 3.11197 8.23544C3.24907 8.42671 3.40355 8.60936 3.57541 8.78122L5.39902 10.6048C7.09843 12.3042 9.85373 12.3042 11.5532 10.6048C13.2526 8.90542 13.2526 6.15011 11.5531 4.4507L9.72954 2.62708C9.59458 2.49213 9.45297 2.3679 9.30576 2.25438C8.91545 1.9534 8.95938 1.22886 9.44843 1.1675C9.80358 1.12294 10.1655 1.09998 10.5327 1.09998ZM49.574 48.3707C49.574 49.7207 48.4796 50.8151 47.1296 50.8151C45.7796 50.8151 44.6852 49.7207 44.6852 48.3707C44.6852 47.0207 45.7796 45.9263 47.1296 45.9263C48.4796 45.9263 49.574 47.0207 49.574 48.3707Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M49.8352 4.13287L47.0804 1.75806C46.6598 1.39545 46.0243 1.44503 45.665 1.86849L42.3626 5.7606C42.2513 5.89169 42.1758 6.04924 42.1432 6.21803L41.8669 7.64938C41.8347 7.81582 41.7608 7.97136 41.6521 8.10139L30.4957 21.4406L32.9996 23.65L44.3665 10.4446C44.4862 10.3055 44.6419 10.2021 44.8165 10.1456L46.2036 9.69669C46.3798 9.63969 46.5366 9.53492 46.6567 9.39404L49.9432 5.53905C50.3001 5.1204 50.2519 4.49208 49.8352 4.13287Z\",\n fill: \"currentColor\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M26.9509 38.4999L18.2186 27.8104L4.88874 43.941C2.67841 46.6157 2.86417 50.5326 5.31772 52.9861C8.11513 55.7835 12.7105 55.5759 15.2443 52.5376L26.9509 38.4999ZM6.73456 48.1303C6.30691 47.7632 6.25784 47.1189 6.62496 46.6912L18.7984 32.5107C19.1655 32.083 19.8098 32.0339 20.2375 32.4011C20.6651 32.7682 20.7142 33.4125 20.3471 33.8401L8.1736 48.0207C7.80648 48.4483 7.1622 48.4974 6.73456 48.1303ZM10.7488 49.9315C10.3817 50.3592 10.4307 51.0035 10.8584 51.3706C11.286 51.7377 11.9303 51.6886 12.2974 51.261L24.4709 37.0804C24.838 36.6528 24.7889 36.0085 24.3613 35.6414C23.9337 35.2742 23.2894 35.3233 22.9223 35.7509L10.7488 49.9315Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMaintenance);\nexport default __webpack_public_path__ + \"static/media/maintenance.470ef6b2.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCogwheel(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 24 26\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.1723 17.229C9.83659 17.229 7.94312 15.3355 7.94312 12.9998C7.94312 10.6641 9.83659 8.77067 12.1723 8.77067C14.508 8.77067 16.4015 10.6641 16.4015 12.9998C16.4015 15.3355 14.508 17.229 12.1723 17.229ZM21.1502 14.1719C21.1985 13.7853 21.2348 13.3986 21.2348 12.9998C21.2348 12.6011 21.1985 12.2023 21.1502 11.7915L23.6998 9.82192C23.9294 9.64067 23.9898 9.31442 23.8448 9.04859L21.4281 4.86775C21.2831 4.60192 20.9569 4.49317 20.691 4.60192L17.6823 5.81025C17.054 5.339 16.4015 4.92817 15.6402 4.62609L15.1931 1.424C15.1448 1.134 14.891 0.916504 14.589 0.916504H9.75562C9.45354 0.916504 9.19979 1.134 9.15146 1.424L8.70438 4.62609C7.94312 4.92817 7.29062 5.339 6.66229 5.81025L3.65354 4.60192C3.38771 4.49317 3.06146 4.60192 2.91646 4.86775L0.499791 9.04859C0.342708 9.31442 0.415208 9.64067 0.644791 9.82192L3.19437 11.7915C3.14604 12.2023 3.10979 12.6011 3.10979 12.9998C3.10979 13.3986 3.14604 13.7853 3.19437 14.1719L0.644791 16.1778C0.415208 16.359 0.342708 16.6853 0.499791 16.9511L2.91646 21.1319C3.06146 21.3978 3.38771 21.4944 3.65354 21.3978L6.66229 20.1773C7.29062 20.6607 7.94312 21.0715 8.70438 21.3736L9.15146 24.5757C9.19979 24.8657 9.45354 25.0832 9.75562 25.0832H14.589C14.891 25.0832 15.1448 24.8657 15.1931 24.5757L15.6402 21.3736C16.4015 21.0594 17.054 20.6607 17.6823 20.1773L20.691 21.3978C20.9569 21.4944 21.2831 21.3978 21.4281 21.1319L23.8448 16.9511C23.9898 16.6853 23.9294 16.359 23.6998 16.1778L21.1502 14.1719Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCogwheel);\nexport default __webpack_public_path__ + \"static/media/cogwheel.47dc7c01.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAnnounce(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 48 48\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M29.4472 29.3055V14.1211C29.4472 13.4956 29.9543 12.9885 30.5798 12.9885C31.2054 12.9885 31.7125 13.4956 31.7125 14.1211V29.3055C31.7125 29.9311 31.2054 30.4382 30.5798 30.4382C29.9543 30.4382 29.4472 29.9311 29.4472 29.3055ZM18.2623 17.519V26.9341L28.7392 28.7038V14.6874L18.2623 17.519ZM11.7674 17.6252H17.5544V26.8633H15.6365L18.1131 33.2999C18.482 34.2589 18.0214 35.3374 17.0736 35.7339C16.1003 36.1411 14.9819 35.6778 14.5837 34.7008C13.295 31.5384 11.5842 27.3205 11.4253 26.8508C9.03402 26.6758 7.14832 24.6802 7.14832 22.2443C7.14832 19.6932 9.21633 17.6252 11.7674 17.6252ZM38.5667 14.472L33.7199 17.2702C33.2967 17.5146 33.1517 18.0558 33.396 18.479C33.6404 18.9022 34.1816 19.0472 34.6048 18.8029L39.4515 16.0046C39.8748 15.7603 40.0198 15.2191 39.7754 14.7958C39.5311 14.3726 38.9899 14.2276 38.5667 14.472ZM35.1812 20.8108L40.7777 20.8108C41.2664 20.8108 41.6626 21.2069 41.6626 21.6956C41.6626 22.1843 41.2664 22.5805 40.7777 22.5805H35.1812C34.6925 22.5805 34.2963 22.1843 34.2963 21.6956C34.2963 21.2069 34.6925 20.8108 35.1812 20.8108ZM39.4491 27.3786L34.6024 24.5803C34.1792 24.336 33.638 24.481 33.3936 24.9042C33.1493 25.3274 33.2943 25.8686 33.7175 26.113L38.5643 28.9112C38.9875 29.1556 39.5287 29.0106 39.773 28.5873C40.0174 28.1641 39.8724 27.6229 39.4491 27.3786Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAnnounce);\nexport default __webpack_public_path__ + \"static/media/announce.1ed386d1.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgOpenBox(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 34 35\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.9041 3.14161L17.4691 0.533203L19.1211 3.14161L21.1209 4.70666L19.1211 6.53254L17.4691 8.70622L15.9041 6.53254L13.7304 4.70666L15.9041 3.14161ZM17.3819 10.7059L15.1213 12.0101L13.1215 12.3579L13.991 10.4451L16.5125 8.7931L14.3388 7.22805L12.5129 4.61964L10.8609 7.22805L8.33946 8.7931L10.8609 10.4451L12.1651 12.6188L4.25295 14.7055L1.0485 17.8483C0.472328 18.4134 0.738108 19.3914 1.52105 19.5871L3.90516 20.1831V29.3369C3.90516 29.7881 4.19811 30.187 4.62859 30.3221L17.208 34.2686L29.7024 30.323C30.132 30.1873 30.424 29.7889 30.424 29.3384V20.444L32.6369 19.6344C33.3006 19.3916 33.5297 18.5687 33.0868 18.0178L30.424 14.7055L22.3379 12.7927L23.0335 12.0101L20.6859 10.7059L18.947 7.92363L17.3819 10.7059ZM12.5131 6.53253L11.9045 7.92368L10.4264 8.79315L11.9045 9.48872L12.5131 10.706L13.2087 9.48872L14.5129 8.79315L13.2087 7.92368L12.5131 6.53253ZM18.2516 11.5755L18.9472 10.2712L19.7297 11.5755L20.86 12.271L19.7297 12.8797L18.9472 14.2708L18.2516 12.8797L16.9474 12.271L18.2516 11.5755ZM15.6432 12.8797L6.77463 15.3142L16.4257 18.2704V13.3144L15.6432 12.8797ZM4.60096 16.0097L15.991 19.5746L13.6434 22.0091L2.34034 18.4443L4.60096 16.0097ZM13.9043 23.4872L5.12264 20.7049V29.3996L16.4257 32.7036V20.7049L13.9043 23.4872ZM17.9038 20.7049V32.7036L29.2069 29.3996V20.7049L20.5123 23.4872L17.9038 20.7049ZM17.643 18.2704V14.4447L19.1211 16.4445L20.5123 13.8361L21.1209 13.4883L27.3811 15.3142L17.643 18.2704ZM18.4255 19.5746L29.4678 16.0097L31.9893 18.7051L20.86 22.0091L18.4255 19.5746ZM17.4692 2.61974L16.7736 3.92394L15.4694 4.70646L16.7736 5.66288L17.4692 6.79319L18.1647 5.66288L19.4689 4.79341L18.0778 3.92394L17.4692 2.61974Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgOpenBox);\nexport default __webpack_public_path__ + \"static/media/open-box.75af0bbb.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNote(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 36 35\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20.875 24.7461H10.8125V21.9336H20.875V24.7461ZM25.1875 19.1211H10.8125V16.3086H25.1875V19.1211ZM25.1875 13.4961H10.8125V10.6836H25.1875V13.4961ZM28.0625 5.05859H7.9375C6.34187 5.05859 5.0625 6.31016 5.0625 7.87109V27.5586C5.0625 29.1119 6.34968 30.3711 7.9375 30.3711H28.0625C29.6503 30.3711 30.9375 29.1119 30.9375 27.5586V7.87109C30.9375 6.31016 29.6437 5.05859 28.0625 5.05859Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNote);\nexport default __webpack_public_path__ + \"static/media/note.7d947a0a.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFire(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.2896 15.0238C13.4038 12.8724 11.8804 11.128 11.8804 11.128C11.8804 11.128 5.49271 18.376 11.13 21.8187C8.35732 20.7543 1.42392 17.2438 7.28852 10.3802C11.0623 6.64357 11.608 3.51743 10.3345 2C10.3345 2 19.9269 5.91835 14.2896 15.0238ZM13.7443 21.9999C13.7425 21.9929 13.7406 21.9858 13.7386 21.9787C13.7301 21.9999 13.7443 21.9999 13.7443 21.9999ZM13.7386 21.9787C13.7703 21.8996 14.118 21.5257 16.6992 19.7572C22.2454 15.998 17.4496 9.67787 17.4496 9.67787C17.9493 10.6066 16.9265 14.4797 15.4265 16.2467C12.8856 19.2724 13.4045 20.9137 13.674 21.7662C13.6984 21.8434 13.7207 21.914 13.7386 21.9787Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.2896 15.0238C13.4038 12.8724 11.8804 11.128 11.8804 11.128C11.8804 11.128 5.49271 18.376 11.13 21.8187C8.35732 20.7543 1.42392 17.2438 7.28852 10.3802C11.0623 6.64357 11.608 3.51743 10.3345 2C10.3345 2 19.9269 5.91835 14.2896 15.0238ZM13.7443 21.9999C13.7425 21.9929 13.7406 21.9858 13.7386 21.9787C13.7301 21.9999 13.7443 21.9999 13.7443 21.9999ZM13.7386 21.9787C13.7703 21.8996 14.118 21.5257 16.6992 19.7572C22.2454 15.998 17.4496 9.67787 17.4496 9.67787C17.9493 10.6066 16.9265 14.4797 15.4265 16.2467C12.8856 19.2724 13.4045 20.9137 13.674 21.7662C13.6984 21.8434 13.7207 21.914 13.7386 21.9787Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFire);\nexport default __webpack_public_path__ + \"static/media/fire.d0961eab.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLockOpen(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13 8.5H13.5V8V6C13.5 3.51614 15.5161 1.5 18 1.5C20.4839 1.5 22.5 3.51614 22.5 6V7.5H21.5V6C21.5 4.06386 19.9361 2.5 18 2.5C16.0639 2.5 14.5 4.06386 14.5 6V8V8.5H15H16C16.8322 8.5 17.5 9.17451 17.5 10V20C17.5 20.8339 16.8339 21.5 16 21.5H4C3.17451 21.5 2.5 20.8322 2.5 20V10C2.5 9.16777 3.17451 8.5 4 8.5H13ZM12.5 15C12.5 13.6122 11.3745 12.5 10 12.5C8.62386 12.5 7.5 13.6239 7.5 15C7.5 16.3878 8.62549 17.5 10 17.5C11.3861 17.5 12.5 16.3861 12.5 15Z\",\n fill: \"currentColor\",\n stroke: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLockOpen);\nexport default __webpack_public_path__ + \"static/media/lock-open.f1c55862.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLockClosed(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 51 71\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M13.5292 33.1989L13.5254 33.1958V34.0596H6.80947V18.9678L6.80946 18.9484C6.80946 8.7483 15.0783 0.479492 25.2784 0.479492C35.4785 0.479492 43.7473 8.7483 43.7473 18.9484C43.7473 19.0013 43.747 19.0542 43.7466 19.1071V34.0596H37.0306V18.9487H37.0351C37.035 12.4578 31.773 7.19597 25.2821 7.19597C18.7912 7.19597 13.5293 12.4578 13.5292 18.9487V18.9489V33.1989ZM0.0944824 38.2588C0.0944824 37.7945 0.470865 37.4181 0.935156 37.4181H49.6235C50.0878 37.4181 50.4642 37.7945 50.4642 38.2588V70.1573C50.4642 70.6216 50.0878 70.9979 49.6235 70.9979H0.935154C0.470863 70.9979 0.0944824 70.6216 0.0944824 70.1573V38.2588ZM29.4958 56.2287C31.1317 55.0038 32.1904 53.0501 32.1904 50.8492C32.1904 47.1401 29.1836 44.1333 25.4745 44.1333C21.7654 44.1333 18.7585 47.1401 18.7585 50.8492C18.7585 53.0429 19.8103 54.9909 21.437 56.2165L18.7484 64.2822H32.1804L29.4958 56.2287Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLockClosed);\nexport default __webpack_public_path__ + \"static/media/lock-closed.0d03a413.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCalendar(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 14.6667H9.33333V17.3334H12V14.6667V14.6667ZM17.3333 14.6667H14.6667V17.3334H17.3333V14.6667V14.6667ZM22.6667 14.6667H20V17.3334H22.6667V14.6667V14.6667ZM25.3333 5.33335H24V2.66669H21.3333V5.33335H10.6667V2.66669H8V5.33335H6.66667C5.18667 5.33335 4.01333 6.53335 4.01333 8.00002L4 26.6667C4 28.1334 5.18667 29.3334 6.66667 29.3334H25.3333C26.8 29.3334 28 28.1334 28 26.6667V8.00002C28 6.53335 26.8 5.33335 25.3333 5.33335V5.33335ZM25.3333 26.6667H6.66667V12H25.3333V26.6667V26.6667Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCalendar);\nexport default __webpack_public_path__ + \"static/media/calendar.7e328e17.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDownload(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 14 17\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 17H14V15H0V17ZM14 6H10V0H4V6H0L7 13L14 6Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownload);\nexport default __webpack_public_path__ + \"static/media/download.f944754f.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLoading(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 19 22\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18.9842 4.23017L16.064 6.19601C14.7773 4.56249 12.7815 3.51367 10.5407 3.51367C6.65978 3.51367 3.51367 6.65978 3.51367 10.5407C3.51367 14.4216 6.65978 17.5677 10.5407 17.5677C12.0075 17.5677 13.3693 17.1183 14.496 16.3497L16.4581 19.2645C14.7711 20.4111 12.7341 21.0811 10.5405 21.0811C4.71916 21.0811 0 16.3619 0 10.5405C0 4.71916 4.71916 0 10.5405 0C13.9953 0 17.0618 1.66205 18.9842 4.23017Z\",\n fill: \"url(#svg-icon__spinner--loading)\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"svg-icon__spinner--loading\",\n x1: 4.56759,\n y1: 11.946,\n x2: 9.49207,\n y2: 21.0811,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"currentColor\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"currentColor\",\n stopOpacity: 0\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLoading);\nexport default __webpack_public_path__ + \"static/media/loading.b5fb7cf5.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCursor(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 17 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0.5 6.9899V9.0101H12.6212L7.06566 14.5657L8.5 16L16.5 8L8.5 0L7.06566 1.43434L12.6212 6.9899H0.5Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCursor);\nexport default __webpack_public_path__ + \"static/media/cursor.53538eeb.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _line, _line2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPersonalization(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 40 40\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M22.1108 8.08186C22.1108 4.05246 18.8582 0.799805 14.8288 0.799805C10.7993 0.799805 7.5467 4.05246 7.5467 8.08186C7.5467 12.1113 10.7993 15.3639 14.8288 15.3639C18.8582 15.3639 22.1108 12.1113 22.1108 8.08186ZM0.264648 27.4521C3.39593 32.1612 8.76037 35.2682 14.8288 35.2682C17.2907 35.2682 19.6368 34.7568 21.7649 33.8345C21.0564 32.5286 20.6541 31.0326 20.6541 29.4425C20.6541 26.4375 22.0911 23.768 24.3155 22.084C21.2081 20.7006 17.3569 19.9759 14.8288 19.9759C9.97405 19.9759 0.337469 22.6217 0.264648 27.4521ZM37.1021 29.4425C37.1021 33.4322 33.8678 36.6664 29.8782 36.6664C25.8885 36.6664 22.6542 33.4322 22.6542 29.4425C22.6542 25.4528 25.8885 22.2186 29.8782 22.2186C33.8678 22.2186 37.1021 25.4528 37.1021 29.4425ZM39.1021 29.4425C39.1021 34.5367 34.9724 38.6664 29.8782 38.6664C24.7839 38.6664 20.6542 34.5367 20.6542 29.4425C20.6542 24.3483 24.7839 20.2186 29.8782 20.2186C34.9724 20.2186 39.1021 24.3483 39.1021 29.4425Z\",\n fill: \"currentColor\"\n })), _line || (_line = /*#__PURE__*/React.createElement(\"line\", {\n x1: 25.9336,\n y1: 29.1328,\n x2: 33.9336,\n y2: 29.1328,\n stroke: \"currentColor\",\n strokeWidth: 2\n })), _line2 || (_line2 = /*#__PURE__*/React.createElement(\"line\", {\n x1: 30.1338,\n y1: 25.333,\n x2: 30.1338,\n y2: 33.8663,\n stroke: \"currentColor\",\n strokeWidth: 2\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPersonalization);\nexport default __webpack_public_path__ + \"static/media/personalization.fa3aaced.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgTime(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8 14.0002C5.42267 14.0002 3.33333 11.9108 3.33333 9.3335C3.33333 6.75617 5.42267 4.66683 8 4.66683C10.5773 4.66683 12.6667 6.75617 12.6667 9.3335C12.6667 11.9108 10.5773 14.0002 8 14.0002ZM12.6867 5.5935L13.6333 4.64683C13.3333 4.30683 13.0333 4.00016 12.6933 3.70683L11.7467 4.66683C10.7133 3.82683 9.41333 3.3335 8 3.3335C4.68629 3.3335 2 6.01979 2 9.3335C2 12.6472 4.68629 15.3335 8 15.3335C11.3333 15.3335 14 12.6468 14 9.3335C14 7.92016 13.5067 6.62016 12.6867 5.5935ZM7.33333 10.0002H8.66667V6.00016H7.33333V10.0002ZM10 1.3335H6V2.66683H10V1.3335Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTime);\nexport default __webpack_public_path__ + \"static/media/time.b65147c4.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgGift(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 17 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.57158 3.06974C8.3771 1.95443 7.97568 0.417534 6.87453 0.0943388C6.07535 -0.140226 5.44337 0.0943569 5.08564 0.449769C4.72796 0.805148 4.37009 1.98995 6.27823 2.93777C6.41655 3.00647 6.54809 3.06921 6.67304 3.12645H0.939453V6.98851H1.85909V16H15.4683V6.98851H16.3877V3.12645H10.4701C10.5951 3.06921 10.7266 3.00647 10.8649 2.93777C12.7731 1.98995 12.4152 0.805148 12.0575 0.449769C11.6998 0.0943569 11.0678 -0.140226 10.2686 0.0943388C9.16748 0.417535 8.76606 1.95443 8.57158 3.06974ZM2.41089 4.22996H7.92812V5.88513H2.41089V4.22996ZM14.9168 4.22996H9.39957V5.88513H14.9168V4.22996ZM3.14661 6.98859H7.9282V14.7127H3.14661V6.98859ZM14.3651 6.98857H9.39957V14.7127H14.3651V6.98857ZM6.69531 0.957363C7.19451 1.11121 7.31621 1.95257 7.37679 2.37908C7.31621 2.41068 7.04968 2.39803 6.46815 2.09473C5.74124 1.71561 5.87757 1.24169 6.01383 1.09953C6.15011 0.95737 6.39086 0.863537 6.69531 0.957363ZM9.76706 2.39122C9.87643 1.97223 10.0942 1.14597 10.5627 1.05015C10.8485 0.991719 11.0528 1.11334 11.157 1.27113C11.2612 1.4289 11.3227 1.91806 10.6205 2.2125C10.0587 2.44806 9.81744 2.4298 9.76706 2.39122Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGift);\nexport default __webpack_public_path__ + \"static/media/gift.a76c4786.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAchievement(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17.6192 20.446L18.4038 18.1826L21.113 18.4493L19.4856 15.7648C18.6122 16.804 17.5089 17.6494 16.2523 18.2251L17.6192 20.446ZM5.8058 14.1214C5.87503 14.2244 5.94517 14.3288 6.02222 14.4286C7.45345 16.4496 9.75508 17.7948 12.354 17.716C14.4135 17.6464 16.2768 16.8131 17.6621 15.48C18.3946 14.7983 19.0167 13.9469 19.4703 12.9288C19.8595 11.9805 20.0618 11.02 20.1016 10.0777C20.1047 10.0595 20.1047 10.0444 20.1047 10.0262L20.105 10.0176C20.1079 9.91459 20.1108 9.81429 20.1108 9.71111V9.65051C20.1108 9.58688 20.1078 9.52326 20.1047 9.45963C20.1047 9.41721 20.1047 9.37782 20.1016 9.3354C20.0955 9.22633 20.0863 9.12028 20.0771 9.01424L20.0679 8.8991C20.0664 8.8855 20.0649 8.87266 20.0634 8.85981C20.0618 8.8469 20.0603 8.83399 20.0587 8.82032C19.6879 5.54806 17.3281 2.72119 13.8097 1.85161C11.0607 1.16989 8.20432 1.93342 6.34095 3.82406C6.00996 4.16038 5.70962 4.53002 5.44911 4.93603L4.60631 6.22069L5.41847 6.73577C4.8852 7.72957 4.57566 8.93243 4.57566 10.1383C4.57566 10.6685 4.63696 11.1867 4.74729 11.6836C4.8239 12.0593 4.92198 12.3532 4.99247 12.5319C5.18861 13.0743 5.44911 13.5863 5.76478 14.062L5.77704 14.0681L5.77398 14.0741C5.78458 14.0899 5.79518 14.1056 5.8058 14.1214ZM5.66671 18.122L6.485 20.5459L8.18593 18.116C6.90793 17.4888 5.79849 16.5798 4.94037 15.4709L3.05555 18.6371L5.66671 18.122ZM21.6371 9.89896C21.6371 11.5351 21.2019 13.0682 20.4418 14.3983L24 20.2611L19.4611 19.8127L18.0115 24L14.7843 18.7583C14.0028 18.9674 13.1815 19.0825 12.3325 19.0825C11.3978 19.0825 10.4967 18.9431 9.64781 18.6917L5.9977 23.9L4.64002 19.8703L0 20.7883L4.02094 14.0287C3.38654 12.7864 3.02797 11.3836 3.02797 9.89896C3.02797 9.3354 3.08007 8.78397 3.17814 8.24768C3.31912 7.43264 3.57655 6.61155 3.96578 5.80863C3.85392 5.72834 3.7206 5.63441 3.58729 5.54049C3.45397 5.44656 3.32065 5.35263 3.20879 5.27234C8.27174 -3.88697 21.4226 -0.242031 21.6279 9.53234C21.634 9.65354 21.6371 9.77474 21.6371 9.89896ZM12.4 10.1595L13.1968 10.6534L12.9026 9.76563L13.5002 9.27176H12.8014L12.403 8.48399L12.0046 9.27176H11.3058L11.9035 9.76563L11.6031 10.6534L12.4 10.1595ZM13.7454 7.75682H17.7295L14.6832 10.2656L16.001 14.1741L12.4 11.9441L8.79888 14.1741L10.1167 10.2656L7.07036 7.75682H11.0545L12.4 5.09659L13.7454 7.75682Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAchievement);\nexport default __webpack_public_path__ + \"static/media/achievement.b8eb01b1.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCopy(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20 21H9V7H20V21ZM20 5H9C7.89543 5 7 5.89543 7 7V21C7 22.1046 7.89543 23 9 23H20C21.1046 23 22 22.1046 22 21V7C22 5.89543 21.1046 5 20 5ZM17 1H5C3.89543 1 3 1.89543 3 3V17H5V3H17V1Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCopy);\nexport default __webpack_public_path__ + \"static/media/copy.3f68f41b.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgBell(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 17 19\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M16.3125 15.4028V16.2709H0.6875V15.4028L2.42362 13.6667V8.45837C2.42362 5.76739 4.18577 3.39759 6.76391 2.6337C6.76391 2.54689 6.76391 2.46877 6.76391 2.38196C6.76391 1.42313 7.54119 0.645844 8.50002 0.645844C9.45885 0.645844 10.2361 1.42313 10.2361 2.38196C10.2361 2.46877 10.2361 2.54689 10.2361 2.6337C12.8143 3.39759 14.5764 5.76739 14.5764 8.45837V13.6667L16.3125 15.4028ZM10.236 17.1389C10.236 18.0978 9.45873 18.875 8.4999 18.875C7.54107 18.875 6.76378 18.0978 6.76378 17.1389\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBell);\nexport default __webpack_public_path__ + \"static/media/bell.81f726ce.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAlert(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 18 18\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3.10525 3.10477C-0.146413 6.3581 -0.146413 11.6381 3.10525 14.8906C6.35859 18.1431 11.6386 18.1431 14.8911 14.8906C18.1436 11.6381 18.1436 6.3581 14.8911 3.10477C11.6386 -0.146901 6.35859 -0.146901 3.10525 3.10477ZM6.64122 5.4624L5.46289 6.64074L7.82039 8.99824L5.46289 11.3549L6.64122 12.5332L8.99872 10.1766L11.3554 12.5332L12.5337 11.3549L10.1771 8.99824L12.5337 6.64074L11.3554 5.4624L8.99872 7.8199L6.64122 5.4624Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAlert);\nexport default __webpack_public_path__ + \"static/media/alert.4ddb5c3e.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgTimer(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 12 14\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.62514 11.8752C3.20889 11.8752 1.25014 9.91644 1.25014 7.50019C1.25014 5.08395 3.20889 3.12519 5.62514 3.12519C8.04138 3.12519 10.0001 5.08395 10.0001 7.50019C10.0001 9.91644 8.04138 11.8752 5.62514 11.8752V11.8752ZM10.0187 3.99349L10.9062 3.10599C10.625 2.78724 10.3437 2.49974 10.025 2.22474L9.1375 3.12474C8.16875 2.33724 6.95 1.87474 5.625 1.87474C2.5184 1.87474 0 4.39314 0 7.49974C0 10.6063 2.5184 13.1247 5.625 13.1247C8.75 13.1247 11.25 10.606 11.25 7.49974C11.25 6.17474 10.7875 4.95599 10.0187 3.99349V3.99349ZM4.99994 8.12502H6.24994V4.37502H4.99994V8.12502ZM7.50011 0H3.75011V1.25H7.50011V0Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTimer);\nexport default __webpack_public_path__ + \"static/media/timer.08014c60.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgRefresh(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18 36C27.9411 36 36 27.9411 36 18C36 8.05887 27.9411 0 18 0C8.05887 0 0 8.05887 0 18C0 27.9411 8.05887 36 18 36ZM15.8333 26.3936C12.0953 25.4315 9.33333 22.0383 9.33333 18C9.33333 15.0212 10.8362 12.3934 13.125 10.8334V14.2083C13.125 14.8066 13.61 15.2917 14.2083 15.2917C14.8066 15.2917 15.2917 14.8066 15.2917 14.2083V8.25C15.2917 7.65169 14.8066 7.16667 14.2083 7.16667L8.25 7.16667C7.65169 7.16667 7.16667 7.65169 7.16667 8.25C7.16667 8.84831 7.65169 9.33333 8.25 9.33333H11.4989C8.86824 11.3098 7.16667 14.4562 7.16667 18C7.16667 23.2411 10.8885 27.6129 15.8333 28.6166V26.3936ZM20.1667 9.60641C23.9047 10.5685 26.6667 13.9617 26.6667 18C26.6667 20.9789 25.1638 23.6067 22.875 25.1666V21.7917C22.875 21.1934 22.39 20.7084 21.7917 20.7084C21.1934 20.7084 20.7083 21.1934 20.7083 21.7917V27.75C20.7083 28.3483 21.1934 28.8334 21.7917 28.8334H27.75C28.3483 28.8334 28.8333 28.3483 28.8333 27.75C28.8333 27.1517 28.3483 26.6667 27.75 26.6667H24.5011C27.1318 24.6902 28.8333 21.5438 28.8333 18C28.8333 12.759 25.1115 8.38717 20.1667 7.38341V9.60641Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRefresh);\nexport default __webpack_public_path__ + \"static/media/refresh.fc5ccf0e.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUpload(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 34 34\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.3382 24.2V14.6H6.12109L17.0011 3.40002L27.8811 14.6H21.664V24.2H12.3382ZM6.12109 30.6V27.2H27.8811V30.6H6.12109Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUpload);\nexport default __webpack_public_path__ + \"static/media/upload.87179d5d.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPlayer(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 5C13.66 5 15 6.34 15 8C15 9.66 13.66 11 12 11C10.34 11 9 9.66 9 8C9 6.34 10.34 5 12 5ZM12 19.2C9.5 19.2 7.29 17.92 6 15.98C6.03 13.99 10 12.9 12 12.9C13.99 12.9 17.97 13.99 18 15.98C16.71 17.92 14.5 19.2 12 19.2Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPlayer);\nexport default __webpack_public_path__ + \"static/media/player.9ca87129.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgBucket(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.6668 2.66667H10.3335L9.66683 2H6.3335L5.66683 2.66667H3.3335V4H12.6668V2.66667ZM4.00016 12.6667C4.00016 13.403 4.59712 14 5.3335 14H10.6668C11.4032 14 12.0002 13.403 12.0002 12.6667V4.66667H4.00016V12.6667Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBucket);\nexport default __webpack_public_path__ + \"static/media/bucket.77fc7fbf.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgEdit(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M13.8067 4.695C14.0667 4.435 14.0667 4.00167 13.8067 3.755L12.2467 2.195C12 1.935 11.5667 1.935 11.3067 2.195L10.08 3.415L12.58 5.915L13.8067 4.695ZM2 11.5017V14.0017H4.5L11.8733 6.62171L9.37333 4.12171L2 11.5017Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEdit);\nexport default __webpack_public_path__ + \"static/media/edit.0f3f0f9c.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgLike(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 13 12\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 5C12 4.445 11.55 4 11 4H7.84L8.32 1.715C8.33 1.665 8.335 1.61 8.335 1.555C8.335 1.35 8.25 1.16 8.115 1.025L7.585 0.5L4.295 3.79C4.11 3.975 4 4.225 4 4.5V9.5C4 9.76522 4.10536 10.0196 4.29289 10.2071C4.48043 10.3946 4.73478 10.5 5 10.5H9.5C9.915 10.5 10.27 10.25 10.42 9.89L11.93 6.365C11.975 6.25 12 6.13 12 6V5ZM1 10.5H3V4.5H1V10.5Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLike);\nexport default __webpack_public_path__ + \"static/media/like.3149d42b.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMail(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 64 65\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M53.333 21.8332L31.9997 35.1665L10.6663 21.8332V16.4998L31.9997 29.8332L53.333 16.4998V21.8332ZM53.333 11.1665H10.6663C7.70634 11.1665 5.33301 13.5398 5.33301 16.4998V48.4998C5.33301 51.4454 7.72082 53.8332 10.6663 53.8332H53.333C56.2785 53.8332 58.6663 51.4454 58.6663 48.4998V16.4998C58.6663 13.5398 56.2663 11.1665 53.333 11.1665Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMail);\nexport default __webpack_public_path__ + \"static/media/mail.2c07030f.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPointer(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2.66797 7.32668V8.67348H10.7488L7.04507 12.3772L8.0013 13.3334L13.3346 8.00008L8.0013 2.66675L7.04507 3.62298L10.7488 7.32668H2.66797Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPointer);\nexport default __webpack_public_path__ + \"static/media/pointer.a714bd3e.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgUnlink(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.332 4.58341H8.66536V5.85008H11.332C12.472 5.85008 13.3987 6.77675 13.3987 7.91675C13.3987 8.87008 12.7454 9.67008 11.8587 9.91675L12.832 10.8767C13.9187 10.3234 14.6654 9.21675 14.6654 7.91675C14.6654 7.03269 14.3142 6.18485 13.6891 5.55973C13.0639 4.9346 12.2161 4.58341 11.332 4.58341ZM10.6654 7.25008H9.20537L10.5387 8.58342H10.6654V7.25008ZM1.33203 2.76341L3.40536 4.83675C2.19203 5.33008 1.33203 6.52342 1.33203 7.91675C1.33203 8.8008 1.68322 9.64865 2.30834 10.2738C2.93346 10.8989 3.78131 11.2501 4.66536 11.2501H7.33203V9.98342H4.66536C3.52536 9.98342 2.5987 9.05675 2.5987 7.91675C2.5987 6.85675 3.40536 5.98342 4.4387 5.87008L5.8187 7.25008H5.33203V8.58342H7.15203L8.66536 10.0967V11.2501H9.8187L12.492 13.9167L13.332 13.0767L2.1787 1.91675L1.33203 2.76341Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUnlink);\nexport default __webpack_public_path__ + \"static/media/unlink.5875deee.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgCalendarEvent(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 25 25\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17.5 13.5H12.5V18.5H17.5V13.5ZM16.5 2.5V4.5H8.5V2.5H6.5V4.5H5.5C4.39 4.5 3.51 5.4 3.51 6.5L3.5 20.5C3.5 21.6 4.39 22.5 5.5 22.5H19.5C20.6 22.5 21.5 21.6 21.5 20.5V6.5C21.5 5.4 20.6 4.5 19.5 4.5H18.5V2.5H16.5ZM19.5 20.5H5.5V9.5H19.5V20.5Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCalendarEvent);\nexport default __webpack_public_path__ + \"static/media/calendar-event.48ebfe24.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPs5(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 72 72\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.6175 31.6673C25.4854 31.798 25.4765 32.2771 25.6175 32.4165C25.6968 32.4949 26.9658 32.5211 30.7813 32.5211C34.3766 32.5211 35.9539 32.5472 36.2095 32.6256C37.3198 32.9305 37.6987 34.3506 36.8616 35.0998C36.3328 35.579 36.4386 35.5702 31.8123 35.5702H27.5297L27.0627 35.7793C26.7719 35.91 26.4459 36.1627 26.1991 36.4327C25.6263 37.0861 25.4942 37.6698 25.5294 39.4035L25.5559 40.7538H27.5826L27.6267 39.0986C27.6707 37.2778 27.6972 37.2081 28.2611 36.7812L28.5519 36.5721L33.0019 36.5198C35.4516 36.4937 37.5489 36.4414 37.6723 36.3979C38.2715 36.1975 38.7649 35.7358 39.1262 35.0475C39.373 34.5771 39.3465 33.4707 39.0822 32.9654C38.8266 32.4862 38.3948 32.0593 37.9102 31.8067L37.5401 31.6063L31.6361 31.5802C27.0274 31.5628 25.7057 31.5802 25.6175 31.6673ZM47.0129 31.6412C46.5547 31.737 46.1493 31.9722 45.744 32.3817C45.1095 33.0264 45.0743 33.2529 45.0743 36.1627V38.7065L44.8628 39.0463C44.7394 39.2292 44.5103 39.4732 44.3517 39.5864C44.0609 39.7955 44.0345 39.7955 41.5054 39.8217C40.1043 39.8304 38.8971 39.8391 38.8442 39.8391C38.7649 39.8391 38.7297 39.9959 38.7297 40.3182V40.7974H41.9372C45.3651 40.7974 45.3563 40.7974 46.0524 40.3357C46.3344 40.1527 46.819 39.4906 46.9512 39.116C47.0041 38.9505 47.0658 37.7308 47.0922 36.1191L47.1451 33.401L47.4887 33.0525C47.6738 32.8695 47.9293 32.6866 48.0615 32.643C48.1849 32.6082 49.4626 32.5559 50.8901 32.5298L53.4897 32.4775V31.6063L50.4055 31.5976C48.7136 31.5889 47.1803 31.6063 47.0129 31.6412ZM55.6486 31.6934C55.5781 31.7806 55.5517 32.3207 55.5781 33.7146C55.6045 35.8229 55.6133 35.8403 56.2566 36.2759L56.5562 36.485L61.3675 36.5286C65.9938 36.5721 66.1877 36.5808 66.4432 36.7464C67.06 37.1558 67.2803 37.5478 67.2803 38.2274C67.2803 38.8459 67.0424 39.2467 66.4344 39.6387C66.2053 39.7868 65.844 39.7955 60.9798 39.8217C58.1247 39.8304 55.7279 39.8565 55.6662 39.8826C55.5869 39.9088 55.5605 40.0569 55.5781 40.3357L55.6045 40.7538L61.4204 40.78C67.8972 40.8061 67.5183 40.8322 68.3201 40.205C69.6331 39.1683 69.6331 37.1907 68.3201 36.1627C67.5271 35.5441 67.7826 35.5702 62.6717 35.5702C59.191 35.5615 58.0366 35.5354 57.9397 35.457C57.552 35.1608 57.4991 34.9604 57.4991 33.8279C57.4991 33.0873 57.5343 32.6953 57.6048 32.6256C57.6841 32.5472 59.0676 32.5211 63.2797 32.5211C68.2761 32.5211 68.8489 32.5036 68.9017 32.3817C68.9898 32.1552 68.9634 31.7806 68.8489 31.6673C68.7695 31.5889 67.1834 31.5628 62.2487 31.5628C56.6796 31.5628 55.7455 31.5802 55.6486 31.6934Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M70.3896 40.7634H70.5254V39.884H70.8469V39.77H70.0678V39.884H70.3896V40.7634Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.3783 40.7633L71.1079 39.9564V40.7633H70.9722V39.77H71.1592L71.4502 40.6184L71.7317 39.77H71.8954V40.7633H71.7831V39.9564L71.5127 40.7633H71.3783Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.97447 29C7.78554 29.1496 8.58276 29.3633 9.37624 29.5861C9.82996 29.7166 10.2827 29.8515 10.7324 29.9952C11.4388 30.2179 12.1421 30.47 12.7819 30.8459C13.0685 31.0182 13.3438 31.2127 13.579 31.45C13.8339 31.6976 14.0426 31.9877 14.1957 32.307C14.4747 32.8835 14.5702 33.5276 14.5985 34.1609C14.6118 34.5741 14.6109 34.9909 14.5328 35.3988C14.468 35.7532 14.3529 36.1027 14.1612 36.4106C13.992 36.6824 13.7568 36.9177 13.4713 37.0692C13.1974 37.2152 12.884 37.2848 12.5734 37.2787C12.1024 37.2835 11.6454 37.135 11.2227 36.9401C11.2149 35.5491 11.2214 34.1577 11.2193 32.7669C11.2164 32.5153 11.2337 32.261 11.1824 32.0127C11.1462 31.8203 11.067 31.6265 10.9143 31.4959C10.8133 31.4056 10.682 31.3546 10.5502 31.3271C10.4169 31.302 10.2747 31.3581 10.1922 31.464C10.0549 31.6336 10.0189 31.8588 10.0127 32.07C10.0116 35.794 10.0141 39.5182 10.0116 43.242C8.9991 42.9245 7.98672 42.6066 6.97447 42.2883C6.9735 37.8589 6.97392 33.4295 6.97447 29ZM2.42402 38.4241C3.74391 37.9617 5.06241 37.4946 6.38285 37.0338C6.38493 37.5465 6.38285 38.0595 6.38368 38.5727C6.38285 38.6423 6.38728 38.7122 6.37856 38.7814C5.33489 39.1475 4.29316 39.52 3.2506 39.8884C3.10605 39.9426 2.95776 40.0037 2.84631 40.1129C2.79439 40.1641 2.75202 40.2399 2.7804 40.3132C2.81613 40.3996 2.90529 40.4468 2.98753 40.4822C3.21626 40.5743 3.46631 40.5875 3.70999 40.5984C3.98164 40.5942 4.25453 40.574 4.5205 40.5159C4.70035 40.4809 4.87342 40.421 5.04483 40.3573C5.49038 40.1977 5.93592 40.0371 6.38216 39.8791C6.38535 40.3129 6.38272 40.7469 6.38355 41.1813C6.38216 41.268 6.38756 41.3553 6.37884 41.4416C5.83083 41.539 5.27632 41.605 4.71932 41.6138C3.5977 41.6389 2.47345 41.4671 1.40804 41.1202C1.05872 41.02 0.711477 40.8866 0.419615 40.6671C0.259008 40.544 0.115292 40.3893 0.0421877 40.199C-0.0190092 40.0378 -0.0145787 39.8517 0.0617098 39.6962C0.135229 39.541 0.263715 39.4185 0.405216 39.3231C0.732522 39.0994 1.09375 38.9287 1.45955 38.7766C1.77509 38.6437 2.10212 38.5401 2.42402 38.4241Z\",\n fill: \"white\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.0446 37.8399C13.344 37.8056 13.6452 37.7976 13.9462 37.7869C14.9362 37.7906 15.9314 37.9124 16.8784 38.2064C17.0642 38.2623 17.2442 38.3348 17.4293 38.393C17.7594 38.5123 18.0898 38.657 18.3539 38.8918C18.5126 39.035 18.6495 39.2281 18.6513 39.4484C18.6608 39.6279 18.5788 39.7999 18.4611 39.9322C18.2374 40.1804 17.9416 40.3511 17.6448 40.4999C17.3287 40.6594 16.9889 40.7623 16.6575 40.8837C14.6344 41.6026 12.611 42.3212 10.5883 43.0409C10.5879 42.48 10.5889 41.9194 10.5879 41.3591C10.5909 41.3366 10.5786 41.2976 10.6105 41.2917C12.1498 40.7498 13.6887 40.2063 15.2279 39.6628C15.436 39.5858 15.6602 39.53 15.8367 39.3904C15.909 39.3343 15.9797 39.2449 15.9443 39.1485C15.9073 39.0642 15.819 39.0176 15.7377 38.9827C15.5073 38.8924 15.2564 38.875 15.0114 38.8681C14.6277 38.8707 14.2407 38.9175 13.8758 39.0393C12.7793 39.4195 11.685 39.8043 10.5883 40.1833C10.5884 39.5811 10.5879 38.9794 10.5886 38.3774C11.3818 38.1019 12.2103 37.9348 13.0446 37.8399ZM17.542 41.9879C17.7814 41.9584 18.0315 42.0646 18.1749 42.2565C18.3315 42.4548 18.3602 42.7406 18.2496 42.9669C18.1378 43.2018 17.8826 43.3663 17.6182 43.3578C17.3749 43.3632 17.1393 43.223 17.0195 43.0153C16.9114 42.8325 16.8984 42.5984 16.9821 42.4038C17.0764 42.1791 17.2982 42.0153 17.542 41.9879ZM17.49 42.1145C17.3548 42.1456 17.2355 42.2241 17.1542 42.3355C17.1063 42.401 17.0729 42.4758 17.0564 42.555C17.0398 42.6342 17.0404 42.716 17.0581 42.795C17.0906 42.9422 17.1806 43.0708 17.3085 43.1526C17.5027 43.2789 17.7751 43.2719 17.961 43.1333C18.1528 42.9991 18.2439 42.7418 18.1778 42.5189C18.1371 42.3682 18.0283 42.2398 17.8912 42.1651C17.7694 42.1014 17.624 42.0829 17.49 42.1145Z\",\n fill: \"white\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.3242 42.2758C17.449 42.2751 17.5741 42.2757 17.699 42.2754C17.7696 42.2763 17.8474 42.2927 17.8976 42.3464C17.9478 42.4025 17.952 42.4845 17.9381 42.5549C17.9302 42.6015 17.8888 42.629 17.8588 42.6615C17.8848 42.6845 17.9183 42.7059 17.9246 42.7433C17.939 42.8147 17.9237 42.8895 17.9468 42.9593C17.9614 42.9841 17.9762 43.0091 17.9773 43.0385C17.9255 43.04 17.8739 43.0391 17.8221 43.0399C17.7872 42.9585 17.8134 42.8673 17.7915 42.7836C17.7829 42.7494 17.7472 42.7282 17.7133 42.7293C17.6288 42.7259 17.5439 42.7282 17.4599 42.7282C17.4585 42.8321 17.4628 42.9362 17.4573 43.0399C17.4132 43.0391 17.3691 43.0391 17.325 43.04C17.3227 42.7849 17.3242 42.5304 17.3242 42.2758ZM17.4596 42.3969V42.6081C17.5351 42.6086 17.6107 42.6091 17.6864 42.6083C17.7239 42.6081 17.7675 42.6011 17.7919 42.5696C17.8042 42.5494 17.8109 42.5263 17.8113 42.5027C17.8117 42.4791 17.8057 42.4558 17.794 42.4353C17.7745 42.4032 17.7334 42.3999 17.6996 42.3979C17.6195 42.3954 17.5395 42.3969 17.4596 42.3969Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPs5);\nexport default __webpack_public_path__ + \"static/media/ps5.fcdaff7a.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgXbox(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 72 72\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M27.1313 34.3855C27.3134 34.4697 27.4829 34.5792 27.6352 34.7108C28.0703 35.0887 28.2986 35.6102 28.2986 36.2238C28.2986 37.6296 27.2485 38.5002 25.5579 38.5002L22.4366 38.4995V34.8468H20.8395C20.9561 34.6712 21.2625 34.2427 21.3972 34.0643H22.4366V30.7028H25.5572C27.8743 30.7028 28.0555 32.3251 28.0555 32.824C28.0557 33.1449 27.9699 33.4598 27.8071 33.7349C27.6442 34.01 27.4106 34.235 27.1313 34.3855ZM25.5579 31.5167H23.2994V34.0643H25.5579C26.5965 34.0643 27.1926 33.5757 27.1926 32.7557C27.1926 31.6711 26.1688 31.5167 25.5579 31.5167ZM23.2987 37.687H25.5572C26.2597 37.687 27.4378 37.4942 27.4378 36.2067C27.4378 35.0887 26.4133 34.8489 25.5572 34.8489H23.2987V37.687Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.6906 34.5974C28.6906 32.1987 30.1994 30.5237 32.3582 30.5237C34.515 30.5237 36.0197 32.1987 36.0197 34.5974C36.0197 36.9995 34.515 38.6731 32.3582 38.6731C30.1994 38.6731 28.6906 36.9995 28.6906 34.5974ZM29.5609 34.5974C29.5609 36.5109 30.7134 37.8482 32.3582 37.8482C34.0004 37.8482 35.1461 36.5109 35.1461 34.5974C35.1461 32.6839 34.0004 31.3472 32.3582 31.3472C30.7134 31.3472 29.5609 32.6839 29.5609 34.5974Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.494103 31.9929C0.82127 31.1989 1.3011 30.4783 1.90553 29.8745C1.91251 29.869 2.5044 29.4084 4.64628 31.5714C4.65234 31.5768 4.6584 31.5837 4.6584 31.5925C4.6584 31.5992 4.65418 31.6048 4.6504 31.6098C4.64992 31.6104 4.64944 31.6111 4.64897 31.6117C3.35909 33.1684 0.862847 36.8819 1.35118 38.4141C1.3559 38.4264 1.35523 38.4407 1.34377 38.4476C1.33165 38.4537 1.31818 38.4476 1.30942 38.4366C0.458294 37.306 -0.00190801 35.9223 5.94591e-06 34.4997C-0.00103684 33.6391 0.166932 32.7869 0.494103 31.9929Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.9071 29.8745C10.9072 29.8746 10.9065 29.8746 10.9063 29.8744C10.8932 29.8645 10.3006 29.4154 8.16837 31.5679C8.16163 31.5734 8.15624 31.5802 8.15624 31.5898C8.15624 31.5966 8.16096 31.6028 8.16567 31.6083C9.45488 33.1657 11.9491 36.8819 11.4608 38.4141C11.4567 38.4264 11.4574 38.4407 11.4682 38.4476C11.4803 38.4537 11.4944 38.4476 11.5025 38.4366C12.3537 37.306 12.8139 35.9223 12.8119 34.4997C12.8132 33.6391 12.6453 32.7869 12.3183 31.9929C11.9912 31.1989 11.5115 30.4783 10.9071 29.8745Z\",\n fill: \"white\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.74317 28.9513C8.76245 28.3595 7.69889 28 6.40631 28C5.1171 28 4.04007 28.3595 3.05935 28.9574C3.05406 28.9606 3.05006 28.9656 3.04808 28.9714C3.0461 28.9773 3.04628 28.9838 3.04858 28.9895C3.05396 29.0018 3.06744 29.0039 3.07956 29.0012C4.1768 28.7162 5.91932 29.6429 6.39217 29.9183C6.39621 29.921 6.40025 29.9237 6.40631 29.9237C6.4117 29.9237 6.41574 29.921 6.41979 29.9183C6.59761 29.8096 8.48292 28.7223 9.72296 28.9943C9.73576 28.9977 9.74923 28.995 9.75395 28.9834C9.75866 28.9711 9.75529 28.9574 9.74317 28.9513Z\",\n fill: \"white\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.42652 33.2231C6.42181 33.219 6.41372 33.2128 6.40631 33.2128C6.39823 33.2128 6.38947 33.219 6.38409 33.2231C4.46913 34.7019 1.18885 38.358 2.18843 39.392C3.35479 40.4303 4.85399 41.0019 6.40564 41C7.95712 41.002 9.45615 40.4304 10.6222 39.392H10.6235L10.6242 39.3906L10.6222 39.392C11.6238 38.358 8.3435 34.7019 6.42652 33.2231Z\",\n fill: \"white\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.6935 35.1204L41.1486 38.5011H42.1583L39.206 34.4158L41.8996 30.7037H40.89L38.6935 33.7317L36.497 30.7037H35.4866L38.1822 34.4165L35.2306 38.5011H36.241L38.6935 35.1204Z\",\n fill: \"white\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.0623 34.4158L22.0173 38.4997H21.0062L18.5517 35.1204L16.0993 38.4997H15.0876L18.0419 34.4158L15.3476 30.7037H16.3552L18.5504 33.7324L20.7476 30.7037H21.7579L19.0623 34.4158Z\",\n fill: \"white\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.6025 34.1762L66.7444 32.5861C66.3697 32.4973 66.0137 32.3417 65.6927 32.1266C65.5365 32.0062 65.4116 31.8489 65.3292 31.6684C65.2467 31.4878 65.2092 31.2896 65.2198 31.091C65.2118 30.8908 65.2546 30.6919 65.3442 30.5133C65.4338 30.3347 65.5672 30.1824 65.7315 30.071C66.1756 29.8031 66.6891 29.6773 67.2049 29.7101C69.2119 29.7101 69.7348 30.7793 70.0896 31.2319L71.1661 29.7326C70.9841 29.4323 70.7539 29.1649 70.485 28.9414C69.7355 28.3138 68.6317 28 67.1737 28C65.8908 28 64.8879 28.2851 64.1652 28.8552C63.8153 29.1218 63.534 29.4699 63.345 29.87C63.1561 30.2702 63.065 30.7105 63.0797 31.1539C63.0797 32.6792 63.9204 33.642 65.6025 34.1762ZM71.1366 34.0957C70.6335 33.6418 69.8543 33.2864 68.7989 33.0293L67.6442 34.637C68.2483 34.7596 68.8232 34.9994 69.3374 35.3431C69.4966 35.4543 69.6249 35.605 69.7103 35.7808C69.7957 35.9565 69.8353 36.1515 69.8253 36.3471C69.8371 36.58 69.7907 36.8121 69.6904 37.022C69.5901 37.2318 69.4392 37.4126 69.2515 37.5475C68.7538 37.8561 68.1742 38.0013 67.5919 37.9633C65.9229 37.9633 65.136 37.4028 64.3324 35.9437L63.1805 37.5475C63.386 37.9762 63.6821 38.3538 64.0478 38.6535C64.8698 39.3335 66.0304 39.6735 67.5296 39.6735C68.9357 39.6735 70.0317 39.3727 70.8176 38.7713C71.2031 38.4784 71.5121 38.0943 71.7175 37.6526C71.923 37.2109 72.0187 36.725 71.9963 36.2373C72.017 35.8383 71.9506 35.4396 71.802 35.0695C71.6533 34.6994 71.4263 34.3667 71.1366 34.0957ZM61.2127 39.4236H60.7316V28.2513H61.2116L61.2127 39.4236ZM47.0815 28.1988C47.1596 28.1951 47.2374 28.2107 47.3082 28.2442C47.379 28.2776 47.4408 28.3281 47.4881 28.3911C47.5858 28.5598 47.6357 28.7525 47.6323 28.9481C47.629 29.1437 47.5725 29.3346 47.4691 29.4998C47.4118 29.5678 47.3398 29.6216 47.2588 29.6571C47.1777 29.6926 47.0898 29.7089 47.0016 29.7046H46.9989V29.3624H47.0013C47.0522 29.3665 47.1033 29.3582 47.1504 29.3384C47.1975 29.3185 47.2393 29.2876 47.2723 29.2482C47.3331 29.1498 47.3616 29.0344 47.3537 28.9186C47.3596 28.8241 47.3366 28.73 47.2878 28.6492C47.2664 28.6189 47.2377 28.5946 47.2046 28.5784C47.1714 28.5622 47.1348 28.5548 47.0981 28.5567C47.0673 28.5551 47.0367 28.5615 47.009 28.5753C46.9814 28.589 46.9577 28.6096 46.94 28.6352C46.8905 28.7247 46.8576 28.8226 46.8427 28.9241L46.8127 29.076C46.7914 29.2367 46.7256 29.388 46.6229 29.5124C46.5776 29.5604 46.5228 29.5983 46.4621 29.6234C46.4014 29.6485 46.3361 29.6604 46.2706 29.6582C46.1995 29.6605 46.1289 29.6455 46.0648 29.6145C46.0006 29.5835 45.9447 29.5374 45.9017 29.48C45.8031 29.3357 45.7549 29.1622 45.7648 28.987C45.7516 28.794 45.8049 28.6023 45.9155 28.4446C45.9676 28.3829 46.0325 28.3334 46.1055 28.2998C46.1785 28.2661 46.2579 28.2491 46.3381 28.2499H46.3408V28.5869H46.3394C46.2972 28.5867 46.2554 28.5957 46.2169 28.6132C46.1784 28.6307 46.144 28.6564 46.1161 28.6885C46.0611 28.7757 46.0358 28.8787 46.044 28.9818C46.0389 29.0655 46.0588 29.1489 46.1012 29.221C46.1188 29.2475 46.1429 29.2689 46.171 29.2833C46.1991 29.2978 46.2304 29.3047 46.2619 29.3034C46.2931 29.305 46.3241 29.2989 46.3525 29.2856C46.3808 29.2724 46.4055 29.2524 46.4245 29.2273C46.4749 29.1434 46.5079 29.0499 46.5216 28.9527L46.5516 28.7956C46.5744 28.6292 46.6388 28.4714 46.7387 28.3372C46.7824 28.2902 46.8358 28.2535 46.895 28.2295C46.9542 28.2055 47.0178 28.1954 47.0815 28.1988ZM46.7379 38.0581C46.638 38.1922 46.5736 38.35 46.5508 38.5164L46.5207 38.6735C46.5071 38.7708 46.4741 38.8642 46.4237 38.9482C46.4047 38.9732 46.38 38.9932 46.3516 39.0065C46.3233 39.0197 46.2923 39.0258 46.2611 39.0242C46.2296 39.0255 46.1983 39.0186 46.1702 39.0042C46.142 38.9898 46.118 38.9683 46.1004 38.9419C46.058 38.8698 46.0381 38.7864 46.0432 38.7026C46.035 38.5995 46.0603 38.4965 46.1153 38.4093C46.1432 38.3772 46.1776 38.3515 46.2161 38.334C46.2546 38.3165 46.2964 38.3075 46.3386 38.3077H46.3411V37.9688H46.3383C46.2581 37.9681 46.1788 37.9851 46.1058 38.0187C46.0328 38.0524 45.9679 38.1018 45.9158 38.1635C45.8051 38.3212 45.7519 38.5129 45.7651 38.7059C45.7552 38.8811 45.8033 39.0547 45.902 39.1989C45.9449 39.2563 46.0009 39.3024 46.065 39.3334C46.1292 39.3644 46.1998 39.3794 46.2709 39.3771C46.3364 39.3793 46.4017 39.3674 46.4624 39.3423C46.5231 39.3172 46.5779 39.2794 46.6232 39.2313C46.7259 39.1069 46.7917 38.9556 46.8129 38.7949L46.843 38.643C46.8578 38.5416 46.8908 38.4436 46.9403 38.3541C46.9579 38.3286 46.9817 38.3079 47.0093 38.2942C47.0369 38.2804 47.0676 38.274 47.0983 38.2756C47.1351 38.2737 47.1717 38.2811 47.2049 38.2973C47.238 38.3135 47.2666 38.3378 47.2881 38.3681C47.3368 38.449 47.3598 38.543 47.3539 38.6376C47.3619 38.7534 47.3334 38.8687 47.2726 38.9671C47.2396 39.0065 47.1978 39.0374 47.1507 39.0573C47.1035 39.0772 47.0525 39.0854 47.0016 39.0814H46.9991V39.4216H47.0018C47.09 39.4259 47.178 39.4096 47.259 39.3741C47.3401 39.3386 47.412 39.2848 47.4694 39.2168C47.5728 39.0516 47.6293 38.8607 47.6326 38.6651C47.6359 38.4695 47.586 38.2768 47.4884 38.1081C47.441 38.0451 47.3793 37.9946 47.3085 37.9612C47.2377 37.9277 47.1599 37.9121 47.0818 37.9158C47.0178 37.9125 46.9538 37.9235 46.8944 37.9479C46.8349 37.9723 46.7815 38.0097 46.7379 38.0573V38.0581ZM47.5924 33.6514V34.0098C47.5263 34.0441 47.4526 34.0609 47.3783 34.0584L47.1832 34.066C47.1018 34.0618 47.0218 34.0881 46.9585 34.1399C46.9114 34.1999 46.8888 34.2759 46.8953 34.3522V34.7952H47.5938V35.1423H45.8049V34.3217C45.8048 34.2825 45.8067 34.2432 45.8106 34.2042C45.8106 34.216 45.8106 34.2284 45.8106 34.2415C45.8144 34.119 45.8496 33.9995 45.9128 33.895L45.8982 33.9134C45.9108 33.8917 45.925 33.871 45.9407 33.8516C45.9854 33.7965 46.042 33.7526 46.1062 33.7234C46.1704 33.6943 46.2404 33.6806 46.3107 33.6835C46.4041 33.6771 46.497 33.7028 46.5742 33.7565C46.6514 33.8101 46.7085 33.8886 46.7362 33.9793C46.7573 33.9022 46.8042 33.8349 46.8688 33.7889C46.9442 33.7452 47.0298 33.7227 47.1168 33.7239L47.3821 33.7088C47.4547 33.7104 47.5263 33.6914 47.5886 33.6538L47.5924 33.6514ZM46.3481 34.0413C46.3118 34.0392 46.2755 34.0455 46.242 34.0598C46.2086 34.0741 46.1787 34.096 46.1548 34.1237C46.1065 34.191 46.0828 34.2733 46.0879 34.3563V34.7957H46.6235V34.341C46.6283 34.2604 46.6031 34.181 46.5527 34.1185C46.5261 34.0914 46.494 34.0704 46.4587 34.0569C46.4233 34.0434 46.3855 34.0379 46.3478 34.0405L46.3481 34.0413ZM45.806 32.9244H47.5949V32.5773H45.806V32.9244ZM46.1142 30.4014H45.806V31.7364H47.5949V30.4014H47.2867V31.39H46.83V30.4961H46.5343V31.39H46.1128L46.1142 30.4014ZM46.1142 35.886H45.806V37.221H47.5949V35.886H47.2867V36.8747H46.83V35.9808H46.5343V36.8747H46.1128L46.1142 35.886ZM48.3701 39.4233H50.7427L52.5452 36.9134L51.3588 35.2612L48.3701 39.4233ZM58.7655 28.2518H56.3928L54.9181 30.3053L56.1044 31.9572L58.7655 28.2518ZM51.0704 28.2518H48.6975L56.7202 39.4216H59.0929L51.0704 28.2518Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgXbox);\nexport default __webpack_public_path__ + \"static/media/xbox.5f2c3212.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPs4(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 72 72\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M70.3545 41.4309H70.4947V40.5291H70.8271V40.4122H70.0215L70.0218 40.5291H70.3545V41.4309Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.0968 40.6031L71.3764 41.4309H71.5154L71.795 40.6031V41.4309H71.9113V40.4122H71.7419L71.4509 41.2821L71.1499 40.4122H70.9564L70.9567 41.4309H71.0968V40.6031ZM48.0113 38.9907V34.7788C48.0113 33.9196 48.4199 33.3043 49.2914 33.3043H54.6667C54.6994 33.3043 54.7312 33.2722 54.7312 33.2405V32.4025C54.7309 32.3951 54.7292 32.3879 54.7262 32.3811H48.1538C46.7292 32.5589 46.0333 33.5333 46.0333 34.7788V38.9906C46.0333 39.8499 45.6132 40.4652 44.7535 40.4652H39.0769C39.0447 40.4652 39.0123 40.4865 39.0123 40.5288V41.367C39.0123 41.4018 39.0341 41.4285 39.0596 41.4372H45.5047C47.1843 41.394 48.0113 40.3414 48.0113 38.9907ZM25.9276 41.4372H27.8149C27.8292 41.4318 27.8413 41.4221 27.8498 41.4096C27.8582 41.3971 27.8626 41.3823 27.8621 41.3673V38.683C27.8621 37.8238 28.3566 37.2295 29.077 37.2295H36.8509C38.6035 37.2295 39.453 36.1687 39.453 34.7788C39.453 33.5333 38.7578 32.5589 37.3325 32.3811H25.8927C25.8894 32.3881 25.8838 32.3936 25.8838 32.4025V33.2405C25.8838 33.2829 25.9053 33.3043 25.9482 33.3043H36.1949C37.0659 33.3043 37.4745 33.9196 37.4745 34.7788C37.4745 35.6382 37.0659 36.2535 36.1949 36.2535H28.0879C26.8299 36.2535 25.8838 37.304 25.8838 38.683V41.3674C25.8836 41.4018 25.8988 41.4285 25.9276 41.4372Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.3764 41.4309L71.0968 40.6031V41.4309H70.9567L70.9564 40.4122H71.1499L71.4509 41.2821L71.7419 40.4122H71.9113V41.4309H71.795V40.6031L71.5154 41.4309H71.3764Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.6994 40.4654H65.0215C65.0532 40.4654 65.0746 40.4865 65.0746 40.5079V41.3673C65.0746 41.4097 65.1074 41.4309 65.1391 41.4309H66.9996C67.0325 41.4309 67.0639 41.4097 67.0639 41.3673V40.5291C67.0639 40.4972 67.0968 40.4654 67.1284 40.4654H68.9775C69.0206 40.4654 69.0421 40.4335 69.0421 40.4019V39.5531C69.0421 39.521 69.0206 39.4894 68.9775 39.4894H67.1284C67.0968 39.4894 67.0639 39.4574 67.0639 39.4259V33.3043C67.0639 32.8048 66.8749 32.4866 66.5568 32.3811H66.0185C65.8507 32.4234 65.6683 32.4991 65.4728 32.6145L54.3554 39.3514C53.9252 39.6166 53.7744 39.9135 53.8821 40.1364C53.9681 40.3275 54.2148 40.4654 54.6994 40.4654ZM56.3126 39.3406L64.9247 34.1104C64.9789 34.068 65.0866 34.0786 65.0866 34.1953V39.4255C65.0866 39.4572 65.0537 39.4891 65.022 39.4891H56.3656C56.291 39.4891 56.2579 39.4681 56.2481 39.4468C56.2366 39.4043 56.2579 39.3726 56.3126 39.3406Z\",\n fill: \"white\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.2116 29C8.05025 29.1534 8.87457 29.3726 9.69503 29.6011C10.1642 29.7349 10.6323 29.8733 11.0973 30.0207C11.8277 30.249 12.555 30.5076 13.2165 30.8931C13.5129 31.0698 13.7975 31.2693 14.0407 31.5127C14.3042 31.7666 14.5201 32.0641 14.6784 32.3916C14.9668 32.9829 15.0656 33.6434 15.0948 34.2929C15.1086 34.7167 15.1077 35.1441 15.027 35.5624C14.96 35.9259 14.8408 36.2844 14.6427 36.6001C14.4678 36.8789 14.2245 37.1202 13.9293 37.2756C13.6462 37.4254 13.322 37.4967 13.0009 37.4904C12.5139 37.4953 12.0413 37.343 11.6042 37.1432C11.5962 35.7166 11.603 34.2897 11.6008 32.8633C11.5978 32.6052 11.6157 32.3444 11.5626 32.0898C11.5252 31.8925 11.4433 31.6937 11.2854 31.5597C11.1809 31.4671 11.0452 31.4149 10.9089 31.3866C10.771 31.3609 10.624 31.4184 10.5387 31.527C10.3968 31.701 10.3596 31.932 10.3531 32.1485C10.352 35.9678 10.3546 39.7873 10.352 43.6063C9.30507 43.2807 8.25827 42.9546 7.2116 42.6282C7.2106 38.0855 7.21103 33.5428 7.2116 29ZM2.50644 38.6651C3.8712 38.1909 5.23453 37.7119 6.59987 37.2393C6.60202 37.7651 6.59987 38.2912 6.60073 38.8176C6.59987 38.889 6.60445 38.9606 6.59543 39.0316C5.51628 39.407 4.43913 39.7891 3.36112 40.1669C3.21165 40.2224 3.05833 40.2851 2.94308 40.3971C2.8894 40.4497 2.84559 40.5274 2.87494 40.6025C2.91187 40.6912 3.00407 40.7395 3.08911 40.7759C3.32561 40.8704 3.58416 40.8838 3.83613 40.8951C4.11701 40.8907 4.39918 40.8701 4.6742 40.8105C4.86017 40.7745 5.03912 40.7131 5.21635 40.6478C5.67705 40.4841 6.13774 40.3194 6.59915 40.1574C6.60245 40.6022 6.59973 41.0474 6.60059 41.4928C6.59915 41.5818 6.60474 41.6713 6.59572 41.7598C6.02908 41.8597 5.45572 41.9274 4.87978 41.9364C3.72002 41.9621 2.55755 41.7859 1.45592 41.4302C1.09472 41.3274 0.735667 41.1906 0.433882 40.9655C0.267814 40.8393 0.119212 40.6807 0.0436221 40.4855C-0.0196555 40.3201 -0.0150743 40.1293 0.0638079 39.9698C0.139827 39.8106 0.272681 39.685 0.418993 39.5872C0.757428 39.3577 1.13094 39.1826 1.50917 39.0267C1.83544 38.8904 2.17359 38.7841 2.50644 38.6651Z\",\n fill: \"white\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.487 38.0656C13.7966 38.0305 14.1081 38.0222 14.4193 38.0112C15.4429 38.015 16.472 38.1399 17.4512 38.4415C17.6433 38.4988 17.8294 38.5731 18.0208 38.6329C18.3621 38.7553 18.7037 38.9036 18.9769 39.1445C19.1409 39.2913 19.2825 39.4893 19.2844 39.7152C19.2941 39.8993 19.2094 40.0758 19.0877 40.2114C18.8563 40.466 18.5505 40.6411 18.2436 40.7937C17.9168 40.9572 17.5654 41.0628 17.2227 41.1873C15.1308 41.9245 13.0387 42.6615 10.9472 43.3997C10.9468 42.8244 10.9478 42.2494 10.9468 41.6749C10.9499 41.6518 10.9372 41.6118 10.9701 41.6057C12.5618 41.05 14.153 40.4926 15.7446 39.9351C15.9597 39.8562 16.1915 39.799 16.3741 39.6558C16.4488 39.5982 16.5219 39.5066 16.4853 39.4077C16.4471 39.3212 16.3557 39.2735 16.2717 39.2376C16.0335 39.145 15.7741 39.1272 15.5207 39.1202C15.124 39.1228 14.7238 39.1708 14.3464 39.2957C13.2127 39.6856 12.0812 40.0803 10.9472 40.469C10.9474 39.8514 10.9468 39.2343 10.9475 38.6168C11.7677 38.3343 12.6244 38.163 13.487 38.0656ZM18.1374 42.3197C18.3849 42.2895 18.6435 42.3984 18.7918 42.5952C18.9537 42.7985 18.9833 43.0917 18.8689 43.3238C18.7534 43.5646 18.4896 43.7334 18.2161 43.7247C17.9646 43.7301 17.7209 43.5864 17.5971 43.3734C17.4853 43.1859 17.4718 42.9458 17.5584 42.7463C17.6559 42.5158 17.8853 42.3478 18.1374 42.3197ZM18.0835 42.4495C17.9437 42.4814 17.8204 42.5619 17.7364 42.6762C17.6868 42.7433 17.6523 42.8201 17.6352 42.9013C17.6181 42.9826 17.6187 43.0665 17.637 43.1474C17.6706 43.2984 17.7636 43.4303 17.8959 43.5142C18.0967 43.6437 18.3783 43.6366 18.5706 43.4944C18.7689 43.3568 18.8631 43.0929 18.7948 42.8643C18.7527 42.7097 18.6402 42.5781 18.4984 42.5015C18.3724 42.4362 18.2221 42.4172 18.0835 42.4495Z\",\n fill: \"white\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.9121 42.6152C18.0411 42.6145 18.1705 42.615 18.2997 42.6147C18.3727 42.6157 18.4531 42.6325 18.505 42.6875C18.5569 42.7451 18.5612 42.8292 18.5469 42.9014C18.5387 42.9492 18.4959 42.9774 18.4649 43.0107C18.4918 43.0343 18.5264 43.0562 18.5329 43.0946C18.5478 43.1678 18.532 43.2445 18.5559 43.3162C18.571 43.3416 18.5863 43.3672 18.5874 43.3974C18.5339 43.399 18.4805 43.398 18.4269 43.3988C18.3909 43.3154 18.4179 43.2218 18.3953 43.1359C18.3864 43.1009 18.3495 43.0791 18.3144 43.0803C18.2271 43.0768 18.1393 43.0791 18.0524 43.0791C18.051 43.1857 18.0554 43.2924 18.0497 43.3988C18.0041 43.3979 17.9585 43.398 17.913 43.399C17.9105 43.1373 17.9121 42.8762 17.9121 42.6152ZM18.0521 42.7394V42.9559C18.1302 42.9565 18.2083 42.957 18.2866 42.9562C18.3254 42.9559 18.3705 42.9487 18.3957 42.9164C18.4085 42.8957 18.4154 42.8721 18.4158 42.8479C18.4161 42.8237 18.41 42.7998 18.3979 42.7787C18.3777 42.7458 18.3352 42.7425 18.3002 42.7404C18.2175 42.7378 18.1347 42.7394 18.0521 42.7394Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPs4);\nexport default __webpack_public_path__ + \"static/media/ps4.99db4937.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgPc(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 72 72\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M36.5 15C37.1373 15 37.6538 15.475 37.6538 16.0609V20.8348H40.5385C42.4502 20.8348 44 22.2598 44 24.0175V33.5654C44 37.3738 40.6421 40.4612 36.5 40.4612C32.3579 40.4612 29 37.3738 29 33.5654V24.0175C29 22.2598 30.5498 20.8348 32.4615 20.8348H35.3462V16.0609C35.3462 15.475 35.8627 15 36.5 15ZM37.6538 26.6697C37.6538 26.0838 37.1373 25.6088 36.5 25.6088C35.8627 25.6088 35.3462 26.0838 35.3462 26.6697V29.3219C35.3462 29.9078 35.8627 30.3828 36.5 30.3828C37.1373 30.3828 37.6538 29.9078 37.6538 29.3219V26.6697Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.9705 53.9738H31.4495V52.66H32.9705C33.2971 52.66 33.563 52.6076 33.7681 52.5027C33.9731 52.3942 34.1232 52.2445 34.2181 52.0536C34.313 51.8627 34.3605 51.6475 34.3605 51.4079C34.3605 51.1646 34.313 50.9382 34.2181 50.7286C34.1232 50.5189 33.9731 50.3505 33.7681 50.2232C33.563 50.096 33.2971 50.0323 32.9705 50.0323H31.4495V56.8877H29.7406V48.7129H32.9705C33.62 48.7129 34.1763 48.829 34.6396 49.061C35.1068 49.2894 35.4638 49.6056 35.7106 50.0099C35.9575 50.4141 36.0809 50.8764 36.0809 51.3967C36.0809 51.9245 35.9575 52.3811 35.7106 52.7666C35.4638 53.1522 35.1068 53.4497 34.6396 53.6593C34.1763 53.869 33.62 53.9738 32.9705 53.9738Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.068 54.1759H43.7713C43.7371 54.7261 43.5833 55.2146 43.3099 55.6413C43.0403 56.068 42.6624 56.4011 42.1763 56.6407C41.694 56.8802 41.1129 57 40.4331 57C39.9014 57 39.4248 56.9102 39.0033 56.7305C38.5817 56.5471 38.2209 56.2851 37.9209 55.9445C37.6247 55.6038 37.3987 55.1921 37.243 54.7093C37.0873 54.2264 37.0094 53.6855 37.0094 53.0867V52.5196C37.0094 51.9207 37.0892 51.3798 37.2487 50.897C37.412 50.4104 37.6437 49.9968 37.9437 49.6562C38.2475 49.3156 38.6102 49.0535 39.0317 48.8701C39.4533 48.6867 39.9242 48.595 40.4445 48.595C41.1357 48.595 41.7186 48.7185 42.1934 48.9656C42.6719 49.2126 43.0422 49.5532 43.3042 49.9874C43.57 50.4216 43.7295 50.9157 43.7827 51.4697H42.0737C42.0547 51.1403 41.9883 50.8614 41.8743 50.6331C41.7604 50.401 41.5876 50.227 41.356 50.111C41.1281 49.9912 40.8243 49.9313 40.4445 49.9313C40.1597 49.9313 39.9109 49.9837 39.6982 50.0885C39.4856 50.1933 39.3071 50.3524 39.1628 50.5657C39.0184 50.7791 38.9102 51.0486 38.8381 51.3742C38.7697 51.6961 38.7355 52.0742 38.7355 52.5084V53.0867C38.7355 53.5096 38.7678 53.8821 38.8324 54.204C38.8969 54.5221 38.9957 54.7916 39.1286 55.0124C39.2653 55.2295 39.44 55.3942 39.6527 55.5065C39.8691 55.6151 40.1293 55.6693 40.4331 55.6693C40.7901 55.6693 41.0844 55.6132 41.3161 55.5009C41.5477 55.3886 41.7243 55.2221 41.8459 55.0012C41.9712 54.7804 42.0452 54.5053 42.068 54.1759Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPc);\nexport default __webpack_public_path__ + \"static/media/pc.f45a83bd.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSwitch(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 72 72\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.6953 41.3349H49.0871V35.2028H47.6953V41.3349ZM40.4662 31.3601L42.1073 33.5267H42.7513V30.2767H42.0866V32.423L40.4662 30.2972H39.8015V33.5472H40.4662V31.3601ZM47.9031 30.2767H45.0987V30.9717H46.1581V33.5267H46.8644V30.9717H47.9031V30.2767ZM43.603 39.6384L42.2735 35.1824H41.1725L39.8638 39.6179L38.659 35.1824H37.3087L39.0744 41.3145H40.5701L41.7334 37.2673L42.8967 41.3145H44.3924L46.1581 35.1824H44.8079L43.603 39.6384ZM15.5799 49H19.6515C23.3907 49 26.4235 46.0157 26.4235 42.3365V29.6635C26.4235 25.9843 23.3907 23 19.6515 23H15.5591C15.4553 23 15.393 23.0818 15.393 23.1635V48.816C15.393 48.9182 15.4761 49 15.5799 49ZM20.607 34.6714C22.0819 34.6714 23.2868 35.8569 23.2868 37.3082C23.2868 38.7594 22.0819 39.945 20.607 39.945C19.1321 39.945 17.9273 38.7594 17.9273 37.3082C17.9481 35.8569 19.1321 34.6714 20.607 34.6714ZM37.3087 30.2767H36.5817V33.5267H37.3087V30.2767ZM31.783 31.3601L33.4241 33.5267H34.0681V30.2767H33.4034V32.423L31.783 30.2972H31.1183V33.5472H31.783V31.3601ZM33.7357 37.6148H33.6942C32.9256 37.4921 32.2816 37.3695 32.2193 36.9403C32.2193 36.8789 32.2193 36.7358 32.3231 36.5928C32.5309 36.3475 33.0087 36.2453 33.7149 36.2453C34.5251 36.2453 35.3353 36.5519 35.6261 36.6745L36.0623 35.6116C35.7507 35.489 34.7536 35.1415 33.6526 35.1415C32.3024 35.1415 30.869 35.7956 30.869 36.9811C30.869 37.9418 31.5545 38.4528 33.341 38.7594C34.6082 38.9638 35.2937 39.0865 35.2729 39.6179C35.2522 39.9041 35.0237 40.3947 33.6111 40.3947C32.4686 40.3947 31.6584 39.9858 31.3883 39.8223L30.8067 40.8648C31.1183 41.0283 32.1777 41.5189 33.528 41.5189C35.5014 41.5189 36.5609 40.8443 36.5609 39.5566C36.5817 38.6368 36.1246 38.0236 33.7357 37.6148ZM4.1131 30.8082C4.1131 32.1572 5.23485 33.261 6.60589 33.261C7.97692 33.261 9.09867 32.1572 9.09867 30.8082C9.09867 29.4591 7.97692 28.3553 6.60589 28.3553C5.21408 28.3553 4.1131 29.4387 4.1131 30.8082ZM52.8886 32.934H50.9983V32.1777H52.7432V31.5849H50.9983V30.8899H52.8886V30.2972H50.3128V33.5472H52.8886V32.934ZM68.3439 30.1745C67.3676 30.1745 66.5782 30.9513 66.5782 31.9119C66.5782 32.8726 67.3676 33.6494 68.3439 33.6494C69.3203 33.6494 70.1096 32.8726 70.1096 31.9119C70.0889 30.9513 69.2995 30.1745 68.3439 30.1745ZM68.3439 32.9135C67.783 32.9135 67.326 32.4638 67.326 31.9119C67.326 31.3601 67.783 30.9104 68.3439 30.9104C68.9048 30.9104 69.3618 31.3601 69.3618 31.9119C69.3618 32.4638 68.9048 32.9135 68.3439 32.9135ZM68.5517 37.6148H65.6434V35.2028H64.3555V41.3349H65.6434V38.8821H68.5517V41.3349H69.8396V35.2028H68.5517V37.6148ZM70.3589 40.7013H70.629V41.3349H70.7744V40.7013H71.0237V40.5582H70.3589V40.7013ZM71.7923 40.5377L71.5845 41.1101L71.3768 40.5377H71.1483V41.3145H71.2937V40.7217L71.5014 41.3145H71.6469L71.8546 40.7217V41.3145H72V40.5377H71.7923ZM60.2216 36.3679C60.9279 36.3679 61.5718 36.7358 61.925 37.3286L62.9429 36.4701C62.3197 35.5708 61.3018 35.0189 60.18 35.0189C58.352 35.0189 56.8563 36.4906 56.8563 38.2893C56.8563 40.088 58.352 41.5597 60.18 41.5597C61.3018 41.5597 62.3197 41.0283 62.9429 40.1085L61.925 39.25C61.5718 39.8223 60.9279 40.2107 60.2216 40.2107C59.1414 40.2107 58.2481 39.3522 58.2481 38.3097C58.2481 37.2673 59.1206 36.3679 60.2216 36.3679ZM50.6036 36.4906H52.5978V41.3145H53.9481V36.4906H55.9008V35.1824H50.6244V36.4906H50.6036ZM58.5805 33.5267V30.2767H57.9158V32.423L56.2954 30.2972H55.6307V33.5472H56.2954V31.3805L57.9365 33.5472H58.5805V33.5267ZM12.547 23H6.77207C3.03289 23 0 25.9843 0 29.6635V42.3365C0 46.0157 3.03289 49 6.77207 49H12.547C12.6509 49 12.734 48.9182 12.734 48.816V23.184C12.734 23.0818 12.6509 23 12.547 23ZM10.6151 46.9151H6.77207C5.52568 46.9151 4.36238 46.445 3.4899 45.566C2.61743 44.7075 2.11887 43.5629 2.11887 42.3365V29.6635C2.11887 28.4371 2.59665 27.2925 3.4899 26.434C4.36238 25.5755 5.52568 25.0849 6.77207 25.0849H10.6151V46.9151ZM62.7351 30.2767H61.3641V33.5267H62.7351C63.6699 33.5267 64.4385 32.7909 64.4385 31.9119C64.4385 31.0126 63.6699 30.2767 62.7351 30.2767ZM62.7767 32.8522H62.0496V30.9717H62.7767C63.296 30.9717 63.7323 31.4009 63.7323 31.9119C63.7323 32.423 63.296 32.8522 62.7767 32.8522Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSwitch);\nexport default __webpack_public_path__ + \"static/media/switch.1adfd4d2.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMobile(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 78 35\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M21.3859 6.80566H13.6081C11.9942 6.80566 10.6914 8.10844 10.6914 9.72233V25.2779C10.6914 26.8918 11.9942 28.1945 13.6081 28.1945H21.3859C22.9997 28.1945 24.3025 26.8918 24.3025 25.2779V9.72233C24.3025 8.10844 22.9997 6.80566 21.3859 6.80566ZM22.3579 23.3334H12.6357V9.72233H22.3579V23.3334ZM15.5524 26.2501H19.4413V25.2779H15.5524V26.2501Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.2002 12.5469L41.4541 20.668L44.708 12.5469H46.4102V22.5H45.0977V18.624L45.2207 14.4404L41.9531 22.5H40.9482L37.6875 14.4609L37.8174 18.624V22.5H36.5049V12.5469H38.2002ZM48.1943 18.7334C48.1943 18.0088 48.3356 17.3571 48.6182 16.7783C48.9053 16.1995 49.3018 15.7529 49.8076 15.4385C50.318 15.124 50.8991 14.9668 51.5508 14.9668C52.5579 14.9668 53.3714 15.3154 53.9912 16.0127C54.6156 16.71 54.9277 17.6374 54.9277 18.7949V18.8838C54.9277 19.6038 54.7887 20.251 54.5107 20.8252C54.2373 21.3949 53.8431 21.8392 53.3281 22.1582C52.8177 22.4772 52.2298 22.6367 51.5645 22.6367C50.5618 22.6367 49.7484 22.2881 49.124 21.5908C48.5042 20.8936 48.1943 19.9707 48.1943 18.8223V18.7334ZM49.4658 18.8838C49.4658 19.7041 49.6549 20.3626 50.0332 20.8594C50.416 21.3561 50.9264 21.6045 51.5645 21.6045C52.207 21.6045 52.7174 21.3538 53.0957 20.8525C53.474 20.3467 53.6631 19.6403 53.6631 18.7334C53.6631 17.9222 53.4694 17.266 53.082 16.7646C52.6992 16.2588 52.1888 16.0059 51.5508 16.0059C50.9264 16.0059 50.4229 16.2542 50.04 16.751C49.6572 17.2477 49.4658 17.9587 49.4658 18.8838ZM62.7754 18.8838C62.7754 20.014 62.5156 20.9232 61.9961 21.6113C61.4766 22.2949 60.7793 22.6367 59.9043 22.6367C58.9701 22.6367 58.2477 22.3063 57.7373 21.6455L57.6758 22.5H56.5137V12H57.7783V15.917C58.2887 15.2835 58.9928 14.9668 59.8906 14.9668C60.7884 14.9668 61.4925 15.3063 62.0029 15.9854C62.5179 16.6644 62.7754 17.5941 62.7754 18.7744V18.8838ZM61.5107 18.7402C61.5107 17.8789 61.3444 17.2135 61.0117 16.7441C60.679 16.2747 60.2005 16.04 59.5762 16.04C58.7422 16.04 58.1429 16.4274 57.7783 17.2021V20.4014C58.1657 21.1761 58.7695 21.5635 59.5898 21.5635C60.196 21.5635 60.6676 21.3288 61.0049 20.8594C61.3421 20.39 61.5107 19.6836 61.5107 18.7402ZM65.749 22.5H64.4844V15.1035H65.749V22.5ZM64.3818 13.1416C64.3818 12.9365 64.4434 12.7633 64.5664 12.6221C64.694 12.4808 64.8809 12.4102 65.127 12.4102C65.373 12.4102 65.5599 12.4808 65.6875 12.6221C65.8151 12.7633 65.8789 12.9365 65.8789 13.1416C65.8789 13.3467 65.8151 13.5176 65.6875 13.6543C65.5599 13.791 65.373 13.8594 65.127 13.8594C64.8809 13.8594 64.694 13.791 64.5664 13.6543C64.4434 13.5176 64.3818 13.3467 64.3818 13.1416ZM69.1533 22.5H67.8887V12H69.1533V22.5ZM74.2529 22.6367C73.2503 22.6367 72.4346 22.3086 71.8057 21.6523C71.1768 20.9915 70.8623 20.1097 70.8623 19.0068V18.7744C70.8623 18.0407 71.0013 17.3867 71.2793 16.8125C71.5618 16.2337 71.9538 15.7826 72.4551 15.459C72.9609 15.1309 73.5078 14.9668 74.0957 14.9668C75.0573 14.9668 75.8047 15.2835 76.3379 15.917C76.8711 16.5505 77.1377 17.4574 77.1377 18.6377V19.1641H72.127C72.1452 19.8932 72.3571 20.4834 72.7627 20.9346C73.1729 21.3812 73.6924 21.6045 74.3213 21.6045C74.7679 21.6045 75.1462 21.5133 75.4561 21.3311C75.766 21.1488 76.0371 20.9072 76.2695 20.6064L77.042 21.208C76.4222 22.1605 75.4925 22.6367 74.2529 22.6367ZM74.0957 16.0059C73.5853 16.0059 73.1569 16.1927 72.8105 16.5664C72.4642 16.9355 72.25 17.4551 72.168 18.125H75.873V18.0293C75.8366 17.3867 75.6634 16.89 75.3535 16.5391C75.0436 16.1836 74.6243 16.0059 74.0957 16.0059Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMobile);\nexport default __webpack_public_path__ + \"static/media/mobile.65eafee0.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgVr(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 72 72\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.0328 22H24.9674C22.0859 22 19.75 24.3025 19.75 27.1429V32.346C19.75 35.153 22.0586 37.4286 24.9063 37.4286H31.158C31.8117 37.4286 32.3935 37.0202 32.6072 36.4113L32.6825 36.1969C33.1719 34.803 34.5038 33.8681 36.0001 33.8681C37.4965 33.8681 38.8284 34.803 39.3177 36.1969L39.393 36.4113C39.6068 37.0202 40.1886 37.4286 40.8422 37.4286H47.0939C49.9417 37.4286 52.2502 35.153 52.2502 32.346V27.1429C52.2502 24.3025 49.9143 22 47.0328 22Z\",\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 29.2114C16 27.8504 17.1193 26.7471 18.5 26.7471V33.8679C17.1193 33.8679 16 32.7646 16 31.4037V29.2114Z\",\n fill: \"white\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M56 31.4036C56 32.7646 54.8807 33.8679 53.5 33.8679V26.747C54.8807 26.747 56 27.8503 56 29.2113V31.4036Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33.4831 47.898L34.7901 43.5156H36.0586L34.1331 49H33.7837L33.4831 47.898ZM32.2874 43.5156L33.7837 49H32.9406L31.0266 43.5156H32.2874Z\",\n fill: \"white\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.5556 43.5156H38.6177C39.0405 43.5156 39.4039 43.5784 39.7077 43.704C40.014 43.8295 40.2495 44.0153 40.4141 44.2614C40.5786 44.5075 40.6609 44.8101 40.6609 45.1692C40.6609 45.463 40.6103 45.7154 40.509 45.9263C40.4103 46.1348 40.2697 46.3093 40.0875 46.4499C39.9077 46.588 39.0924 46.9697 39.0924 46.9697H37.6949V46.0883C38.0497 46.0883 38.6253 46.0883 38.6253 46.0883C38.8253 46.0883 38.9912 46.0532 39.1228 45.9828C39.2545 45.9125 39.3532 45.8146 39.4191 45.689C39.4874 45.5635 39.5216 45.4178 39.5216 45.2521C39.5216 45.0763 39.4887 44.9244 39.4229 44.7963C39.357 44.6682 39.257 44.5703 39.1228 44.5025C38.9886 44.4347 38.8203 44.4008 38.6177 44.4008H37.6949V49H36.5556V43.5156ZM39.6469 49L38.6253 46.9697H39.0924L39.6478 46.6986L40.866 48.9473V49H39.6469Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgVr);\nexport default __webpack_public_path__ + \"static/media/vr.6af4b878.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgIos(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 72 72\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51 43.9319C50.2296 45.6363 49.8368 46.5807 48.6812 48.0859C47.1328 50.3585 45.1992 53 42.4951 53C40.1688 53 39.5947 51.4874 36.4979 51.4874C33.4011 51.4874 32.8271 53 30.5007 53C27.993 53 26.0594 50.543 24.511 48.2778C20.4474 42.2348 20.0622 35.0556 22.5774 31.2778C24.3146 28.6363 27.2151 26.9319 29.9267 26.9319C32.6307 26.9319 34.3679 28.4444 36.4979 28.4444C38.6279 28.4444 39.9799 26.9319 43.0692 26.9319C45.3955 26.9319 47.9032 28.2526 49.8368 30.3333C44.036 33.543 45.0028 41.6667 51 43.9319ZM40.9467 24.4748C42.1024 22.9696 42.8803 21.0807 42.684 19C40.7503 19.1918 38.6279 20.3207 37.2683 21.8333C36.1127 23.1541 35.1459 25.2348 35.5311 27.3082C37.4647 27.3082 39.5947 25.9874 40.9467 24.4748Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIos);\nexport default __webpack_public_path__ + \"static/media/ios.2f901d40.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAndroid(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 72 72\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.8 46C25.8 46.9167 26.565 47.6667 27.5 47.6667H29.2V53.5C29.2 54.8833 30.339 56 31.75 56C33.161 56 34.3 54.8833 34.3 53.5V47.6667H37.7V53.5C37.7 54.8833 38.839 56 40.25 56C41.661 56 42.8 54.8833 42.8 53.5V47.6667H44.5C45.435 47.6667 46.2 46.9167 46.2 46V29.3333H25.8V46ZM21.55 29.3333C20.139 29.3333 19 30.45 19 31.8333V43.5C19 44.8833 20.139 46 21.55 46C22.961 46 24.1 44.8833 24.1 43.5V31.8333C24.1 30.45 22.961 29.3333 21.55 29.3333ZM50.45 29.3333C49.039 29.3333 47.9 30.45 47.9 31.8333V43.5C47.9 44.8833 49.039 46 50.45 46C51.861 46 53 44.8833 53 43.5V31.8333C53 30.45 51.861 29.3333 50.45 29.3333ZM42.001 19.6L44.211 17.4333C44.551 17.1 44.551 16.5833 44.211 16.25C43.871 15.9167 43.344 15.9167 43.004 16.25L40.488 18.7167C39.145 18.05 37.615 17.6667 36 17.6667C34.368 17.6667 32.838 18.05 31.478 18.7167L28.945 16.25C28.605 15.9167 28.078 15.9167 27.738 16.25C27.398 16.5833 27.398 17.1 27.738 17.4333L29.965 19.6167C27.449 21.4333 25.8 24.35 25.8 27.6667H46.2C46.2 24.35 44.551 21.4167 42.001 19.6ZM32.6 24.3333H30.9V22.6667H32.6V24.3333ZM41.1 24.3333H39.4V22.6667H41.1V24.3333Z\",\n fill: \"white\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAndroid);\nexport default __webpack_public_path__ + \"static/media/android.0af9604e.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgTwitch(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 25 26\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.99223 0.333252L0.333496 4.70627V22.0475H6.36524V25.6666H9.98429L13.6033 22.0475H18.4287L24.4605 16.0158V0.333252H1.99223ZM5.15889 2.74595H22.0478V13.6031L18.4287 17.2221H12.397L8.77794 20.8412V17.2221H5.15889V2.74595ZM9.98429 6.365V13.6031H12.397V6.365H9.98429ZM14.8097 6.365V13.6031H17.2224V6.365H14.8097Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTwitch);\nexport default __webpack_public_path__ + \"static/media/twitch.f36ae160.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgX(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 1200 1227\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgX);\nexport default __webpack_public_path__ + \"static/media/x.c01ad7e1.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgYoutube(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 28 20\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.3332 14.0001L18.2532 10.0001L11.3332 6.00008V14.0001ZM26.7465 3.56008C26.9198 4.18675 27.0398 5.02675 27.1198 6.09341C27.2132 7.16008 27.2532 8.08008 27.2532 8.88008L27.3332 10.0001C27.3332 12.9201 27.1198 15.0667 26.7465 16.4401C26.4132 17.6401 25.6398 18.4134 24.4398 18.7467C23.8132 18.9201 22.6665 19.0401 20.9065 19.1201C19.1732 19.2134 17.5865 19.2534 16.1198 19.2534L13.9998 19.3334C8.41317 19.3334 4.93317 19.1201 3.55984 18.7467C2.35984 18.4134 1.5865 17.6401 1.25317 16.4401C1.07984 15.8134 0.959837 14.9734 0.879837 13.9067C0.786504 12.8401 0.746504 11.9201 0.746504 11.1201L0.666504 10.0001C0.666504 7.08008 0.879837 4.93341 1.25317 3.56008C1.5865 2.36008 2.35984 1.58675 3.55984 1.25341C4.1865 1.08008 5.33317 0.960081 7.09317 0.880081C8.8265 0.786748 10.4132 0.746748 11.8798 0.746748L13.9998 0.666748C19.5865 0.666748 23.0665 0.880081 24.4398 1.25341C25.6398 1.58675 26.4132 2.36008 26.7465 3.56008Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgYoutube);\nexport default __webpack_public_path__ + \"static/media/youtube.d53b7866.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgInstagram(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 28 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.39984 0.666748H19.5998C23.8665 0.666748 27.3332 4.13341 27.3332 8.40008V19.6001C27.3332 21.6511 26.5184 23.6181 25.0681 25.0684C23.6178 26.5187 21.6508 27.3334 19.5998 27.3334H8.39984C4.13317 27.3334 0.666504 23.8667 0.666504 19.6001V8.40008C0.666504 6.34907 1.48126 4.38207 2.93154 2.93179C4.38183 1.48151 6.34883 0.666748 8.39984 0.666748ZM8.13317 3.33341C6.86013 3.33341 5.63923 3.83913 4.73906 4.7393C3.83888 5.63948 3.33317 6.86037 3.33317 8.13341V19.8667C3.33317 22.5201 5.47984 24.6667 8.13317 24.6667H19.8665C21.1395 24.6667 22.3604 24.161 23.2606 23.2609C24.1608 22.3607 24.6665 21.1398 24.6665 19.8667V8.13341C24.6665 5.48008 22.5198 3.33341 19.8665 3.33341H8.13317ZM20.9998 5.33341C21.4419 5.33341 21.8658 5.50901 22.1783 5.82157C22.4909 6.13413 22.6665 6.55805 22.6665 7.00008C22.6665 7.44211 22.4909 7.86603 22.1783 8.17859C21.8658 8.49115 21.4419 8.66675 20.9998 8.66675C20.5578 8.66675 20.1339 8.49115 19.8213 8.17859C19.5088 7.86603 19.3332 7.44211 19.3332 7.00008C19.3332 6.55805 19.5088 6.13413 19.8213 5.82157C20.1339 5.50901 20.5578 5.33341 20.9998 5.33341ZM13.9998 7.33341C15.7679 7.33341 17.4636 8.03579 18.7139 9.28604C19.9641 10.5363 20.6665 12.232 20.6665 14.0001C20.6665 15.7682 19.9641 17.4639 18.7139 18.7141C17.4636 19.9644 15.7679 20.6667 13.9998 20.6667C12.2317 20.6667 10.536 19.9644 9.28579 18.7141C8.03555 17.4639 7.33317 15.7682 7.33317 14.0001C7.33317 12.232 8.03555 10.5363 9.28579 9.28604C10.536 8.03579 12.2317 7.33341 13.9998 7.33341ZM13.9998 10.0001C12.939 10.0001 11.9216 10.4215 11.1714 11.1717C10.4213 11.9218 9.99984 12.9392 9.99984 14.0001C9.99984 15.0609 10.4213 16.0784 11.1714 16.8285C11.9216 17.5787 12.939 18.0001 13.9998 18.0001C15.0607 18.0001 16.0781 17.5787 16.8283 16.8285C17.5784 16.0784 17.9998 15.0609 17.9998 14.0001C17.9998 12.9392 17.5784 11.9218 16.8283 11.1717C16.0781 10.4215 15.0607 10.0001 13.9998 10.0001Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgInstagram);\nexport default __webpack_public_path__ + \"static/media/instagram.02f40dd3.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgFacebook(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 28 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.3702 0.666992H3.62947C1.99243 0.666992 0.666504 1.99292 0.666504 3.62996V24.3707C0.666504 26.0077 1.99243 27.3337 3.62947 27.3337H14.9198V17.0211H11.4487V12.984H14.9198V10.0137C14.9198 6.5707 17.025 4.69366 20.0976 4.69366C21.1332 4.6907 22.1672 4.74403 23.1969 4.84921V8.44921H21.0813C19.4072 8.44921 19.0813 9.24032 19.0813 10.4077V12.9781H23.0813L22.5613 17.0151H19.0576V27.3337H24.3702C26.0072 27.3337 27.3332 26.0077 27.3332 24.3707V3.62996C27.3332 1.99292 26.0072 0.666992 24.3702 0.666992Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFacebook);\nexport default __webpack_public_path__ + \"static/media/facebook.b4f2187a.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgTiktok(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 26 28\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.6194 0.023625C15.1463 0 16.6644 0.014 18.1808 0C18.2727 1.78587 18.9149 3.605 20.2222 4.86763C21.5268 6.16175 23.3722 6.75413 25.1677 6.9545V11.6524C23.485 11.5972 21.7945 11.2472 20.2677 10.5227C19.6027 10.2218 18.9832 9.83413 18.3768 9.43775C18.3689 12.8468 18.3908 16.2514 18.3549 19.6464C18.2639 21.2774 17.7258 22.9005 16.7773 24.2445C15.2513 26.4819 12.6027 27.9405 9.88228 27.986C8.21365 28.0814 6.54678 27.6264 5.1249 26.7881C2.76853 25.3986 1.1104 22.855 0.868904 20.125C0.840904 19.5414 0.831279 18.9586 0.854904 18.389C1.0649 16.1691 2.16303 14.0455 3.86753 12.6009C5.79953 10.9183 8.5059 10.1167 11.0399 10.591C11.0635 12.3191 10.9944 14.0455 10.9944 15.7736C9.83678 15.3991 8.48403 15.5041 7.47253 16.2067C6.73403 16.6854 6.17315 17.4186 5.8809 18.2481C5.6394 18.8396 5.70853 19.4967 5.72253 20.125C5.9999 22.0395 7.8409 23.6486 9.80615 23.4745C11.109 23.4605 12.3577 22.7045 13.0367 21.5976C13.2563 21.21 13.5022 20.8136 13.5153 20.3577C13.6299 18.2709 13.5844 16.1928 13.5984 14.1059C13.608 9.40275 13.5844 4.71275 13.6203 0.0245L13.6194 0.023625Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTiktok);\nexport default __webpack_public_path__ + \"static/media/tiktok.fcd79b36.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgVk(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: \"1em\",\n width: \"1em\",\n viewBox: \"0 0 48 48\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n clipRule: \"evenodd\",\n d: \"m13.0009 15h-3.5008c-1.00024 0-1.2003.4708-1.2003.9898 0 .9271 1.18686 5.525 5.5262 11.6061 2.8929 4.1529 6.9687 6.4041 10.6776 6.4041 2.2253 0 2.5006-.5 2.5006-1.3612v-3.1388c0-1 .2108-1.1996.9154-1.1996.5193 0 1.4094.2596 3.4864 2.2619 2.3737 2.3731 2.765 3.4377 4.1001 3.4377h3.5008c1.0003 0 1.5004-.5 1.2119-1.4867-.3157-.9834-1.449-2.4103-2.9528-4.1016-.816-.9641-2.0399-2.0023-2.4108-2.5215-.5192-.6674-.3709-.9641 0-1.5573 0 0 4.2652-6.007 4.7103-8.0463.2225-.7417 0-1.2866-1.0587-1.2866h-3.5008c-.8901 0-1.3005.4708-1.5231.9898 0 0-1.7802 4.3384-4.3022 7.1565-.816.8157-1.1869 1.0753-1.632 1.0753-.2225 0-.5446-.2596-.5446-1.0011v-6.9339c0-.89-.2583-1.2866-1.0002-1.2866h-5.5013c-.5562 0-.8908.413-.8908.8045 0 .8436 1.261 1.0382 1.391 3.4113v5.1542c0 1.13-.2042 1.3349-.6492 1.3349-1.1868 0-4.0737-4.3578-5.7859-9.3442-.3355-.9692-.6721-1.3607-1.5668-1.3607z\",\n fill: \"currentColor\",\n fillRule: \"evenodd\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgVk);\nexport default __webpack_public_path__ + \"static/media/vk.b0c1be9a.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgAfreecatv(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5 0C2.23858 0 0 2.23858 0 5V27C0 29.7614 2.23858 32 5 32H27C29.7614 32 32 29.7614 32 27V5C32 2.23858 29.7614 0 27 0H5ZM15.2932 7.64115L15.3045 7.64081C15.6822 7.6297 16.0615 7.62635 16.4398 7.63036C16.5837 7.63189 16.7276 7.63448 16.8711 7.63812C17.0842 7.64352 17.2967 7.65123 17.508 7.66116L17.6005 7.66566C17.8168 7.67651 18.0318 7.6897 18.2451 7.70514C18.7261 7.73997 19.1979 7.78627 19.6548 7.84316C21.431 8.06431 22.9808 8.44537 23.9577 8.93378C25.3992 9.65446 26.0378 11.2465 26.3097 13.0781L22.0646 11.133C20.8867 10.5932 19.5583 11.4565 19.6565 12.698L20.0255 17.3638C20.125 18.622 21.6112 19.3232 22.6911 18.6213L26.4981 16.1472C26.4992 16.75 26.4871 17.3428 26.4757 17.9056C26.4653 18.4145 26.4554 18.8989 26.4563 19.344C26.457 19.7604 26.4563 22.2588 25.6232 24.7573C23.9577 28.0885 11.466 26.8393 9.38396 26.4229C7.30192 26.0065 6.57971 22.6752 6.46847 21.8424C6.20505 19.8705 6.09137 17.667 6.18018 15.6639C6.65402 17.0841 7.8721 18.0948 9.30001 18.0948C11.1398 18.0948 12.6313 16.4169 12.6313 14.3471C12.6313 12.2773 11.1398 10.5995 9.30001 10.5995C8.2078 10.5995 7.23835 11.1908 6.63084 12.1044C6.88239 11.0671 7.23949 10.2451 7.71782 9.7666C8.8333 8.65082 10.9856 8.02315 13.4045 7.76676C13.9945 7.70422 14.6004 7.66378 15.211 7.64372L15.2932 7.64115ZM14.4088 6.03285L15.6949 6.67588C15.7697 6.71329 15.847 6.7449 15.9261 6.77054C16.0915 6.82417 16.2648 6.85173 16.4398 6.85173H16.8711C16.9109 6.85173 16.9507 6.8503 16.9902 6.84746C17.2276 6.83044 17.459 6.76272 17.6687 6.64835L19.2513 5.7851L20.2595 5.23514L21.181 4.73251C21.1954 4.72465 21.2095 4.71639 21.2231 4.70773C21.5632 4.49188 21.6639 4.03477 21.437 3.69434C21.2274 3.37997 20.8138 3.28143 20.487 3.4601C20.4728 3.46785 20.4588 3.47613 20.445 3.48493L19.5594 4.04846L17.1031 5.61154L17.0546 5.64241L16.8711 5.75922L16.463 6.01891L16.4398 6.00234L16.1391 5.78754L15.9178 5.62948L15.0325 4.99712L14.1308 4.35305C14.1008 4.33166 14.0698 4.313 14.0379 4.29701C13.7307 4.14286 13.3478 4.23738 13.1509 4.53264C12.9401 4.84896 13.0254 5.26851 13.3248 5.48149C13.3538 5.50213 13.3848 5.52084 13.4178 5.53732L13.7874 5.72215L14.4088 6.03285ZM11.4868 3.42324C12.3308 2.15728 14.0552 1.84123 15.2933 2.72559L16.5275 3.60721L19.3712 1.79761C20.6217 1.00184 22.2789 1.35166 23.1011 2.58494C23.9248 3.82051 23.6005 5.46487 22.4267 6.30746C23.33 6.5252 24.1653 6.80153 24.8521 7.1449C27.0474 8.24247 27.8721 10.4627 28.212 12.3239C28.5522 14.1871 28.5097 16.2634 28.4771 17.8567L28.4753 17.9463C28.4648 18.4607 28.4555 18.9217 28.4563 19.3402C28.4571 19.7994 28.461 22.5691 27.5205 25.3899L27.4756 25.5246L27.4121 25.6516C26.9663 26.5432 26.2304 27.1424 25.5125 27.5458C24.791 27.9514 23.9662 28.2287 23.1424 28.4263C21.4963 28.8211 19.5453 28.9683 17.6888 28.9952C13.9802 29.049 10.1933 28.6243 8.99173 28.384C6.95773 27.9772 5.88453 26.2433 5.37004 25.1243C4.80911 23.9043 4.55962 22.6577 4.48608 22.1072C4.16428 19.6982 4.05192 16.9514 4.24572 14.5505C4.34251 13.3515 4.51986 12.1838 4.81069 11.1637C5.08823 10.1901 5.53061 9.12559 6.30342 8.35257C7.41216 7.24354 9.00194 6.60904 10.5377 6.23042C10.784 6.1697 11.0352 6.11408 11.2902 6.06334C10.9059 5.24343 10.9397 4.2439 11.4868 3.42324ZM13.8434 13.4177C13.8946 12.5368 14.6239 11.8486 15.5063 11.8486H17.0027C17.8851 11.8486 18.6144 12.5368 18.6655 13.4177L18.8589 16.749C18.9144 17.7052 18.1539 18.5111 17.196 18.5111H15.3129C14.3551 18.5111 13.5946 17.7052 13.6501 16.749L13.8434 13.4177ZM11.8818 19.9692C11.5372 19.7395 11.0715 19.8326 10.8418 20.1772C10.612 20.5219 10.7051 20.9875 11.0498 21.2173L11.0597 21.2239C11.698 21.6495 13.0526 22.5526 14.9232 22.8927C16.8312 23.2396 19.2147 22.9913 21.8756 21.2173C22.2203 20.9875 22.3134 20.5219 22.0836 20.1772C21.8539 19.8326 21.3882 19.7395 21.0436 19.9692C18.7076 21.5265 16.7189 21.6946 15.1915 21.4169C13.6365 21.1342 12.4969 20.3793 11.8818 19.9692ZM11.0492 14.3471C11.0492 15.0371 10.4899 15.5963 9.8 15.5963C9.11008 15.5963 8.55078 15.0371 8.55078 14.3471C8.55078 13.6572 9.11008 13.0979 9.8 13.0979C10.4899 13.0979 11.0492 13.6572 11.0492 14.3471ZM22.2922 15.5963C22.9821 15.5963 23.5414 15.0371 23.5414 14.3471C23.5414 13.6572 22.9821 13.0979 22.2922 13.0979C21.6023 13.0979 21.043 13.6572 21.043 14.3471C21.043 15.0371 21.6023 15.5963 22.2922 15.5963Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgAfreecatv);\nexport default __webpack_public_path__ + \"static/media/afreecatv.eca6bf23.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDiscord(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 28 22\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.7032 1.76915C21.9186 0.950287 20.0048 0.346985 18.0039 0.00144948C17.9674 -0.00521925 17.931 0.0114463 17.9123 0.0447781C17.6661 0.482529 17.3935 1.05361 17.2026 1.50248C15.0505 1.18028 12.9094 1.18028 10.8014 1.50248C10.6104 1.04363 10.3279 0.482529 10.0807 0.0447781C10.0619 0.0125584 10.0255 -0.00410714 9.98906 0.00144948C7.98923 0.345881 6.07549 0.949182 4.28976 1.76915C4.2743 1.77581 4.26105 1.78693 4.25225 1.80137C0.62229 7.22446 -0.372109 12.5142 0.11571 17.7385C0.117917 17.764 0.132265 17.7885 0.152131 17.804C2.54708 19.5628 4.86699 20.6305 7.14383 21.3383C7.18026 21.3494 7.21887 21.3361 7.24206 21.3061C7.78065 20.5706 8.26075 19.795 8.67239 18.9795C8.69668 18.9317 8.67349 18.8751 8.62384 18.8562C7.86232 18.5673 7.1372 18.2151 6.43968 17.8151C6.38451 17.7829 6.3801 17.704 6.43085 17.6662C6.57763 17.5562 6.72446 17.4418 6.86461 17.3262C6.88997 17.3051 6.92531 17.3007 6.95512 17.314C11.5375 19.4062 16.4985 19.4062 21.0268 17.314C21.0566 17.2996 21.0919 17.304 21.1184 17.3251C21.2586 17.4407 21.4054 17.5562 21.5533 17.6662C21.604 17.704 21.6007 17.7829 21.5455 17.8151C20.848 18.2229 20.1229 18.5673 19.3603 18.8551C19.3106 18.874 19.2885 18.9317 19.3128 18.9795C19.7333 19.7939 20.2134 20.5694 20.742 21.3049C20.7641 21.3361 20.8038 21.3494 20.8403 21.3383C23.1282 20.6305 25.4481 19.5628 27.843 17.804C27.864 17.7885 27.8772 17.7651 27.8794 17.7396C28.4633 11.6998 26.9016 6.45339 23.7396 1.80247C23.7319 1.78693 23.7186 1.77581 23.7032 1.76915ZM9.35669 14.5575C7.97708 14.5575 6.84032 13.2909 6.84032 11.7354C6.84032 10.1799 7.95504 8.91329 9.35669 8.91329C10.7694 8.91329 11.8951 10.191 11.873 11.7354C11.873 13.2909 10.7583 14.5575 9.35669 14.5575ZM18.6605 14.5575C17.281 14.5575 16.1442 13.2909 16.1442 11.7354C16.1442 10.1799 17.2589 8.91329 18.6605 8.91329C20.0732 8.91329 21.199 10.191 21.1769 11.7354C21.1769 13.2909 20.0732 14.5575 18.6605 14.5575Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDiscord);\nexport default __webpack_public_path__ + \"static/media/discord.acf8bb66.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNonolive(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 24 26\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.5 2.5L1.5 0L0 11.5C1.5 5.5 4.9 2.9 8.5 2.5ZM15.5 2.5L22.5 0L24 11.5C23.5 8 20.3 3.3 15.5 2.5ZM24 15C24 19.9194 21.0398 24.1475 16.8034 26H7.19658C2.96023 24.1475 0 19.9194 0 15C0 8.37258 5.37258 3 12 3C18.6274 3 24 8.37258 24 15ZM12 23C16.4183 23 20 19.4183 20 15C20 10.5817 16.4183 7 12 7C7.58172 7 4 10.5817 4 15C4 19.4183 7.58172 23 12 23Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNonolive);\nexport default __webpack_public_path__ + \"static/media/nonolive.0523923e.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgMildom(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M25.9101 9.99921C25.7109 8.76791 25.2151 7.60358 24.4655 6.60669C23.7159 5.6098 22.7349 4.8103 21.6073 4.27718C20.4796 3.74407 19.2392 3.49335 17.9931 3.54668C16.7469 3.60001 15.5324 3.95577 14.4545 4.58327C14.4065 4.61257 14.3509 4.62685 14.2948 4.62427C14.2386 4.6217 14.1845 4.60239 14.1395 4.56882C12.6397 3.54473 10.8654 2.99788 9.04938 3.00001C8.53523 3.00067 8.022 3.04354 7.51486 3.12818C5.38572 3.47122 3.45245 4.57265 2.0717 6.22929C0.690943 7.88593 -0.0441395 9.98601 0.00205174 12.1421C0.00155724 12.3535 0.016036 12.5646 0.0453793 12.774L25.9679 10.5173C25.9525 10.3422 25.9381 10.1707 25.9101 9.99921Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M26.1967 26.2127L2.55431 28.2698C2.40456 28.2837 2.25356 28.2675 2.11013 28.2224C1.96669 28.1772 1.83369 28.1039 1.7189 28.0068C1.6041 27.9096 1.50982 27.7906 1.44155 27.6566C1.37328 27.5226 1.33239 27.3763 1.32128 27.2264L0.0449219 12.7703L25.9674 10.5137L27.2438 24.9697C27.2664 25.2727 27.1695 25.5724 26.9738 25.8048C26.778 26.0371 26.4991 26.1835 26.1967 26.2127ZM27.7131 13.7703L30.5114 12.113C30.5695 12.085 30.6311 12.0649 30.6946 12.0535C30.7809 12.0529 30.8643 12.085 30.9281 12.1432C30.9918 12.2014 31.0313 12.2816 31.0385 12.3676L31.999 23.3665C32.0049 23.4258 31.9956 23.4857 31.9719 23.5405C31.9481 23.5952 31.9108 23.643 31.8634 23.6792C31.8159 23.7154 31.76 23.7388 31.701 23.7473C31.6419 23.7558 31.5816 23.749 31.526 23.7275L28.4867 22.5848C28.4013 22.5512 28.3267 22.4948 28.2712 22.4217C28.2156 22.3487 28.1812 22.2617 28.1717 22.1704L27.4694 14.2271C27.4647 14.136 27.4849 14.0453 27.5278 13.9648C27.5708 13.8844 27.6348 13.8171 27.7131 13.7703Z\",\n fill: \"currentColor\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M23.2005 10.1852C22.9851 9.08703 22.4018 8.09513 21.5468 7.37309C20.6919 6.65106 19.6163 6.24202 18.4977 6.21347C17.6505 6.1822 16.8094 6.36785 16.0541 6.75283C15.2989 7.13781 14.6545 7.70936 14.1821 8.41325C14.1562 8.45373 14.1208 8.48728 14.079 8.51098C14.0371 8.53467 13.9902 8.5478 13.9422 8.54923C13.8941 8.55065 13.8465 8.54032 13.8033 8.51914C13.7602 8.49796 13.7229 8.46657 13.6946 8.42769C12.9232 7.4276 11.8482 6.70465 10.631 6.36733C9.41383 6.03001 8.12008 6.09652 6.9439 6.55686C5.76771 7.0172 4.77253 7.84655 4.10769 8.92047C3.44285 9.99439 3.14419 11.255 3.25655 12.513C3.36891 13.7711 3.88621 14.9588 4.73083 15.8979C5.57546 16.837 6.70185 17.4769 7.941 17.7215C9.18014 17.9661 10.4652 17.8023 11.6033 17.2546C12.7415 16.707 13.6713 15.805 14.2534 14.684C14.2759 14.6417 14.3081 14.6053 14.3473 14.5777C14.3865 14.5501 14.4316 14.5322 14.4791 14.5252C14.5265 14.5183 14.5749 14.5226 14.6204 14.5378C14.6658 14.553 14.7071 14.5786 14.7408 14.6127C15.2579 15.1481 15.8877 15.5617 16.5845 15.8236C17.2813 16.0854 18.0276 16.1888 18.7694 16.1264C19.4666 16.0655 20.143 15.8577 20.7543 15.5169C21.3656 15.1761 21.898 14.7099 22.3164 14.1488C22.7348 13.5878 23.0299 12.9446 23.1823 12.2615C23.3346 11.5784 23.3408 10.8708 23.2005 10.1852Z\",\n fill: \"black\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20.9054 9.48546L21.4362 9.72828C21.4776 9.75127 21.511 9.78649 21.5317 9.82915C21.5523 9.8718 21.5594 9.91979 21.5517 9.96658C21.4734 10.2146 21.3246 10.4345 21.1234 10.5994C20.9223 10.7644 20.6775 10.8672 20.4189 10.8954C20.0464 10.91 19.6831 10.778 19.4068 10.5277C19.1305 10.2775 18.9634 9.92888 18.9412 9.55677C18.8957 9.187 18.9983 8.81423 19.2266 8.51981C19.4549 8.22539 19.7904 8.03323 20.1598 7.98525C20.4203 7.96988 20.6796 8.03055 20.9062 8.15988C21.1328 8.28921 21.3169 8.48162 21.4362 8.71369C21.4494 8.73436 21.4583 8.75742 21.4625 8.78156C21.4667 8.80569 21.4662 8.83042 21.4608 8.85433C21.4554 8.87824 21.4454 8.90084 21.4312 8.92086C21.4171 8.94087 21.3992 8.95789 21.3784 8.97095L20.891 9.31396C20.8769 9.32406 20.8656 9.33765 20.8584 9.3534C20.8511 9.36916 20.848 9.38652 20.8495 9.40381C20.851 9.4211 20.8569 9.43771 20.8667 9.45202C20.8765 9.46634 20.8898 9.47786 20.9054 9.48546ZM12.2755 10.0865L12.8632 10.3573C12.9137 10.3873 12.9535 10.4323 12.9769 10.4861C13.0004 10.5398 13.0064 10.5996 12.994 10.657C12.9061 10.934 12.7401 11.1797 12.516 11.3647C12.2918 11.5496 12.019 11.6659 11.7303 11.6996C11.315 11.7165 10.9099 11.5682 10.6036 11.2873C10.2972 11.0063 10.1146 10.6155 10.0956 10.2003C10.0675 9.99619 10.0802 9.78857 10.1329 9.58943C10.1857 9.39029 10.2774 9.20361 10.4029 9.04021C10.5283 8.8768 10.685 8.73994 10.8637 8.63754C11.0425 8.53514 11.2398 8.46926 11.4442 8.4437C11.7332 8.42198 12.0223 8.48635 12.2748 8.62868C12.5273 8.771 12.7321 8.98492 12.8632 9.24345C12.8842 9.29239 12.8886 9.34686 12.8757 9.39853C12.8628 9.45021 12.8334 9.49624 12.7919 9.5296L12.2611 9.90059C12.2454 9.91123 12.2329 9.92582 12.2247 9.94288C12.2165 9.95995 12.2129 9.97888 12.2144 9.99775C12.2158 10.0166 12.2223 10.0348 12.233 10.0504C12.2437 10.066 12.2584 10.0784 12.2755 10.0865Z\",\n fill: \"currentColor\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMildom);\nexport default __webpack_public_path__ + \"static/media/mildom.aea79426.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _circle;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNimotv(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 32 30\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.42029 4.30297H11.2125L20.0871 0.175245C21.3168 -0.396699 22.7245 0.501096 22.7245 1.85728V4.30297H24.5797C28.6778 4.30297 32 7.62514 32 11.7233V21.8586C32 25.9567 28.6778 29.2788 24.5797 29.2788H7.42029C3.32218 29.2788 0 25.9567 0 21.8585V11.7232C0 7.62514 3.32218 4.30297 7.42029 4.30297ZM7.42073 6.83249H12.4645L19.2529 3.04362C19.562 2.87108 19.9427 3.09456 19.9427 3.44858V6.83249H24.5801C27.1415 6.83249 29.2178 8.90885 29.2178 11.4702V22.1368C29.2178 24.6982 27.1415 26.7745 24.5802 26.7745H7.42074C4.85942 26.7745 2.78305 24.6982 2.78305 22.1368V11.4702C2.78305 8.90885 4.85941 6.83249 7.42073 6.83249Z\",\n fill: \"currentColor\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.2148 12.4905C22.5222 12.26 22.5845 11.824 22.354 11.5166C22.1235 11.2093 21.6874 11.147 21.3801 11.3775L22.2148 12.4905ZM19.9424 13.3253L19.525 12.7688C19.3498 12.9002 19.2467 13.1064 19.2467 13.3253C19.2467 13.5443 19.3498 13.7505 19.525 13.8818L19.9424 13.3253ZM21.3801 15.2732C21.6874 15.5037 22.1235 15.4414 22.354 15.134C22.5845 14.8267 22.5222 14.3906 22.2148 14.1601L21.3801 15.2732ZM21.3801 11.3775L19.525 12.7688L20.3598 13.8818L22.2148 12.4905L21.3801 11.3775ZM19.525 13.8818L21.3801 15.2732L22.2148 14.1601L20.3598 12.7688L19.525 13.8818Z\",\n fill: \"currentColor\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.272 17.2692C21.5435 17.9761 21.5435 19.8049 20.272 20.5119L16.5534 22.5793C15.3169 23.2667 13.7969 22.3726 13.7969 20.9579L13.7969 16.8231C13.7969 15.4084 15.3169 14.5143 16.5534 15.2018L20.272 17.2692Z\",\n fill: \"currentColor\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 11.1307,\n cy: 12.8616,\n r: 1.85507,\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNimotv);\nexport default __webpack_public_path__ + \"static/media/nimotv.0273e8f8.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgOpenrec(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 30 30\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15 6.24998L9.70957 0.959587C4.03581 3.09852 0 8.57795 0 15C0 23.2843 6.71573 30 15 30C23.2843 30 30 23.2843 30 15C30 6.71573 23.2843 0 15 0V6.24998C20.1777 6.24998 24.375 10.3074 24.375 15.3125C24.375 20.3176 20.1777 24.375 15 24.375C9.82233 24.375 5.625 20.3176 5.625 15.3125C5.625 10.3074 9.82231 6.25 15 6.24998ZM12.8495 11.2136C12.4329 10.973 11.912 11.2737 11.912 11.7549V18.8021C11.912 19.2832 12.4329 19.5839 12.8495 19.3433L18.9526 15.8197C19.3693 15.5792 19.3693 14.9777 18.9526 14.7372L12.8495 11.2136Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgOpenrec);\nexport default __webpack_public_path__ + \"static/media/openrec.1fdd316e.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgReddit(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.9997 15.6871C30.0039 15.9764 29.9681 16.2653 29.8925 16.5446C29.8168 16.8239 29.7022 17.0916 29.5519 17.3387C29.4022 17.5858 29.2183 17.8107 29.006 18.0066C28.7937 18.2025 28.5551 18.3672 28.2971 18.496C28.3028 18.5731 28.3076 18.6507 28.3102 18.7284C28.3165 18.8832 28.3165 19.0382 28.3102 19.193C28.3076 19.2706 28.3028 19.3482 28.2971 19.4253C28.2971 24.1562 22.8109 28 16.0424 28C9.27403 28 3.78783 24.1562 3.78783 19.4253C3.78205 19.3482 3.77732 19.2706 3.77469 19.193C3.76837 19.0382 3.76837 18.8832 3.77469 18.7284C3.77732 18.6507 3.78205 18.5731 3.78783 18.496C3.38359 18.3094 3.02456 18.0366 2.73557 17.6968C2.44658 17.3569 2.23454 16.958 2.11412 16.5277C1.9939 16.0972 1.96829 15.6455 2.03907 15.2041C2.10984 14.7626 2.27531 14.3419 2.52401 13.9711C2.77248 13.6004 3.09826 13.2884 3.47875 13.0568C3.85923 12.8252 4.28531 12.6796 4.72742 12.63C5.16958 12.5802 5.61724 12.6276 6.03935 12.7689C6.46147 12.9102 6.84796 13.1421 7.17204 13.4484C7.77364 13.0387 8.40396 12.6732 9.05805 12.3549C9.71229 12.0371 10.3886 11.7667 11.0817 11.5471C11.7749 11.3274 12.4832 11.159 13.2005 11.0423C13.9179 10.9256 14.643 10.8617 15.3698 10.8506L16.9253 3.52204C16.9426 3.43703 16.9768 3.35677 17.0256 3.28497C17.074 3.21369 17.1365 3.15244 17.2085 3.10545C17.281 3.05846 17.362 3.02625 17.4471 3.01041C17.5317 2.9951 17.6189 2.99668 17.703 3.01516L22.8529 4.05003C23.3726 3.15297 24.4635 2.76858 25.4268 3.14241C26.39 3.51623 26.9407 4.5379 26.7253 5.55271C26.5104 6.56753 25.5928 7.27504 24.5618 7.22171C23.5303 7.16839 22.69 6.37005 22.5796 5.33835L18.0814 4.38795L16.7151 10.9774C17.4329 10.9927 18.1492 11.0603 18.8575 11.1791C20.2761 11.4166 21.6531 11.8587 22.9459 12.4917C23.5916 12.8074 24.2138 13.1695 24.8077 13.5751C25.2348 13.1632 25.7714 12.8842 26.3527 12.772C26.9341 12.6594 27.5354 12.7183 28.0842 12.9415C28.6331 13.1646 29.1059 13.5426 29.4458 14.0297C29.7857 14.5169 29.9781 15.0925 29.9997 15.6871Z\",\n fill: \"currentColor\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgReddit);\nexport default __webpack_public_path__ + \"static/media/reddit.5e747160.svg\";\nexport { ForwardRef as ReactComponent };","import React, { FC } from \"react\";\n\nimport { ComponentWrapper } from \"./styles\";\n\nimport { ReactComponent as checked } from \"domains/shared/components/icon/icons/checked.svg\";\nimport { ReactComponent as questionMark } from \"domains/shared/components/icon/icons/question-mark.svg\";\nimport { ReactComponent as question } from \"domains/shared/components/icon/icons/question.svg\";\nimport { ReactComponent as add } from \"domains/shared/components/icon/icons/add.svg\";\nimport { ReactComponent as minus } from \"domains/shared/components/icon/icons/minus.svg\";\nimport { ReactComponent as checkmark } from \"domains/shared/components/icon/icons/checkmark.svg\";\nimport { ReactComponent as search } from \"domains/shared/components/icon/icons/search.svg\";\nimport { ReactComponent as warning } from \"domains/shared/components/icon/icons/warning.svg\";\nimport { ReactComponent as error } from \"domains/shared/components/icon/icons/error.svg\";\nimport { ReactComponent as settings } from \"domains/shared/components/icon/icons/settings.svg\";\nimport { ReactComponent as joystick } from \"domains/shared/components/icon/icons/joystick.svg\";\nimport { ReactComponent as news } from \"domains/shared/components/icon/icons/news.svg\";\nimport { ReactComponent as microphone } from \"domains/shared/components/icon/icons/microphone.svg\";\nimport { ReactComponent as link } from \"domains/shared/components/icon/icons/link.svg\";\nimport { ReactComponent as clock } from \"domains/shared/components/icon/icons/clock.svg\";\nimport { ReactComponent as box } from \"domains/shared/components/icon/icons/box.svg\";\nimport { ReactComponent as arrow } from \"domains/shared/components/icon/icons/arrow.svg\";\nimport { ReactComponent as more } from \"domains/shared/components/icon/icons/more.svg\";\nimport { ReactComponent as menu } from \"domains/shared/components/icon/icons/menu.svg\";\nimport { ReactComponent as close } from \"domains/shared/components/icon/icons/close.svg\";\nimport { ReactComponent as attachment } from \"domains/shared/components/icon/icons/attachment.svg\";\nimport { ReactComponent as exit } from \"domains/shared/components/icon/icons/exit.svg\";\nimport { ReactComponent as maintenance } from \"domains/shared/components/icon/icons/maintenance.svg\";\nimport { ReactComponent as cogwheel } from \"domains/shared/components/icon/icons/cogwheel.svg\";\nimport { ReactComponent as announce } from \"domains/shared/components/icon/icons/announce.svg\";\nimport { ReactComponent as openBox } from \"domains/shared/components/icon/icons/open-box.svg\";\nimport { ReactComponent as note } from \"domains/shared/components/icon/icons/note.svg\";\nimport { ReactComponent as fire } from \"domains/shared/components/icon/icons/fire.svg\";\nimport { ReactComponent as openLock } from \"domains/shared/components/icon/icons/lock-open.svg\";\nimport { ReactComponent as closedLock } from \"domains/shared/components/icon/icons/lock-closed.svg\";\nimport { ReactComponent as calendar } from \"domains/shared/components/icon/icons/calendar.svg\";\nimport { ReactComponent as download } from \"domains/shared/components/icon/icons/download.svg\";\nimport { ReactComponent as loading } from \"domains/shared/components/icon/icons/loading.svg\";\nimport { ReactComponent as cursor } from \"domains/shared/components/icon/icons/cursor.svg\";\nimport { ReactComponent as personalization } from \"domains/shared/components/icon/icons/personalization.svg\";\nimport { ReactComponent as time } from \"domains/shared/components/icon/icons/time.svg\";\nimport { ReactComponent as gift } from \"domains/shared/components/icon/icons/gift.svg\";\nimport { ReactComponent as achievement } from \"domains/shared/components/icon/icons/achievement.svg\";\nimport { ReactComponent as copy } from \"domains/shared/components/icon/icons/copy.svg\";\nimport { ReactComponent as bell } from \"domains/shared/components/icon/icons/bell.svg\";\nimport { ReactComponent as alert } from \"domains/shared/components/icon/icons/alert.svg\";\nimport { ReactComponent as timer } from \"domains/shared/components/icon/icons/timer.svg\";\nimport { ReactComponent as refresh } from \"domains/shared/components/icon/icons/refresh.svg\";\nimport { ReactComponent as upload } from \"domains/shared/components/icon/icons/upload.svg\";\nimport { ReactComponent as player } from \"domains/shared/components/icon/icons/player.svg\";\nimport { ReactComponent as bucket } from \"domains/shared/components/icon/icons/bucket.svg\";\nimport { ReactComponent as edit } from \"domains/shared/components/icon/icons/edit.svg\";\nimport { ReactComponent as like } from \"domains/shared/components/icon/icons/like.svg\";\nimport { ReactComponent as mail } from \"domains/shared/components/icon/icons/mail.svg\";\nimport { ReactComponent as pointer } from \"domains/shared/components/icon/icons/pointer.svg\";\nimport { ReactComponent as unlink } from \"domains/shared/components/icon/icons/unlink.svg\";\nimport { ReactComponent as calendarEvent } from \"domains/shared/components/icon/icons/calendar-event.svg\";\n\n// game platforms\nimport { ReactComponent as ps5 } from \"domains/shared/components/icon/icons/ps5.svg\";\nimport { ReactComponent as xbox } from \"domains/shared/components/icon/icons/xbox.svg\";\nimport { ReactComponent as ps4 } from \"domains/shared/components/icon/icons/ps4.svg\";\nimport { ReactComponent as pc } from \"domains/shared/components/icon/icons/pc.svg\";\nimport { ReactComponent as nswitch } from \"domains/shared/components/icon/icons/switch.svg\";\nimport { ReactComponent as mobile } from \"domains/shared/components/icon/icons/mobile.svg\";\nimport { ReactComponent as vr } from \"domains/shared/components/icon/icons/vr.svg\";\nimport { ReactComponent as ios } from \"domains/shared/components/icon/icons/ios.svg\";\nimport { ReactComponent as android } from \"domains/shared/components/icon/icons/android.svg\";\n\n// content channels\nimport { ReactComponent as twitch } from \"domains/shared/components/icon/icons/twitch.svg\";\nimport { ReactComponent as x } from \"domains/shared/components/icon/icons/x.svg\";\nimport { ReactComponent as youtube } from \"domains/shared/components/icon/icons/youtube.svg\";\nimport { ReactComponent as instagram } from \"domains/shared/components/icon/icons/instagram.svg\";\nimport { ReactComponent as facebook } from \"domains/shared/components/icon/icons/facebook.svg\";\nimport { ReactComponent as tiktok } from \"domains/shared/components/icon/icons/tiktok.svg\";\nimport { ReactComponent as vkontakte } from \"domains/shared/components/icon/icons/vk.svg\";\nimport { ReactComponent as afreecatv } from \"domains/shared/components/icon/icons/afreecatv.svg\";\nimport { ReactComponent as discord } from \"domains/shared/components/icon/icons/discord.svg\";\nimport { ReactComponent as nonolive } from \"domains/shared/components/icon/icons/nonolive.svg\";\nimport { ReactComponent as mildom } from \"domains/shared/components/icon/icons/mildom.svg\";\nimport { ReactComponent as nimotv } from \"domains/shared/components/icon/icons/nimotv.svg\";\nimport { ReactComponent as openrec } from \"domains/shared/components/icon/icons/openrec.svg\";\nimport { ReactComponent as reddit } from \"domains/shared/components/icon/icons/reddit.svg\";\n\nexport const icons = {\n pointer,\n unlink,\n mail,\n like,\n edit,\n bucket,\n player,\n upload,\n ios,\n android,\n refresh,\n timer,\n copy,\n closedLock,\n bell,\n alert,\n achievement,\n reddit,\n gift,\n time,\n personalization,\n cursor,\n question,\n loading,\n download,\n mildom,\n nimotv,\n openrec,\n note,\n openBox,\n announce,\n discord,\n maintenance,\n cogwheel,\n exit,\n attachment,\n close,\n vr,\n menu,\n more,\n arrow,\n box,\n clock,\n link,\n settings,\n joystick,\n news,\n microphone,\n error,\n warning,\n search,\n minus,\n add,\n checkmark,\n checked,\n ps5,\n ps4,\n pc,\n xbox,\n nswitch,\n mobile,\n questionMark,\n twitch,\n x,\n youtube,\n instagram,\n facebook,\n tiktok,\n vkontakte,\n afreecatv,\n nonolive,\n fire,\n openLock,\n calendar,\n calendarEvent,\n};\n\nexport type IconsType = keyof typeof icons;\n\ntype Props = {\n type?: IconsType;\n className?: string;\n slot?: string;\n};\n\nexport const Icon: FC = ({ type, className, ...props }) => {\n const SVGIcon = type ? icons[type] : null;\n\n return (\n \n {SVGIcon && }\n \n );\n};\n","import { IconsType } from \"./icon.component\";\n\nexport const CHANNELS_ICONS_BY_ID: Record = {\n 1: \"twitch\",\n 2: \"youtube\",\n 3: \"instagram\",\n 4: \"x\",\n 5: \"facebook\",\n 6: \"tiktok\",\n 7: \"vkontakte\",\n 8: \"afreecatv\",\n 9: \"reddit\",\n 10: \"nonolive\",\n 11: \"openrec\",\n 12: \"mildom\",\n 13: \"nimotv\",\n 14: \"discord\",\n};\n\nexport const PLATFORMS_ICONS: Record = {\n 1: \"pc\",\n 2: \"ps5\",\n 4: \"xbox\",\n 5: \"nswitch\",\n 8: \"ps4\",\n 9: \"mobile\",\n 10: \"vr\",\n 11: \"android\",\n 12: \"ios\",\n};\n","import React, { FC } from \"react\";\n\nimport { Button } from \"domains/shared/components/button\";\nimport { Icon } from \"domains/shared/components/icon\";\n\ntype Props = {\n // Toast default prop\n closeToast?: () => void;\n onClick?: () => void;\n};\n\nexport const CloseButtonComponent: FC = ({ closeToast, onClick }) => {\n const onCloseClick = () => {\n closeToast?.();\n onClick?.();\n };\n\n return (\n \n \n \n );\n};\n","import { isDevelopmentEnvironment } from \"../utils/environments\";\n\nclass LoggingService {\n public info(...args: unknown[]) {\n return isDevelopmentEnvironment() && console.info(...args);\n }\n\n public warn(...args: unknown[]) {\n return isDevelopmentEnvironment() && console.warn(...args);\n }\n\n public error(...args: unknown[]) {\n return isDevelopmentEnvironment() && console.error(...args);\n }\n}\n\nexport const loggingService = new LoggingService();\n","import { NOTIFICATION_TYPE } from \"api/services/public-service/types\";\n\nexport const NOTIFICATIONS_LVL2 = [\n NOTIFICATION_TYPE.EMBARGO_DATE_REACHED,\n NOTIFICATION_TYPE.CAMPAIGN_INVITATION,\n NOTIFICATION_TYPE.REVENUE_SHARE_INVITATION,\n NOTIFICATION_TYPE.REVENUE_SHARE_AVAILABLE,\n NOTIFICATION_TYPE.SURVEY_CAMPAIGN_DECLINE,\n NOTIFICATION_TYPE.SURVEY_CAMPAIGN_VALIDATION,\n NOTIFICATION_TYPE.SURVEY_CAMPAIGN_DECLINE,\n NOTIFICATION_TYPE.SURVEY_NO_EVENT,\n NOTIFICATION_TYPE.CAMPAIGN_LIMITS,\n];\n\nexport const SURVEY_DESCRIPTIONS: Record = {\n [NOTIFICATION_TYPE.SURVEY_CAMPAIGN_DECLINE]:\n \"notifications__lvl2__survey-description__campaign-application\",\n [NOTIFICATION_TYPE.SURVEY_CAMPAIGN_VALIDATION]:\n \"notifications__lvl2__survey-description__campaign-declining\",\n [NOTIFICATION_TYPE.SURVEY_CAMPAIGN_DECLINE]:\n \"notifications__lvl2__survey-description__onboarding\",\n [NOTIFICATION_TYPE.SURVEY_NO_EVENT]:\n \"notifications__lvl2__survey-description__generic\",\n};\n\nexport const CLOSED_DAYS_REMINDER = 3;\n\nexport const NOTIFICATION_LVL4 = {\n DEFAULT_ERROR: \"notifications__lvl4__default-error-message\",\n COPY_SUCCESS: \"notifications__lvl4__code-copy-success\",\n COPY_ERROR: \"notifications__lvl4__default-error-message\",\n CODE_NOT_UNIQUE: \"notifications__lvl4__creators-code-not-unique\",\n ERROR_PLATFORM_KEYS: \"notifications__lvl4__error-platform-keys\",\n EMAIL_REQUEST_SUCCESS: \"notifications__lvl4__payment-email-request--success\",\n EMAIL_REQUEST_ERROR: \"notifications__lvl4__payment-email-request--error\",\n ACCOUNT_REQUEST_ERROR: \"notifications__lvl4__payment-account-request--error\",\n ACCOUNT_REQUEST_SUCCESS:\n \"notifications__lvl4__payment-account-request--success\",\n CAMPAIGN_DECLINED: \"notifications__lvl4__campaign-declined\",\n WELCOME_REVENUE_NOTIFICATION:\n \"notifications__lvl4__welcome-to-rev-sharing-program\",\n REVENUE_FORM_SUBMIT_SUCCESS: \"notifications__lvl4__form-submit-success\",\n CAMPAIGN_ACCEPTED: \"notifications__lvl4__campaign-accepted\",\n};\n\nexport const CHANNEL_NOTIFICATIONS = {\n CHANNEL_DATA_MISSING: \"notifications__linking__channel-data-missing\",\n PRIMARY_CHANNEL_SELECTED:\n \"notifications__linking__channel-primary-selected-success\",\n NEW_CHANNEL_ADDED: \"notifications__linking__channel-added-success\",\n};\n","import dayjs, { QUnitType } from \"dayjs\";\nimport i18n from \"i18next\";\n\nexport const FULL_DATE_FORMAT: Intl.DateTimeFormatOptions = {\n day: \"numeric\",\n month: \"short\",\n year: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n};\n\nexport const DAY_MONTH_YEAR_FORMAT: Intl.DateTimeFormatOptions = {\n day: \"numeric\",\n month: \"short\",\n year: \"numeric\",\n};\n\nexport const DAY_MONTH_FORMAT: Intl.DateTimeFormatOptions = {\n weekday: \"short\",\n day: \"numeric\",\n month: \"short\",\n};\n\nexport const HOUR_MINUTE_FORMAT: Intl.DateTimeFormatOptions = {\n hour: \"2-digit\",\n minute: \"2-digit\",\n};\n\nexport const MONTH_YEAR_FORMAT: Intl.DateTimeFormatOptions = {\n month: \"long\",\n year: \"numeric\",\n};\n\n// Value could be below 0 due to the calculation \"date - start date\"\nexport const getTimeDifference = (\n date: string,\n unit: QUnitType = \"milliseconds\",\n startDate = dayjs()\n) => {\n return dayjs.utc(date).diff(startDate, unit);\n};\n\nexport const getFormattedDate = (\n isoString: string,\n options: Intl.DateTimeFormatOptions = FULL_DATE_FORMAT,\n locale = i18n.language\n) => {\n const date = new Date(isoString);\n\n return new Intl.DateTimeFormat(locale, options).format(date);\n};\n\nexport const getLocalISODate = (date: string) =>\n dayjs(date).local().toISOString();\n","import React from \"react\";\nimport { Trans } from \"react-i18next\";\n\nimport { NotificationLink } from \"./styles\";\n\nimport { Level2Params, NotificationsData } from \"./types\";\nimport { urls } from \"navigation/book\";\nimport { generatePath } from \"react-router-dom\";\nimport { loggingService } from \"../shared/services/logging.service\";\nimport {\n NOTIFICATION_TYPE,\n NotificationConfig,\n} from \"api/services/public-service/types\";\nimport { CLOSED_DAYS_REMINDER, SURVEY_DESCRIPTIONS } from \"./constants\";\nimport { getFormattedDate } from \"../shared/utils/dates\";\n\nconst generateNotificationPath = (url: string, config: NotificationConfig) => {\n try {\n return generatePath(url, {\n ...config,\n });\n } catch (err) {\n loggingService.error(err);\n }\n\n return null;\n};\n\nexport const getNotificationConfigData = (\n settings: Level2Params\n): NotificationsData | null => {\n const { notificationType, config, onClick } = settings;\n\n switch (notificationType) {\n case NOTIFICATION_TYPE.REGISTRATION_CLOSED_DATE_REMINDER: {\n const link = generateNotificationPath(urls.invitation, config);\n\n return {\n icon: \"clock\",\n title: (\n \n ) : (\n \n ),\n }}\n />\n ),\n description: (\n \n ),\n link,\n };\n }\n\n case NOTIFICATION_TYPE.CAMPAIGN_LIMITS: {\n const link = generateNotificationPath(urls.invitation, config);\n\n return {\n icon: \"fire\",\n title: (\n \n ) : (\n \n ),\n }}\n />\n ),\n description: (\n \n ),\n link,\n };\n }\n\n case NOTIFICATION_TYPE.EMBARGO_DATE_REACHED: {\n const link = generateNotificationPath(urls.invitation, config);\n\n return {\n icon: \"joystick\",\n title: (\n \n ) : (\n \n ),\n }}\n />\n ),\n description: (\n \n ),\n link,\n };\n }\n\n case NOTIFICATION_TYPE.SURVEY_ONBOARDING_COMPLETE:\n case NOTIFICATION_TYPE.SURVEY_CAMPAIGN_VALIDATION:\n case NOTIFICATION_TYPE.SURVEY_CAMPAIGN_DECLINE:\n case NOTIFICATION_TYPE.SURVEY_NO_EVENT: {\n const { surveyLink: link = null } = config;\n const description = SURVEY_DESCRIPTIONS[notificationType] ?? \"\";\n\n return {\n icon: \"announce\",\n title: ,\n description: ,\n link,\n isExternalLink: true,\n };\n }\n\n case NOTIFICATION_TYPE.CAMPAIGN_INVITATION: {\n const link = generateNotificationPath(urls.invitation, config);\n\n return {\n icon: \"achievement\",\n title: (\n \n ),\n description: (\n \n ) : (\n \n ),\n }}\n />\n ),\n link,\n };\n }\n\n case NOTIFICATION_TYPE.BENEFIT_AVAILABLE: {\n const link = generateNotificationPath(urls.invitation, config);\n\n return {\n icon: \"achievement\",\n title: (\n \n ),\n description: (\n \n ),\n link,\n };\n }\n\n case NOTIFICATION_TYPE.REVENUE_SHARE_AVAILABLE:\n return {\n icon: \"achievement\",\n title: (\n \n ),\n description: (\n \n ),\n link: urls.creatorsCode,\n };\n\n case NOTIFICATION_TYPE.REVENUE_SHARE_INVITATION:\n return {\n icon: \"achievement\",\n title: (\n \n ),\n description: (\n \n ),\n link: urls.creatorsCode,\n };\n\n default:\n return null;\n }\n};\n","import React from \"react\";\nimport { toast } from \"react-toastify\";\nimport i18next from \"i18next\";\n\nimport { NotificationLv2Component } from \"domains/notifications/components/notification-lv2.component\";\nimport { Icon } from \"domains/shared/components/icon\";\nimport { CloseButtonComponent } from \"./components/close-button\";\nimport { getNotificationConfigData } from \"./utils\";\nimport { Level2Params, NOTIFICATION_LEVEL } from \"./types\";\n\nclass NotificationsService {\n public showLevel2(settings: Level2Params) {\n const data = getNotificationConfigData(settings);\n\n if (!data) {\n return;\n }\n\n const { title, description } = data;\n\n toast.info(\n ,\n {\n closeButton: ,\n containerId: NOTIFICATION_LEVEL.LEVEL2,\n icon() {\n return ;\n },\n }\n );\n }\n\n public showLevel4(message: string) {\n toast.success(i18next.t(message), {\n containerId: NOTIFICATION_LEVEL.LEVEL4,\n closeButton: ,\n });\n }\n\n public showError(message: string) {\n toast.error(i18next.t(message), {\n containerId: NOTIFICATION_LEVEL.LEVEL4,\n closeButton: ,\n icon() {\n return ;\n },\n });\n }\n}\n\nexport const notificationsService = new NotificationsService();\n","import { makeAutoObservable, reaction } from \"mobx\";\n\nimport {\n ProfilesResponse,\n TicketResponse,\n REDIRECT_TOPICS,\n WebOverlay,\n} from \"./types\";\nimport { notificationsService } from \"../../../notifications\";\n\nexport class UbisoftOverlayService {\n public redirectTopic: REDIRECT_TOPICS | undefined = undefined;\n public loginReaction: ReturnType | null = null;\n\n private webOverlay?: WebOverlay | null;\n\n public constructor() {\n makeAutoObservable(this, {}, { autoBind: true });\n }\n\n public getProfiles() {\n return new Promise((resolve) => {\n this.webOverlay?.getProfiles((getProfilesResponse: ProfilesResponse) => {\n resolve(getProfilesResponse);\n });\n });\n }\n\n public init() {\n if (!this.webOverlay) {\n window.addEventListener(\n \"message\",\n this.receiveUbisoftWebAuthIframeMessage,\n false\n );\n\n this.webOverlay = window.overlayWidget;\n }\n }\n\n public getTicket() {\n return new Promise<{\n ticket: string;\n sessionId: string;\n userId: string;\n }>((resolve, reject) => {\n const timeoutId = setTimeout(() => {\n console.warn(\"[Ubisoft Overlay] Get ticket timeout.\");\n reject();\n }, 10000);\n\n this.webOverlay?.getTicket((getTicketResponse: TicketResponse) => {\n clearTimeout(timeoutId);\n\n if (getTicketResponse.status === \"ok\") {\n const { payload } = getTicketResponse;\n resolve(payload);\n } else {\n reject(\"No session stored\");\n }\n });\n });\n }\n\n public logout() {\n this.webOverlay?.logout();\n }\n\n public reInit() {\n this.webOverlay?.reInit();\n }\n\n private updateRedirectTopic(redirectTopic: REDIRECT_TOPICS) {\n this.redirectTopic = redirectTopic;\n }\n\n public resetTopic() {\n this.redirectTopic = undefined;\n }\n\n public registerLoginReaction() {\n this.loginReaction = reaction(\n () => this.redirectTopic,\n async (topic) => {\n switch (topic) {\n case REDIRECT_TOPICS.LOGIN:\n /**\n * As we redirect to auth-url.html when login via iframe\n * overlayWidget doesn't know about login\n * to update UATOverlayConnectLoginData, we need to reinit\n */\n this.reInit();\n break;\n }\n }\n );\n\n return this.loginReaction;\n }\n\n private receiveUbisoftWebAuthIframeMessage(event: MessageEvent) {\n const { topic, error } = event.data;\n\n if (error) {\n notificationsService.showError(error);\n return;\n }\n\n this.updateRedirectTopic(topic);\n }\n}\n\nexport const ubisoftOverlayService = new UbisoftOverlayService();\n","import axios from \"axios\";\n\nimport {\n notificationsInterceptor,\n errorHandlerInterceptor,\n} from \"./interceptor\";\n\nexport const globalHTTPCancelToken = axios.CancelToken.source();\nexport const http = axios.create({\n baseURL: \"/\",\n timeout: 15000,\n headers: {\n Accept: \"application/json\",\n \"Content-type\": \"application/json\",\n },\n cancelToken: globalHTTPCancelToken.token,\n});\n\nhttp.interceptors.response.use(\n notificationsInterceptor,\n errorHandlerInterceptor\n);\n","import i18n from \"i18next\";\n\nimport { ERROR_CODES, ErrorConfig, ResponseConfig } from \"./types\";\nimport { getErrorCode, getErrorMessage } from \"./utils\";\nimport { globalErrorService } from \"domains/global-errors/global-error.service\";\nimport { ubisoftOverlayService } from \"domains/shared/services/overlay-service\";\nimport { isBlockedError } from \"domains/global-errors/utils\";\nimport { isProductionEnvironment } from \"domains/shared/utils/environments\";\nimport { notificationsService } from \"domains/notifications\";\n\nexport const notificationsInterceptor = (response: ResponseConfig) => {\n const { notificationConfig } = response.config;\n\n if (notificationConfig) {\n const { description, values } = notificationConfig;\n\n notificationsService.showLevel4(i18n.t(description, values));\n }\n\n return response;\n};\n\nexport const errorHandlerInterceptor = (error: ErrorConfig) => {\n const status = error.response?.status ?? null;\n const sponsaliaErrorCode = getErrorCode(error);\n\n switch (true) {\n case isBlockedError(sponsaliaErrorCode, status):\n globalErrorService.blockedErrorCode = sponsaliaErrorCode;\n globalErrorService.status = status;\n break;\n case sponsaliaErrorCode === ERROR_CODES.MISSING_YOUTUBE_TOKEN:\n globalErrorService.isYouTubeTokenValid = false;\n break;\n case sponsaliaErrorCode === ERROR_CODES.TOKEN_EXPIRED:\n case sponsaliaErrorCode === ERROR_CODES.INVALID_TICKET:\n ubisoftOverlayService.logout();\n break;\n default: {\n if (isProductionEnvironment()) {\n break;\n }\n\n const errorMessage = getErrorMessage(error);\n notificationsService.showError(errorMessage);\n }\n }\n\n return Promise.reject(error);\n};\n","import { ERROR_CODES } from \"api/types\";\nimport { ErrorCode, Status } from \"./types\";\n\nexport const isBlockedError = (errorCode: ErrorCode, status: Status) => {\n return (\n (errorCode &&\n [\n ERROR_CODES.ACCESS_DENIED,\n ERROR_CODES.MAINTENANCE,\n ERROR_CODES.FORBIDDEN,\n ERROR_CODES.CREATOR_COUNTRY_BLOCKED,\n ERROR_CODES.CREATOR_IS_MINOR,\n ].includes(errorCode)) ||\n (status && status >= 500)\n );\n};\n","export const URLS = {\n brandProgram:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/brandPrograms/{brandProgramId}\",\n programInvitations:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/brandPrograms/{brandProgramId}/publications\",\n programAgenda:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/brandPrograms/{brandProgramId}/agenda\",\n programsInvitations:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/brandPrograms/publications\",\n claimBrandProgramWelcomeBenefit:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/brandProgram/reward/claim/{benefitId}\",\n joinBrandProgram:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/brandProgram/{brandProgramId}/join\",\n leaveBrandProgram:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/brandProgram/{brandProgramId}/leave\",\n getBrandProgramWelcomeRewards:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/brandProgram/{brandProgramId}/rewards\",\n\n youTubeChannels:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/youtubeChannels\",\n profile: \"/v1/profiles/global/webservices/sponsalia/api/creator\",\n updateGamingPreferences:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/gamingPreferences\",\n channels: \"/v1/profiles/global/webservices/sponsalia/api/creator/channels\",\n editChannels:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/channels/{typeId}\",\n invitations:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/invitations\",\n invitationsHistory:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/invitations/history\",\n completeOnboarding:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/onboardingCompleted\",\n leaveProgram:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/leaveProgram\",\n acceptTerms:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/acceptTerms\",\n updateContactInformation:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/contactInformation\",\n updateTags: \"/v1/profiles/global/webservices/sponsalia/api/creator/tags\",\n setMainChannel:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/channels/{typeId}/setMainChannel\",\n\n notifications:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/notifications\",\n deleteNotification:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/notifications/{notificationId}\",\n\n sendFeedback:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/communication/feedback\",\n revenueCode:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/communication/revenueCodeRequest\",\n revenueSupport:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/communication/revenueSupport\",\n\n metadata: \"/v1/spaces/global/webservices/sponsalia/api/configuration\",\n signupAllowed:\n \"/v1/spaces/global/webservices/sponsalia/api/configuration/signupAllowed\",\n\n getInvitationById:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/invitations/{invitationId}\",\n acceptInvitation:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/invitations/{invitationId}/accept\",\n declineInvitation:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/invitations/{invitationId}/reject\",\n benefits:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/invitations/{invitationId}/benefits\",\n benefitKeys:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/invitations/{invitationId}/benefit/keys\",\n rewardKeys:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/invitations/{invitationId}/reward/{rewardId}/keys\",\n benefitStatus:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/invitations/{invitationId}/benefit/status\",\n rewardStatus:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/invitations/{invitationId}/reward/{rewardId}/status\",\n claimBenefit:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/invitations/{invitationId}/benefit/claim\",\n claimReward:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/invitations/{invitationId}/reward/{rewardId}/claim\",\n updateBenefitPlatform:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/invitations/{invitationId}/updatePlatform\",\n updateRewardPlatform:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/invitations/{invitationId}/reward/{rewardId}/updatePlatform\",\n downloadAsset:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/invitations/{invitationId}/assets/{assetId}\",\n submitRewardContent:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/invitations/{invitationId}/reward/{rewardId}/submitContent\",\n\n surveys: \"/v1/spaces/global/webservices/sponsalia/api/surveys\",\n completeSurvey:\n \"/v1/spaces/global/webservices/sponsalia/api/surveys/{surveyId}\",\n\n creatorsTransactions:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/revenueSharing/transactions.csv\",\n revenueCodeValidation:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/revenueSharing/revenueCodeValidation\",\n revenueSharing:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/revenueSharing\",\n createIQAccount:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/revenueSharing/onboarding\",\n sendPaymentEmail:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/revenueSharing/sendEmail\",\n paymentData:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/revenueSharing\",\n paymentRates:\n \"/v1/profiles/global/webservices/sponsalia/api/creator/revenueSharing/rates\",\n} as const;\n","export enum PROGRAM_TYPE {\n DEFAULT = 0,\n RC = 1,\n R6 = 3,\n XDefiant = 4,\n UF2023 = 5,\n CREW = 6,\n SKULL_AND_BONES = 7,\n}\n\nexport type BrandThemeType = {\n theme: {\n type: PROGRAM_TYPE;\n };\n};\n","import { AxiosRequestConfig, AxiosResponse } from \"axios\";\n\nimport { http } from \"api/config\";\nimport { URLS } from \"./urls\";\nimport {\n BenefitKeys,\n CreatorData,\n GamingPreferencesRequest,\n InvitationPreview,\n MetadataResponse,\n ChannelData,\n UpdateChannelsResponse,\n CommunicationSupport,\n FeedbackData,\n ReferralResponse,\n SignupAllowed,\n ProfileData,\n YouTubeAccount,\n ProgramAgenda,\n ProgramDetails,\n TagType,\n BrandProgram,\n Language,\n PaymentData,\n PaymentRate,\n Invitation,\n InvitationBenefits,\n Benefit,\n ExtraReward,\n BenefitPlatformData,\n BenefitStatusResponse,\n AcceptInvitationData,\n ConditionalReward,\n OnboardingData,\n ChannelSwapData,\n CHANNEL_IDS,\n} from \"./types\";\nimport { replaceUrlParams, setSponsaliaPublicServicesApi } from \"api/utils\";\nimport { SessionTicket } from \"domains/shared/services/overlay-service/types\";\nimport { GLOBAL_CONFIG } from \"domains/shared/constants/app-config\";\n\nexport class PublicApiService {\n private sessionTicket?: SessionTicket;\n\n private get headers() {\n return this.sessionTicket\n ? {\n Authorization: `Ubi_v1 t=${this.sessionTicket.ticket}`,\n \"Ubi-AppId\": GLOBAL_CONFIG.APPLICATION_ID,\n SessionId: this.sessionTicket.sessionId,\n }\n : null;\n }\n\n private request(config: AxiosRequestConfig): Promise> {\n return http.request({\n ...config,\n headers: {\n ...this.headers,\n ...config.headers,\n },\n });\n }\n\n public configure(ticket: SessionTicket) {\n this.sessionTicket = ticket;\n }\n\n public fetchBrandProgram(\n brandProgramId: number\n ): Promise> {\n const url = replaceUrlParams(URLS.brandProgram, { brandProgramId });\n\n return this.request({\n method: \"GET\",\n url: setSponsaliaPublicServicesApi(url),\n });\n }\n\n public fetchProgramAgenda(\n brandProgramId: number\n ): Promise> {\n const url = replaceUrlParams(URLS.programAgenda, { brandProgramId });\n\n return this.request({\n method: \"GET\",\n url: setSponsaliaPublicServicesApi(url),\n });\n }\n\n public fetchProgramInvitations(\n brandProgramId: number,\n isActive?: boolean\n ): Promise> {\n const url = replaceUrlParams(URLS.programInvitations, { brandProgramId });\n\n return this.request({\n method: \"GET\",\n url: setSponsaliaPublicServicesApi(url),\n params: {\n isActive,\n },\n });\n }\n\n public downloadAsset(\n invitationId: number,\n assetId: number\n ): Promise> {\n const url = replaceUrlParams(URLS.downloadAsset, { invitationId, assetId });\n\n return this.request({\n method: \"GET\",\n url: setSponsaliaPublicServicesApi(url),\n headers: {\n Accept: \"*/*\",\n },\n responseType: \"blob\",\n });\n }\n\n public updateBenefitPlatform(\n invitationId: number,\n data: BenefitPlatformData\n ): Promise> {\n const url = replaceUrlParams(URLS.updateBenefitPlatform, { invitationId });\n\n return this.request({\n method: \"PUT\",\n url: setSponsaliaPublicServicesApi(url),\n data,\n });\n }\n\n public updateRewardPlatform(\n invitationId: number,\n reward: number,\n data: BenefitPlatformData\n ): Promise> {\n const url = replaceUrlParams(URLS.updateRewardPlatform, {\n invitationId,\n reward,\n });\n\n return this.request({\n method: \"PUT\",\n url: setSponsaliaPublicServicesApi(url),\n data,\n });\n }\n\n public fetchYouTubeChannels(): Promise> {\n return this.request({\n url: setSponsaliaPublicServicesApi(URLS.youTubeChannels),\n method: \"GET\",\n });\n }\n\n public fetchCreatorProfile(): Promise> {\n return this.request({\n url: setSponsaliaPublicServicesApi(URLS.profile),\n method: \"GET\",\n });\n }\n\n public async fetchMetadata(): Promise> {\n return this.request({\n method: \"GET\",\n url: setSponsaliaPublicServicesApi(URLS.metadata),\n });\n }\n\n public async fetchSignupAllowed(): Promise> {\n return this.request({\n method: \"GET\",\n url: setSponsaliaPublicServicesApi(URLS.signupAllowed),\n });\n }\n\n public createCreator(data: CreatorData): Promise> {\n return this.request({\n method: \"POST\",\n url: setSponsaliaPublicServicesApi(URLS.profile),\n data,\n });\n }\n\n public updateGamingPreferences(data: {\n platforms: number[];\n games: number[];\n }): Promise> {\n return this.request({\n method: \"PUT\",\n url: setSponsaliaPublicServicesApi(URLS.updateGamingPreferences),\n data,\n });\n }\n\n public leaveProgram(data: {\n reasonId: number;\n details: string;\n }): Promise> {\n return this.request({\n method: \"PUT\",\n url: setSponsaliaPublicServicesApi(URLS.leaveProgram),\n data,\n });\n }\n\n public addChannel(\n data: ChannelData\n ): Promise> {\n return this.request({\n method: \"POST\",\n url: setSponsaliaPublicServicesApi(URLS.channels),\n data,\n });\n }\n\n public updateChannel(\n data: ChannelData\n ): Promise> {\n const url = setSponsaliaPublicServicesApi(\n replaceUrlParams(URLS.editChannels, { typeId: String(data.typeId) })\n );\n\n return this.request({\n method: \"PUT\",\n url,\n data,\n });\n }\n\n public deleteChannel(\n typeId: string\n ): Promise> {\n const url = setSponsaliaPublicServicesApi(\n replaceUrlParams(URLS.editChannels, { typeId })\n );\n\n return this.request({\n method: \"DELETE\",\n url,\n });\n }\n\n public fetchInvitationsHistory(\n params?: URLSearchParams\n ): Promise<\n AxiosResponse<{\n results: InvitationPreview[];\n currentPage: number;\n totalPages: number;\n }>\n > {\n return this.request({\n method: \"GET\",\n url: setSponsaliaPublicServicesApi(URLS.invitationsHistory),\n params,\n });\n }\n\n public fetchInvitations(): Promise<\n AxiosResponse<{ results: InvitationPreview[] }>\n > {\n return this.request({\n method: \"GET\",\n url: setSponsaliaPublicServicesApi(URLS.invitations),\n });\n }\n\n public fetchInvitationById(\n invitationId: number\n ): Promise> {\n const url = replaceUrlParams(URLS.getInvitationById, { invitationId });\n\n return this.request({\n method: \"GET\",\n url: setSponsaliaPublicServicesApi(url),\n });\n }\n\n public acceptInvitation(\n invitationId: number,\n data: AcceptInvitationData\n ): Promise> {\n const url = replaceUrlParams(URLS.acceptInvitation, { invitationId });\n\n return this.request({\n method: \"PUT\",\n url: setSponsaliaPublicServicesApi(url),\n data,\n });\n }\n\n public completeOnboarding(data: OnboardingData): Promise {\n return this.request({\n method: \"PUT\",\n url: setSponsaliaPublicServicesApi(URLS.completeOnboarding),\n data,\n });\n }\n\n public declineInvitation(\n invitationId: number\n ): Promise> {\n const url = replaceUrlParams(URLS.declineInvitation, { invitationId });\n\n return this.request({\n method: \"PUT\",\n url: setSponsaliaPublicServicesApi(url),\n });\n }\n\n public claimBenefit(invitationId: number): Promise> {\n const url = replaceUrlParams(URLS.claimBenefit, { invitationId });\n\n return this.request({\n method: \"POST\",\n url: setSponsaliaPublicServicesApi(url),\n });\n }\n\n public claimReward(\n invitationId: number,\n rewardId: number,\n data: BenefitPlatformData\n ): Promise> {\n const url = replaceUrlParams(URLS.claimReward, {\n invitationId,\n rewardId,\n });\n\n return this.request({\n method: \"POST\",\n url: setSponsaliaPublicServicesApi(url),\n data,\n });\n }\n\n public fetchBenefitKeys(\n invitationId: number\n ): Promise> {\n const url = replaceUrlParams(URLS.benefitKeys, { invitationId });\n\n return this.request({\n method: \"GET\",\n url: setSponsaliaPublicServicesApi(url),\n });\n }\n\n public fetchRewardKeys(\n invitationId: number,\n rewardId: number\n ): Promise> {\n const url = replaceUrlParams(URLS.rewardKeys, {\n invitationId,\n rewardId,\n });\n\n return this.request({\n method: \"GET\",\n url: setSponsaliaPublicServicesApi(url),\n });\n }\n\n public sendFeedback(data: FeedbackData): Promise {\n return this.request({\n method: \"POST\",\n url: setSponsaliaPublicServicesApi(URLS.sendFeedback),\n data,\n });\n }\n\n public updateContactInfo(\n communicationLanguageId: number,\n secondaryEmail: string | null\n ): Promise<\n AxiosResponse<{\n communicationLanguage: Language;\n secondaryEmail: string | null;\n }>\n > {\n return this.request({\n method: \"PUT\",\n url: setSponsaliaPublicServicesApi(URLS.updateContactInformation),\n data: {\n communicationLanguageId,\n secondaryEmail,\n },\n });\n }\n\n public claimBrandProgramWelcomeGift(\n benefitId: number\n ): Promise> {\n const url = replaceUrlParams(URLS.claimBrandProgramWelcomeBenefit, {\n benefitId,\n });\n return this.request({\n method: \"POST\",\n url: setSponsaliaPublicServicesApi(url),\n });\n }\n\n public getBrandProgramWelcomeGift(\n brandProgramId: number\n ): Promise> {\n const url = replaceUrlParams(URLS.getBrandProgramWelcomeRewards, {\n brandProgramId,\n });\n return this.request({\n method: \"GET\",\n url: setSponsaliaPublicServicesApi(url),\n });\n }\n\n public joinBrandProgram(\n brandProgramId: number\n ): Promise> {\n const url = replaceUrlParams(URLS.joinBrandProgram, { brandProgramId });\n\n return this.request({\n method: \"POST\",\n url: setSponsaliaPublicServicesApi(url),\n });\n }\n\n public leaveBrandProgram(\n brandProgramId: number\n ): Promise> {\n const url = replaceUrlParams(URLS.leaveBrandProgram, { brandProgramId });\n\n return this.request({\n method: \"POST\",\n url: setSponsaliaPublicServicesApi(url),\n });\n }\n\n public updateTags(\n tags: number[]\n ): Promise> {\n return this.request({\n method: \"PUT\",\n url: setSponsaliaPublicServicesApi(URLS.updateTags),\n data: { tags },\n });\n }\n\n public createCreatorIQ(): Promise {\n return this.request({\n method: \"POST\",\n url: setSponsaliaPublicServicesApi(URLS.createIQAccount),\n });\n }\n\n public sendPaymentEmail(): Promise {\n return this.request({\n method: \"POST\",\n url: setSponsaliaPublicServicesApi(URLS.sendPaymentEmail),\n });\n }\n\n public fetchPaymentData(): Promise> {\n return this.request({\n method: \"GET\",\n url: setSponsaliaPublicServicesApi(URLS.paymentData),\n });\n }\n\n public fetchPaymentRates(): Promise> {\n return this.request({\n method: \"GET\",\n url: setSponsaliaPublicServicesApi(URLS.paymentRates),\n });\n }\n\n public revenueSupport(issue: string): Promise {\n return this.request({\n method: \"POST\",\n url: setSponsaliaPublicServicesApi(URLS.revenueSupport),\n data: {\n issue,\n },\n });\n }\n\n public fetchNotifications(\n minDate?: string\n ): Promise> {\n return this.request({\n url: setSponsaliaPublicServicesApi(URLS.notifications),\n method: \"GET\",\n params: {\n minDate,\n },\n });\n }\n\n public markNotificationAsRead(\n notificationIds: number[]\n ): Promise {\n return this.request({\n url: setSponsaliaPublicServicesApi(URLS.notifications),\n method: \"PUT\",\n data: {\n notificationIds,\n },\n });\n }\n\n public fetchCreatorTransactions(): Promise> {\n return this.request({\n url: setSponsaliaPublicServicesApi(URLS.creatorsTransactions),\n method: \"GET\",\n headers: {\n Accept: \"*/*\",\n },\n responseType: \"blob\",\n });\n }\n\n public updateCreatorCode(newCode: string): Promise> {\n return this.request({\n url: setSponsaliaPublicServicesApi(URLS.revenueCode),\n method: \"POST\",\n data: {\n newCode,\n },\n });\n }\n\n public isCreatorCodeValid(newCode: string): Promise> {\n return this.request({\n url: setSponsaliaPublicServicesApi(URLS.revenueCodeValidation),\n method: \"GET\",\n params: {\n newCode,\n },\n });\n }\n\n public fetchBenefits(\n invitationId: number\n ): Promise> {\n const url = replaceUrlParams(URLS.benefits, { invitationId });\n\n return this.request({\n url: setSponsaliaPublicServicesApi(url),\n method: \"GET\",\n });\n }\n\n public fetchBenefitStatus(\n invitationId: number\n ): Promise> {\n const url = replaceUrlParams(URLS.benefitStatus, { invitationId });\n\n return this.request({\n method: \"GET\",\n url: setSponsaliaPublicServicesApi(url),\n });\n }\n\n public fetchRewardStatus(\n invitationId: number,\n rewardId: number\n ): Promise> {\n const url = replaceUrlParams(URLS.rewardStatus, { invitationId, rewardId });\n\n return this.request({\n method: \"GET\",\n url: setSponsaliaPublicServicesApi(url),\n });\n }\n\n public submitRewardContent(\n invitationId: number,\n rewardId: number,\n contentUrl: string\n ): Promise> {\n const url = replaceUrlParams(URLS.submitRewardContent, {\n invitationId,\n rewardId,\n });\n\n return this.request({\n method: \"POST\",\n url: setSponsaliaPublicServicesApi(url),\n data: {\n contentUrl,\n },\n });\n }\n\n public deleteNotification(notificationId: number) {\n const url = replaceUrlParams(URLS.deleteNotification, {\n notificationId,\n });\n\n return this.request({\n method: \"DELETE\",\n url: setSponsaliaPublicServicesApi(url),\n });\n }\n\n public deleteAllNotifications() {\n return this.request({\n method: \"DELETE\",\n url: setSponsaliaPublicServicesApi(URLS.notifications),\n });\n }\n\n public setMainChannel(typeId: CHANNEL_IDS, data: ChannelSwapData) {\n const url = replaceUrlParams(URLS.setMainChannel, {\n typeId,\n });\n\n return this.request({\n method: \"PUT\",\n url: setSponsaliaPublicServicesApi(url),\n data,\n });\n }\n}\n\nexport const publicApiService = new PublicApiService();\n","import { PROGRAM_TYPE } from \"domains/programs/types\";\nimport { Referral } from \"./types\";\n\nexport const REFERRAL_KEY = \"referral\" as const;\n\nexport const REFERRAL_CODES = {\n RC: \"a12d5a38-16eb-48bb-a156-1e25fb0b8948\",\n R6: \"5172a557-50b5-4665-b7db-e3f2e8c5041d\",\n XDefiant: \"c1cc6537-b43e-4f6e-b4cb-7f3e3a5bef5e\",\n};\n\nexport const REFERRAL_DATA: Record = {\n [REFERRAL_CODES.RC]: {\n code: REFERRAL_CODES.RC,\n brandProgramId: PROGRAM_TYPE.RC,\n },\n [REFERRAL_CODES.R6]: {\n code: REFERRAL_CODES.R6,\n brandProgramId: PROGRAM_TYPE.R6,\n },\n [REFERRAL_CODES.XDefiant]: {\n code: REFERRAL_CODES.XDefiant,\n brandProgramId: PROGRAM_TYPE.XDefiant,\n },\n};\n","export enum LANGUAGE_ID {\n EN_US = 1,\n ES_MX = 44,\n}\n","import { Referral } from \"./types\";\nimport { REFERRAL_KEY, REFERRAL_DATA } from \"./constants\";\n\nexport class ReferralService {\n public get referral(): Referral | null {\n const code = localStorage.getItem(REFERRAL_KEY);\n\n return code ? REFERRAL_DATA[code] : null;\n }\n\n public setReferral(code: string) {\n const data = REFERRAL_DATA[code];\n\n if (data) {\n localStorage.setItem(REFERRAL_KEY, code);\n }\n }\n\n public cleanReferral = () => {\n localStorage.removeItem(REFERRAL_KEY);\n };\n}\n\nexport const referralService = new ReferralService();\n","import { SignupForm } from \"domains/sign-up/types\";\n\nexport type StorageFormData = {\n data: SignupForm;\n timestamp: string;\n};\n\nexport class SignUpDataService {\n public getData(key: string): StorageFormData | null {\n const storageData = localStorage.getItem(key);\n\n return storageData ? JSON.parse(storageData) : null;\n }\n\n public saveData(key: string, data: StorageFormData) {\n localStorage.setItem(key, JSON.stringify(data));\n }\n\n public removeData(key: string) {\n localStorage.removeItem(key);\n }\n}\n\nexport const signUpDataService = new SignUpDataService();\n","export const OAuthURL = {\n providers: \"/v1/profiles/{profileId}/oauth/providers\",\n authorize: \"/v1/profiles/{profileId}/oauth/providers/authorize\",\n userInfo: \"/v1/profiles/{profileId}/oauth/providers/userinfo\",\n consents: \"/v1/profiles/{profileId}/oauth/providers/consents\",\n} as const;\n","export enum OAUTH_PROVIDERS {\n TIKTOK = \"537a785d-22ec-4834-916d-0db2bd9a66ad\",\n INSTAGRAM = \"0266a48b-559f-48f1-b07c-9eed160ba327\",\n}\n\nexport type OAuthProvider = {\n spaceId: OAUTH_PROVIDERS;\n displayValues: {\n name: string;\n description: string;\n };\n};\n\nexport type OAuthProvidersResponse = {\n providers: OAuthProvider[];\n};\n\nexport type OAuthUserConsents = {\n consents: OAuthProvider[];\n};\n\nexport type OAuthAuthorizeResponse = {\n redirectUrl: string;\n};\n\nexport type OAuthUserInfo = {\n id: string;\n account_type?: string;\n email?: string;\n username?: string;\n profile_deep_link?: string;\n};\n","import { REDIRECT_TOPICS } from \"domains/shared/services/overlay-service/types\";\nimport { OAUTH_PROVIDERS } from \"./types\";\n\nexport const PROVIDER_REDIRECT_URLS = {\n [OAUTH_PROVIDERS.TIKTOK]: REDIRECT_TOPICS.TIKTOK,\n [OAUTH_PROVIDERS.INSTAGRAM]: REDIRECT_TOPICS.INSTAGRAM,\n};\n","import { ENV } from \"domains/shared/types/env\";\n\nexport const ANALYTICS_SCRIPT_URL = {\n [ENV.UAT]:\n \"https://ubistatic-a.akamaihd.net/0106/uat/global/tracking/analyticssdk.js\",\n [ENV.PROD]:\n \"https://ubistatic-a.akamaihd.net/0106/prod/global/tracking/analyticssdk.js\",\n};\n\nexport const ANALYTICS_GLOBAL_NS = \"wa_data\";\nexport const ANALYTICS_SDK = \"adobeAnalytics\";\nexport const ANALYTICS_READY_EVENT = \"S_CODE_READY\";\nexport const ANALYTICS_BRAND = \"ubisoft\";\nexport const ANALYTICS_GAME = \"sponsolia\";\nexport const ANALYTICS_SITE_NAME = \"ubisoft sponsalia\";\nexport const ANALYTICS_SITE_TYPE = \"content creator\";\n\nexport enum ANALYTICS_EVENTS {\n FLOW_EVENT = \"flowevent\",\n PAGE_EVENT = \"pageevent\",\n CLICK_EVENT = \"clickevent\",\n ERROR_EVENT = \"clickevent\",\n ACCOUNT_EVENT = \"accountevent\",\n}\n\nexport enum UPDATE_GAME_PREF {\n Introduction,\n Settings,\n}\n\nexport enum UPDATE_TAGS_PREF {\n Introduction,\n Settings,\n}\n\nexport const ANALYTICS_ACCOUNT_ATTRIBUTES = {\n category: \"login\",\n action: {\n // when user lands on a page\n signedIn: \"signed in\",\n signedOut: \"signed out\",\n },\n};\n\nexport const ANALYTICS_PAGE_ATTRIBUTES = {\n pageName: {\n main: \"main\",\n activations: \"activations\",\n settings: \"settings\",\n assistance: \"assistance\",\n termOfUse: \"term of use\",\n participate: \"participate\",\n applicationSuccessful: \"application successful\",\n faq: \"faq\",\n newsDetails: \"news details\",\n },\n siteSection: {\n login: \"login\",\n apply: \"apply\",\n introduction: \"introduction\",\n dashboard: \"dashboard\",\n error: \"error\",\n faq: \"faq\",\n news: \"news\",\n },\n siteSubSection: {\n empty: \"\",\n },\n};\n\nexport const ANALYTICS_FLOW_ATTRIBUTES = {\n flowStep: {\n appRequirements: \"application requirements\",\n channels: \"channels\",\n gamingPreferences: \"gaming preferences\",\n locationAndLanguage: \"location and language\",\n appliedSuccessful: \"application successful\",\n activationEmbargo: \"activation embargo\",\n platform: \"platform\",\n yourInformation: \"your information\",\n participateConfirmed: \"participation confirmed\",\n participateKeysError: \"participation keys error\",\n campaignParticipate: \"participate\",\n transparency: \"transparency & disclosures\",\n termsAndConditions: \"terms and conditions\",\n welcome: \"welcome\",\n contactPreference: \"contact preferences\",\n updateContactPref: \"update contact preferences\",\n additionalInfo: \"additional information\",\n completeAdditionalInfo: \"complete additional information\",\n disclosurePolicy: \"disclosure policy\",\n joinedProgram: \"joined the brand program\",\n updatePreferences: \"update preferences\",\n confidentialInfo: \"confidential information\",\n error: \"error\",\n },\n flowType: {\n contentCreatorApplication: \"content creator application\",\n activations: \"activations\",\n introduction: \"introduction\",\n },\n location: {\n page: \"page\",\n },\n locationDetail: {\n contentCreatorApplication: \"content creator application\",\n activations: \"activations\",\n introduction: \"introduction\",\n },\n category: {\n display: \"display\",\n action: \"action\",\n interaction: \"interaction\",\n },\n action: {\n appRequirements: \"application requirements\",\n continue: \"continue\",\n channels: \"channels\",\n back: \"back\",\n cancel: \"cancel\",\n userConsent: \"user consent to being contacted\",\n save: \"save\",\n primaryChannel: \"primary channel : \",\n otherChannel: \"other channels : \",\n gamingPreferences: \"gaming preferences\",\n updatePreferences: \"update preferences\",\n preferredPlatform: \"preferred platform : \",\n favoriteFranchises: \"favorite franchises : \",\n newPreferredPlatform: \"new preferred platform : \",\n participatePlatformSelect: \"platform : \",\n newFavoriteFranchises: \"new favorite franchises : \",\n locationAndLanguage: \"location and language\",\n apply: \"apply\",\n location: \"modified location : \",\n broadcastLanguage: \"modified broadcast language : \",\n communicationLanguage: \"modified communication language : \",\n communicationMethod: \"modified communication channel : \",\n applied: \"application successful\",\n fillSurvey: \"fill the survey\",\n activationEmbargo: \"activation embargo\",\n yourInformation: \"your information\",\n agree: \"agree\",\n confirm: \"confirm\",\n participationSuccessful: \"participation successful\",\n participationError: \"participation keys error\",\n gotIt: \"got it\",\n close: \"close\",\n transparency: \"transparency & disclosures\",\n transparencyAgree: \"check disclosure guidelines box\",\n termsAndCondition: \"terms and conditions\",\n acceptTermsOfUse: \"I have read and accept the terms of use\",\n welcome: \"welcome\",\n contactPreference: \"contact preferences\",\n updateContactPref: \"update contact preferences\",\n additionalInfo: \"additional information\",\n disclosurePolicy: \"disclosure policy\",\n joinedProgram: \"joined the brand program\",\n selectContactPref: \"select preferences\",\n completeInformation: \"complete information\",\n confidentialInfo: \"confidential information\",\n applicationAreOver: \"applications are over\",\n },\n};\n\nexport const ANALYTICS_CLICK_ATTRIBUTES = {\n location: {\n page: \"page\",\n },\n locationDetail: {\n flow: \"flow\",\n available: \"available\",\n active: \"active\",\n page: \"page\",\n surveyPopup: \"survey popup\",\n survey: \"survey\",\n error: \"error\",\n rejected: \"rejected\",\n missingToken: \"token missing\",\n minor: \"minor\",\n embargo: \"embargo\",\n whitelist: \"whitelist\",\n blockedCountry: \"blocked country\",\n forbiddenAccess: \"forbidden access\",\n past: \"past\",\n channels: \"channels\",\n channelPopup: \" popup\",\n gamingPreferences: \"gaming preferences\",\n personalInfo: \"personal information\",\n benefit: \"benefit:\",\n applicationSuccessful: \"application successful\",\n program: \"program\",\n settings: \"settings\",\n leaveProgram: \"leaving the program\",\n faq: \"faq\",\n termsOfUse: \"terms of use\",\n commonIssues: \"common issues\",\n contactUs: \"contact us\",\n shareFeedback: \"share feedback\",\n feedbackSent: \"feedback sent\",\n displayMode: \"display mode\",\n welcomePopup: \"welcome popup\",\n newGameIncoming: \"new games incoming\",\n declinePopup: \"decline popup\",\n resources: \"resources\",\n benefitLocation: \"benefit\",\n platformPopup: \"platform popup\",\n },\n category: {\n action: \"action\",\n interaction: \"interaction\",\n },\n action: {\n acceptTermsOfUse: \"I have read and accept the terms of use\",\n continue: \"continue\",\n back: \"back\",\n updatePreferences: \"update preferences\",\n preferredPlatform: \"preferred platform : \",\n favoriteFranchise: \"favorite franchises : \",\n cancel: \"cancel\",\n close: \"close\",\n save: \"save\",\n update: \"update\",\n view: \"view\",\n past: \"past\",\n pastPrograms: \"past programs\",\n participate: \"participate\",\n addChannel: \" : add\",\n editPreferences: \"preferences : edit\",\n editPersonalInfo: \"personal info : edit\",\n leaveProgram: \"leave program\",\n leaveBrandProgram: \"leave\",\n confirmLeave: \"leaving confirmation\",\n goToSupport: \"go to support website\",\n goToAccountWebsite: \"go to ubisoft account\",\n goToUbi: \"go to ubisoft.com\",\n moreInfoAbout: \"more info about data request\",\n display: \"display\",\n fillSurvey: \"fill out the survey\",\n codeOfConduct: \"ubisoft code of conduct\",\n accessTermsOfUse: \"access terms of use\",\n backToAssistance: \"back to assistance\",\n backToNews: \"back to news\",\n completeSurvey: \"complete the survey\",\n join: \"join\",\n confirmJoin: \"confirm joining\",\n brandProgramDetails: \"brand program details\",\n closeSurveyPopup: \"close the survey popup\",\n goToNews: \"go to news\",\n helpActivateContent: \"go to help activation content page\",\n goFAQ: \"go to faq section\",\n accessCompleteFAQ: \"access complete faq\",\n contactTopics: \"opening topics dropdown menu\",\n contactTopic: \"topic selected : \",\n goHelpCenter: \"go to help center\",\n sendFeedback: \"send feedback\",\n writeFeedback: \"write feedback\",\n closeFeedback: \"closing feedback\",\n closeSentFeedback: \"close feedback sent message\",\n communicationLanguage: \"communication language\",\n communicationMethod: \"communication channel\",\n changeLangTo: \"change language to : \",\n changeCommunicationMethodTo: \"change communication channel to : \",\n closeLangChange: \"close language change message\",\n confirmLangChange: \"confirming language change\",\n confirmCommunicationMethodChange: \"confirming communication channel change\",\n closeMethodChange: \"close communication channel change message\",\n closeWelcomeMessage: \"close welcome message\",\n closeNewGameBlock: \"close new games incoming message\",\n gamePreference: \"game preferences\",\n campaignList: \"campaign list\",\n agenda: \"agenda\",\n declineActivation: \"decline activation\",\n confirmDecline: \"confirming decline\",\n closeDecline: \"close decline message\",\n download: \"download\",\n access: \"access\",\n changePlatform: \"change platform\",\n closePlatformChange: \"close platform change message\",\n confirmPlatformChange: \"confirming platform change\",\n changePlatformTo: \"change platform to : \",\n },\n};\n","import { AxiosRequestConfig, AxiosResponse } from \"axios\";\n\nimport { http } from \"api/config\";\nimport { setUbiPublicServicesApi, replaceUrlParams } from \"api/utils\";\nimport { OAuthURL } from \"./urls\";\nimport {\n OAuthAuthorizeResponse,\n OAuthUserInfo,\n OAuthUserConsents,\n OAUTH_PROVIDERS,\n OAuthProvidersResponse,\n} from \"./types\";\nimport { SessionTicket } from \"domains/shared/services/overlay-service/types\";\nimport { GLOBAL_CONFIG } from \"domains/shared/constants/app-config\";\nimport { generateNextURL } from \"domains/shared/services/overlay-service/utils\";\nimport { PROVIDER_REDIRECT_URLS } from \"./constants\";\nimport { loggingService } from \"domains/shared/services/logging.service\";\n\nexport class OAuthService {\n private sessionTicket: SessionTicket | null = null;\n\n private get headers() {\n return this.sessionTicket\n ? {\n Authorization: `Ubi_v1 t=${this.sessionTicket.ticket}`,\n \"Ubi-AppId\": GLOBAL_CONFIG.APPLICATION_ID,\n }\n : null;\n }\n\n private request(config: AxiosRequestConfig): Promise> {\n return http.request({\n ...config,\n headers: {\n ...this.headers,\n ...config.headers,\n },\n });\n }\n\n public configure(ticket: SessionTicket) {\n this.sessionTicket = ticket;\n }\n\n public async fetchOAuthProviders() {\n const url = replaceUrlParams(OAuthURL.providers, {\n profileId: this.sessionTicket!.userId,\n });\n\n const { data } = await this.request({\n method: \"GET\",\n url: setUbiPublicServicesApi(url),\n headers: {\n \"Ubi-LocaleCode\": \"en-US\",\n },\n });\n\n loggingService.info(data.providers);\n }\n\n public async getAuthorizeUrl(spaceId: OAUTH_PROVIDERS): Promise {\n const url = replaceUrlParams(OAuthURL.authorize, {\n profileId: this.sessionTicket!.userId,\n });\n const returnUrl = generateNextURL(PROVIDER_REDIRECT_URLS[spaceId]);\n\n const { data } = await this.request({\n method: \"GET\",\n url: setUbiPublicServicesApi(url),\n params: {\n spaceId,\n returnUrl,\n },\n });\n\n return data.redirectUrl;\n }\n\n public async getProviderUserInfo(spaceId: OAUTH_PROVIDERS) {\n const url = replaceUrlParams(OAuthURL.userInfo, {\n profileId: this.sessionTicket!.userId,\n });\n\n const { data } = await this.request({\n method: \"GET\",\n url: setUbiPublicServicesApi(url),\n params: {\n spaceId,\n },\n });\n\n return data;\n }\n\n private async getUserConsent(spaceId: OAUTH_PROVIDERS) {\n const url = replaceUrlParams(OAuthURL.consents, {\n profileId: this.sessionTicket!.userId,\n });\n\n return this.request({\n method: \"GET\",\n url: setUbiPublicServicesApi(url),\n params: {\n spaceIds: spaceId,\n },\n headers: {\n \"Ubi-LocaleCode\": \"en-US\",\n },\n });\n }\n\n public async removeUserConsent(spaceId: OAUTH_PROVIDERS) {\n const url = replaceUrlParams(OAuthURL.consents, {\n profileId: this.sessionTicket!.userId,\n });\n\n const { data: response } = await this.getUserConsent(spaceId);\n\n if (!response.consents.length) {\n return;\n }\n\n await this.request({\n method: \"DELETE\",\n url: setUbiPublicServicesApi(url),\n params: {\n spaceId,\n },\n });\n }\n}\n\nexport const oAuthService = new OAuthService();\n","import { CHANNEL_IDS } from \"api/services/public-service\";\nimport { LOCALES } from \"i18n/languages\";\nimport { OAUTH_PROVIDERS } from \"api/services/oauth\";\n\nexport const ADDITIONAL_COUNTRY_CHANNELS: Record = {\n [CHANNEL_IDS.OPEN_REC]: [LOCALES.JA_JP],\n [CHANNEL_IDS.MILDOM]: [LOCALES.JA_JP],\n [CHANNEL_IDS.NIMO_TV]: [\n LOCALES.ZH_HK,\n LOCALES.IN_ID,\n LOCALES.MS_MY,\n LOCALES.EN_PH,\n LOCALES.ZH_SG,\n LOCALES.EN_SG,\n LOCALES.ZH_TW,\n LOCALES.TH_TH,\n LOCALES.VI_VN,\n LOCALES.CN_MO,\n LOCALES.MY_MM,\n LOCALES.LO_LA,\n LOCALES.KM_KH,\n LOCALES.MS_BN,\n LOCALES.EN_BN,\n ],\n [CHANNEL_IDS.VKONTAKTE]: [LOCALES.RU_RU],\n [CHANNEL_IDS.AFREECATV]: [LOCALES.KO_KR],\n [CHANNEL_IDS.NONOLIVE]: [\n LOCALES.AR_AF,\n LOCALES.AR_DZ,\n LOCALES.AR_BH,\n LOCALES.AR_KM,\n LOCALES.AR_DJ,\n LOCALES.AR_PS,\n LOCALES.AR_JO,\n LOCALES.AR_KW,\n LOCALES.AR_LB,\n LOCALES.AR_LY,\n LOCALES.AR_MA,\n LOCALES.AR_OM,\n LOCALES.AR_PK,\n LOCALES.AR_QA,\n LOCALES.AR_SA,\n LOCALES.AR_SO,\n LOCALES.AR_EH,\n LOCALES.AR_AE,\n LOCALES.AR_TN,\n LOCALES.AR_EG,\n LOCALES.AR_YE,\n ],\n};\n\n// TODO: remove and switch to metadata data\nexport const CHANNELS_NAME: Record = {\n [CHANNEL_IDS.TWITCH]: \"Twitch\",\n [CHANNEL_IDS.YOUTUBE]: \"YouTube\",\n [CHANNEL_IDS.X]: \"X\",\n [CHANNEL_IDS.INSTAGRAM]: \"Instagram\",\n [CHANNEL_IDS.FACEBOOK]: \"Facebook\",\n [CHANNEL_IDS.TIKTOK]: \"TikTok\",\n [CHANNEL_IDS.VKONTAKTE]: \"Vkontakte\",\n [CHANNEL_IDS.AFREECATV]: \"AfreecaTV\",\n [CHANNEL_IDS.NONOLIVE]: \"NonoLive\",\n [CHANNEL_IDS.OPEN_REC]: \"Openrec.tv\",\n [CHANNEL_IDS.MILDOM]: \"Mildom\",\n [CHANNEL_IDS.NIMO_TV]: \"Nimo TV\",\n [CHANNEL_IDS.DISCORD]: \"Discord\",\n};\n\nexport const CHANNELS_PLACEHOLDERS: Record = {\n [CHANNEL_IDS.X]: \"e.g. https://www.twitter.com/ubisoft\",\n [CHANNEL_IDS.FACEBOOK]: \"e.g. https://www.facebook.com/ubisoft\",\n [CHANNEL_IDS.VKONTAKTE]: \"e.g. https://www.vk.com/ubisoft\",\n [CHANNEL_IDS.AFREECATV]: \"e.g. https://www.afreecatv.com/ubisoft\",\n [CHANNEL_IDS.NONOLIVE]: \"e.g. https://nonolive.com/profile/00000000\",\n [CHANNEL_IDS.OPEN_REC]: \"e.g. https://www.openrec.tv/user/ubisoft\",\n [CHANNEL_IDS.MILDOM]: \"e.g. https://www.mildom.com/profile/ubisoft\",\n [CHANNEL_IDS.NIMO_TV]: \"e.g. https://nimo.tv/ubisoft\",\n};\n\nexport const UBI_ACCOUNT_CHANNELS: CHANNEL_IDS[] = [\n CHANNEL_IDS.TWITCH,\n CHANNEL_IDS.YOUTUBE,\n CHANNEL_IDS.DISCORD,\n];\n\nexport const OAUTH_CHANNEL_PROVIDER: Record = {\n [CHANNEL_IDS.TIKTOK]: OAUTH_PROVIDERS.TIKTOK,\n [CHANNEL_IDS.INSTAGRAM]: OAUTH_PROVIDERS.INSTAGRAM,\n};\n\nexport const LINKING_CHANNELS = [\n ...UBI_ACCOUNT_CHANNELS,\n ...Object.keys(OAUTH_CHANNEL_PROVIDER).map((key) => Number(key)),\n];\n\nexport const PRIMARY_CHANNEL_IDS = [\n CHANNEL_IDS.YOUTUBE,\n CHANNEL_IDS.TWITCH,\n CHANNEL_IDS.TIKTOK,\n CHANNEL_IDS.INSTAGRAM,\n];\n","import { makeAutoObservable, reaction, when } from \"mobx\";\nimport i18n from \"i18n\";\nimport { isArray } from \"lodash\";\n\nimport {\n CHANNEL_IDS,\n ChannelData,\n CreatorData,\n PROFILE_STATUS,\n publicApiService,\n} from \"api/services/public-service\";\nimport { RootStore } from \"init/root-store\";\nimport { SignupForm } from \"../types\";\nimport { referralService } from \"domains/shared/services/referral/referral.service\";\nimport {\n signUpDataService,\n StorageFormData,\n} from \"domains/sign-up/sign-up-data.service\";\nimport { LANGUAGE_ID } from \"i18n/types\";\nimport { OAUTH_CHANNEL_PROVIDER } from \"domains/shared/constants/channels\";\nimport { oAuthService } from \"api/services/oauth\";\nimport { MAX_HOURS } from \"../constants\";\nimport { getTimeDifference } from \"domains/shared/utils/dates\";\n\nexport const initialFormData: SignupForm = {\n countryId: null,\n broadcastLanguageId: null,\n communicationLanguageId: null,\n mainChannelId: null,\n channels: new Map(),\n};\n\nexport class SignUpStore {\n public form: SignupForm = initialFormData;\n\n public signupAllowed = true;\n public isFormSubmitted = false;\n public isExtraChannelsEditable = false;\n\n public constructor(public readonly rootStore: RootStore) {\n makeAutoObservable(this, {}, { autoBind: true });\n\n when(\n () => !!this.mainChannel,\n () => this.setIsExtraChannelsEditable(true)\n );\n }\n\n public get referralData() {\n return referralService.referral\n ? {\n ...referralService.referral,\n name: this.rootStore.metadata.data.brandPrograms.find(\n (program) => program.id === referralService.referral?.brandProgramId\n )?.name,\n }\n : null;\n }\n\n public get defaultLanguageId() {\n const { data } = this.rootStore.metadata;\n const { languages } = data;\n\n return (\n languages.find(\n (lng) => lng.code.toLowerCase() === i18n.language.toLowerCase()\n )?.id ?? LANGUAGE_ID.EN_US\n );\n }\n\n public get mainChannel(): ChannelData | null {\n const primaryChannelData =\n this.form.mainChannelId &&\n this.form.channels.get(this.form.mainChannelId);\n\n return primaryChannelData ?? null;\n }\n\n public get activeChanelList() {\n return [...this.form.channels.values()];\n }\n\n public get creatorData(): CreatorData | null {\n if (!this.isFormValid()) {\n return null;\n }\n\n const { mainChannelId, ...data } = this.form;\n const channels = this.activeChanelList.map((channel) => ({\n ...channel,\n isMain: channel.typeId === mainChannelId,\n }));\n\n return {\n ...data,\n channels,\n };\n }\n\n public get channelNames(): string {\n return this.activeChanelList\n .map((channel) =>\n this.rootStore.metadata.data.channelTypes\n .find((channelType) => channelType.id === channel.typeId)!\n .name.toLocaleLowerCase()\n )\n .join(\",\");\n }\n\n public get isUserInformationValid(): boolean {\n return Boolean(\n this.form.countryId &&\n this.form.broadcastLanguageId &&\n this.form.communicationLanguageId\n );\n }\n\n public get isLinkingValid(): boolean {\n return this.mainChannel !== null;\n }\n\n public init() {\n const { profile } = this.rootStore;\n const storageData = profile.data\n ? signUpDataService.getData(profile.data.userId)\n : null;\n\n if (storageData) {\n const { data, timestamp } = storageData;\n const isActual = MAX_HOURS === getTimeDifference(timestamp, \"hours\");\n\n if (isActual && data) {\n const channels: Map = isArray(data.channels)\n ? new Map(data.channels)\n : new Map([]);\n\n this.setForm({ ...data, channels });\n }\n } else {\n this.setForm(initialFormData);\n }\n }\n\n public setIsExtraChannelsEditable(value: boolean) {\n this.isExtraChannelsEditable = value;\n }\n\n public *submitForm() {\n const { profile } = this.rootStore;\n\n if (!this.creatorData || !profile.data) {\n return;\n }\n\n const { data } = yield publicApiService.createCreator({\n ...this.creatorData,\n referralCode: this.referralData?.code,\n });\n\n this.isFormSubmitted = true;\n\n signUpDataService.removeData(profile.data.userId);\n referralService.cleanReferral();\n\n profile.updateProfileData(data);\n }\n\n public setForm(form: SignupForm) {\n this.form = form;\n }\n\n public setCommunicationLanguage(communicationLanguageId: number) {\n this.form.communicationLanguageId = communicationLanguageId;\n }\n\n public setMainChannelId(mainChannelId: CHANNEL_IDS | null) {\n this.form.mainChannelId = mainChannelId;\n }\n\n public addChannel(channel: ChannelData) {\n this.form.channels = this.form.channels.set(channel.typeId, channel);\n }\n\n public *removeChannel(channelId: CHANNEL_IDS) {\n if (channelId === this.mainChannel?.typeId) {\n this.setMainChannelId(null);\n }\n\n this.form.channels.delete(channelId);\n\n const oauthProvider = OAUTH_CHANNEL_PROVIDER[channelId];\n\n if (oauthProvider) {\n yield oAuthService.removeUserConsent(oauthProvider);\n }\n }\n\n public setActiveCountry(countryId: number) {\n this.form.countryId = countryId;\n }\n\n public setActiveLanguage(broadcastLanguageId: number) {\n this.form.broadcastLanguageId = broadcastLanguageId;\n }\n\n public *fetchSignupAllowed() {\n const { data } = yield publicApiService.fetchSignupAllowed();\n\n this.signupAllowed = data.signupAllowed;\n }\n\n public saveAndTrackingChanges() {\n const { profile } = this.rootStore;\n\n const saveData = () => {\n if (!profile.data?.userId || profile.status === PROFILE_STATUS.APPLIED) {\n return;\n }\n\n const storageData: StorageFormData = {\n data: this.form,\n timestamp: new Date().toJSON(),\n };\n\n signUpDataService.saveData(profile.data.userId, storageData);\n };\n\n return reaction(() => JSON.stringify(this.form), saveData);\n }\n\n public isFormValid(): this is SignUpStore & {\n form: {\n countryId: number;\n broadcastLanguageId: number;\n communicationLanguageId: number;\n mainChannelId: CHANNEL_IDS;\n };\n } {\n return (\n this.form.countryId !== null &&\n this.form.broadcastLanguageId !== null &&\n this.form.communicationLanguageId !== null &&\n this.form.mainChannelId !== null &&\n !!this.form.channels.size\n );\n }\n}\n","export const MAX_HOURS = 0;\n","export const URLS = {\n ipLocation: \"/v2/profiles/me/iplocation\",\n detailInfo: \"/v3/users/me\",\n news: \"/v2/profiles/{profileId}/news\",\n} as const;\n","import { isDevelopmentBuild } from \"../utils/environments\";\n\nexport const ALGOLIA_APP_ID = \"AVCVYSEJS1\" as const;\nexport const ALGOLIA_API_KEY = isDevelopmentBuild()\n ? process.env.REACT_APP_ALGOLIA_KEY\n : \"8c36f53e9791151d185a11d8422c0895\";\nexport const NEWS_SPACE_ID = \"cbea566b-7e4b-48f9-be32-1539dd7c511c\" as const;\n\nexport const HIGHLIGHTS_NEWS_PLACEMENT = \"Highlights\" as const;\nexport const MAIN_NEWS_PLACEMENT = \"Main News\" as const;\nexport const LATEST_NEWS_PLACEMENT = \"Latest news - default\" as const;\nexport const NEWS_DETAILS_PLACEMENT = \"News details\" as const;\nexport const BRAND_PROGRAM_PLACEMENT = \"Brand Program\" as const;\n","import { AxiosError, AxiosRequestConfig, AxiosResponse } from \"axios\";\nimport dayjs from \"dayjs\";\n\nimport { http } from \"api/config\";\nimport {\n setUbiPublicServicesApi,\n GameReleaseApi,\n replaceUrlParams,\n} from \"api/utils\";\nimport { URLS } from \"./urls\";\nimport {\n GameReleaseDTO,\n AlgoliaGameReleasesResponse,\n IpLocation,\n SSOData,\n UserDetailInfo,\n News,\n NewsConfig,\n} from \"./types\";\nimport { WEB_AUTH_SSO_API } from \"domains/shared/services/overlay-service/constants\";\nimport { HTTP_GENERIC_ERROR_CODES } from \"../../types\";\nimport { GameRelease } from \"../public-service\";\nimport { SessionTicket } from \"domains/shared/services/overlay-service/types\";\nimport { GLOBAL_CONFIG } from \"domains/shared/constants/app-config\";\nimport {\n ALGOLIA_API_KEY,\n ALGOLIA_APP_ID,\n NEWS_SPACE_ID,\n} from \"domains/shared/constants/news\";\nimport { ENVIRONMENT } from \"domains/shared/constants/env\";\n\nexport class UbiAPIService {\n private sessionTicket?: SessionTicket;\n\n private get headers() {\n return this.sessionTicket\n ? {\n Authorization: `Ubi_v1 t=${this.sessionTicket.ticket}`,\n \"Ubi-AppId\": GLOBAL_CONFIG.APPLICATION_ID,\n SessionId: this.sessionTicket.sessionId,\n }\n : null;\n }\n\n private request(config: AxiosRequestConfig): Promise> {\n return http.request({\n ...config,\n headers: {\n ...this.headers,\n ...config.headers,\n },\n });\n }\n\n public configure(ticket: SessionTicket) {\n this.sessionTicket = ticket;\n }\n\n public fetchIpLocation(): Promise> {\n return this.request({\n method: \"GET\",\n url: setUbiPublicServicesApi(URLS.ipLocation),\n headers: {\n \"Ubi-AppId\": GLOBAL_CONFIG.APPLICATION_ID,\n },\n });\n }\n\n public fetchNews(\n newsConfig: NewsConfig\n ): Promise> {\n const url = replaceUrlParams(URLS.news, {\n profileId: newsConfig.profileId,\n });\n\n return this.request({\n method: \"GET\",\n url: setUbiPublicServicesApi(url),\n params: {\n spaceId: NEWS_SPACE_ID,\n countryCode: newsConfig.countryCode,\n tags: newsConfig.tag || \"\",\n placements: newsConfig.placements.join(\",\"),\n },\n headers: {\n \"Ubi-AppId\": GLOBAL_CONFIG.APPLICATION_ID,\n \"Ubi-LocaleCode\": newsConfig.localeCode,\n \"Ubi-SessionId\": this.sessionTicket!.sessionId,\n },\n });\n }\n\n public fetchUserInfo(): Promise> {\n return this.request({\n method: \"GET\",\n url: setUbiPublicServicesApi(URLS.detailInfo),\n });\n }\n\n public async fetchGameReleases(\n locale: string,\n defaultLocale: string,\n interestedMdmBrands: number[]\n ): Promise {\n let gameReleases: GameReleaseDTO[] = [];\n const now = dayjs();\n\n const config = {\n method: \"POST\",\n url: replaceUrlParams(GameReleaseApi, { locale }),\n headers: {\n \"X-Algolia-Application-Id\": ALGOLIA_APP_ID,\n \"X-Algolia-API-Key\": ALGOLIA_API_KEY,\n },\n data: {\n filters: `releaseDateUnix > ${now.unix()} AND releaseDateUnix < ${now\n .add(12, \"months\")\n .unix()}`,\n },\n } as AxiosRequestConfig;\n\n try {\n const { data } = await http.request(config);\n\n gameReleases = data.hits;\n } catch (e) {\n if (\n (e as AxiosError).response?.data.status ===\n HTTP_GENERIC_ERROR_CODES.NOT_FOUND\n ) {\n config.url = replaceUrlParams(GameReleaseApi, {\n locale: defaultLocale,\n });\n\n const { data } = await http.request(\n config\n );\n\n gameReleases = data.hits;\n }\n }\n\n return gameReleases\n .filter((hit) => {\n return hit.brand?.mdmId\n ? interestedMdmBrands.includes(Number(hit.brand.mdmId))\n : false;\n })\n .map((hit) => {\n return {\n name: hit.title,\n releaseDate: hit.releaseDate,\n thumbnail: hit.assets.boxshot,\n };\n })\n .filter((release) => {\n return !!release.name && !!release.thumbnail;\n })\n .filter((release) => {\n return release.releaseDate\n ? dayjs(release.releaseDate).isAfter(dayjs())\n : false;\n })\n .sort((a, b) => {\n return dayjs(a.releaseDate).unix() - dayjs(b.releaseDate).unix();\n });\n }\n\n public getSSO(): Promise> {\n const url = WEB_AUTH_SSO_API[ENVIRONMENT];\n\n return this.request({\n url,\n method: \"POST\",\n headers: {\n UserId: this.sessionTicket?.userId,\n },\n });\n }\n}\n\nexport const ubiApiService = new UbiAPIService();\n","import { isFunction } from \"lodash\";\n\nimport { getEnvDependentAnalyticEndpoint } from \"./analytics-provider.utils\";\nimport {\n ANALYTICS_ACCOUNT_ATTRIBUTES,\n ANALYTICS_CLICK_ATTRIBUTES,\n ANALYTICS_EVENTS,\n ANALYTICS_FLOW_ATTRIBUTES,\n ANALYTICS_GLOBAL_NS,\n ANALYTICS_PAGE_ATTRIBUTES,\n ANALYTICS_READY_EVENT,\n ANALYTICS_SDK,\n} from \"./analytics-provider.constants\";\nimport {\n IAccountEventData,\n IAnalyticsConfigData,\n IAnalyticsData,\n IClickEventData,\n IFlowEventData,\n IPageEventData,\n ITrackingData,\n ITrackingEvent,\n} from \"./analytics.types\";\nimport {\n CHANNEL_IDS,\n ChannelData,\n ChannelType,\n Game,\n Platform,\n} from \"api/services/public-service\";\nimport { ENV } from \"domains/shared/types/env\";\n\nclass Analytics {\n private hasUserAllowedTracking = false;\n private trackingEventsBuffer: ITrackingEvent[] = [];\n\n public constructor(private enabled: boolean) {}\n\n public initAnalytics = (config: IAnalyticsConfigData): void => {\n if (this.enabled) {\n window.addEventListener(\"message\", (event: MessageEvent) => {\n if (ANALYTICS_READY_EVENT === event.data) {\n this.hasUserAllowedTracking = true;\n this.flushTrackingEventsBuffer();\n }\n });\n\n this.assignInitialData(config);\n this.setUbiId(config.ubisoftId);\n this.injectAnalyticsScript(config.envName);\n }\n };\n\n public setUbiId = (ubiId: string) => {\n if (window[ANALYTICS_GLOBAL_NS]) {\n if (ubiId && ubiId !== window[ANALYTICS_GLOBAL_NS].ubisoftId) {\n window[ANALYTICS_GLOBAL_NS].ubisoftId = ubiId;\n }\n }\n };\n\n private updateAnalyticalData = (data: IAnalyticsData): void => {\n if (window[ANALYTICS_GLOBAL_NS]) {\n window[ANALYTICS_GLOBAL_NS] = {\n ...window[ANALYTICS_GLOBAL_NS],\n ...data,\n };\n }\n };\n\n public sendPageEvent = (\n siteSection: string,\n pageName: string,\n siteSubSection: string\n ) => {\n this.updateAnalyticalData({\n pageName: pageName,\n siteSection: siteSection,\n siteSubSection: siteSubSection,\n });\n const websiteData: IAnalyticsData = window[ANALYTICS_GLOBAL_NS];\n\n if (!websiteData) {\n return;\n }\n\n const pageEventData = {\n country: websiteData.country,\n game: websiteData.game,\n genomeId: websiteData.genomeId,\n language: websiteData.language,\n pageName: websiteData.pageName,\n siteName: websiteData.siteName,\n siteType: websiteData.siteType,\n siteSection: websiteData.siteSection,\n siteSubSection: websiteData.siteSubSection,\n ubisoftId: websiteData.ubisoftId,\n } as IPageEventData;\n\n return this.track(ANALYTICS_EVENTS.PAGE_EVENT, pageEventData);\n };\n\n public sendAccountEvent = (\n loggedIn: boolean,\n loggedOut: boolean,\n action: string\n ) => {\n const websiteData: IAnalyticsData = window[ANALYTICS_GLOBAL_NS];\n\n if (!websiteData) {\n return;\n }\n\n const accountEventData = {\n loggedOut: `${loggedOut}`,\n loggedIn: `${loggedIn}`,\n ubisoftId: websiteData.ubisoftId,\n action: [\n websiteData.siteName,\n ANALYTICS_ACCOUNT_ATTRIBUTES.category,\n action,\n ].join(\" - \"),\n } as IAccountEventData;\n\n this.track(ANALYTICS_EVENTS.ACCOUNT_EVENT, accountEventData);\n };\n\n public sendClickEvent = (\n location: string,\n locationDetail: string,\n category: string,\n action: string\n ) => {\n const websiteData: IAnalyticsData = window[ANALYTICS_GLOBAL_NS];\n\n if (!websiteData) {\n return;\n }\n\n const clickEventData = {\n location: location,\n locationDetail: locationDetail,\n category: category,\n action: action,\n } as IClickEventData;\n\n this.track(ANALYTICS_EVENTS.CLICK_EVENT, clickEventData);\n };\n\n public sendFlowEvent = (\n flowStep: string,\n flowType: string,\n platformSelection: string,\n category: string,\n action: string,\n location: string,\n locationDetail: string,\n flowStepDetails = \"\"\n ): void => {\n this.updateAnalyticalData({\n flowStep: flowStep,\n flowStepDetails: flowStepDetails,\n flowType: flowType,\n platformSelection: platformSelection,\n });\n\n const websiteData: IAnalyticsData = window[ANALYTICS_GLOBAL_NS];\n\n if (!websiteData) {\n return;\n }\n\n const flowEvent: IFlowEventData = {\n flowStep: websiteData.flowStep,\n flowType: websiteData.flowType,\n platformSelection: websiteData.platformSelection,\n category: category,\n action: action,\n location: location,\n locationDetail: locationDetail,\n flowStepDetails: flowStepDetails,\n };\n\n this.track(ANALYTICS_EVENTS.FLOW_EVENT, flowEvent);\n };\n\n public sendChannelApplyFlowEvents = (\n mainChanelId: CHANNEL_IDS,\n channel: ChannelData[],\n channelType: ChannelType[]\n ) => {\n const primaryChannelName = channelType\n .find((channel) => channel.id === mainChanelId)!\n .name.toLocaleLowerCase();\n\n this.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.channels,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.interaction,\n ANALYTICS_FLOW_ATTRIBUTES.action.primaryChannel + primaryChannelName,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n\n channel.forEach((channel) => {\n const channelName = channelType\n .find((channelType) => channelType.id === channel.typeId)!\n .name.toLocaleLowerCase();\n\n this.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.channels,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.interaction,\n ANALYTICS_FLOW_ATTRIBUTES.action.otherChannel + channelName,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n });\n };\n\n public sendPlatformFlowEvents = (\n platforms: Platform[],\n platformSelection: string,\n flowAction: string,\n flowStep: string,\n flowType: string,\n flowLocationDetail: string,\n flowStepDetails = \"\"\n ) => {\n platforms.forEach((platform) => {\n this.sendFlowEvent(\n flowStep,\n flowType,\n platformSelection,\n ANALYTICS_FLOW_ATTRIBUTES.category.interaction,\n flowAction + platform.name.toLocaleLowerCase(),\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n flowLocationDetail,\n flowStepDetails\n );\n });\n };\n\n public sendFranchiseFlowEvents = (\n franchises: Game[],\n platformSelection: string,\n flowAction: string,\n flowStep: string,\n flowType: string,\n flowLocationDetail: string,\n flowStepDetails = \"\"\n ) => {\n franchises.forEach((game) => {\n this.sendFlowEvent(\n flowStep,\n flowType,\n platformSelection,\n ANALYTICS_FLOW_ATTRIBUTES.category.interaction,\n flowAction + game.name.toLocaleLowerCase(),\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n flowLocationDetail,\n flowStepDetails\n );\n });\n };\n\n public sendApplySuccessPageEvent(channels: string, signedIn: boolean) {\n if (signedIn) {\n this.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.appliedSuccessful,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n channels,\n ANALYTICS_FLOW_ATTRIBUTES.category.display,\n ANALYTICS_FLOW_ATTRIBUTES.action.applied,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n\n return;\n }\n\n this.sendPageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.apply,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.applicationSuccessful,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n }\n\n public sendApplySuccessSurveyEvent(channels: string, signedIn: boolean) {\n if (signedIn) {\n this.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.appliedSuccessful,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n channels,\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.fillSurvey,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n\n return;\n }\n\n this.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.applicationSuccessful,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.fillSurvey\n );\n }\n\n private bufferizeTrackingEvent = (trackingEvent: ITrackingEvent): void => {\n this.trackingEventsBuffer.push(trackingEvent);\n };\n\n private flushTrackingEventsBuffer = (): void => {\n this.trackingEventsBuffer.map((trackingEvent) =>\n this.track(trackingEvent.eventName, trackingEvent.data)\n );\n this.trackingEventsBuffer = [];\n };\n\n private track(eventName: ANALYTICS_EVENTS, data: ITrackingData): void {\n if (!this.hasUserAllowedTracking) {\n return this.bufferizeTrackingEvent({ eventName, data });\n }\n\n try {\n if (window[ANALYTICS_SDK] && isFunction(window[ANALYTICS_SDK].track)) {\n window[ANALYTICS_SDK].track(eventName, data);\n }\n } catch (err) {\n console.error(\"Analytics script failed to handle track method call\", err); // eslint-disable-line no-console\n }\n }\n\n private assignInitialData = (configData: IAnalyticsConfigData): void => {\n window[ANALYTICS_GLOBAL_NS] = {\n appId: configData.applicationId,\n brand: configData.analyticsBrand,\n game: configData.analyticsGame,\n ubisoftId: configData.ubisoftId,\n environment: configData.envName,\n genomeId: configData.genomeId,\n siteType: configData.analyticsSiteType,\n siteName: configData.analyticsSiteName,\n errorType: \"\",\n country: configData.country,\n language: configData.language,\n // Page Event values\n pageName: \"\",\n siteSubSection: \"\",\n siteSection: \"\",\n // Flow Event values\n flowType: \"\",\n flowStep: \"\",\n platformSelection: \"\",\n } as IAnalyticsData;\n };\n\n private injectAnalyticsScript = (env: ENV): void => {\n const script: HTMLScriptElement = document.createElement(\"script\");\n script.setAttribute(\"type\", \"text/javascript\");\n script.setAttribute(\"async\", \"true\");\n\n script.onload = () => {\n try {\n if (window[ANALYTICS_SDK] && isFunction(window[ANALYTICS_SDK].init)) {\n window[ANALYTICS_SDK].init(window[ANALYTICS_GLOBAL_NS]);\n }\n } catch (err) {\n console.error(\n \"Analytics script failed to handle init method call\",\n err\n ); // eslint-disable-line no-console\n }\n };\n\n script.setAttribute(\"src\", getEnvDependentAnalyticEndpoint(env));\n\n document.body.appendChild(script);\n };\n}\n\nconst analyticsService = new Analytics(false);\n\nexport default analyticsService;\n","import { ANALYTICS_SCRIPT_URL } from \"analytics/analytics-provider.constants\";\nimport { ENV } from \"domains/shared/types/env\";\n\nexport const getEnvDependentAnalyticEndpoint = (env: ENV) => {\n const envToUse = env === ENV.PROD ? ENV.PROD : ENV.UAT;\n\n return ANALYTICS_SCRIPT_URL[envToUse];\n};\n\nexport const parseLang = (lang: string): string[] | null => {\n const match = new RegExp(\"([a-z]{2})-([A-Z]{2})\").exec(lang);\n // const match = lang.match(/([a-z]{2})-([A-Z]{2})/g);\n if (!match) {\n return null;\n }\n\n return [match[1], match[2]];\n};\n","import { ACCOUNT_PROFILE_TYPES } from \"../shared/services/overlay-service/types\";\nimport { CHANNEL_IDS } from \"../../api/services/public-service\";\n\nexport const TRANSLATIONS = {\n DESCRIPTION: \"login-page__description\",\n ACCESS: \"button__access\",\n PRIVACY: \"login-page__privacy\",\n};\n\nexport const WELCOME_BANNER_KEY = \"welcome-banner_\";\n\nexport const CHANNELS_ACCOUNT: Record = {\n [CHANNEL_IDS.TWITCH]: ACCOUNT_PROFILE_TYPES.TWITCH,\n [CHANNEL_IDS.DISCORD]: ACCOUNT_PROFILE_TYPES.DISCORD,\n [CHANNEL_IDS.YOUTUBE]: ACCOUNT_PROFILE_TYPES.GOOGLE,\n};\n","import { makeAutoObservable } from \"mobx\";\n\nimport { publicApiService } from \"api\";\nimport { ubisoftOverlayService } from \"domains/shared/services/overlay-service/service\";\nimport { ubiApiService } from \"api/services/ubi-service\";\nimport {\n ACCOUNT_PROFILE_TYPES,\n AccountProfile,\n SessionTicket,\n} from \"domains/shared/services/overlay-service/types\";\nimport { RootStore } from \"init/root-store\";\nimport { signUpDataService } from \"domains/sign-up/sign-up-data.service\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { loggingService } from \"domains/shared/services/logging.service\";\nimport { CHANNELS_ACCOUNT, WELCOME_BANNER_KEY } from \"./constants\";\nimport { oAuthService } from \"api/services/oauth\";\nimport { CHANNEL_IDS } from \"../../api/services/public-service\";\n\nexport class SessionStore {\n public ticket: SessionTicket | null = null;\n public profiles: AccountProfile[] = [];\n\n public isWelcomeBannerHidden = true;\n public isLoading = true;\n\n public constructor(private readonly rootStore: RootStore) {\n makeAutoObservable(this, {}, { autoBind: true });\n }\n\n public get uPlayProfile() {\n return this.profiles.find(\n (profile) => profile.platformType === ACCOUNT_PROFILE_TYPES.UPLAY\n )?.profileId;\n }\n\n public *fetchTicket() {\n this.ticket = yield ubisoftOverlayService.getTicket();\n }\n\n public configureServices(session: SessionTicket) {\n ubiApiService.configure(session);\n publicApiService.configure(session);\n oAuthService.configure(session);\n }\n\n public hideCampaignWelcome(userId: string) {\n localStorage.setItem(WELCOME_BANNER_KEY + userId, \"true\");\n this.isWelcomeBannerHidden = true;\n }\n\n public checkWelcomeBannerState(userId: string) {\n this.isWelcomeBannerHidden =\n localStorage.getItem(WELCOME_BANNER_KEY + userId) === \"true\";\n }\n\n public *init() {\n ubisoftOverlayService.init();\n\n try {\n this.isLoading = true;\n\n yield this.fetchTicket();\n\n if (!this.ticket) {\n // noinspection ExceptionCaughtLocallyJS\n throw new Error(\"Ticket missing.\");\n }\n\n this.configureServices(this.ticket);\n analyticsService.setUbiId(this.ticket.userId);\n\n const { profile, metadata } = this.rootStore;\n\n yield Promise.all([\n metadata.fetchMetadata(),\n profile.fetchProfileData(),\n profile.fetchUserDetails(),\n this.fetchProfiles(),\n ]);\n } catch (err) {\n loggingService.error(err);\n } finally {\n this.isLoading = false;\n }\n }\n\n public clear() {\n this.isLoading = true;\n\n const { profile } = this.rootStore;\n\n signUpDataService.removeData(profile.data!.userId);\n }\n\n public *fetchProfiles() {\n const { payload } = yield ubisoftOverlayService.getProfiles();\n\n this.profiles = payload?.profiles ?? [];\n }\n\n public getAccountData(channelId: CHANNEL_IDS) {\n const account = CHANNELS_ACCOUNT[channelId];\n\n if (!account) {\n return null;\n }\n\n return this.profiles.find((it) => it.platformType === account);\n }\n}\n","import { HISTORY_REASONS, PROFILE_STATUS } from \"api/services/public-service\";\n\nexport const GROUP_IDS = {\n CONTENT_TYPE: 1,\n GAME_GENRE: 2,\n CONTENT_RATING: 4,\n};\n\nexport const MAX_TAGS = 11;\n\nexport const MAX_GROUP_TAGS_DEFAULT = 5;\n\nexport const MAX_GROUP_TAGS: Record = {\n [GROUP_IDS.CONTENT_TYPE]: 5,\n [GROUP_IDS.GAME_GENRE]: 5,\n [GROUP_IDS.CONTENT_RATING]: 1,\n};\n\nexport const getMaxGroupTags = (groupId: number): number => {\n return MAX_GROUP_TAGS[groupId] || MAX_GROUP_TAGS_DEFAULT;\n};\n\nexport const EMAIL_CALL_DELAY_HH = 24;\n// 5m\nexport const ACCOUNT_CALL_DELAY_MS = 300000;\n\nexport const SIGNUP_AVAILABLE_STATUSES = [\n PROFILE_STATUS.CREATED,\n PROFILE_STATUS.LEFT,\n PROFILE_STATUS.INVITED,\n];\n\nexport const ALLOW_REAPPLY_REASONS = [\n HISTORY_REASONS.IRRELEVANT_CONTENT,\n HISTORY_REASONS.MINIMUM_REQUIREMENTS,\n];\n\nexport const DASHBOARD_AVAILABLE_STATUSES = [\n PROFILE_STATUS.ACCEPTED,\n PROFILE_STATUS.ON_HOLD,\n PROFILE_STATUS.BAN_PENDING,\n];\n\nexport const TRANSACTION_DOWNLOAD_FILE_NAME = \"Download report\";\n","import { ChannelType, ProfileChannel } from \"api/services/public-service\";\nimport { CHANNELS_ICONS_BY_ID } from \"domains/shared/components/icon\";\nimport { ChannelDataType } from \"./types\";\nimport { CHANNELS_NAME } from \"../shared/constants/channels\";\n\nexport const linkedChannelsMapping = (\n profileChannels: ProfileChannel[],\n channelsTypes: ChannelType[]\n): ChannelDataType[] => {\n const channelsMap = profileChannels.reduce>(\n (acc, channel) => acc.set(channel.type.id, channel),\n new Map()\n );\n\n return channelsTypes.map((channelType) => {\n const data = channelsMap.get(channelType.id);\n const icon = CHANNELS_ICONS_BY_ID[channelType.id];\n const name = CHANNELS_NAME[channelType.id];\n\n return data\n ? { ...channelType, data, icon, name }\n : { ...channelType, icon, name };\n });\n};\n\nexport const getStorageKey = (userId: string) => ({\n get paymentOnboarding() {\n return `payment-onboarding-passed__${userId}`;\n },\n\n get iqLastCallDate() {\n return `iq-last-call__${userId}`;\n },\n});\n","import { makeAutoObservable } from \"mobx\";\n\nimport { ProfileStore } from \"./profile.store\";\nimport {\n DASHBOARD_AVAILABLE_STATUSES,\n SIGNUP_AVAILABLE_STATUSES,\n} from \"./constants\";\n\nexport class ProfileRestrictions {\n public constructor(private profile: ProfileStore) {\n makeAutoObservable(this, {}, { autoBind: true });\n }\n\n public get isFormRestricted() {\n const { status, canReapply } = this.profile;\n\n return !(SIGNUP_AVAILABLE_STATUSES.includes(status!) || canReapply);\n }\n\n public get isDashboardRestricted() {\n return !DASHBOARD_AVAILABLE_STATUSES.includes(this.profile.status!);\n }\n\n public get isCreatorsCodeRestricted() {\n return !this.profile.revenueSharing;\n }\n}\n","import { TagType } from \"api/services/public-service\";\n\nimport { GroupedTags } from \"../types/tags\";\n\nexport const groupTagsByGroup = (tags: TagType[]): GroupedTags =>\n tags.reduce>((acc, tag) => {\n const { id } = tag.group;\n const tags = acc.get(id);\n\n return acc.set(id, tags ? [...tags, tag] : [tag]);\n }, new Map());\n","/**\n * @param fileName is string, includes file extension\n * @param file is blob\n */\nexport function downloadFile(fileName: string, file: Blob) {\n const fileURL = URL.createObjectURL(file);\n const anchor = document.createElement(\"a\");\n\n anchor.href = fileURL;\n anchor.download = fileName;\n\n document.body.append(anchor);\n\n anchor.click();\n anchor.remove();\n\n URL.revokeObjectURL(fileURL);\n}\n","import { makeAutoObservable } from \"mobx\";\nimport dayjs from \"dayjs\";\n\nimport { ProfileStore } from \"./profile.store\";\nimport { ERROR_CODES, getErrorCode, publicApiService } from \"api\";\nimport { PaymentData, PaymentRate } from \"api/services/public-service\";\nimport {\n EMAIL_CALL_DELAY_HH,\n TRANSACTION_DOWNLOAD_FILE_NAME,\n ACCOUNT_CALL_DELAY_MS,\n} from \"./constants\";\nimport { getTimeDifference } from \"domains/shared/utils/dates\";\nimport { getStorageKey } from \"./utils\";\nimport { NOTIFICATION_LVL4, notificationsService } from \"../notifications\";\nimport { ErrorConfig } from \"api/types\";\nimport { downloadFile } from \"../shared/utils/file\";\n\nexport class PaymentDetails {\n public lastAccountCallDate: string | null = null;\n public rates: PaymentRate[] = [];\n\n public isDataLoading = false;\n\n private data: PaymentData | null = null;\n\n public constructor(private profile: ProfileStore) {\n makeAutoObservable(this, {}, { autoBind: true });\n }\n\n public get transactions() {\n return this.data?.stats;\n }\n\n public get isPayable() {\n return Boolean(this.data?.isPayable);\n }\n\n public get isInitialized() {\n return Boolean(this.data);\n }\n\n public get isOnboardingPassed() {\n return (\n this.profile.userId &&\n localStorage.getItem(\n getStorageKey(this.profile.userId).paymentOnboarding\n ) === String(true)\n );\n }\n\n public get remainingAccountCallTime() {\n if (!this.lastAccountCallDate) {\n return 0;\n }\n\n const timeRemains =\n getTimeDifference(this.lastAccountCallDate) + ACCOUNT_CALL_DELAY_MS;\n\n return Math.max(timeRemains, 0);\n }\n\n public get isAccountCallAvailable() {\n return !this.remainingAccountCallTime && !this.isAccountActive;\n }\n\n public get isAccountActive() {\n return Boolean(this.data?.creatorIQId);\n }\n\n public get isEmailRequestDatePassed() {\n return (\n !this.data?.emailSentAt ||\n dayjs\n .utc()\n .isAfter(dayjs(this.data.emailSentAt).add(EMAIL_CALL_DELAY_HH, \"hour\"))\n );\n }\n\n public *init() {\n try {\n this.isDataLoading = !this.data;\n\n yield Promise.all([this.fetchPaymentRates(), this.fetchPaymentData()]);\n } finally {\n this.isDataLoading = false;\n }\n }\n\n public *createCreatorIQProfile() {\n try {\n ({ data: this.data } = yield publicApiService.createCreatorIQ());\n notificationsService.showLevel4(\n NOTIFICATION_LVL4.ACCOUNT_REQUEST_SUCCESS\n );\n } catch {\n notificationsService.showError(NOTIFICATION_LVL4.ACCOUNT_REQUEST_ERROR);\n this.saveLastAccountCallDate();\n }\n }\n\n public *sendPaymentEmail() {\n try {\n ({ data: this.data } = yield publicApiService.sendPaymentEmail());\n notificationsService.showLevel4(NOTIFICATION_LVL4.EMAIL_REQUEST_SUCCESS);\n } catch {\n notificationsService.showError(NOTIFICATION_LVL4.EMAIL_REQUEST_ERROR);\n }\n }\n\n public *fetchPaymentRates() {\n try {\n ({\n data: { rates: this.rates },\n } = yield publicApiService.fetchPaymentRates());\n } catch {\n this.rates = [];\n }\n }\n\n public *fetchPaymentData() {\n try {\n ({ data: this.data } = yield publicApiService.fetchPaymentData());\n } catch (err) {\n const code = getErrorCode(err as ErrorConfig);\n\n if (code === ERROR_CODES.ERROR_CODE_CREATOR_IQ_PROFILE_NOT_FOUND) {\n this.resetData();\n } else {\n this.data = null;\n }\n } finally {\n this.setLasAccountCallDateFromStorage();\n }\n }\n\n public confirmOnboarding() {\n if (!this.profile.userId) {\n return;\n }\n\n localStorage.setItem(\n getStorageKey(this.profile.userId).paymentOnboarding,\n String(true)\n );\n }\n\n public resetData() {\n this.data = {\n creatorIQId: null,\n emailSentAt: null,\n isPayable: null,\n notPayableReason: null,\n payableStatusUpdatedAt: null,\n stats: null,\n };\n }\n\n public *downloadTransactions() {\n try {\n const { data } = yield publicApiService.fetchCreatorTransactions();\n\n downloadFile(TRANSACTION_DOWNLOAD_FILE_NAME, data);\n } catch {\n notificationsService.showError(NOTIFICATION_LVL4.DEFAULT_ERROR);\n }\n }\n\n private saveLastAccountCallDate() {\n if (!this.profile.userId) {\n return;\n }\n\n const date = dayjs().toString();\n\n localStorage.setItem(\n getStorageKey(this.profile.userId).iqLastCallDate,\n date\n );\n this.lastAccountCallDate = date;\n }\n\n private setLasAccountCallDateFromStorage() {\n if (!this.profile.userId) {\n return;\n }\n\n this.lastAccountCallDate = localStorage.getItem(\n getStorageKey(this.profile.userId).iqLastCallDate\n );\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { DialogProps as RcDialogProps } from \"rc-dialog\";\nimport { ComponentType } from \"react\";\n\nexport enum DialogActionsType {\n CANCEL,\n SUBMIT,\n CLOSE,\n}\n\nexport type DialogProps = {\n onCancel: () => void;\n onClose: () => void;\n onSubmit: (payload?: any) => void;\n afterUnmount?: () => void;\n} & RcDialogProps;\n\nexport type DialogType = {\n id: string;\n component: ComponentType;\n props?: T;\n};\n","import { makeAutoObservable } from \"mobx\";\n\nimport { publicApiService } from \"api\";\nimport {\n CHANNEL_IDS,\n ChannelData,\n ChannelSwapData,\n CodeDetails,\n Game,\n GAMES,\n PROFILE_STATUS,\n ProfileData,\n} from \"api/services/public-service\";\nimport { ubiApiService } from \"api/services/ubi-service\";\nimport { ALLOW_REAPPLY_REASONS } from \"./constants\";\nimport { linkedChannelsMapping } from \"./utils\";\nimport { RootStore } from \"init/root-store\";\nimport { ProfileRestrictions } from \"./profile.restrictions\";\nimport { UserDetailInfo } from \"api/services/ubi-service/types\";\nimport { groupTagsByGroup } from \"domains/shared/utils/tags\";\nimport { GroupedTags } from \"domains/shared/types/tags\";\nimport { ChannelDataType } from \"./types\";\nimport { PROGRAM_TYPE } from \"../programs/types\";\nimport { ACCOUNT_PROFILE_TYPES } from \"domains/shared/services/overlay-service/types\";\nimport { PaymentDetails } from \"./payment-details\";\nimport {\n OAUTH_CHANNEL_PROVIDER,\n UBI_ACCOUNT_CHANNELS,\n} from \"domains/shared/constants/channels\";\nimport { oAuthService } from \"api/services/oauth\";\n\nexport class ProfileStore {\n public data: ProfileData | null = null;\n public userDetails: UserDetailInfo | null = null;\n public restrictions = new ProfileRestrictions(this);\n public paymentDetails = new PaymentDetails(this);\n\n public isChannelsLoading = false;\n\n public constructor(private readonly rootStore: RootStore) {\n makeAutoObservable(this, {}, { autoBind: true });\n }\n\n public get isCodeActive(): boolean {\n return (\n !!this.revenueSharing &&\n !this.revenueSharing.isInactive &&\n this.revenueSharing.codeSentToEcom\n );\n }\n\n public get userId() {\n return this.data?.userId;\n }\n\n public get revenueSharing(): CodeDetails | null {\n return this.data?.revenueSharing ?? null;\n }\n\n public get rcProgram() {\n return this.data?.brandPrograms.find(\n (program) => program.id === PROGRAM_TYPE.RC\n );\n }\n\n public get referralId() {\n return this.data?.referral?.brandProgramId;\n }\n\n public get tagsGroups(): GroupedTags {\n return this.data?.tags ? groupTagsByGroup(this.data.tags) : new Map();\n }\n\n public get primaryChannelId() {\n return this.primaryChannel?.data?.type.id;\n }\n\n // Works only with Twitch and YouTube\n public get isPrimaryChannelInvalid() {\n const { session } = this.rootStore;\n\n if (!this.primaryChannel?.data) {\n return false;\n }\n\n const { profileId, type } = this.primaryChannel.data;\n const isContentChannel = [CHANNEL_IDS.YOUTUBE, CHANNEL_IDS.TWITCH].includes(\n type.id\n );\n\n if (!this.changedUbiAccounts || !isContentChannel) {\n return false;\n }\n\n const activeProfile = session.profiles.find(\n (profile) => profile.profileId === profileId\n );\n\n return !activeProfile;\n }\n\n public get isSoftRejected() {\n if (!this.data?.lastHistoryEntry?.reason) {\n return false;\n }\n\n return (\n ALLOW_REAPPLY_REASONS.includes(this.data.lastHistoryEntry.reason.id) &&\n this.status === PROFILE_STATUS.REJECTED\n );\n }\n\n public get canReapply() {\n return this.isSoftRejected && this.data?.lastHistoryEntry?.canReapply;\n }\n\n public get ubiAccountProfiles() {\n return (\n this.data?.channels.filter((channel) =>\n UBI_ACCOUNT_CHANNELS.includes(channel.type.id)\n ) ?? []\n );\n }\n\n public get changedUbiAccounts() {\n const { session } = this.rootStore;\n\n if (this.data?.status.id === PROFILE_STATUS.ON_HOLD) {\n return [];\n }\n\n return this.ubiAccountProfiles.filter(\n (channel) =>\n !session.profiles.find(\n (profile) => profile.profileId === channel.profileId\n )\n );\n }\n\n public get isYouTubeLinked() {\n return this.data?.channels.find(\n (profile) => profile.type.ubiProfileType === ACCOUNT_PROFILE_TYPES.GOOGLE\n );\n }\n\n public get status() {\n return this.data?.status.id;\n }\n\n public get isFirstConnectionFlowCompleted() {\n return this.data?.termsAccepted && this.data?.onboardingCompleted;\n }\n\n public get profilePlatforms() {\n return (\n this.data?.platforms?.map((platform) => platform.name).join(\", \") ?? \"\"\n );\n }\n\n public get primaryChannel() {\n return this.contentChannels.find((channel) => channel.data?.isMain) ?? null;\n }\n\n public get discord(): ChannelDataType | null {\n return (\n this.contactChannels.find(\n (change) => change.id === CHANNEL_IDS.DISCORD && change.data\n ) ?? null\n );\n }\n\n public get contactChannels(): ChannelDataType[] {\n const { metadata } = this.rootStore;\n\n if (!this.data?.channels?.length) {\n return [];\n }\n\n return linkedChannelsMapping(this.data.channels, metadata.contactChannels);\n }\n\n public get activeContentChannels(): ChannelDataType[] {\n return this.contentChannels.filter((channel) => !!channel.data);\n }\n\n public get contentChannels(): ChannelDataType[] {\n const { metadata } = this.rootStore;\n\n if (!this.data?.channels?.length) {\n return [];\n }\n\n return linkedChannelsMapping(this.data.channels, metadata.contentChannels);\n }\n\n public *addChannel(channel: ChannelData) {\n yield publicApiService.addChannel(channel);\n yield this.fetchProfileData();\n }\n\n public *deleteChannel(channelID: number) {\n const oauthProvider = OAUTH_CHANNEL_PROVIDER[channelID];\n\n if (oauthProvider) {\n yield oAuthService.removeUserConsent(oauthProvider);\n }\n\n yield publicApiService.deleteChannel(String(channelID));\n yield this.fetchProfileData();\n }\n\n public *swapPrimaryChannel(channelId: CHANNEL_IDS, data: ChannelSwapData) {\n try {\n this.isChannelsLoading = true;\n\n yield publicApiService.setMainChannel(channelId, data);\n yield this.fetchProfileData();\n } finally {\n this.isChannelsLoading = false;\n }\n }\n\n public *fetchProfileData() {\n ({ data: this.data } = yield publicApiService.fetchCreatorProfile());\n }\n\n public *leaveProgram(data: { reasonId: number; details: string }) {\n yield publicApiService.leaveProgram(data);\n yield this.fetchProfileData();\n }\n\n public *fetchUserDetails() {\n ({ data: this.userDetails } = yield ubiApiService.fetchUserInfo());\n }\n\n public *joinBrandProgram(id: number) {\n yield publicApiService.joinBrandProgram(id);\n yield this.fetchProfileData();\n }\n\n public *leaveBrandProgram(id: number) {\n yield publicApiService.leaveBrandProgram(id);\n yield this.fetchProfileData();\n }\n\n public *updateTags(tags: number[]) {\n yield publicApiService.updateTags(tags);\n yield this.fetchProfileData();\n }\n\n public updateProfileData(data: ProfileData) {\n this.data = data;\n }\n\n public *updateContactInfo(languageId: number, secondaryEmail: string | null) {\n yield publicApiService.updateContactInfo(languageId, secondaryEmail);\n yield this.fetchProfileData();\n }\n\n public get profileGames(): Game[] {\n return this.data?.games.filter((game) => game.id !== GAMES.XDEFIANT) ?? [];\n }\n}\n","import { BrandProgram } from \"api/services/public-service\";\n\nexport const sortProgramsByID = (a: BrandProgram, b: BrandProgram) =>\n b.id - a.id;\n","import { makeAutoObservable } from \"mobx\";\n\nimport {\n CHANNEL_IDS,\n Country,\n GAME_PLATFORMS,\n GAMES,\n MetadataGames,\n MetadataResponse,\n publicApiService,\n} from \"api/services/public-service\";\nimport { groupTagsByGroup } from \"../utils/tags\";\nimport { GroupedTags } from \"../types/tags\";\nimport { sortProgramsByID } from \"../utils/programs\";\nimport { PROGRAM_TYPE } from \"../../programs/types\";\n\nexport class MetadataStore {\n public data: MetadataResponse = {\n tags: [],\n countries: [],\n channelTypes: [],\n gameCategories: [],\n platforms: [],\n languages: [],\n leaveReasons: [],\n brandPrograms: [],\n regions: [],\n };\n\n public constructor() {\n makeAutoObservable(this, {}, { autoBind: true });\n }\n\n public get contentChannels() {\n return this.data.channelTypes.filter(\n (channel) => channel.id !== CHANNEL_IDS.DISCORD\n );\n }\n\n public get contactChannels() {\n return this.data.channelTypes.filter(\n (channel) => channel.id === CHANNEL_IDS.DISCORD\n );\n }\n\n public get availablePlatforms() {\n return this.data.platforms.filter(\n (platform) =>\n !platform.legacy && platform.id !== GAME_PLATFORMS.CROSS_PLATFORM\n );\n }\n\n public get groupedCountries() {\n return this.data.regions.reduce>(\n (acc, region) => acc.set(region.id, [...region.countries]),\n new Map()\n );\n }\n\n public get classicPrograms() {\n return this.data.brandPrograms\n .filter((program) => !program.isSpecialEvent)\n .filter((program) => program.id !== PROGRAM_TYPE.XDefiant)\n .sort(sortProgramsByID);\n }\n\n public get specialProgram() {\n return this.data.brandPrograms.find((program) => program.isSpecialEvent);\n }\n\n public get groupedTags(): GroupedTags {\n return this.data?.tags ? groupTagsByGroup(this.data.tags) : new Map();\n }\n\n public get games(): MetadataGames[] {\n //Remove XDefined\n return this.data.gameCategories\n .reduce(\n (acc, category) => [...acc, ...category.games],\n []\n )\n .filter((game) => game.id !== GAMES.XDEFIANT);\n }\n\n public get gamesMDMIds(): number[] {\n return this.games.map((game) => game.mdmId);\n }\n\n public *fetchMetadata() {\n const { data } = yield publicApiService.fetchMetadata();\n\n this.data = data;\n }\n}\n","import { createBrowserHistory } from \"history\";\n\nimport { LocationState } from \"./types\";\n\nexport const appHistory = createBrowserHistory();\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ComponentType } from \"react\";\nimport { makeAutoObservable } from \"mobx\";\nimport { uniqueId } from \"lodash\";\n\nimport { appHistory } from \"navigation/app-history\";\nimport { DialogActionsType, DialogType } from \"./types\";\n\nexport class DialogsStore {\n public list: DialogType[] = [];\n\n private results: Array<{\n resolve: (data: any) => void;\n reject: (data: any) => void;\n }> = [];\n\n public constructor() {\n makeAutoObservable(this, {}, { autoBind: true });\n appHistory.listen(() => this.closeDialogs());\n }\n\n public openDialog(\n component: ComponentType,\n props?: Partial\n ) {\n this.list.push({\n id: uniqueId(),\n component,\n props,\n });\n\n return new Promise<{ action: DialogActionsType; payload: P }>(\n (resolve, reject) => this.results.push({ resolve, reject })\n );\n }\n\n public closeDialog(action = DialogActionsType.CLOSE, payload?: any) {\n const promise = this.results.pop();\n const result = { action, payload };\n\n switch (action) {\n case DialogActionsType.SUBMIT:\n promise?.resolve(result);\n break;\n case DialogActionsType.CANCEL:\n promise?.reject(result);\n break;\n }\n\n this.list.pop();\n }\n\n public closeDialogs() {\n this.list.length = 0;\n this.results.length = 0;\n }\n}\n","export type SortedInvitations = {\n active: SortedInvitation[];\n available: SortedInvitation[];\n past: SortedInvitation[];\n};\n\nexport enum INVITATION_TYPE {\n ACTIVE = \"active\",\n ENDED = \"ended\",\n AVAILABLE = \"available\",\n}\n\nexport type SortedInvitation = {\n sortedType: INVITATION_TYPE | null;\n} & T;\n","export const blockedCountries = [\"RU\", \"BY\"];\n","import { makeAutoObservable } from \"mobx\";\n\nimport { ubiApiService } from \"api/services/ubi-service\";\nimport { IpLocation } from \"api/services/ubi-service/types\";\nimport { blockedCountries } from \"./utils\";\n\nexport class IPLocationStore {\n public data: IpLocation | null = null;\n\n public isLoading = true;\n\n public constructor() {\n makeAutoObservable(this, {}, { autoBind: true });\n }\n\n public get isCountryBlocked() {\n return (\n this.data?.countryCode &&\n blockedCountries.includes(this.data?.countryCode)\n );\n }\n\n public *fetchIpLocation() {\n try {\n const { data: location } = yield ubiApiService.fetchIpLocation();\n\n this.data = { ...location };\n } finally {\n this.isLoading = false;\n }\n }\n}\n","import { NOTIFICATION_TYPE } from \"api/services/public-service\";\n\nexport const NOTIFICATION_TIMER = 300000;\n\nexport const NOTIFICATION_CENTER_ITEMS = [\n NOTIFICATION_TYPE.REGISTRATION_CLOSED_DATE_REMINDER,\n NOTIFICATION_TYPE.EMBARGO_DATE_REACHED,\n NOTIFICATION_TYPE.CAMPAIGN_INVITATION,\n NOTIFICATION_TYPE.BENEFIT_AVAILABLE,\n NOTIFICATION_TYPE.REVENUE_SHARE_AVAILABLE,\n NOTIFICATION_TYPE.REVENUE_SHARE_INVITATION,\n NOTIFICATION_TYPE.SURVEY_CAMPAIGN_DECLINE,\n NOTIFICATION_TYPE.SURVEY_CAMPAIGN_VALIDATION,\n NOTIFICATION_TYPE.SURVEY_CAMPAIGN_DECLINE,\n NOTIFICATION_TYPE.SURVEY_NO_EVENT,\n NOTIFICATION_TYPE.CAMPAIGN_LIMITS,\n];\n","import { makeAutoObservable } from \"mobx\";\nimport dayjs from \"dayjs\";\n\nimport { Notification } from \"api/services/public-service/types\";\nimport { NOTIFICATION_CENTER_ITEMS, NOTIFICATION_TIMER } from \"./constants\";\nimport { publicApiService } from \"api/services/public-service/service\";\n\nimport { notificationsService } from \"domains/notifications\";\nimport { NOTIFICATIONS_LVL2 } from \"domains/notifications/constants\";\n\nexport class NotificationsStore {\n public notifications: Notification[] = [];\n public intervalId: ReturnType | null = null;\n public isLoading = false;\n\n private lastRequestTimestamp: string | undefined = undefined;\n\n public constructor() {\n makeAutoObservable(this, {}, { autoBind: true });\n }\n\n public get dates() {\n return [...this.sortedNotificationsByDate.keys()];\n }\n\n public get unreadNotifications(): Notification[] {\n return this.notifications.filter((notifications) => !notifications.isRead);\n }\n\n public get sortedNotificationsByDate() {\n return this.notifications\n .slice()\n .sort(\n (a, b) =>\n new Date(b.createdDate).getTime() - new Date(a.createdDate).getTime()\n )\n .reduce>((acc, notification) => {\n if (\n !NOTIFICATION_CENTER_ITEMS.includes(notification.notificationTypeId)\n ) {\n return acc;\n }\n\n const day = dayjs(notification.createdDate).endOf(\"day\").toString();\n const notifications = acc.get(day);\n\n return acc.set(\n day,\n notifications ? [...notifications, notification] : [notification]\n );\n }, new Map());\n }\n\n public init() {\n this.fetch();\n this.startNotify();\n }\n\n public startNotify() {\n this.intervalId = setInterval(() => {\n this.fetch(this.lastRequestTimestamp);\n }, NOTIFICATION_TIMER);\n }\n\n public stopNotify() {\n if (!this.intervalId) {\n return;\n }\n\n clearInterval(this.intervalId);\n this.intervalId = null;\n }\n\n public showNotifications(notifications: Notification[]) {\n for (const notification of notifications) {\n const { id, notificationTypeId, config } = notification;\n\n if (!NOTIFICATIONS_LVL2.includes(notificationTypeId)) {\n return;\n }\n\n notificationsService.showLevel2({\n notificationType: notificationTypeId,\n config,\n onClick: () => this.markNotificationAsRead(id),\n });\n }\n }\n\n public updateRequestMoment(\n lastRequestTimestamp: string = dayjs.utc().toISOString()\n ) {\n this.lastRequestTimestamp = lastRequestTimestamp;\n }\n\n public *fetch(timestamp?: string) {\n const { data } = yield publicApiService.fetchNotifications(timestamp);\n\n this.notifications = timestamp\n ? [...this.notifications, ...data.notifications]\n : data.notifications;\n\n const unreadNotifications = data.notifications.filter(\n (n: Notification) => !n.isRead\n );\n\n this.showNotifications(unreadNotifications);\n this.updateRequestMoment();\n }\n\n public *markNotificationAsRead(id: number) {\n yield publicApiService.markNotificationAsRead([id]);\n\n this.notifications = this.notifications.map((notification) => ({\n ...notification,\n isRead: notification.id === id || notification.isRead,\n }));\n }\n\n public *markUnreadNotificationsAsRead() {\n const notificationIds = this.unreadNotifications.map(\n (notification) => notification.id\n );\n\n if (notificationIds.length) {\n yield publicApiService.markNotificationAsRead(notificationIds);\n yield this.fetch();\n }\n }\n\n public *deleteNotification(id: number) {\n yield publicApiService.deleteNotification(id);\n\n this.notifications = this.notifications.filter((it) => it.id !== id);\n }\n\n public *deleteAllNotifications() {\n try {\n this.isLoading = true;\n\n yield publicApiService.deleteAllNotifications();\n\n this.notifications = [];\n } finally {\n this.isLoading = false;\n }\n }\n}\n","import {\n InvitationPreview,\n INVITATION_STATUS,\n PUBLICATION_STATUS,\n Invitation,\n} from \"api/services/public-service\";\nimport { getTimeDifference } from \"domains/shared/utils/dates\";\nimport { INVITATION_TYPE, SortedInvitations } from \"./types\";\n\nexport const isInvitationTypeAvailable = (\n invitation: Invitation | InvitationPreview\n) => {\n return (\n invitation.status.id === INVITATION_STATUS.SENT &&\n invitation.publicationStatus.id !== PUBLICATION_STATUS.CANCELLED &&\n getTimeDifference(invitation.registrationClosingDate, \"minute\") > 0\n );\n};\n\nexport const isInvitationTypeActive = (\n invitation: Invitation | InvitationPreview\n) => {\n return (\n invitation.status.id === INVITATION_STATUS.ACCEPTED &&\n invitation.publicationStatus.id !== PUBLICATION_STATUS.CANCELLED &&\n getTimeDifference(invitation.endDate, \"minute\") > 0\n );\n};\n\nexport const isInvitationTypeEnded = (\n invitation: Invitation | InvitationPreview\n) => {\n return (\n invitation.status.id === INVITATION_STATUS.ACCEPTED &&\n invitation.publicationStatus.id !== PUBLICATION_STATUS.CANCELLED &&\n getTimeDifference(invitation.endDate, \"minute\") <= 0\n );\n};\n\nexport const isInvitationTypeRejected = (\n invitation: Invitation | InvitationPreview\n) => {\n return (\n invitation.status.id === INVITATION_STATUS.REJECTED &&\n invitation.publicationStatus.id !== PUBLICATION_STATUS.CANCELLED\n );\n};\n\nexport const getInvitationType = (\n invitation: T\n) => {\n switch (true) {\n case isInvitationTypeActive(invitation):\n return INVITATION_TYPE.ACTIVE;\n case isInvitationTypeAvailable(invitation):\n return INVITATION_TYPE.AVAILABLE;\n case isInvitationTypeEnded(invitation) ||\n isInvitationTypeRejected(invitation):\n return INVITATION_TYPE.ENDED;\n default:\n return null;\n }\n};\n\nexport const sortInvitationPreviewByType = (invitations: InvitationPreview[]) =>\n invitations.reduce>(\n (acc, invitation) => {\n switch (getInvitationType(invitation)) {\n case INVITATION_TYPE.ACTIVE:\n acc.active.push({\n ...invitation,\n sortedType: INVITATION_TYPE.ACTIVE,\n });\n break;\n\n case INVITATION_TYPE.AVAILABLE:\n acc.available.push({\n ...invitation,\n sortedType: INVITATION_TYPE.AVAILABLE,\n });\n break;\n\n case INVITATION_TYPE.ENDED:\n acc.past.push({\n ...invitation,\n sortedType: INVITATION_TYPE.ENDED,\n });\n break;\n\n default:\n acc.active.push({\n ...invitation,\n sortedType: INVITATION_TYPE.ACTIVE,\n });\n }\n\n return acc;\n },\n {\n active: [],\n available: [],\n past: [],\n }\n );\n","import i18n from \"i18n\";\nimport { makeAutoObservable } from \"mobx\";\n\nimport { publicApiService } from \"api\";\nimport { sortInvitationPreviewByType } from \"./utils\";\nimport { SortedInvitation, SortedInvitations } from \"./types\";\nimport { GameRelease, InvitationPreview } from \"api/services/public-service\";\nimport { ubiApiService } from \"api/services/ubi-service\";\nimport { FALLBACK_LNG } from \"i18n/languages\";\nimport { RootStore } from \"init/root-store\";\n\nexport class CampaignsStore {\n public invitations: InvitationPreview[] | null = null;\n public gameReleases: GameRelease[] | null = null;\n\n public constructor(private rootStore: RootStore) {\n makeAutoObservable(this, {}, { autoBind: true });\n }\n\n public get isGameReleasesInitialized() {\n return !!this.gameReleases;\n }\n\n public get isInvitationsInitialized() {\n return !!this.invitations;\n }\n\n public get sortedInvitations(): SortedInvitations {\n return this.invitations\n ? sortInvitationPreviewByType(this.invitations)\n : {\n active: [],\n available: [],\n past: [],\n };\n }\n\n public get agendaInvitations(): SortedInvitation[] {\n return [\n ...this.sortedInvitations.active,\n ...this.sortedInvitations.available,\n ];\n }\n\n public *fetchGameRelease() {\n try {\n const { metadata } = this.rootStore;\n\n this.gameReleases = yield ubiApiService.fetchGameReleases(\n i18n.language.toLowerCase(),\n FALLBACK_LNG.toLowerCase(),\n metadata.gamesMDMIds\n );\n } catch {\n this.gameReleases = null;\n }\n }\n\n public *fetchInvitations(): unknown {\n try {\n const { data } = yield publicApiService.fetchInvitations();\n\n this.invitations = data.results;\n } catch {\n this.invitations = null;\n }\n }\n}\n","import { makeAutoObservable } from \"mobx\";\nimport i18n from \"i18next\";\n\nimport { News } from \"api/services/ubi-service/types\";\nimport { ubiApiService } from \"api/services/ubi-service\";\nimport { RootStore } from \"init/root-store\";\nimport { NewsMap } from \"./types\";\nimport { LATEST_NEWS_COUNT, MAX_HIGHLIGHT_NEWS } from \"./constants\";\nimport {\n MAIN_NEWS_PLACEMENT,\n HIGHLIGHTS_NEWS_PLACEMENT,\n LATEST_NEWS_PLACEMENT,\n NEWS_DETAILS_PLACEMENT,\n BRAND_PROGRAM_PLACEMENT,\n} from \"domains/shared/constants/news\";\n\nexport class NewsStore {\n public news: News[] | null = null;\n public selectedTags: Array = [];\n public latestNewsLimit = LATEST_NEWS_COUNT;\n\n public constructor(private rootStore: RootStore) {\n makeAutoObservable(this, {}, { autoBind: true });\n }\n\n public get isNewsInitialized() {\n return Boolean(this.news);\n }\n\n private get filteredLatestNews(): News[] {\n return this.selectedTags.length\n ? this.newsMap.latestNews.filter((article) =>\n article.tags.some((tag) => this.selectedTags.includes(tag.name))\n )\n : this.newsMap.latestNews;\n }\n\n public get newsMap() {\n if (!this.news) {\n return {\n mainNews: [],\n highlights: [],\n latestNews: [],\n };\n }\n\n return this.news.reduce(\n (acc, article) => {\n const placements = article.placements.map(\n (placement) => placement.name\n );\n\n if (placements.includes(MAIN_NEWS_PLACEMENT)) {\n acc = { ...acc, mainNews: [...acc.mainNews, article] };\n }\n\n if (placements.includes(HIGHLIGHTS_NEWS_PLACEMENT)) {\n acc = { ...acc, highlights: [...acc.highlights, article] };\n }\n\n if (placements.includes(LATEST_NEWS_PLACEMENT)) {\n acc = { ...acc, latestNews: [...acc.latestNews, article] };\n }\n\n return acc;\n },\n {\n mainNews: [],\n highlights: [],\n latestNews: [],\n }\n );\n }\n\n public get isPossibleToShowMore() {\n return this.visibleLatestNews.length < this.filteredLatestNews.length;\n }\n\n public get mainNews(): News | undefined {\n return this.newsMap.mainNews[0];\n }\n\n public get highlights(): News[] {\n return this.newsMap.highlights.splice(0, MAX_HIGHLIGHT_NEWS);\n }\n\n public get visibleLatestNews(): News[] {\n return this.filteredLatestNews.slice(0, this.latestNewsLimit);\n }\n\n private get latestNewsTags() {\n const uniqTags = new Set(\n this.newsMap.latestNews\n .map((article) => article.tags.map((tag) => tag.name.trim()))\n .flat()\n );\n\n return [...uniqTags];\n }\n\n public get tagsSearchOptions() {\n return this.latestNewsTags.map((tagName) => ({\n id: tagName,\n name: tagName,\n }));\n }\n\n public setSelectedTag(tags: string[]) {\n this.latestNewsLimit = LATEST_NEWS_COUNT;\n this.selectedTags = tags;\n }\n\n public *fetchNews() {\n const { session, ipLocation } = this.rootStore;\n\n if (!session.uPlayProfile) {\n return;\n }\n\n try {\n const { data } = yield ubiApiService.fetchNews({\n profileId: session.uPlayProfile,\n localeCode: i18n.language,\n countryCode: ipLocation.data?.countryCode || \"\",\n placements: [\n MAIN_NEWS_PLACEMENT,\n HIGHLIGHTS_NEWS_PLACEMENT,\n LATEST_NEWS_PLACEMENT,\n NEWS_DETAILS_PLACEMENT,\n BRAND_PROGRAM_PLACEMENT,\n ],\n });\n\n this.news = data.news;\n } catch {\n this.news = null;\n }\n }\n\n public showMoreLatestNews() {\n this.latestNewsLimit = Math.min(\n this.latestNewsLimit + LATEST_NEWS_COUNT,\n this.newsMap.latestNews.length\n );\n }\n\n public getArticle(id: string) {\n if (!this.news) {\n return null;\n }\n\n return this.news.find((article) => article.newsId === id);\n }\n}\n","export const TRANSLATIONS = {\n TITLE: \"news__title\",\n BACK: \"news__back\",\n HIGHLIGHTS_TITLE: \"news__highlights__title\",\n LATEST_NEWS_TITLE: \"news__latest-news__title\",\n};\n\nexport const MAX_HIGHLIGHT_NEWS = 3;\nexport const LATEST_NEWS_COUNT = 10;\nexport const MAX_BRAND_PROGRAM_NEWS = 3;\n","import { createContext, useContext } from \"react\";\nimport { configure } from \"mobx\";\n\nimport { SignUpStore } from \"domains/sign-up/store/sign-up.store\";\nimport { SessionStore } from \"domains/login/session.store\";\nimport { ProfileStore } from \"domains/profile/profile.store\";\nimport { MetadataStore } from \"domains/shared/stores/metadata.store\";\nimport { DialogsStore } from \"domains/dialogs/dialogs.store\";\nimport { IPLocationStore } from \"domains/shared/stores/iplocation.store\";\nimport { NotificationsStore } from \"domains/dashboard/notifications-center/store/notifications.store\";\nimport { CampaignsStore } from \"domains/dashboard/campaigns/store/campaigns.store\";\nimport { NewsStore } from \"../domains/dashboard/news/store/news.store\";\n\nconfigure({\n enforceActions: \"observed\",\n safeDescriptors: false,\n});\n\nexport class RootStore {\n public signup = new SignUpStore(this);\n public session = new SessionStore(this);\n public profile = new ProfileStore(this);\n public dialogs = new DialogsStore();\n public metadata = new MetadataStore();\n public ipLocation = new IPLocationStore();\n public notifications = new NotificationsStore();\n public campaigns = new CampaignsStore(this);\n public news = new NewsStore(this);\n}\n\nexport const rootStore = new RootStore();\nexport const StoreContext = createContext(rootStore);\nexport const useRootStore = () => useContext(StoreContext);\n","export enum BREADCRUMB_STATE {\n ACTIVE,\n VALID,\n DISABLED,\n}\n","import styled from \"styled-components\";\n\nimport { Icon } from \"domains/shared/components/icon\";\n\nexport const IconWrapper = styled.div`\n text-align: center;\n\n margin-bottom: 2rem;\n`;\n\nexport const WarningIcon = styled(Icon)`\n font-size: 6rem;\n color: var(--color-feedback-warning);\n`;\n\nexport const Title = styled.h2`\n font: var(--font-title-bold);\n color: var(--color-feedback-warning);\n text-align: center;\n\n margin-bottom: 1.6rem;\n`;\n\nexport const Details = styled.div`\n font: var(--font-body);\n\n strong {\n display: block;\n }\n\n p:not(:last-child) {\n margin-bottom: 2rem;\n }\n`;\n","import styled, { createGlobalStyle, css, keyframes } from \"styled-components\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { Button } from \"domains/shared/components/button\";\nimport { Icon } from \"domains/shared/components/icon\";\n\nconst FadeEffect = css`\n animation-duration: 0.3s;\n animation-fill-mode: both;\n animation-play-state: paused;\n`;\n\nconst ZoomEffect = css`\n animation-duration: 0.3s;\n animation-fill-mode: both;\n animation-play-state: paused;\n`;\n\nconst RcDialogZoomIn = keyframes`\n 0% {\n opacity: 0;\n transform: scale(0, 0);\n }\n 100% {\n opacity: 1;\n transform: scale(1, 1);\n }\n`;\n\nconst RcDialogZoomOut = keyframes`\n 0% {\n transform: scale(1, 1);\n }\n 100% {\n opacity: 0;\n transform: scale(0, 0);\n }\n`;\n\nconst RcDialogFadeIn = keyframes`\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n`;\n\nconst RcDialogFadeOut = keyframes`\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n }\n`;\n\nexport const DialogGlobalStyles = createGlobalStyle`\n .rc-dialog-root {\n overscroll-behavior: contain;\n }\n \n .rc-dialog-wrap {\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 99;\n\n display: flex;\n }\n\n .rc-dialog-mask {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n background-color: var(--color-background-glass-3);\n\n z-index: 99;\n\n &-hidden {\n display: none;\n }\n }\n\n .rc-dialog {\n display: flex;\n align-items: center;\n justify-content: center;\n\n position: relative;\n\n margin: auto;\n\n &-fade-enter,\n &-fade-appear {\n ${FadeEffect};\n\n opacity: 0;\n }\n\n &-fade-leave {\n ${FadeEffect};\n }\n\n &-fade-enter.rc-dialog-fade-enter-active,\n &-fade-appear.rc-dialog-fade-appear-active {\n animation-name: ${RcDialogFadeIn};\n animation-play-state: running;\n }\n\n &-fade-leave.rc-dialog-fade-leave-active {\n animation-name: ${RcDialogFadeOut};\n animation-play-state: running;\n }\n\n &-zoom-enter,\n &-zoom-appear {\n ${ZoomEffect};\n\n opacity: 0;\n }\n\n &-zoom-leave {\n ${ZoomEffect};\n }\n\n &-zoom-enter.rc-dialog-zoom-enter-active,\n &-zoom-appear.rc-dialog-zoom-appear-active {\n animation-name: ${RcDialogZoomIn};\n animation-play-state: running;\n }\n\n &-zoom-leave.rc-dialog-zoom-leave-active {\n animation-name: ${RcDialogZoomOut};\n animation-play-state: running;\n }\n }\n\n .rc-dialog-body {\n display: flex;\n flex-direction: column;\n \n overscroll-behavior: contain;\n\n width: 90vw;\n max-height: 90vh;\n max-width: 68rem;\n padding: 2.4rem;\n\n ${BREAKPOINT.tm} {\n height: 100dvh;\n width: 100dvw;\n max-height: unset;\n max-width: unset;\n padding: 0;\n }\n }\n\n .rc-dialog-content {\n position: relative;\n\n border-radius: 5px;\n background-color: var(--color-background-3);\n }\n\n .rc-dialog-close {\n display: none;\n }\n\n .rc-dialog-header {\n display: none;\n }\n\n .rc-dialog-footer {\n display: none;\n }\n`;\n\nexport const DialogContent = styled.div`\n overflow: auto;\n flex-grow: 1;\n\n color: var(--color-text-primary);\n\n &:not(:last-child) {\n margin-bottom: 2.4rem;\n }\n\n ${BREAKPOINT.tm} {\n padding: 2.4rem;\n\n &:not(:last-child) {\n margin-bottom: 0;\n }\n }\n\n ${BREAKPOINT.ml} {\n padding: 1.6rem;\n }\n`;\n\nexport const DialogCloseButton = styled(Button).attrs(() => ({\n kind: \"icon\",\n \"aria-label\": \"close dialog\",\n}))`\n position: absolute;\n right: 1rem;\n top: 1rem;\n z-index: 9;\n\n color: var(--color-text-primary);\n`;\n\nexport const DialogActions = styled.div`\n display: flex;\n justify-content: center;\n gap: 2.4rem;\n\n flex-shrink: 0;\n\n & > :nth-child(n) {\n flex: 1 1 50%;\n }\n\n ${BREAKPOINT.tm} {\n padding: 1.6rem;\n\n box-shadow: 0 0 4px 0 var(--color-secondary-cta-shadow-stroke);\n background-color: var(--color-background-4);\n }\n`;\n\nexport const DialogTitle = styled.h2`\n font: var(--font-title-bold);\n`;\n\nexport const DialogDescription = styled.div`\n font: var(--font-body);\n`;\n\nexport const CloseIcon = styled(Icon).attrs(() => ({ type: \"close\" }))`\n font-size: 2.8rem;\n`;\n","export const TRANSLATIONS = {\n TITLE: \"dialog__popup-blocked__title\",\n DETAILS: \"dialog__popup-blocked__details\",\n APOLOGIZE: \"dialog__popup-blocked__apologize\",\n OK: \"button__got-it\",\n};\n","import React, { FC } from \"react\";\nimport Dialog from \"rc-dialog\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { Details, IconWrapper, Title, WarningIcon } from \"./styles\";\nimport {\n CloseIcon,\n DialogActions,\n DialogCloseButton,\n DialogContent,\n} from \"../styles\";\n\nimport { DialogProps } from \"../types\";\nimport { Button } from \"domains/shared/components/button\";\nimport { TRANSLATIONS } from \"./constants\";\n\nexport const PopupsBlockedDialog: FC = (props) => {\n const { t } = useTranslation();\n\n return (\n \n \n \n \n \n\n {t(TRANSLATIONS.TITLE)}\n\n
\n

\n \n

\n\n

{t(TRANSLATIONS.APOLOGIZE)}

\n
\n
\n\n \n \n \n\n \n \n \n
\n );\n};\n","import { useCallback } from \"react\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { PopupsBlockedDialog } from \"domains/dialogs/popups-blocked/popups-blocked.dialog\";\n\nconst POPUP_WIDTH = 480;\nconst POPUP_HEIGHT = 720;\nconst POPUP_TITLE = \"linking\";\n\ntype Config = {\n url: string;\n title?: string;\n width?: number;\n height?: number;\n};\n\nexport const useCenteredPopup = () => {\n const { dialogs } = useRootStore();\n\n const openPopup = useCallback(\n async ({\n url,\n title = POPUP_TITLE,\n width = POPUP_WIDTH,\n height = POPUP_HEIGHT,\n }: Config) => {\n const dualScreenLeft =\n window.screenLeft !== undefined ? window.screenLeft : window.screenX;\n const dualScreenTop =\n window.screenTop !== undefined ? window.screenTop : window.screenY;\n\n const fullWidth =\n window.innerWidth ||\n document.documentElement.clientWidth ||\n window.screen.width;\n const fullHeight =\n window.innerHeight ||\n document.documentElement.clientHeight ||\n window.screen.height;\n\n const left = (fullWidth - width) / 2 + dualScreenLeft;\n const top = (fullHeight - height) / 2 + dualScreenTop;\n\n const popup = window.open(\n url,\n title,\n `width=${width}, height=${height}, top=${top}, left=${left}`\n );\n popup?.focus();\n\n if (!popup || popup.closed) {\n await dialogs.openDialog(PopupsBlockedDialog);\n }\n },\n [dialogs]\n );\n\n return {\n openPopup,\n };\n};\n","import { useLayoutEffect } from \"react\";\n\nimport analyticsService from \"analytics/analytics-provider.service\";\n\nexport const usePageEvent = (\n siteSection: string,\n pageName: string,\n siteSubSection: string\n) => {\n useLayoutEffect(() => {\n analyticsService.sendPageEvent(siteSection, pageName, siteSubSection);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n};\n","import { useMediaQuery } from \"react-responsive\";\n\nimport { SCREEN_SIZE } from \"../constants/media-queries.constants\";\n\nexport const useLaptopOrLess = () =>\n useMediaQuery({ maxWidth: SCREEN_SIZE.ls });\nexport const useTabletOrLess = () =>\n useMediaQuery({ maxWidth: SCREEN_SIZE.tl });\nexport const useMobileOrLess = () =>\n useMediaQuery({ maxWidth: SCREEN_SIZE.ml });\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n LoginFrame,\n LoginContent,\n FrameWrapper,\n Description,\n Presentation,\n PresentationWrapper,\n AccessCTA,\n Privacy,\n LogoWrapper,\n} from \"./styles\";\n\nimport { useLogin } from \"./hooks/useLogin\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport { ANALYTICS_PAGE_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { useLaptopOrLess } from \"domains/shared/hooks/breakpoints\";\n\nimport logo from \"assets/logos/app.svg\";\n\nexport const LoginPage: FC = observer(() => {\n const { getLoginUrl, onAccessClick } = useLogin();\n const { t } = useTranslation();\n const isLaptopOrLess = useLaptopOrLess();\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.login,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.main,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n return (\n \n \n \n \n \"ubisoft\n \n\n \n \n \n\n {isLaptopOrLess && (\n <>\n \n {t(TRANSLATIONS.ACCESS)}\n \n\n {t(TRANSLATIONS.PRIVACY)}\n \n )}\n \n \n\n {!isLaptopOrLess && (\n \n \n {t(TRANSLATIONS.PRIVACY)}\n \n )}\n \n );\n});\n","import { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport URI from \"urijs\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { ubisoftOverlayService } from \"domains/shared/services/overlay-service/service\";\nimport { WEB_AUTH_LOGIN_LOCATION } from \"domains/shared/services/overlay-service/constants\";\nimport { generateNextURL } from \"domains/shared/services/overlay-service/utils\";\nimport { REDIRECT_TOPICS } from \"domains/shared/services/overlay-service/types\";\nimport { FALLBACK_LNG } from \"i18n/languages\";\nimport { useCenteredPopup } from \"domains/shared/hooks/useCenteredPopup\";\nimport { ENVIRONMENT } from \"domains/shared/constants/env\";\nimport { GLOBAL_CONFIG } from \"domains/shared/constants/app-config\";\n\nconst POPUP_TITLE = \"Login\";\n\nexport const useLogin = () => {\n const { session } = useRootStore();\n const { i18n } = useTranslation();\n const { openPopup } = useCenteredPopup();\n\n const getLoginUrl = () =>\n new URI(WEB_AUTH_LOGIN_LOCATION[ENVIRONMENT])\n .query({\n appId: GLOBAL_CONFIG.APPLICATION_ID,\n genomeId: GLOBAL_CONFIG.GENOME_ID,\n lang: i18n?.language ?? FALLBACK_LNG,\n nextUrl: generateNextURL(REDIRECT_TOPICS.LOGIN),\n })\n .href();\n\n const onAccessClick = () => {\n openPopup({\n url: getLoginUrl(),\n title: POPUP_TITLE,\n });\n };\n\n useEffect(() => {\n const disposer = ubisoftOverlayService.registerLoginReaction();\n\n return () => disposer();\n }, [session]);\n\n return {\n getLoginUrl,\n onAccessClick,\n };\n};\n","import styled from \"styled-components\";\n\nimport { FlexContentCenteringCSS } from \"domains/shared/styles\";\n\nexport const SpinnerWrapper = styled.div<{ isFullscreen?: boolean }>`\n position: ${(props) => (props.isFullscreen ? \"fixed\" : \"absolute\")};\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 9;\n\n ${FlexContentCenteringCSS};\n\n background-color: var(--color-background-glass-3);\n\n img {\n max-width: 22rem;\n }\n`;\n","export default __webpack_public_path__ + \"static/media/loader.a0fbed90.gif\";","import React, { FC } from \"react\";\n\nimport { SpinnerWrapper } from \"./styles\";\n\nimport loader from \"assets/other/loader.gif\";\n\ntype Props = {\n className?: string;\n fullscreen?: boolean;\n};\n\nexport const SpinnerComponent: FC = ({ fullscreen, className }) => {\n return (\n \n \"loading...\"\n \n );\n};\n","import { makeAutoObservable } from \"mobx\";\n\nimport { PROGRAM_TYPE } from \"../programs/types\";\n\nclass ThemeService {\n public activeTheme: PROGRAM_TYPE = PROGRAM_TYPE.DEFAULT;\n\n public constructor() {\n makeAutoObservable(this, {}, { autoBind: true });\n }\n\n public applyTheme = (theme: PROGRAM_TYPE | number) => {\n this.activeTheme = theme;\n };\n\n public resetTheme = () => {\n this.activeTheme = PROGRAM_TYPE.DEFAULT;\n };\n}\n\nexport const themeService = new ThemeService();\n","import { createGlobalStyle, css } from \"styled-components\";\n\nimport { BrandThemeType, PROGRAM_TYPE } from \"../programs/types\";\nimport { BG_IMAGES } from \"domains/shared/constants/main-backgrounds\";\n\nconst R6Theme = css`\n --background: url(${BG_IMAGES.r6.web});\n --background-mobile: url(${BG_IMAGES.r6.mobile});\n\n --color-cta-primary: #2499ff;\n --color-cta-primary-hover: #12cbf2;\n --color-cta-primary-pressed: #1682e0;\n --color-cta-primary-disabled: #4a4a4a;\n --color-cta-primary-focus-stroke: #00ffe5;\n\n --color-text-cta-primary: #000000;\n --color-text-cta-primary-hover: #000000;\n --color-text-cta-primary-pressed: #000000;\n\n --color-text-clickable: #50edff;\n --color-text-clickable-hover: #00ffe5;\n --color-text-clickable-pressed: #01ae9d;\n\n --color-stepper-number: #000000;\n --color-stepper-number-valid: #000000;\n --color-stepper-valid: #2499ff;\n\n --color-progress-bar: #2499ff;\n\n --color-stroke-4: #00ffe5;\n\n --color-dots-active: #00ffe5;\n`;\n\nconst RCTheme = css`\n --background: url(${BG_IMAGES.rc.web});\n --background-mobile: url(${BG_IMAGES.rc.mobile});\n\n --color-cta-primary: #ff1754;\n --color-cta-primary-hover: #86182f;\n --color-cta-primary-pressed: #681225;\n --color-cta-primary-disabled: #4a4a4a;\n --color-cta-primary-focus-stroke: #1d2f83;\n\n --color-text-clickable: #ff9ec3;\n --color-text-clickable-hover: #ff8aa4;\n --color-text-clickable-pressed: #d47e91;\n\n --color-stepper-number: #000000;\n --color-stepper-number-valid: #ffffff;\n --color-stepper-valid: #dd3055;\n\n --color-progress-bar: #dd3055;\n\n --color-stroke-4: #ff5c81;\n\n --color-dots-active: #ff5c81;\n`;\n\nconst XDefinedTheme = css`\n --background: url(${BG_IMAGES.xDefiant.web});\n --background-mobile: url(${BG_IMAGES.xDefiant.mobile});\n\n --color-cta-primary: #ba8100;\n --color-cta-primary-hover: #ffffff;\n --color-cta-primary-pressed: #dfdfdf;\n --color-cta-primary-disabled: #4a4a4a;\n --color-cta-primary-focus-stroke: #00ffe5;\n\n --color-text-cta-primary: #ffffff;\n --color-text-cta-primary-hover: #ba8100;\n --color-text-cta-primary-pressed: #ba8100;\n\n --color-text-clickable: #ffcc57;\n --color-text-clickable-hover: #d3a12d;\n --color-text-clickable-pressed: #ad811d;\n\n --color-stepper-number: #000000;\n --color-stepper-number-valid: #ffffff;\n --color-stepper-valid: #ba8100;\n\n --color-progress-bar: #ba8100;\n\n --color-stroke-4: #ffcc57;\n\n --color-dots-active: #ffcc57;\n`;\n\nconst SkullAndBonesTheme = css`\n --background: url(${BG_IMAGES.skullAndBones.web});\n --background-mobile: url(${BG_IMAGES.skullAndBones.mobile});\n\n --color-cta-primary: #f8bd21;\n --color-cta-primary-hover: #ffffff;\n --color-cta-primary-pressed: #f8bd21;\n --color-cta-primary-disabled: #4a4a4a;\n --color-cta-primary-focus-stroke: #ffcc57;\n\n --color-text-cta-primary: #000000;\n --color-text-cta-primary-hover: #000000;\n --color-text-cta-primary-pressed: #000000;\n\n --color-text-clickable: #ffcc57;\n --color-text-clickable-hover: #ffffff;\n --color-text-clickable-pressed: #f8bd21;\n\n --color-stepper-number: #000000;\n --color-stepper-number-valid: #ffffff;\n --color-stepper-valid: #f8bd21;\n\n --color-progress-bar: #f8bd21;\n\n --color-stroke-4: #ffcc57;\n\n --color-dots-active: #ffcc57;\n`;\n\nconst DefaultTheme = css`\n --background: url(${BG_IMAGES.AC_Shadows.web});\n --background-mobile: url(${BG_IMAGES.AC_Shadows.mobile});\n`;\n\nconst UF2023Theme = css`\n --background: url(${BG_IMAGES.uf2023.web});\n --background-mobile: url(${BG_IMAGES.uf2023.mobile});\n`;\n\nconst CrewTheme = css`\n --background: url(${BG_IMAGES.crew.web});\n --background-mobile: url(${BG_IMAGES.crew.mobile});\n\n --color-cta-primary: #ff1c38;\n --color-cta-primary-hover: #e6a329;\n --color-cta-primary-pressed: #da910a;\n --color-cta-primary-disabled: #4a4a4a;\n --color-cta-primary-focus-stroke: #ffcc57;\n\n --color-text-cta-primary: #ffffff;\n --color-text-cta-primary-hover: #ffffff;\n --color-text-cta-primary-pressed: #ffffff;\n\n --color-text-clickable: #ffcc57;\n --color-text-clickable-hover: #d3a12d;\n --color-text-clickable-pressed: #ad811d;\n\n --color-stepper-number: #000000;\n --color-stepper-number-valid: #ffffff;\n --color-stepper-valid: #ff1c38;\n\n --color-progress-bar: #ff1c38;\n\n --color-stroke-4: #ffcc57;\n\n --color-dots-active: #ffcc57;\n`;\n\nconst ProgramThemes: Record> = {\n [PROGRAM_TYPE.RC]: RCTheme,\n [PROGRAM_TYPE.R6]: R6Theme,\n [PROGRAM_TYPE.XDefiant]: XDefinedTheme,\n [PROGRAM_TYPE.UF2023]: UF2023Theme,\n [PROGRAM_TYPE.CREW]: CrewTheme,\n [PROGRAM_TYPE.SKULL_AND_BONES]: SkullAndBonesTheme,\n [PROGRAM_TYPE.DEFAULT]: DefaultTheme,\n};\n\nexport const ThemeVariables = createGlobalStyle`\n :root,\n ::before,\n ::after {\n ${(props) => ProgramThemes[props.theme.type] ?? DefaultTheme}\n }\n`;\n","import React, { FC } from \"react\";\nimport { ThemeProvider as Provider } from \"styled-components\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { themeService } from \"./theme.service\";\nimport { ThemeVariables } from \"./styles\";\n\nexport const ThemeProvider: FC = observer(({ children }) => {\n const { activeTheme } = themeService;\n\n return (\n \n \n <>{children}\n \n );\n});\n","import React, { FC } from \"react\";\n\nimport { MainContent, PageBackground } from \"./styles\";\n\nimport { ThemeProvider } from \"domains/theme\";\n\ntype Props = {\n className?: string;\n};\n\nexport const MainLayout: FC = ({ children, className }) => (\n \n \n \n <>{children}\n \n \n);\n","import React from \"react\";\n\nimport { SpinnerComponent } from \"../components/spinner\";\nimport { MainLayout } from \"./main.layout\";\n\nexport const LoadingLayout = () => (\n <>\n \n \n \n);\n","import styled, { css } from \"styled-components\";\n\nimport { FlexContentCenteringCSS } from \"../../styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { BREADCRUMB_STATE } from \"./types\";\nimport { Button } from \"domains/shared/components/button\";\n\nexport const BreadcrumbsWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n`;\n\nexport const Caption = styled.span`\n display: flex;\n justify-content: center;\n align-items: center;\n\n position: relative;\n\n width: 2.5rem;\n height: 2.5rem;\n\n margin-bottom: 0.65rem;\n\n border-radius: 50%;\n\n font: var(--font-body-bold);\n text-align: center;\n color: var(--color-stepper-number);\n background-color: var(--color-cta-secondary);\n`;\n\nexport const Title = styled.span`\n max-width: 10rem;\n\n text-align: center;\n font: var(--font-caption);\n color: var(--color-text-primary);\n`;\n\nexport const BreadcrumbWrapper = styled(Button)<{ state: BREADCRUMB_STATE }>`\n ${FlexContentCenteringCSS};\n flex-direction: column;\n\n position: relative;\n\n padding: 0 0.5rem;\n flex-grow: 1;\n width: 25%;\n\n &::after,\n &::before {\n --line-gap: calc(50% + 2.35rem);\n\n content: \"\";\n\n position: absolute;\n top: 1.24rem;\n\n background-color: var(--color-stepper-line);\n\n height: 0.2rem;\n }\n\n &::before {\n left: 0;\n right: var(--line-gap);\n\n background-color: ${(props) =>\n props.state === BREADCRUMB_STATE.VALID ||\n props.state === BREADCRUMB_STATE.ACTIVE\n ? css`var(--color-stepper-valid)`\n : null};\n }\n\n &::after {\n right: 0;\n left: var(--line-gap);\n\n background-color: ${(props) =>\n props.state === BREADCRUMB_STATE.VALID\n ? css`var(--color-stepper-valid)`\n : null};\n }\n\n &:first-child::before,\n &:last-child::after {\n display: none;\n }\n\n ${(props) =>\n props.state === BREADCRUMB_STATE.VALID ||\n props.state === BREADCRUMB_STATE.ACTIVE\n ? css`\n ${Caption} {\n color: var(--color-stepper-number-valid);\n background-color: var(--color-stepper-valid);\n }\n `\n : null}\n\n ${(props) =>\n props.state === BREADCRUMB_STATE.ACTIVE\n ? css`\n ${Title} {\n font: var(--font-caption-bold);\n }\n `\n : null}\n\n ${BREAKPOINT.ls} {\n ${Caption} {\n margin-bottom: 0;\n }\n\n ${Title} {\n display: none;\n }\n }\n`;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BreadcrumbWrapper, Title, Caption } from \"./styles\";\n\nimport { Icon } from \"../icon\";\nimport { BREADCRUMB_STATE } from \"./types\";\n\ntype BreadcrumbProps = {\n title: string;\n number: number;\n onClick: () => void;\n state: BREADCRUMB_STATE;\n disabled?: boolean;\n};\n\nexport const BreadcrumbComponent: React.FC = ({\n state,\n number,\n title,\n onClick,\n disabled,\n}) => {\n const { t } = useTranslation();\n\n return (\n \n \n {state === BREADCRUMB_STATE.VALID ? : number}\n \n\n {t(title)}\n \n );\n};\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { BreadcrumbsWrapper } from \"./styles\";\n\nimport { BreadcrumbComponent } from \"./breadcrumb.component\";\nimport { getBreadcrumbState } from \"./utils\";\n\ntype Props = {\n stepsConfig: Array<{ title: string }>;\n activeIndex: number;\n onItemClick?: (index: number) => void;\n className?: string;\n};\n\nexport const BreadcrumbsComponent: FC = observer(\n ({ activeIndex, onItemClick, className, stepsConfig }) => {\n const onBreadcrumbClick = (index: number) => () => {\n onItemClick?.(index);\n };\n\n return (\n \n {stepsConfig.map((step, index) => (\n \n ))}\n \n );\n }\n);\n","import { BREADCRUMB_STATE } from \"./types\";\n\nexport function getBreadcrumbState(\n activeStepIndex: number,\n currentStepIndex: number\n) {\n if (activeStepIndex === currentStepIndex) {\n return BREADCRUMB_STATE.ACTIVE;\n }\n\n if (activeStepIndex > currentStepIndex) {\n return BREADCRUMB_STATE.VALID;\n }\n\n return BREADCRUMB_STATE.DISABLED;\n}\n","import styled from \"styled-components\";\n\nimport { GeneralContentStyles } from \"domains/shared/layout/styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { MainLayout } from \"domains/shared/layout/main.layout\";\nimport { BreadcrumbsComponent } from \"domains/shared/components/breadcrumbs\";\n\nexport const StepsWrapper = styled.div`\n flex-basis: 70rem;\n margin: 0 auto;\n\n color: var(--color-text-primary);\n`;\n\nexport const SignUpLayout = styled(MainLayout)`\n display: flex;\n ${GeneralContentStyles};\n\n ${BREAKPOINT.tm} {\n padding: 3.4rem 1.6rem;\n }\n`;\n\nexport const Breadcrumbs = styled(BreadcrumbsComponent)`\n margin: auto auto 5rem auto;\n\n ${BREAKPOINT.tm} {\n margin: auto auto 4rem auto;\n }\n`;\n","export const scrollTop = (smooth?: boolean) => {\n if (smooth) {\n window.scroll({ top: 0, left: 0, behavior: \"smooth\" });\n } else {\n document.documentElement!.scrollTop = 0;\n }\n};\n","import { Dispatch, useState } from \"react\";\n\ntype Stepper = {\n activeIndex: number;\n setActiveIndex: Dispatch;\n ActiveStep: T;\n nextStep: () => void;\n previousStep: () => void;\n isLastStep: boolean;\n isFirstStep: boolean;\n};\n\nexport const useStepper: (initialStep: number, steps: T[]) => Stepper = (\n initialStep = 0,\n steps\n) => {\n const [activeIndex, setActiveIndex] = useState(initialStep);\n const ActiveStep = steps[activeIndex];\n\n const isFirstStep = activeIndex === 0;\n const isLastStep = activeIndex === steps.length - 1;\n\n const nextStep = () => {\n setActiveIndex((step) => Math.min(steps.length - 1, ++step));\n };\n\n const previousStep = () => {\n setActiveIndex((step) => Math.max(0, --step));\n };\n\n return {\n ActiveStep,\n activeIndex,\n setActiveIndex,\n nextStep,\n previousStep,\n isLastStep,\n isFirstStep,\n };\n};\n","import styled from \"styled-components\";\n\nimport { BackgroundGlassCSS, TextEllipsisCSS } from \"domains/shared/styles\";\n\nimport { Button } from \"domains/shared/components/button\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const StepTitle = styled.h2`\n font: var(--font-title-bold);\n color: var(--color-text-primary);\n\n margin-bottom: 3rem;\n`;\n\nexport const StepWrapper = styled.section`\n box-shadow: 1px 1px 0 var(--color-stroke-2),\n inset 1px 1px 1px var(--color-stroke-1);\n background: var(--color-background-glass-1);\n border-radius: 5px;\n\n padding: 3.6rem;\n\n ${BackgroundGlassCSS};\n\n ${BREAKPOINT.tm} {\n padding: 3.6rem 2.4rem;\n }\n`;\n\nexport const ControlsWrapper = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 2.4rem;\n\n & > * {\n flex: 1 1 50%;\n }\n\n ${BREAKPOINT.ls} {\n box-shadow: 0 -2px 4px 0 var(--color-stroke-2);\n background: var(--color-background-4);\n\n width: 100%;\n padding: 1.6rem 2.8rem;\n\n position: sticky;\n bottom: 0;\n }\n`;\n\nexport const StepsControl = styled(Button)`\n ${TextEllipsisCSS};\n\n ${BREAKPOINT.ml} {\n flex-basis: 14.8rem;\n }\n`;\n\nexport const ContentWrapper = styled.div`\n &:not(:last-child) {\n margin-bottom: 3.6rem;\n }\n`;\n","import styled from \"styled-components\";\n\nimport { StepWrapper } from \"../styles\";\n\nimport { ExternalLink } from \"domains/shared/components\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const PrivacyText = styled.div`\n font: var(--font-body);\n color: var(--color-text-secondary);\n`;\n\nexport const RequirementStep = styled(StepWrapper)`\n &:not(:last-child) {\n margin-bottom: 2rem;\n }\n`;\n\nexport const RequirementsList = styled.ul`\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr));\n grid-gap: 1.6rem;\n\n ${BREAKPOINT.ml} {\n grid-gap: 3.6rem;\n grid-template-columns: 1fr;\n }\n`;\n\nexport const PrivacyLink = styled.a.attrs(() => ({\n target: \"_blank\",\n}))`\n color: var(--color-text-secondary);\n`;\n\nexport const RequirementLink = styled(ExternalLink)`\n display: inline-flex;\n gap: 0.5rem;\n`;\n","import { replaceUrlParams } from \"api/utils\";\nimport i18n from \"../i18n\";\nimport { LOCALES } from \"../i18n/languages\";\nimport { ENV } from \"domains/shared/types/env\";\nimport { ENVIRONMENT } from \"domains/shared/constants/env\";\n\nconst UBI_EMAIL_LINK = {\n [ENV.DEV]:\n \"https://uat.account.ubisoft.com/{locale}/communications/ubisoft-emails\",\n [ENV.UAT]:\n \"https://uat.account.ubisoft.com/{locale}/communications/ubisoft-emails\",\n [ENV.CERT]:\n \"https://cert2.account.ubisoft.com/{locale}/communications/ubisoft-emails\",\n [ENV.PROD]:\n \"https://account.ubisoft.com/{locale}/communications/ubisoft-emails\",\n};\n\nconst UBI_ACCOUNT_LINK = {\n [ENV.DEV]: \"https://uat.account.ubisoft.com/account-information\",\n [ENV.UAT]: \"https://uat.account.ubisoft.com/account-information\",\n [ENV.CERT]: \"https://cert2.account.ubisoft.com/account-information\",\n [ENV.PROD]: \"https://account.ubisoft.com/account-information\",\n};\n\nexport const EXTERNAL_LINKS = {\n discordSupport: \"https://discord.com/invite/grP37FhWvd\",\n mailtoSupport: \"mailto:support@creatoriq.com\",\n paymentApp: \"https://ubisoft.portal.trolley.com/\",\n dropsRegisterLink: \"https://drops-register.ubi.com/\",\n ftcPDFLink:\n \"https://www.ftc.gov/sites/default/files/attachments/press-releases/ftc-publishes-final-guides-governing-endorsements-testimonials/091005revisedendorsementguides.pdf\",\n helpLink: \"https://www.ubisoft.com/help/contact\",\n guidelinesPDF:\n \"https://www.ftc.gov/sites/default/files/attachments/press-releases/ftc-publishes-final-guides-governing-endorsements-testimonials/091005revisedendorsementguides.pdf\",\n disclosures101PDF:\n \"https://www.ftc.gov/system/files/documents/plain-language/1001a-influencer-guide-508_1.pdf\",\n federalTrade:\n \"https://www.ftc.gov/tips-advice/business-center/guidance/ftcs-endorsement-guides-what-people-are-asking\",\n disclosures101Common:\n \"https://www.ftc.gov/business-guidance/resources/disclosures-101-social-media-influencers\",\n arabicLanguage: \"https://creatorsprogram.ubisoft.com/ar-ae/login\",\n survey: \"https://ubisoft.ca1.qualtrics.com/jfe/form/SV_3PK7QSx2ryvvVvE\",\n policy: \"https://support.ubisoft.com/Article/000063467/\",\n ubisoft: \"https://www.ubisoft.com/\",\n support: \"https://support.ubisoft.com/\",\n faq:\n \"https://support.ubi.com/faqs/35367/Reviewing-the-data-that-Ubisoft-holds-about-me/\",\n privacy: {\n law:\n \"https://ec.europa.eu/info/law/law-topic/data-protection/international-dimension-data-protection/standard-contractual-clauses-scc\",\n },\n creatorsProgramsSupportMail: \"creatorsprogramsupport@ubisoft.com\",\n FTCReviewLink:\n \"https://www.ftc.gov/business-guidance/advertising-marketing/endorsements-influencers-reviews\",\n FTCGuideLink:\n \"https://www.ftc.gov/business-guidance/resources/ftcs-endorsement-guides-what-people-are-asking\",\n eCFRLink:\n \"https://www.ecfr.gov/current/title-16/chapter-I/subchapter-B/part-255\",\n\n get supportLink() {\n return replaceUrlParams(\n \"https://www.ubisoft.com/{locale}/help/account/article/reviewing-the-data-that-ubisoft-holds-about-me/000063467\",\n {\n locale: i18n.language?.toLowerCase(),\n }\n );\n },\n\n get globalCodeOfConductLink() {\n return replaceUrlParams(\n \"https://www.ubisoft.com/{locale}/help/player-safety/article/code-of-conduct-the-way-we-play/000095037\",\n {\n locale: i18n.language?.toLowerCase() ?? LOCALES.EN_US,\n }\n );\n },\n\n get activationKeysLink() {\n return replaceUrlParams(\n \"https://www.ubisoft.com/{locale}/help/purchases-and-rewards/article/activating-a-key-or-code-for-a-game-or-content/000060587\",\n {\n locale: i18n.language?.toLowerCase(),\n }\n );\n },\n\n get ubisoftEmails() {\n return replaceUrlParams(UBI_EMAIL_LINK[ENVIRONMENT], {\n locale: i18n.language?.toLowerCase(),\n });\n },\n\n get ubiAccountLink() {\n return UBI_ACCOUNT_LINK[ENVIRONMENT];\n },\n};\n","export default __webpack_public_path__ + \"static/media/mature.b6e99378.svg\";","export default __webpack_public_path__ + \"static/media/file.bdaee0b3.svg\";","export default __webpack_public_path__ + \"static/media/data.0083e126.svg\";","import React from \"react\";\nimport { Trans } from \"react-i18next\";\n\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\nimport { RequirementLink } from \"./styles\";\n\nimport mature from \"assets/requirements/mature.svg\";\nimport file from \"assets/requirements/file.svg\";\nimport data from \"assets/requirements/data.svg\";\nimport { Icon } from \"domains/shared/components/icon\";\n\nexport const TRANSLATIONS = {\n TITLE_REQUIREMENTS: \"sign-up__title__requirements\",\n REQUIREMENT_AGE: \"sign-up__requirement__age\",\n REQUIREMENT_DATA: \"sign-up__requirement__data\",\n REQUIREMENT_ABIDE: \"sign-up__requirement__abide\",\n PRIVACY__TEXT: \"sign-up__requirement__privacy-text\",\n CONTINUE: \"button__continue\",\n};\n\nexport const getRequirements: () => Array<{\n translation: ReturnType;\n image: string;\n}> = () => [\n {\n translation: ,\n image: mature,\n },\n {\n translation: ,\n image: data,\n },\n {\n translation: (\n \n ),\n icon: ,\n }}\n />\n ),\n image: file,\n },\n];\n","import styled from \"styled-components\";\n\nexport const ContentWrapper = styled.li`\n padding: 1.6rem 0.8rem;\n\n background-color: var(--color-background-3);\n border-radius: 8px;\n`;\n\nexport const ImageWrapper = styled.div`\n width: 9rem;\n height: 9rem;\n\n margin: 0 auto 1.6rem auto;\n`;\n\nexport const Text = styled.div`\n font: var(--font-body);\n text-align: center;\n color: var(--color-text-primary);\n`;\n","import React from \"react\";\nimport { Trans } from \"react-i18next\";\n\nimport { ImageWrapper, Text, ContentWrapper } from \"./styles\";\n\ntype Props = {\n translation: ReturnType;\n image: string;\n};\n\nexport const RequirementItem: React.FC = ({ image, translation }) => (\n \n \n \"requirements\"\n \n\n {translation}\n \n);\n","import { useEffect } from \"react\";\nimport analyticsService from \"analytics/analytics-provider.service\";\n\nexport const useFlowEvent = (\n flowStep: string,\n flowType: string,\n platformSelection = \"\",\n category: string,\n action: string,\n location: string,\n locationDetail: string\n) => {\n useEffect(() => {\n analyticsService.sendFlowEvent(\n flowStep,\n flowType,\n platformSelection,\n category,\n action,\n location,\n locationDetail\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n};\n\nexport const useFlowEventCallback = (callback: () => void) => {\n useEffect(() => {\n callback();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n};\n","import { createContext, Dispatch, useContext } from \"react\";\n\nexport type Context = {\n nextStep: () => void;\n previousStep: () => void;\n submitForm: () => void;\n activeIndex: number;\n setActiveIndex: Dispatch;\n};\n\nexport const FormContext = createContext(null);\n\nexport const useFormContext = () => useContext(FormContext)!;\n","import analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_FLOW_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { useRootStore } from \"init/root-store\";\n\nexport const useSignUpAnalytics = () => {\n const { signup, metadata } = useRootStore();\n\n const callRequirementsContinueClickEvent = () => {\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.appRequirements,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.continue,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n };\n\n const callChannelsContinueClickEvent = () => {\n const { mainChannel, activeChanelList } = signup;\n\n if (!mainChannel) {\n return;\n }\n\n analyticsService.sendChannelApplyFlowEvents(\n mainChannel.typeId,\n activeChanelList,\n metadata.data.channelTypes\n );\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.channels,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.continue,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n };\n\n const callApplyClickEvent = () => {\n const { channelNames, form } = signup;\n const { data } = metadata;\n const { countries, languages } = data;\n const { communicationLanguageId, countryId, broadcastLanguageId } = form;\n\n const countryName = countries.find((country) => country.id === countryId)!\n .name;\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.locationAndLanguage,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n channelNames,\n ANALYTICS_FLOW_ATTRIBUTES.category.interaction,\n ANALYTICS_FLOW_ATTRIBUTES.action.location + countryName,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n\n const broadcastLanguage = languages.find(\n (language) => language.id === broadcastLanguageId\n )!.name;\n const communicationLanguage = languages.find(\n (language) => language.id === communicationLanguageId\n )!.name;\n\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.locationAndLanguage,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n channelNames,\n ANALYTICS_FLOW_ATTRIBUTES.category.interaction,\n ANALYTICS_FLOW_ATTRIBUTES.action.broadcastLanguage + broadcastLanguage,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.locationAndLanguage,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n channelNames,\n ANALYTICS_FLOW_ATTRIBUTES.category.interaction,\n ANALYTICS_FLOW_ATTRIBUTES.action.communicationLanguage +\n communicationLanguage,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.locationAndLanguage,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n channelNames,\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.apply,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n };\n\n const callChannelsBackClickEvent = () => {\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.channels,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.back,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n };\n\n const callInfoBackClickEvent = () => {\n const { channelNames } = signup;\n\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.locationAndLanguage,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n channelNames,\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.back,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n };\n\n return {\n callChannelsContinueClickEvent,\n callRequirementsContinueClickEvent,\n callApplyClickEvent,\n callChannelsBackClickEvent,\n callInfoBackClickEvent,\n };\n};\n","import React, { FC } from \"react\";\nimport ReactDOM from \"react-dom\";\n\nimport { useLaptopOrLess } from \"domains/shared/hooks/breakpoints\";\n\nexport const NavigationControlsComponent: FC = ({ children }) => {\n const isLaptopOrLess = useLaptopOrLess();\n const root = document.querySelector(\"#root\");\n\n if (!root) {\n return null;\n }\n\n return isLaptopOrLess ? (\n ReactDOM.createPortal(<>{children}, root)\n ) : (\n <>{children}\n );\n};\n","import styled from \"styled-components\";\n\nexport const Header = styled.header`\n margin-bottom: 3.2rem;\n`;\n\nexport const PrimaryChannelsTitle = styled.h3`\n font: var(--font-subtitle-bold);\n\n display: flex;\n align-items: center;\n gap: 0.5rem;\n\n margin-bottom: 0.5rem;\n`;\n\nexport const ExtraChannelsTitle = styled.h3`\n margin-bottom: 0.5rem;\n\n font: var(--font-body-bold);\n`;\n\nexport const Description = styled.div`\n font: var(--font-body);\n`;\n\nexport const SectionsWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 4.2rem;\n`;\n\nexport const ChannelsList = styled.ul`\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));\n grid-gap: 1.6rem;\n\n li {\n display: contents;\n }\n`;\n","export const TRANSLATIONS = {\n EXTRA_TITLE: \"sign-up__platforms__extra-title\",\n EXTRA_DESCRIPTION: \"sign-up__platforms__extra-description\",\n BACK: \"button__back\",\n CONTINUE: \"button__continue\",\n PRIMARY_DESCRIPTION: \"sign-up__platforms__primary-description\",\n PRIMARY_TITLE: \"sign-up__platforms__primary-title\",\n TITLE: \"sign-up__platforms__title\",\n DISCORD_TITLE: \"sign-up__platforms__discord-title\",\n DISCORD_DESCRIPTION:\n \"You can also add your Discord channel for more communication option\",\n DISCORD_PLACEHOLDER: \"Enter your Discord ID here\",\n};\n","import styled from \"styled-components\";\n\nimport { DialogDescription } from \"../../styles\";\n\nimport { ExternalLink } from \"domains/shared/components\";\n\nexport const Description = styled(DialogDescription)`\n margin-bottom: 2.4rem;\n`;\n\nexport const ChannelLink = styled(ExternalLink)`\n font: var(--font-subtitle);\n\n & > *:not(:last-child) {\n margin-right: 0.4rem;\n }\n`;\n\nexport const UrlWrapper = styled.div`\n display: flex;\n align-items: center;\n\n && > :not(:last-child) {\n margin-right: 1.6rem;\n }\n\n &:not(:last-child) {\n margin-bottom: 2rem;\n }\n`;\n","export const TRANSLATIONS = {\n BUTTON_CANCEL: \"button__cancel\",\n BUTTON_CONTINUE: \"button__continue\",\n BUTTON_BACK: \"button__back\",\n TITLE: \"dialog__youtube-channels__url\",\n DESCRIPTION: \"dialog__youtube-channels__description\",\n DESCRIPTION_EMPTY: \"dialog__youtube-channels__description-empty\",\n VIEW: \"dialog__youtube-channels__view\",\n};\n","import styled from \"styled-components\";\nimport { RadioGroup } from \"@material-ui/core\";\n\nexport const RadioGroupWrapper = styled(RadioGroup)`\n .MuiFormGroup-root .MuiFormControlLabel-root {\n margin: 0;\n }\n\n .MuiIconButton-root {\n font-size: 2rem;\n }\n\n .MuiButtonBase-root {\n margin-right: 1rem;\n\n background: var(--color-cta-secondary);\n\n padding: 0;\n }\n\n .MuiFormControlLabel-root .MuiButtonBase-root:hover {\n color: var(--color-cta-primary);\n\n background: var(--color-text-primary);\n }\n\n .MuiButtonBase-root.Mui-checked {\n color: var(--color-text-primary);\n\n background: var(--color-cta-primary);\n }\n\n .MuiTypography-root {\n font: var(--font-body);\n }\n\n .MuiFormControlLabel-root {\n margin: 0;\n }\n\n .MuiSvgIcon-root {\n font-size: inherit;\n\n &:first-child {\n visibility: hidden;\n }\n }\n`;\n","import React, { FC } from \"react\";\nimport { RadioGroupProps } from \"@material-ui/core\";\n\nimport { RadioGroupWrapper } from \"./radio-group.styles\";\n\nexport const RadioGroup: FC = ({ children, ...props }) => {\n return {children};\n};\n","import React, { ChangeEvent, FC, useState } from \"react\";\nimport Dialog from \"rc-dialog\";\nimport { useTranslation } from \"react-i18next\";\nimport { FormControlLabel, Radio } from \"@material-ui/core\";\n\nimport {\n CloseIcon,\n DialogActions,\n DialogCloseButton,\n DialogContent,\n DialogTitle,\n} from \"domains/dialogs/styles\";\nimport { ChannelLink, Description, UrlWrapper } from \"./styles\";\n\nimport { DialogProps } from \"domains/dialogs/types\";\nimport { Button } from \"domains/shared/components/button\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { Icon } from \"domains/shared/components/icon\";\nimport { RadioGroup } from \"domains/shared/components/radio-group\";\n\nexport type Channel = {\n name: string;\n url: string;\n};\n\ntype Props = {\n channels: Channel[];\n} & DialogProps;\n\nexport const YouTubeChannelsDialog: FC = ({\n onClose,\n channels,\n ...props\n}) => {\n const { t } = useTranslation();\n const [activeIndex, setActiveIndex] = useState(null);\n\n const onUrlChange = (_: ChangeEvent, index: string) => {\n setActiveIndex(Number(index));\n };\n\n const onSubmit = () => {\n props.onSubmit(channels[activeIndex!]);\n };\n\n const isEmpty = !channels.length;\n const canSubmit = typeof activeIndex === \"number\";\n\n return (\n \n \n \n \n \n\n {t(TRANSLATIONS.TITLE)}\n\n {isEmpty ? (\n {t(TRANSLATIONS.DESCRIPTION_EMPTY)}\n ) : (\n <>\n {t(TRANSLATIONS.DESCRIPTION)}\n\n \n {channels.map((channel, index) => (\n \n }\n />\n\n \n {t(TRANSLATIONS.VIEW)}\n \n \n \n ))}\n \n \n )}\n \n\n \n {isEmpty ? (\n \n ) : (\n <>\n \n\n \n \n )}\n \n \n );\n};\n","import styled from \"styled-components\";\nimport Dialog from \"rc-dialog\";\n\nimport { DialogTitle } from \"../../styles\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const ContentWrapper = styled(Dialog)`\n .rc-dialog-body {\n max-width: 50rem;\n\n ${BREAKPOINT.tm} {\n max-width: unset;\n }\n }\n`;\n\nexport const Title = styled(DialogTitle)`\n margin-bottom: 2.6rem;\n`;\n\nexport const DescriptionWrapper = styled.div`\n padding: 2rem 1.8rem;\n\n border-radius: 5px;\n background: var(--color-background-4);\n`;\n\nexport const Description = styled.div`\n display: flex;\n align-items: center;\n\n font: var(--font-body-bold);\n color: var(--color-feedback-warning);\n\n margin-bottom: 2.4rem;\n\n & > :not(:last-child) {\n margin-right: 1rem;\n }\n`;\n\nexport const WarningIcon = styled(Icon)`\n font-size: 1.6rem;\n`;\n\nexport const ServicesImage = styled.img`\n display: block;\n\n margin: auto;\n\n width: 100%;\n max-width: 50rem;\n`;\n","export const TRANSLATIONS = {\n CONFIRM: \"button__confirm\",\n CANCEL: \"button__cancel\",\n TITLE: \"dialogs__youtube-linking__title\",\n DESCRIPTION: \"dialogs__youtube-linking__description\",\n};\n","import React, { FC } from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n CloseIcon,\n DialogActions,\n DialogCloseButton,\n DialogContent,\n} from \"../../styles\";\nimport {\n ContentWrapper,\n Description,\n DescriptionWrapper,\n ServicesImage,\n Title,\n WarningIcon,\n} from \"./styles\";\n\nimport services from \"assets/other/youtube-services.png\";\n\nimport { DialogProps } from \"domains/dialogs/types\";\nimport { Button } from \"domains/shared/components/button\";\nimport { TRANSLATIONS } from \"./constants\";\n\nexport const YoutubeLinkingDialog: FC = ({ ...props }) => {\n const { t } = useTranslation();\n\n return (\n \n \n \n \n\n \n {t(TRANSLATIONS.TITLE)}\n\n \n \n \n\n
\n \n
\n
\n\n \n
\n
\n\n \n \n\n \n \n
\n );\n};\n","export default \"data:image/png;base64,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\"","import { AccountLinkingChannel, AccountLinkingTopics } from \"./types\";\nimport { CHANNEL_IDS } from \"api/services/public-service\";\nimport { REDIRECT_TOPICS } from \"../../services/overlay-service/types\";\n\nexport const CHANNELS_REVERSED_PATHS: Record = {\n [CHANNEL_IDS.TWITCH]: \"twitch-reversed\",\n [CHANNEL_IDS.YOUTUBE]: \"youtube-reversed\",\n [CHANNEL_IDS.DISCORD]: \"discord-reversed\",\n};\n\nexport const CHANNELS_LINKING_TOPICS: Record<\n AccountLinkingChannel,\n AccountLinkingTopics\n> = {\n [CHANNEL_IDS.YOUTUBE]: REDIRECT_TOPICS.YOUTUBE,\n [CHANNEL_IDS.TWITCH]: REDIRECT_TOPICS.TWITCH,\n [CHANNEL_IDS.DISCORD]: REDIRECT_TOPICS.DISCORD,\n};\n","import URI from \"urijs\";\n\nimport { AccountLinkingChannel } from \"./types\";\nimport { WEB_AUTH_HOST } from \"../../services/overlay-service/constants\";\nimport { ENVIRONMENT } from \"../../constants/env\";\nimport { CHANNELS_REVERSED_PATHS } from \"./constants\";\nimport { GLOBAL_CONFIG } from \"../../constants/app-config\";\nimport { generateNextURL } from \"../../services/overlay-service/utils\";\nimport { REDIRECT_TOPICS } from \"../../services/overlay-service/types\";\n\nexport const getAccountLinkUrl = (\n ssoId: string,\n platform: AccountLinkingChannel,\n topic: REDIRECT_TOPICS\n): string => {\n return new URI(WEB_AUTH_HOST[ENVIRONMENT])\n .segment(CHANNELS_REVERSED_PATHS[platform])\n .query({\n appId: GLOBAL_CONFIG.APPLICATION_ID,\n genomeId: GLOBAL_CONFIG.GENOME_ID,\n lang: GLOBAL_CONFIG.LANGUAGE,\n ssoId: encodeURIComponent(ssoId),\n nextUrl: generateNextURL(topic),\n })\n .href();\n};\n","import { useCallback } from \"react\";\nimport { reaction } from \"mobx\";\n\nimport { generateYouTubeChannelUrl } from \"../../utils/platforms\";\nimport { useRootStore } from \"init/root-store\";\nimport {\n Channel,\n YouTubeChannelsDialog,\n} from \"domains/dialogs/social-media/youtube-channels/youtube-channels.dialog\";\nimport { YoutubeLinkingDialog } from \"domains/dialogs/social-media/youtube-linking/youtube-linking.dialog\";\nimport { publicApiService } from \"api\";\nimport { ubiApiService } from \"api/services/ubi-service\";\nimport { REDIRECT_TOPICS } from \"../../services/overlay-service/types\";\nimport { useCenteredPopup } from \"../useCenteredPopup\";\nimport { ubisoftOverlayService } from \"../../services/overlay-service\";\nimport { oAuthService } from \"api/services/oauth\";\nimport { OAUTH_CHANNEL_PROVIDER } from \"../../constants/channels\";\nimport {\n AccountLinkingChannel,\n AccountLinkingTopics,\n LinkingReactions,\n} from \"./types\";\nimport { getAccountLinkUrl } from \"./utils\";\nimport { CHANNEL_IDS } from \"api/services/public-service\";\nimport { CHANNELS_LINKING_TOPICS } from \"./constants\";\n\nexport const useLinkingUtils = () => {\n const { dialogs } = useRootStore();\n const { openPopup } = useCenteredPopup();\n\n const openOAuthLinkingModal = useCallback(\n async (channelId: keyof typeof OAUTH_CHANNEL_PROVIDER) => {\n const provider = OAUTH_CHANNEL_PROVIDER[channelId];\n const url = await oAuthService.getAuthorizeUrl(provider);\n\n await openPopup({ url });\n },\n [openPopup]\n );\n\n const openAccountLinkingModal = useCallback(\n async (\n channelId: AccountLinkingChannel,\n topic: AccountLinkingTopics = CHANNELS_LINKING_TOPICS[channelId]\n ) => {\n const { data } = await ubiApiService.getSSO();\n const url = getAccountLinkUrl(data.ssoId, channelId, topic);\n\n if (channelId === CHANNEL_IDS.YOUTUBE) {\n await dialogs.openDialog(YoutubeLinkingDialog);\n }\n\n await openPopup({\n url,\n });\n },\n [openPopup, dialogs]\n );\n\n const getYouTubeData = useCallback(async () => {\n const { data } = await publicApiService.fetchYouTubeChannels();\n\n const channels = data.channels.map((channel) => ({\n name: channel.title,\n url: generateYouTubeChannelUrl(channel.id),\n }));\n const channel = channels.length === 1 ? channels[0] : null;\n\n if (channel) {\n return channel;\n }\n\n const { payload } = await dialogs.openDialog(\n YouTubeChannelsDialog,\n {\n channels,\n }\n );\n\n return payload;\n }, [dialogs]);\n\n const registerLinkingReaction = useCallback((callbacks: LinkingReactions) => {\n return reaction(\n () => ubisoftOverlayService.redirectTopic,\n async (topic) => {\n switch (topic) {\n case REDIRECT_TOPICS.YOUTUBE:\n callbacks.onYouTubeLinked?.();\n ubisoftOverlayService.resetTopic();\n break;\n case REDIRECT_TOPICS.TWITCH:\n callbacks.onTwitchLinked?.();\n ubisoftOverlayService.resetTopic();\n break;\n case REDIRECT_TOPICS.TIKTOK:\n callbacks.onTiKToKLinked?.();\n ubisoftOverlayService.resetTopic();\n break;\n case REDIRECT_TOPICS.INSTAGRAM:\n callbacks.onInstagramLinked?.();\n ubisoftOverlayService.resetTopic();\n break;\n case REDIRECT_TOPICS.DISCORD:\n callbacks.onDiscordLinked?.();\n ubisoftOverlayService.resetTopic();\n break;\n }\n }\n );\n }, []);\n\n return {\n openOAuthLinkingModal,\n getYouTubeData,\n openAccountLinkingModal,\n registerLinkingReaction,\n };\n};\n","import i18n from \"i18n\";\n\nexport const getChannelLabel = (values?: { name: string }) => {\n return i18n.t(\"dialog__social__url-label\", values);\n};\n\nexport const generateYouTubeChannelUrl = (id: string) =>\n `https://www.youtube.com/channel/${id}`;\n","import { useCallback } from \"react\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { CHANNEL_IDS } from \"api/services/public-service\";\nimport { ADDITIONAL_COUNTRY_CHANNELS } from \"../constants/channels\";\n\nexport const useFilterChannels = () => {\n const {\n ipLocation: { data },\n } = useRootStore();\n\n const checkAdditionalChannelAllowing = useCallback(\n (channelId: CHANNEL_IDS) =>\n !ADDITIONAL_COUNTRY_CHANNELS[channelId] ||\n (data?.countryCode &&\n ADDITIONAL_COUNTRY_CHANNELS[channelId].some((locale) =>\n locale.includes(data.countryCode)\n )),\n [data?.countryCode]\n );\n\n return {\n checkAdditionalChannelAllowing,\n };\n};\n","import { urls } from \"./book\";\n\nexport enum SECTION_ID {\n CONTACT_US = \"contact-us\",\n PERSONAL_INFO = \"personal-info\",\n PREFERENCES = \"preferences\",\n FEEDBACK = \"feedback\",\n}\n\nexport type ParametersType = {\n locale?: string;\n invitationId?: string;\n programId?: string;\n articleId?: string;\n};\n\nexport type LocationState = {\n scrollInto?: SECTION_ID;\n scrollSmooth?: boolean;\n};\n\nexport type AppLink = typeof urls[keyof typeof urls];\n","import styled, { css } from \"styled-components\";\n\nimport {\n FlexContentCenteringCSS,\n TextEllipsisCSS,\n} from \"domains/shared/styles\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\n\nexport const ActiveChannelWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 1.2rem;\n\n position: relative;\n\n padding: 0.8rem;\n aspect-ratio: 1 / 1 auto;\n\n border-radius: 8px;\n background-color: var(--color-notification-positive);\n`;\n\nexport const ActionsWrapper = styled.div`\n display: flex;\n justify-content: center;\n`;\n\nexport const ChannelNameWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.8rem;\n\n color: var(--color-text-primary);\n\n max-width: 100%;\n`;\n\nexport const ChannelName = styled.h3`\n font: var(--font-body-bold);\n ${TextEllipsisCSS};\n\n max-width: 100%;\n`;\n\nexport const ChannelIcon = styled(Icon)`\n font-size: 2rem;\n`;\n\nexport const UserName = styled.div`\n font: var(--font-caption-bold);\n color: var(--color-feedback-positive);\n ${TextEllipsisCSS};\n\n max-width: 100%;\n`;\n\nexport const ChannelDataWrapper = styled.div<{ isActive?: boolean }>`\n padding: 0.8rem;\n\n ${FlexContentCenteringCSS};\n flex-direction: column;\n gap: 1rem;\n flex-grow: 1;\n\n border-radius: 4px;\n\n ${(props) =>\n props.isActive &&\n css`\n background-color: var(--color-background-3);\n `}\n`;\n\nexport const ErrorDescription = styled.div`\n font: var(--font-caption);\n color: var(--color-feedback-negative);\n`;\n\nexport const ChannelCTA = styled.button`\n outline: none;\n border: none;\n\n cursor: pointer;\n\n padding: 0.8rem;\n aspect-ratio: 1 / 1 auto;\n\n background-color: var(--color-background-4);\n border-radius: 8px;\n\n &:hover,\n &:focus-visible {\n background-color: var(--color-background-5);\n }\n\n &:active {\n background-color: var(--color-background-3);\n }\n`;\n\nexport const Loading = styled(SpinnerComponent)`\n img {\n width: 100%;\n height: 100%;\n }\n`;\n","import { CHANNEL_IDS } from \"api/services/public-service\";\n\nexport const TRANSLATIONS = {\n REMOVE: \"linking-tooltip__remove\",\n TOKEN_INVALID: \"validator-message__youtube-token-invalid\",\n};\n\nexport const ERROR_TEXT: Record = {\n [CHANNEL_IDS.YOUTUBE]: TRANSLATIONS.TOKEN_INVALID,\n};\n","import styled, { css } from \"styled-components\";\n\nimport { PrimaryButtonState, SecondaryButtonState } from \"../styles\";\n\nconst WarningButtonState = css`\n color: var(--color-text-action-delete);\n\n background-color: var(--color-action-delete);\n\n &:not([disabled]):is(:hover, :focus-visible) {\n background-color: var(--color-action-delete-hover);\n }\n\n &:not([disabled]):active {\n background-color: var(--color-action-delete-pressed);\n box-shadow: 0 0 1px 0 var(--color-action-delete-focus-stroke);\n }\n\n &[disabled] {\n background-color: var(--color-action-delete-disabled);\n\n color: var(--color-text-action-delete-disabled);\n }\n`;\n\nexport const ActionCTA = styled.button`\n width: 2.4rem;\n height: 2.4rem;\n padding: 0;\n\n outline: none;\n border: none;\n background: none;\n\n font-size: 1.6rem;\n line-height: 0;\n\n border-radius: 50%;\n\n transition: 0.2s all;\n\n &[data-kind=\"primary\"] {\n ${PrimaryButtonState};\n }\n\n &[data-kind=\"secondary\"] {\n ${SecondaryButtonState};\n }\n\n &[data-kind=\"warning\"] {\n ${WarningButtonState};\n }\n\n &:not([disabled]) {\n cursor: pointer;\n }\n`;\n","import { ActionType } from \"./types\";\nimport { IconsType } from \"../../icon/icon.component\";\n\nexport const ACTION_ICON: Record = {\n remove: \"minus\",\n add: \"add\",\n edit: \"edit\",\n delete: \"bucket\",\n};\n","import styled, { createGlobalStyle } from \"styled-components\";\nimport { Tooltip } from \"@material-ui/core\";\n\nimport { Icon } from \"../icon\";\n\nexport const StyledTooltip = styled(Tooltip)`\n color: var(--color-text-primary);\n font-size: 1.8rem;\n\n cursor: pointer;\n\n &[data-default=\"true\"] {\n line-height: 0;\n }\n`;\n\nexport const TooltipIcon = styled(Icon).attrs(() => ({\n type: \"questionMark\",\n}))`\n circle {\n fill: var(--color-background-2);\n }\n`;\n\nexport const PopperStyles = createGlobalStyle`\n .MuiTooltip-popper .MuiTooltip-tooltip {\n font: var(--font-caption);\n \n padding: 0.8rem 1.6rem;\n \n background-color: var(--color-background-2);\n }\n\n .MuiTooltip-popper .MuiTooltip-arrow {\n color: var(--color-background-2);\n }\n\n .MuiTooltip-popper .MuiTooltip-tooltipPlacementTop {\n margin: 1.4rem 0;\n }\n`;\n","import React, { FC, Children } from \"react\";\nimport { TooltipProps } from \"@material-ui/core\";\n\nimport { PopperStyles, StyledTooltip, TooltipIcon } from \"./styles\";\n\ntype Props = Omit & {\n title: string | React.Component | React.ReactElement;\n};\n\nexport const Tooltip: FC = ({\n children,\n title = \"\",\n placement = \"top\",\n className,\n}) => {\n const isDefault = !Children.count(children);\n\n return (\n <>\n \n\n \n
{isDefault ? : children}
\n \n \n );\n};\n","import React, { ButtonHTMLAttributes, FC } from \"react\";\nimport { Trans } from \"react-i18next\";\n\nimport { ActionCTA } from \"./styles\";\n\nimport { ActionType } from \"./types\";\nimport { ACTION_ICON } from \"./constants\";\nimport { Icon } from \"../../icon\";\nimport { Tooltip } from \"../../tooltip\";\n\ntype Props = {\n action: ActionType;\n kind?: \"primary\" | \"secondary\" | \"warning\";\n} & ButtonHTMLAttributes;\n\nexport const ActionCtaComponent: FC = ({\n action,\n kind = \"secondary\",\n title,\n ...props\n}) => {\n const icon = ACTION_ICON[action];\n\n if (title) {\n return (\n }>\n \n \n \n \n );\n }\n\n return (\n \n \n \n );\n};\n","import styled from \"styled-components\";\nimport { Input as EggInput } from \"@egg-react/input\";\n\nexport const InputWrapper = styled(EggInput)`\n margin: 0;\n\n position: relative;\n\n --color-error: var(--color-feedback-negative);\n --egg-primary: var(--color-stroke-4);\n --egg-error: var(--color-feedback-negative);\n --egg-surface-active: var(--color-stroke-5);\n --egg-form-feedback-position: static;\n --egg-surface: var(--color-background-2);\n --egg-error-translucent: var(--color-background-2);\n\n & [slot=\"label\"] {\n font: var(--font-caption);\n\n margin-bottom: 0.4rem;\n\n &:empty {\n display: none;\n }\n }\n\n & [slot=\"input\"] {\n height: auto;\n\n &::placeholder {\n color: var(--color-text-secondary);\n }\n }\n\n & [slot=\"feedback\"][type=\"error\"] {\n display: block;\n\n color: var(--color-error);\n font: var(--font-caption);\n }\n`;\n","import React, { FC } from \"react\";\nimport { InputProps, ModelValueChangedEvt } from \"@egg-react/input\";\n\nimport { InputWrapper } from \"./input.styles\";\n\nimport { ReactifyWebComponent } from \"domains/shared/types/egg\";\n\ntype Props = {\n onModelValueChanged: (value: string, evt: ModelValueChangedEvt) => void;\n register?: (node: ReactifyWebComponent) => void;\n ref?: React.MutableRefObject;\n // If true, will initiate a validation after 1st render\n touched?: boolean;\n} & Omit;\n\nexport const InputComponent: FC = ({\n prefix,\n suffix,\n after,\n before,\n register,\n ...props\n}) => {\n const onModelValueChanged = (evt: ModelValueChangedEvt) => {\n props?.onModelValueChanged(evt.target.modelValue, evt);\n };\n\n return (\n \n {prefix &&
{prefix}
}\n {suffix &&
{suffix}
}\n {after &&
{after}
}\n {before &&
{before}
}\n \n );\n};\n","import styled from \"styled-components\";\n\nimport { DialogTitle } from \"../styles\";\n\nimport { InputComponent } from \"domains/shared/components/input\";\n\nexport const Title = styled(DialogTitle)`\n margin-bottom: 2.6rem;\n`;\n\nexport const PlatformReference = styled(InputComponent)`\n width: 100%;\n`;\n","export const TRANSLATIONS = {\n BUTTON__SAVE: \"button__save\",\n BUTTON__CANCEL: \"button__cancel\",\n};\n","import { FormEvent, useCallback, useEffect, useRef, useState } from \"react\";\n\nimport { EggElement, ReactifyWebComponent } from \"../types/egg\";\n\nexport const useForm = (initialState: T) => {\n const formElementsRef = useRef>({});\n const [isFormValid, setFormValid] = useState(false);\n const [formData, setFormData] = useState(initialState);\n\n const validate = () => {\n return Object.values(formElementsRef.current).every((node) => {\n return !node.__validationResult.length;\n });\n };\n\n const getFormData = () => {\n return Object.entries(formData).reduce(\n (acc, [key, value]) => (value ? { ...acc, [key]: value } : acc),\n {} as T\n );\n };\n\n const onFormDataChange = ({\n name,\n value,\n }: {\n name: string;\n value: string;\n }) => {\n setFormData((state) => ({ ...state!, [name]: value }));\n };\n\n const onSubmitHandler = (\n onValid: (value?: T) => void,\n onInvalid?: () => void\n ) => async (evt: FormEvent): Promise => {\n evt.preventDefault();\n\n if (isFormValid) {\n await onValid(formData);\n } else {\n await onInvalid?.();\n }\n };\n\n const register = useCallback((node: ReactifyWebComponent) => {\n if (node) {\n const {\n ref: { current },\n } = node;\n\n if (!current.name) {\n throw new Error(\"name is required\");\n } else {\n formElementsRef.current[current.name] = current;\n }\n }\n }, []);\n\n useEffect(() => {\n // we need delay before egg validate fields\n const timeoutId = setTimeout(() => setFormValid(validate()), 0);\n\n return () => clearTimeout(timeoutId);\n }, [formData]);\n\n return {\n onSubmitHandler,\n isFormValid,\n register,\n formData,\n setFormValid,\n getFormData,\n onFormDataChange,\n validate,\n };\n};\n","import i18n from \"i18next\";\n\nexport const TRANSLATIONS = {\n REQUIRED: \"validator-message__required\",\n YOUTUBE_URL_INVALID: \"validator-message__youtube-invalid\",\n};\n\nexport const REQUIRED_MESSAGE = {\n getMessage() {\n return i18n.t(TRANSLATIONS.REQUIRED);\n },\n};\n","import { Required } from \"@lion/form-core\";\n\nimport { REQUIRED_MESSAGE } from \"./constants\";\n\nexport const REQUIRED_VALIDATOR = new Required(undefined, REQUIRED_MESSAGE);\n","import { Pattern, Validator } from \"@lion/form-core\";\nimport i18n from \"i18next\";\n\nimport { CHANNEL_IDS } from \"api/services/public-service\";\nimport { CHANNELS_NAME } from \"../constants/channels\";\nimport { REQUIRED_VALIDATOR } from \"./base.validators\";\n\nconst ERROR_TRANSLATIONS = {\n PATTERN__ERROR__URL: \"validation-message__pattern__url\",\n};\n\nconst TWITTER_REG_EXP = /^(?:http|https)?:?(?:\\/\\/)?(?:www\\.)?twitter\\.com\\/([a-zA-Z0-9_]+)/;\nconst INSTAGRAM_REG_EXP = /^(?:http|https)?:?(?:\\/\\/)?(?:www\\.)?instagram\\.com\\/([a-zA-Z0-9_.]+)/;\nconst FACEBOOK_REG_EXP = /^(?:http|https)?:?(?:\\/\\/)?(?:www\\.)?facebook\\.com\\/([a-zA-Z0-9_.]+)/;\nconst VKONTAKTE_REG_EXP = /^(?:http|https)?:?(?:\\/\\/)?(?:www\\.)?vk\\.com\\/([@a-zA-Z0-9_.]+)/;\nconst AFREECATV_REG_EXP = /^(?:http|https)?:?(?:\\/\\/)?(?:bj\\.)?afreecatv\\.com\\/([@a-zA-Z0-9_.]+)/;\nconst NONOLIVE_REG_EXP = /^(?:http|https)?:?(?:\\/\\/)?(?:www\\.)?nonolive\\.com\\/profile\\/([0-9_.]+)$/;\nconst OPEN_REC_REG_EXP = /^(?:http|https)?:?(?:\\/\\/)?(?:www\\.)?openrec\\.tv\\/user\\/([@a-zA-Z0-9_.]+)$/;\nconst MILDOM_REG_EXP = /^(?:http|https)?:?(?:\\/\\/)?(?:www\\.)?mildom\\.com\\/profile\\/([@a-zA-Z0-9_.]+)$/;\nconst NIMO_TV_REG_EXP = /^(?:http|https)?:?(?:\\/\\/)?(?:www\\.)?nimo\\.tv\\/([@a-zA-Z0-9_.]+)$/;\n\nexport const CHANNELS_VALIDATIONS: Record = {\n [CHANNEL_IDS.MILDOM]: [\n new Pattern(MILDOM_REG_EXP, {\n getMessage: () =>\n i18n.t(ERROR_TRANSLATIONS.PATTERN__ERROR__URL, {\n replace: {\n channel: CHANNELS_NAME[CHANNEL_IDS.MILDOM],\n },\n }),\n }),\n REQUIRED_VALIDATOR,\n ],\n [CHANNEL_IDS.OPEN_REC]: [\n new Pattern(OPEN_REC_REG_EXP, {\n getMessage: () =>\n i18n.t(ERROR_TRANSLATIONS.PATTERN__ERROR__URL, {\n replace: {\n channel: CHANNELS_NAME[CHANNEL_IDS.OPEN_REC],\n },\n }),\n }),\n REQUIRED_VALIDATOR,\n ],\n [CHANNEL_IDS.NIMO_TV]: [\n new Pattern(NIMO_TV_REG_EXP, {\n getMessage: () =>\n i18n.t(ERROR_TRANSLATIONS.PATTERN__ERROR__URL, {\n replace: {\n channel: CHANNELS_NAME[CHANNEL_IDS.NIMO_TV],\n },\n }),\n }),\n REQUIRED_VALIDATOR,\n ],\n [CHANNEL_IDS.INSTAGRAM]: [\n new Pattern(INSTAGRAM_REG_EXP, {\n getMessage: () =>\n i18n.t(ERROR_TRANSLATIONS.PATTERN__ERROR__URL, {\n replace: {\n channel: CHANNELS_NAME[CHANNEL_IDS.INSTAGRAM],\n },\n }),\n }),\n REQUIRED_VALIDATOR,\n ],\n [CHANNEL_IDS.X]: [\n new Pattern(TWITTER_REG_EXP, {\n getMessage: () =>\n i18n.t(ERROR_TRANSLATIONS.PATTERN__ERROR__URL, {\n replace: {\n channel: CHANNELS_NAME[CHANNEL_IDS.X],\n },\n }),\n }),\n REQUIRED_VALIDATOR,\n ],\n [CHANNEL_IDS.FACEBOOK]: [\n new Pattern(FACEBOOK_REG_EXP, {\n getMessage: () =>\n i18n.t(ERROR_TRANSLATIONS.PATTERN__ERROR__URL, {\n replace: {\n channel: CHANNELS_NAME[CHANNEL_IDS.FACEBOOK],\n },\n }),\n }),\n REQUIRED_VALIDATOR,\n ],\n [CHANNEL_IDS.VKONTAKTE]: [\n new Pattern(VKONTAKTE_REG_EXP, {\n getMessage: () =>\n i18n.t(ERROR_TRANSLATIONS.PATTERN__ERROR__URL, {\n replace: {\n channel: CHANNELS_NAME[CHANNEL_IDS.VKONTAKTE],\n },\n }),\n }),\n REQUIRED_VALIDATOR,\n ],\n [CHANNEL_IDS.AFREECATV]: [\n new Pattern(AFREECATV_REG_EXP, {\n getMessage: () =>\n i18n.t(ERROR_TRANSLATIONS.PATTERN__ERROR__URL, {\n replace: {\n channel: CHANNELS_NAME[CHANNEL_IDS.AFREECATV],\n },\n }),\n }),\n REQUIRED_VALIDATOR,\n ],\n [CHANNEL_IDS.NONOLIVE]: [\n new Pattern(NONOLIVE_REG_EXP, {\n getMessage: () =>\n i18n.t(ERROR_TRANSLATIONS.PATTERN__ERROR__URL, {\n replace: {\n channel: CHANNELS_NAME[CHANNEL_IDS.NONOLIVE],\n },\n }),\n }),\n REQUIRED_VALIDATOR,\n ],\n};\n","import i18n from \"i18next\";\nimport { Pattern } from \"@lion/form-core\";\n\nconst ERROR_TRANSLATIONS = {\n PATTERN__ERROR__EMAIL: \"validation-message__pattern__email\",\n};\n\nexport const EMAIL_REG_EXP = /(^.+)@(.+)\\.(\\w+)$/;\nexport const EMAIL_PATTERN_VALIDATOR = new Pattern(EMAIL_REG_EXP, {\n getMessage: () => i18n.t(ERROR_TRANSLATIONS.PATTERN__ERROR__EMAIL),\n});\n","export const CODE_MAX_LENGTH = 15;\nexport const CODE_MIN_LENGTH = 3;\n\nexport const CREATOR_CODE_PATTERN = /^\\S+$/i;\n\nexport const isCreatorCodeLengthValid = (code: string) =>\n code.length >= CODE_MIN_LENGTH && code.length <= CODE_MAX_LENGTH;\n","import React, { FC } from \"react\";\nimport Dialog from \"rc-dialog\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PlatformReference, Title } from \"./styles\";\nimport {\n CloseIcon,\n DialogActions,\n DialogCloseButton,\n DialogContent,\n} from \"../styles\";\n\nimport { DialogProps } from \"../types\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { useForm } from \"domains/shared/hooks/useForm\";\nimport { getChannelLabel } from \"domains/shared/utils/platforms\";\nimport { CHANNEL_IDS } from \"api/services/public-service\";\nimport { Button } from \"domains/shared/components/button\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport {\n CHANNELS_NAME,\n CHANNELS_PLACEHOLDERS,\n} from \"domains/shared/constants/channels\";\nimport { CHANNELS_VALIDATIONS } from \"domains/shared/validators\";\n\ntype Props = {\n channelId: CHANNEL_IDS;\n platformReference?: string;\n useAnalytics?: boolean;\n} & DialogProps;\n\nexport const SocialMediaDialog: FC = ({\n channelId,\n platformReference,\n useAnalytics = false,\n ...props\n}) => {\n const { t } = useTranslation();\n const {\n formData,\n onFormDataChange,\n onSubmitHandler,\n isFormValid,\n register,\n } = useForm({\n platformReference,\n });\n\n const onSubmit = () => {\n if (useAnalytics) {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n platformName + ANALYTICS_CLICK_ATTRIBUTES.locationDetail.channelPopup,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.save\n );\n }\n props.onSubmit(formData.platformReference);\n };\n\n const close = () => {\n if (useAnalytics) {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n platformName + ANALYTICS_CLICK_ATTRIBUTES.locationDetail.channelPopup,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.cancel\n );\n }\n props.onClose();\n };\n\n const isSubmitDisabled =\n platformReference === formData.platformReference || !isFormValid;\n const platformName = CHANNELS_NAME[channelId];\n const label = getChannelLabel({ name: platformName });\n\n return (\n \n \n \n \n\n \n {platformName}\n\n onFormDataChange(evt.target)}\n validators={CHANNELS_VALIDATIONS[channelId] ?? []}\n placeholder={CHANNELS_PLACEHOLDERS[channelId]}\n />\n \n\n \n \n\n \n {t(TRANSLATIONS.BUTTON__SAVE)}\n \n \n \n );\n};\n","import styled from \"styled-components\";\n\nimport { DialogDescription, DialogTitle } from \"../../styles\";\n\nimport { CTAExternalLink } from \"domains/shared/components\";\nimport { Button } from \"domains/shared/components/button\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { Icon } from \"domains/shared/components/icon\";\n\nexport const MenuList = styled.ul`\n font: var(--font-body);\n\n li {\n display: flex;\n align-items: center;\n }\n\n li::before {\n content: \"\";\n\n font-size: 0.8rem;\n\n width: 1em;\n height: 1em;\n\n border-radius: 50%;\n background-color: var(--color-background-1);\n\n margin-right: 1em;\n }\n`;\n\nexport const Title = styled(DialogTitle)`\n margin-bottom: 2.8rem;\n`;\n\nexport const ChangeAccountBlock = styled.div`\n display: flex;\n align-items: center;\n\n font: var(--font-body-bold);\n\n background-color: var(--color-background-4);\n border-radius: 8px;\n\n margin-bottom: 2.6rem;\n padding: 0.8rem 1rem;\n`;\n\nexport const NameWrapper = styled.div`\n display: flex;\n align-items: center;\n\n & > :not(:last-child) {\n margin-right: 0.8rem;\n }\n\n margin-right: 1.6rem;\n`;\n\nexport const AttachmentIcon = styled(Icon)`\n font-size: 2rem;\n`;\n\nexport const ExternalAccountsWrapper = styled.div`\n position: relative;\n\n display: flex;\n align-items: center;\n\n padding-bottom: 2.4rem;\n\n &::after {\n content: \"\";\n\n position: absolute;\n bottom: 0;\n left: 0;\n\n width: 100%;\n height: 1px;\n\n box-shadow: inset 0 1px 1px 0 var(--color-stroke-1);\n }\n\n ${BREAKPOINT.ml} {\n padding-bottom: 0;\n\n justify-content: center;\n\n &::after {\n content: none;\n }\n }\n`;\n\nexport const AccountLink = styled(CTAExternalLink)`\n & > :not(:last-child) {\n margin-right: 0.8rem;\n }\n`;\n\nexport const ButtonChange = styled(Button)`\n flex-shrink: 0;\n\n font: var(--font-body-bold);\n color: var(--color-text-clickable);\n`;\n\nexport const Description = styled(DialogDescription)`\n margin-bottom: 2.6rem;\n`;\n","export const TRANSLATIONS = {\n BUTTON__CANCEL: \"button__cancel\",\n BUTTON__CONFIRM: \"button__confirm\",\n BUTTON__BACK: \"button__back\",\n BUTTON_CHANGE: \"button__change\",\n BUTTON__CONTINUE: \"button__continue\",\n TWITCH_ALREADY_LINKED: \"dialog__twitch-linked__title\",\n TWITCH_DESCRIPTION: \"dialog__twitch-linked__description\",\n TWITCH_CHANNEL_NAME: \"dialog__twitch-linked__channel-name\",\n TWITCH_RESOURCES: \"dialog__twitch-linked__resources\",\n TWITCH_CHANGE_ACCOUNT: \"dialog__twitch-linked__change-account\",\n TWITCH_CHANGE_ACCOUNT_SUGGESTION: \"dialog__twitch-linked__changed-suggestion\",\n};\n","import { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\nimport React, { Dispatch, SetStateAction, useEffect, useState } from \"react\";\n\nimport {\n AttachmentIcon,\n ButtonChange,\n ChangeAccountBlock,\n Description,\n MenuList,\n NameWrapper,\n Title,\n} from \"../styles\";\nimport { DialogActions, DialogContent } from \"domains/dialogs/styles\";\n\nimport { TRANSLATIONS } from \"../constants\";\nimport { Button } from \"domains/shared/components/button\";\nimport { useRootStore } from \"init/root-store\";\nimport { ACCOUNT_PROFILE_TYPES } from \"domains/shared/services/overlay-service/types\";\n\ntype Props = {\n onClose: () => void;\n onSubmit: (payload?: string) => void;\n setAlreadyLinked: Dispatch>;\n};\n\nexport const AccountInformation: React.FC = observer(\n ({ onClose, setAlreadyLinked, ...props }) => {\n const { t } = useTranslation();\n const {\n session: { profiles },\n } = useRootStore();\n const [username, setUsername] = useState(\"\");\n\n useEffect(() => {\n const twitchProfile = profiles.find(\n (ubisoftProfile) =>\n ACCOUNT_PROFILE_TYPES.TWITCH === ubisoftProfile.platformType\n );\n\n if (twitchProfile) {\n setUsername(twitchProfile.nameOnPlatform);\n } else {\n onClose();\n }\n }, [onClose, profiles]);\n\n const onSubmit = () => {\n props.onSubmit(username);\n };\n\n return (\n <>\n \n {t(TRANSLATIONS.TWITCH_CHANGE_ACCOUNT)}\n\n \n \n \n {username}\n \n\n {\n setAlreadyLinked(false);\n }}\n >\n {t(TRANSLATIONS.BUTTON_CHANGE)}\n \n \n\n {t(TRANSLATIONS.TWITCH_DESCRIPTION)}\n\n \n
  • {t(TRANSLATIONS.TWITCH_CHANNEL_NAME)}
  • \n
  • {t(TRANSLATIONS.TWITCH_RESOURCES)}
  • \n
    \n
    \n\n \n \n \n \n );\n }\n);\n","import { useCallback, useState } from \"react\";\n\ntype CallbackType = () => void;\n\nexport const useLoadingAction = (\n initialState = false\n): [ReturnType, boolean] => {\n const [isLoading, setIsLoading] = useState(initialState);\n\n const action = useCallback(async (callback: CallbackType) => {\n try {\n setIsLoading(true);\n\n await callback();\n } finally {\n setIsLoading(false);\n }\n }, []);\n\n return [action, isLoading];\n};\n","import React, { Dispatch, SetStateAction } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n AccountLink,\n Description,\n ExternalAccountsWrapper,\n Title,\n} from \"../styles\";\nimport { DialogActions, DialogContent } from \"domains/dialogs/styles\";\n\nimport { TRANSLATIONS } from \"../constants\";\nimport { Button } from \"domains/shared/components/button\";\nimport { useRootStore } from \"init/root-store\";\nimport { Icon } from \"domains/shared/components/icon\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\n\ntype Props = {\n setAlreadyLinked: Dispatch>;\n};\n\nexport const ChangeAccount: React.FC = ({ setAlreadyLinked }) => {\n const { t } = useTranslation();\n const { session } = useRootStore();\n const [fetch, isLoading] = useLoadingAction();\n\n const onContinueClick = () => {\n fetch(async () => {\n await session.fetchProfiles();\n\n setAlreadyLinked(true);\n });\n };\n\n return (\n <>\n \n {t(TRANSLATIONS.TWITCH_ALREADY_LINKED)}\n\n \n {t(TRANSLATIONS.TWITCH_CHANGE_ACCOUNT_SUGGESTION)}\n \n\n \n \n \n {t(TRANSLATIONS.BUTTON_CHANGE)}\n \n \n \n\n \n \n \n\n {isLoading && }\n \n );\n};\n","import React, { FC, useState } from \"react\";\nimport Dialog from \"rc-dialog\";\n\nimport { DialogCloseButton, CloseIcon } from \"../../styles\";\n\nimport { DialogProps } from \"domains/dialogs/types\";\nimport { AccountInformation } from \"./components/account-information.component\";\nimport { ChangeAccount } from \"./components/change-account.component\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { CHANNEL_IDS } from \"api/services/public-service\";\nimport { CHANNELS_NAME } from \"domains/shared/constants/channels\";\n\nexport const TwitchLinkedDialog: FC = ({ onSubmit, ...props }) => {\n const [isAlreadyLinked, setAlreadyLinked] = useState(true);\n\n const platformName = CHANNELS_NAME[CHANNEL_IDS.TWITCH];\n\n const onClose = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n platformName + ANALYTICS_CLICK_ATTRIBUTES.locationDetail.channelPopup,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.cancel\n );\n\n props.onClose();\n };\n\n return (\n \n \n \n \n\n {isAlreadyLinked ? (\n \n ) : (\n \n )}\n \n );\n};\n","import styled, { css } from \"styled-components\";\nimport { Menu, MenuItem } from \"@material-ui/core\";\n\nimport {\n FlexContentCenteringCSS,\n LinkCSS,\n TextEllipsisCSS,\n} from \"domains/shared/styles\";\nimport {\n ResetButtonCSS,\n SecondaryButtonState,\n} from \"domains/shared/components/button/styles\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport { MEDIA_QUERIES } from \"domains/shared/constants/media-queries.constants\";\nimport { Button } from \"domains/shared/components/button\";\n\nexport const ChannelDataWrapper = styled.div`\n display: flex;\n align-items: center;\n gap: 0.6rem;\n\n color: var(--color-text-primary);\n\n max-width: 100%;\n`;\n\nexport const ChannelName = styled.span`\n font: var(--font-body-bold);\n ${TextEllipsisCSS};\n\n max-width: 100%;\n`;\n\nexport const ChannelIcon = styled(Icon)`\n font-size: 2rem;\n`;\n\nexport const Reference = styled.h2`\n font: var(--font-caption-bold);\n color: var(--color-feedback-positive);\n ${TextEllipsisCSS};\n\n max-width: 100%;\n`;\n\nexport const ChannelContentWrapper = styled.div`\n position: relative;\n\n height: 100%;\n padding: 0.8rem;\n\n ${FlexContentCenteringCSS};\n flex-direction: column;\n gap: 1rem;\n\n border-radius: 4px;\n background-color: var(--color-background-3);\n`;\n\nexport const AddCTA = styled.button`\n ${FlexContentCenteringCSS};\n\n outline: none;\n border: none;\n cursor: pointer;\n\n position: relative;\n\n padding: 0.8rem;\n aspect-ratio: 1 auto;\n\n background-color: var(--color-background-4);\n border-radius: 8px;\n\n &:not(:disabled):is(:hover, :focus-visible) {\n background-color: var(--color-background-5);\n }\n\n &:not(:disabled):active {\n outline: 1px solid var(--color-stroke-10);\n background-color: var(--color-background-3);\n }\n`;\n\nexport const Loading = styled(SpinnerComponent)`\n img {\n width: 100%;\n height: 100%;\n }\n`;\n\nexport const PrimaryMark = styled(Icon)`\n font-size: 2.4rem;\n color: var(--color-feedback-positive);\n`;\n\nexport const ChannelContent = styled.article<{\n isError?: boolean;\n isPrimary?: boolean;\n}>`\n --_feedback-color: tranparent;\n\n position: relative;\n\n padding: 0.8rem;\n aspect-ratio: 1 auto;\n\n border-radius: 8px;\n background-color: var(--color-notification-positive);\n box-shadow: 0 0 0 1px var(--_feedback-color);\n\n ${ChannelContentWrapper} {\n height: 100%;\n\n background-color: var(--color-background-3);\n }\n\n ${(props) =>\n props.isError &&\n css`\n --_feedback-color: var(--color-feedback-warning);\n `}\n\n ${(props) =>\n props.isPrimary &&\n css`\n --_feedback-color: var(--color-feedback-positive);\n `}\n`;\n\nexport const ActionCTA = styled.button`\n ${ResetButtonCSS};\n ${SecondaryButtonState};\n\n padding: 0;\n width: 2.4rem;\n aspect-ratio: 1;\n\n border-radius: 50%;\n`;\n\nexport const MoreIcon = styled(Icon)`\n font-size: 2.4rem;\n rotate: 90deg;\n`;\n\nexport const ActionMenu = styled(Menu)`\n translate: 0 8px;\n\n .MuiMenu-list {\n padding: 0;\n\n background: none;\n border-radius: 8px;\n\n display: flex;\n flex-direction: column;\n }\n\n li:not(:last-child) {\n border-bottom: 1px solid var(--color-stroke-9);\n }\n`;\n\nexport const MenuAction = styled(MenuItem)`\n && {\n display: flex;\n gap: 1rem;\n align-items: center;\n\n padding: 0.8rem;\n width: 100%;\n min-height: auto;\n\n font: var(--font-caption-bold);\n color: var(--color-text-primary);\n\n background-color: var(--color-menu-item);\n\n ${MEDIA_QUERIES.isSupportHover} {\n &:hover {\n background-color: var(--color-menu-item-hover);\n }\n }\n\n &:focus-within {\n background-color: var(--color-menu-item-hover);\n }\n\n &:active {\n background-color: var(--color-menu-item-pressed);\n }\n }\n`;\n\nexport const MenuActionIcon = styled(Icon)`\n font-size: 1.6rem;\n`;\n\nexport const MenuActionName = styled.span`\n ${TextEllipsisCSS};\n`;\n\nexport const TwitchRefreshButton = styled(Button).attrs(() => ({\n kind: \"default\",\n}))`\n ${LinkCSS};\n\n font: var(--font-body-bold);\n\n &:disabled {\n color: var(--color-text-tertiary);\n }\n`;\n\n// temp styles for disabled instagram\nexport const DisabledInstagramBlock = styled.div`\n ${FlexContentCenteringCSS};\n\n outline: none;\n\n position: relative;\n cursor: pointer;\n\n padding: 0.8rem;\n aspect-ratio: 1 auto;\n\n background-color: var(--color-background-3);\n border-radius: 8px;\n border: 1px solid var(--color-stroke-10);\n`;\n\nexport const DisabledInstagramChannel = styled(ChannelDataWrapper)`\n color: var(--color-text-secondary);\n`;\n","import React, { FC } from \"react\";\nimport { Trans } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n ActionsWrapper,\n ActiveChannelWrapper,\n ChannelDataWrapper,\n ChannelIcon,\n ChannelName,\n ChannelNameWrapper,\n ChannelCTA,\n ErrorDescription,\n UserName,\n Loading,\n} from \"./styles\";\n\nimport { CHANNEL_IDS } from \"api/services/public-service\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { ActionCtaComponent } from \"domains/shared/components/button/action-cta/action-cta.component\";\nimport { useChannel } from \"./useChannel\";\nimport { Tooltip } from \"../../../shared/components/tooltip\";\nimport {\n DisabledInstagramBlock,\n DisabledInstagramChannel,\n} from \"../../../shared/components/cards/channel/styles\";\n\ntype Props = {\n channelId: CHANNEL_IDS;\n isDisabled?: boolean;\n isMain?: boolean;\n};\n\nexport const ChannelComponent: FC = observer(\n ({ channelId, isMain, isDisabled }) => {\n const {\n errorText,\n name,\n icon,\n isLoading,\n onChannelAdd,\n onChannelRemove,\n reference,\n } = useChannel(channelId, isMain);\n\n const channelName = (\n \n \n {name}\n \n );\n\n //Temp disable logic while Instagram OAuth not fixed;\n const isInstagram = channelId === CHANNEL_IDS.INSTAGRAM;\n const instagramDisableReason =\n \"This social platform is experiencing problems verifying accounts linked to the Ubisoft Creators Program. You will be able to re-link your account once resolved\";\n\n if (isInstagram) {\n return (\n \n \n \n \n {name}\n \n \n \n );\n }\n\n if (isDisabled) {\n return (\n \n {channelName}\n \n );\n }\n\n if (reference) {\n return (\n \n \n {channelName}\n {reference}\n \n\n \n \n \n\n {isLoading && }\n \n );\n }\n\n return (\n \n \n {channelName}\n {errorText && (\n \n \n \n )}\n \n \n );\n }\n);\n","import { useMemo } from \"react\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { SocialMediaDialog } from \"domains/dialogs/social-media/social-media.dialog\";\nimport { CHANNELS_ICONS_BY_ID } from \"domains/shared/components/icon\";\nimport { CHANNELS_NAME } from \"domains/shared/constants/channels\";\nimport { CHANNEL_IDS } from \"api/services/public-service\";\nimport { useLinkingUtils } from \"domains/shared/hooks/useLinkingUtils\";\nimport { globalErrorService } from \"domains/global-errors/global-error.service\";\nimport { TwitchLinkedDialog } from \"domains/dialogs/social-media/twitch-linked/twitch-linked.dialog\";\nimport { ERROR_TEXT } from \"./constants\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\n\nexport const useChannel = (channelId: CHANNEL_IDS, isMain = false) => {\n const { dialogs, signup, session } = useRootStore();\n const { openAccountLinkingModal, openOAuthLinkingModal } = useLinkingUtils();\n const [action, isLoading] = useLoadingAction();\n\n const icon = CHANNELS_ICONS_BY_ID[channelId];\n const name = CHANNELS_NAME[channelId];\n const { isYouTubeTokenValid } = globalErrorService;\n\n const getReference = () => {\n const { form, mainChannel } = signup;\n const channel = form.channels.get(isMain ? mainChannel?.typeId : channelId);\n\n if (!channel) {\n return null;\n }\n\n return channel.username || channel.url;\n };\n\n const errorText = useMemo(() => {\n switch (channelId) {\n case CHANNEL_IDS.YOUTUBE: {\n return isYouTubeTokenValid ? null : ERROR_TEXT[channelId];\n }\n\n default:\n return null;\n }\n }, [channelId, isYouTubeTokenValid]);\n\n const onChannelRemove = () => {\n action(async () => {\n await signup.removeChannel(channelId);\n });\n };\n\n const onTwitchAdd = async () => {\n const account = session.getAccountData(channelId);\n\n if (account) {\n const { payload } = await dialogs.openDialog(TwitchLinkedDialog);\n\n signup.addChannel({\n typeId: channelId,\n url: payload,\n });\n\n return;\n }\n\n await openAccountLinkingModal(CHANNEL_IDS.TWITCH);\n };\n\n const onExtraChannelAdd = async () => {\n const { payload } = await dialogs.openDialog(SocialMediaDialog, {\n channelId,\n });\n\n signup.addChannel({\n typeId: channelId,\n url: payload,\n });\n };\n\n const onChannelAdd = async () => {\n // Linking is an async operation, so we need to set up the main channel ID in advance.\n if (isMain) {\n signup.setMainChannelId(channelId);\n }\n\n if (getReference()) {\n return;\n }\n\n switch (channelId) {\n case CHANNEL_IDS.DISCORD:\n case CHANNEL_IDS.YOUTUBE:\n await openAccountLinkingModal(channelId);\n break;\n\n case CHANNEL_IDS.TWITCH:\n await onTwitchAdd();\n break;\n\n case CHANNEL_IDS.INSTAGRAM:\n case CHANNEL_IDS.TIKTOK:\n await openOAuthLinkingModal(channelId);\n break;\n\n default:\n await onExtraChannelAdd();\n }\n };\n\n return {\n isLoading,\n onChannelAdd,\n name,\n icon,\n errorText,\n onChannelRemove,\n reference: getReference(),\n };\n};\n","import styled from \"styled-components\";\n\nexport const ChannelsWrapper = styled.div`\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));\n grid-gap: 1.6rem;\n`;\n","export const TRANSLATIONS = {\n TITLE: \"sign-up__platforms__discord-title\",\n DESCRIPTION: \"sign-up__platforms__discord-description\",\n};\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { Description, ExtraChannelsTitle, Header } from \"../styles\";\nimport { ChannelsWrapper } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { ChannelComponent } from \"../channel/channel.component\";\nimport { CHANNEL_IDS } from \"api/services/public-service\";\n\nexport const CommunicationChannelsComponent = observer(() => {\n const { t } = useTranslation();\n\n return (\n
    \n
    \n {t(TRANSLATIONS.TITLE)}\n {t(TRANSLATIONS.DESCRIPTION)}\n
    \n\n \n \n \n
    \n );\n});\n","import React, { FC, useEffect, useMemo } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ChannelsList,\n Description,\n ExtraChannelsTitle,\n Header,\n PrimaryChannelsTitle,\n SectionsWrapper,\n} from \"./styles\";\nimport {\n ControlsWrapper,\n StepsControl,\n StepWrapper,\n ContentWrapper,\n StepTitle,\n} from \"../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useLinkingReactions } from \"./hooks/\";\nimport { useFilterChannels } from \"domains/shared/hooks/useFilterChannels\";\nimport { useFlowEvent } from \"analytics/hooks/useFlowEventHook\";\nimport { ANALYTICS_FLOW_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { useRootStore } from \"init/root-store\";\nimport { useFormContext } from \"../form-container/context\";\nimport { useSignUpAnalytics } from \"../hooks/useSignUpAnalytics\";\nimport { NavigationControlsComponent } from \"domains/shared/components/navigation-control\";\nimport { ChannelComponent } from \"./channel/channel.component\";\nimport { CommunicationChannelsComponent } from \"./communication-channels/communication-channels.component\";\nimport { PRIMARY_CHANNEL_IDS } from \"domains/shared/constants/channels\";\n\nexport const LinkingComponent: FC = observer(() => {\n const { t } = useTranslation();\n const { signup, metadata, session } = useRootStore();\n const { nextStep, previousStep } = useFormContext();\n const analytics = useSignUpAnalytics();\n\n const { isLinkingValid, mainChannel, isExtraChannelsEditable } = signup;\n\n useLinkingReactions();\n useFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.channels,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.display,\n ANALYTICS_FLOW_ATTRIBUTES.action.channels,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n\n const { checkAdditionalChannelAllowing } = useFilterChannels();\n\n const extraChannels = useMemo(\n () =>\n metadata.contentChannels.filter((it) =>\n checkAdditionalChannelAllowing(it.id)\n ),\n [checkAdditionalChannelAllowing, metadata.contentChannels]\n );\n\n const onContinueClick = () => {\n analytics.callChannelsContinueClickEvent();\n nextStep();\n };\n\n const onBackClick = () => {\n analytics.callChannelsBackClickEvent();\n previousStep();\n };\n\n useEffect(() => {\n (async () => {\n await session.fetchProfiles();\n })();\n }, [session]);\n\n return (\n \n \n {t(TRANSLATIONS.TITLE)}\n\n \n
    \n
    \n \n {t(TRANSLATIONS.PRIMARY_TITLE)}\n \n {t(TRANSLATIONS.PRIMARY_DESCRIPTION)}\n
    \n\n \n {PRIMARY_CHANNEL_IDS.map((id) => (\n
  • \n \n
  • \n ))}\n
    \n
    \n\n {isExtraChannelsEditable && (\n <>\n
    \n
    \n \n {t(TRANSLATIONS.EXTRA_TITLE)}\n \n {t(TRANSLATIONS.EXTRA_DESCRIPTION)}\n
    \n\n \n {extraChannels.map((channel) => (\n
  • \n \n
  • \n ))}\n
    \n
    \n\n \n \n )}\n
    \n
    \n\n \n \n \n {t(TRANSLATIONS.BACK)}\n \n\n \n {t(TRANSLATIONS.CONTINUE)}\n \n \n \n
    \n );\n});\n","import { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { useLinkingUtils } from \"domains/shared/hooks/useLinkingUtils\";\nimport { globalErrorService } from \"domains/global-errors/global-error.service\";\nimport { CHANNEL_IDS } from \"api/services/public-service\";\nimport { oAuthService } from \"api/services/oauth\";\nimport {\n CHANNEL_NOTIFICATIONS,\n notificationsService,\n} from \"domains/notifications\";\nimport {\n CHANNELS_NAME,\n OAUTH_CHANNEL_PROVIDER,\n} from \"domains/shared/constants/channels\";\n\nexport function useLinkingReactions() {\n const { signup, session } = useRootStore();\n const { getYouTubeData, registerLinkingReaction } = useLinkingUtils();\n const { t } = useTranslation();\n\n useEffect(() => {\n const showError = (channelId: CHANNEL_IDS) => {\n const text = t(CHANNEL_NOTIFICATIONS.CHANNEL_DATA_MISSING, {\n channelName: CHANNELS_NAME[channelId],\n });\n\n notificationsService.showError(text);\n };\n\n const linkAccount = async (typeId: CHANNEL_IDS) => {\n await session.fetchProfiles();\n\n const accountData = session.getAccountData(typeId);\n\n if (!accountData) {\n showError(typeId);\n return;\n }\n\n const { nameOnPlatform: username } = accountData;\n\n signup.addChannel({\n typeId,\n username,\n });\n };\n\n const onYouTubeLinked = async () => {\n await session.fetchProfiles();\n\n const typeId = CHANNEL_IDS.YOUTUBE;\n const url = (await getYouTubeData())?.url;\n\n if (!url) {\n showError(typeId);\n return;\n }\n\n globalErrorService.isYouTubeTokenValid = true;\n\n signup.addChannel({\n typeId,\n url,\n });\n };\n\n const linkOAuth = async (typeId: CHANNEL_IDS) => {\n const provider = OAUTH_CHANNEL_PROVIDER[typeId];\n\n if (!provider) {\n return;\n }\n\n const { username } = await oAuthService.getProviderUserInfo(provider);\n\n if (!username) {\n showError(typeId);\n return;\n }\n\n signup.addChannel({\n typeId,\n username,\n });\n };\n\n const disposer = registerLinkingReaction({\n onYouTubeLinked,\n onTiKToKLinked: () => linkOAuth(CHANNEL_IDS.TIKTOK),\n onInstagramLinked: () => linkOAuth(CHANNEL_IDS.INSTAGRAM),\n onTwitchLinked: () => linkAccount(CHANNEL_IDS.TWITCH),\n onDiscordLinked: () => linkAccount(CHANNEL_IDS.DISCORD),\n });\n\n return () => disposer();\n }, [getYouTubeData, registerLinkingReaction, session, signup, t]);\n}\n","import styled, { css } from \"styled-components\";\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\n\nimport { Icon } from \"../icon\";\n\nexport const ArrowIcon = styled(Icon).attrs(() => ({\n type: \"arrow\",\n}))`\n font-size: 1.5rem;\n color: var(--color-text-clickable);\n`;\n\nexport const SearchIcon = styled(Icon)`\n position: absolute;\n left: 1.4rem;\n\n z-index: 1;\n\n pointer-events: none;\n touch-action: none;\n\n font-size: 1.8rem;\n`;\n\nexport const AutocompleteWrapper = styled.div`\n position: relative;\n\n display: flex;\n align-items: center;\n\n .MuiAutocomplete-root {\n flex-grow: 1;\n\n background: var(--color-background-2);\n border: 1px solid var(--color-stroke-5);\n border-radius: 8px;\n\n &.Mui-focused {\n border: 1px solid var(--color-stroke-4);\n }\n }\n`;\n\nexport const StyledAutocomplete = styled(Autocomplete)`\n &&& {\n .MuiInputBase-root {\n height: 4rem;\n padding: 1rem 2.4rem 1rem 4rem;\n\n color: var(--color-text-primary);\n\n .MuiInputBase-input {\n padding: 0;\n\n text-overflow: ellipsis;\n }\n\n .MuiOutlinedInput-input {\n font: var(--font-body-bold);\n\n padding: 0;\n\n border: none;\n }\n\n .MuiOutlinedInput-notchedOutline {\n border: none;\n }\n\n &.Mui-disabled ${ArrowIcon} {\n color: var(--color-text-tertiary);\n }\n }\n\n .MuiAutocomplete-endAdornment {\n top: 50%;\n right: 1rem;\n\n transform: translateY(-50%);\n }\n\n .MuiAutocomplete-popupIndicator {\n padding: 0;\n margin: 0;\n\n transition: 0.2s transform;\n will-change: transform;\n transform: rotate(0deg);\n\n &.MuiAutocomplete-popupIndicatorOpen {\n transform: rotate(180deg);\n }\n }\n }\n`;\n\nexport const ComboboxOption = styled.div`\n font: var(--font-body-bold);\n color: var(--color-text-primary);\n white-space: normal;\n\n display: flex;\n align-items: center;\n gap: 1rem;\n`;\n\nexport const ComboboxNotFound = styled.span`\n font: var(--font-body-bold);\n color: var(--color-text-primary);\n`;\n\nexport const CheckedIcon = styled(Icon)<{ isActive?: boolean }>`\n display: inline-flex;\n align-items: center;\n\n font-size: 1.4rem;\n color: var(--color-text-clickable);\n\n visibility: hidden;\n\n ${(props) =>\n props.isActive &&\n css`\n visibility: visible;\n `}\n`;\n","export const TRANSLATIONS = {\n NOT_FOUND: \"combobox__not-found\",\n};\n","import React, { ChangeEvent, FC } from \"react\";\nimport { TextField } from \"@material-ui/core\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n AutocompleteWrapper,\n ArrowIcon,\n SearchIcon,\n ComboboxNotFound,\n ComboboxOption,\n CheckedIcon,\n StyledAutocomplete,\n} from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\n\ntype Props = {\n options: T[];\n onChange: ComboboxChangeHandler;\n value?: number | null;\n className?: string;\n placeholder?: string;\n id?: string;\n disabled?: boolean;\n};\n\nexport type ComboboxChangeHandler = (\n event: ChangeEvent,\n value: AutocompleteOption\n) => void;\n\ntype AutocompleteOption = {\n id: string | number;\n name: string;\n};\n\nexport const Combobox: FC = ({\n options,\n onChange,\n value,\n className,\n placeholder,\n id,\n disabled,\n}) => {\n const { t } = useTranslation();\n\n const activeOption = value\n ? options.find((option) => option.id === value)\n : null;\n\n return (\n \n \n\n onChange(evt, data as AutocompleteOption)}\n value={activeOption}\n autoComplete\n disableClearable\n getOptionLabel={(option) => (option as AutocompleteOption).name}\n getOptionSelected={(option, value) =>\n (option as AutocompleteOption).id === (value as AutocompleteOption).id\n }\n renderInput={(params) => (\n \n )}\n renderOption={(option) => (\n \n \n {(option as AutocompleteOption).name}\n \n )}\n noOptionsText={\n {t(TRANSLATIONS.NOT_FOUND)}\n }\n popupIcon={}\n disabled={disabled}\n />\n \n );\n};\n","import styled from \"styled-components\";\n\nimport { Combobox } from \"domains/shared/components/combobox\";\nimport { BREAKPOINT } from \"../../shared/constants/media-queries.constants\";\n\nexport const UserData = styled.fieldset`\n margin: 0 0 2.4rem 0;\n\n border: none;\n padding: 0;\n`;\n\nexport const UserDataWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n\n margin-bottom: 2.4rem;\n`;\n\nexport const Note = styled.p`\n font: var(--font-body);\n color: var(--color-text-secondary);\n`;\n\nexport const Description = styled.div`\n font: var(--font-body);\n color: var(--color-text-primary);\n\n margin-bottom: 2.4rem;\n`;\n\nexport const ControlWrapper = styled.div`\n label {\n display: inline-block;\n\n font: var(--font-caption);\n\n margin-bottom: 0.4rem;\n }\n`;\n\nexport const Dropdown = styled(Combobox)`\n width: 28rem;\n\n ${BREAKPOINT.ls} {\n width: 100%;\n }\n`;\n\nexport const Subtitle = styled.h3`\n font: var(--font-subtitle-bold);\n`;\n\nexport const EmailWrapper = styled.p`\n font: var(--font-body);\n\n & > :not(:last-child) {\n margin-right: 0.8rem;\n }\n`;\n\nexport const EmailSection = styled.section`\n display: flex;\n flex-direction: column;\n gap: 0.4rem;\n`;\n","export const TRANSLATIONS = {\n TITLE: \"user-information__title\",\n DESCRIPTION: \"user-information__description\",\n LABEL_LOCATION: \"user-information__label__location\",\n LABEL_BROADCAST_LANGUAGE: \"user-information__label__broadcast-language\",\n LABEL_COMMUNICATION_LANGUAGE:\n \"user-information__label__communication-language\",\n CHANGES_MESSAGE: \"user-information__changes-message\",\n EMAIL_TITLE: \"user-information__email-title\",\n EDIT_BUTTON: \"button__edit\",\n EMAIL_DESCRIPTION_1: \"user-information__email-description-1\",\n EMAIL_DESCRIPTION_2: \"user-information__email-description-2\",\n BACK: \"button__back\",\n APPLY: \"button__apply\",\n PLACEHOLDER_BROADCAST_LANGUAGE:\n \"user-information__placeholder__broadcast-language\",\n PLACEHOLDER_COMMUNICATION_LANGUAGE:\n \"user-information__placeholder__communication-language\",\n PLACEHOLDER_LOCATION: \"user-information__placeholder__location\",\n LABEL_COMMUNICATION_CHANNEL: \"user-information__label__communication-channel\",\n PLACEHOLDER_COMMUNICATION_CHANNEL:\n \"user-information__placeholder__communication-channel\",\n};\n","import styled from \"styled-components\";\n\nimport { DialogDescription, DialogTitle } from \"../styles\";\n\nimport { CTAExternalLink, LottieIcon } from \"domains/shared/components\";\nimport { Icon } from \"domains/shared/components/icon\";\n\nexport const ImageWrapper = styled.div`\n margin-bottom: 2.8rem;\n`;\n\nexport const Title = styled(DialogTitle)`\n margin-bottom: 1.6rem;\n\n text-align: center;\n`;\n\nexport const Description = styled(DialogDescription)`\n text-align: center;\n\n margin-bottom: 3.2rem;\n`;\n\nexport const AccountsLink = styled(CTAExternalLink)`\n width: 100%;\n\n & > :not(:last-child) {\n margin-right: 0.8rem;\n }\n`;\n\nexport const LinkIcon = styled(Icon)`\n color: var(--color-text-tertiary);\n`;\n\nexport const AnimatedIcon = styled(LottieIcon)`\n width: 7.6rem;\n\n margin: 0 auto;\n`;\n","export const TRANSLATIONS = {\n TITLE: \"dialog__email__title\",\n DESCRIPTION: \"dialog__email__description\",\n BUTTON_CONTINUE: \"button__continue\",\n BUTTON_CHANGE: \"button__change-email\",\n};\n","import React, { FC } from \"react\";\nimport Dialog from \"rc-dialog\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n AccountsLink,\n Title,\n LinkIcon,\n Description,\n ImageWrapper,\n AnimatedIcon,\n} from \"./styles\";\nimport {\n CloseIcon,\n DialogActions,\n DialogCloseButton,\n DialogContent,\n} from \"../styles\";\n\nimport email from \"assets/animations/email.json\";\n\nimport { DialogProps } from \"../types\";\nimport { TRANSLATIONS } from \"./contants\";\nimport { useRootStore } from \"init/root-store\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport { Button } from \"domains/shared/components/button\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\n\nexport const EmailEditingDialog: FC = (props) => {\n const { t } = useTranslation();\n const { profile } = useRootStore();\n const [fetch, isLoading] = useLoadingAction();\n\n const onSubmit = () => {\n fetch(async () => {\n await profile.fetchUserDetails();\n props.onSubmit();\n });\n };\n\n return (\n \n \n \n \n\n \n \n \n \n\n {t(TRANSLATIONS.TITLE)}\n {t(TRANSLATIONS.DESCRIPTION)}\n\n \n {t(TRANSLATIONS.BUTTON_CHANGE)}\n \n \n \n\n \n \n \n\n {isLoading && }\n \n );\n};\n","import React, { FC } from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n ControlWrapper,\n Subtitle,\n EmailWrapper,\n Description,\n Note,\n Dropdown,\n UserDataWrapper,\n UserData,\n EmailSection,\n} from \"./styles\";\nimport {\n ControlsWrapper,\n StepsControl,\n StepWrapper,\n ContentWrapper,\n StepTitle,\n} from \"../styles\";\n\nimport { EditButton, ExternalLink } from \"domains/shared/components\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { useRootStore } from \"init/root-store\";\nimport { EmailEditingDialog } from \"domains/dialogs/email-editing/email-editing.dialog\";\nimport { useFlowEvent } from \"analytics/hooks/useFlowEventHook\";\nimport { ANALYTICS_FLOW_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { useFormContext } from \"../form-container/context\";\nimport { useSignUpAnalytics } from \"../hooks/useSignUpAnalytics\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\nimport { NavigationControlsComponent } from \"domains/shared/components/navigation-control\";\n\nexport const UserInformation: FC = observer(() => {\n const { t } = useTranslation();\n const { signup, dialogs, profile, metadata } = useRootStore();\n const { previousStep, submitForm } = useFormContext();\n const analytics = useSignUpAnalytics();\n\n const { data } = metadata;\n const { form } = signup;\n const { countryId, broadcastLanguageId, communicationLanguageId } = form;\n\n const {\n setActiveCountry,\n setActiveLanguage,\n setCommunicationLanguage,\n isUserInformationValid,\n } = signup;\n\n const onEmailEdit = async () => {\n await dialogs.openDialog(EmailEditingDialog);\n };\n\n useFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.locationAndLanguage,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n signup.channelNames,\n ANALYTICS_FLOW_ATTRIBUTES.category.display,\n ANALYTICS_FLOW_ATTRIBUTES.action.locationAndLanguage,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n\n const onBackClick = () => {\n analytics.callInfoBackClickEvent();\n previousStep();\n };\n\n return (\n \n \n {t(TRANSLATIONS.TITLE)}\n\n \n {t(TRANSLATIONS.DESCRIPTION)}\n\n \n \n \n\n setActiveCountry(Number(value.id))}\n />\n \n\n \n \n\n setActiveLanguage(Number(data.id))}\n />\n \n\n \n \n\n \n setCommunicationLanguage(Number(data.id))\n }\n />\n \n \n\n {t(TRANSLATIONS.CHANGES_MESSAGE)}\n \n\n \n {t(TRANSLATIONS.EMAIL_TITLE)}\n\n \n {profile.userDetails?.email}\n \n {t(TRANSLATIONS.EDIT_BUTTON)}\n \n \n\n
    \n {t(TRANSLATIONS.EMAIL_DESCRIPTION_1)}\n \n \n ),\n }}\n />\n \n
    \n
    \n
    \n\n \n \n \n {t(TRANSLATIONS.BACK)}\n \n\n \n {t(TRANSLATIONS.APPLY)}\n \n \n \n
    \n );\n});\n","import { FC } from \"react\";\n\nimport { Requirements } from \"../requirements\";\nimport { LinkingComponent } from \"../linking\";\nimport { UserInformation } from \"../user-information/\";\n\nexport const TRANSLATIONS = {\n TITLE_REQUIREMENTS: \"sign-up__title__requirements\",\n TITLE_LINKING: \"sign-up__title__channels\",\n TITLE_USER_INFORMATION: \"sign-up__title__user-information\",\n};\n\nexport const SIGNUP_STEPS: {\n title: string;\n component: FC;\n}[] = [\n {\n title: TRANSLATIONS.TITLE_REQUIREMENTS,\n component: Requirements,\n },\n {\n title: TRANSLATIONS.TITLE_LINKING,\n component: LinkingComponent,\n },\n {\n title: TRANSLATIONS.TITLE_USER_INFORMATION,\n component: UserInformation,\n },\n];\n","import React, { FC } from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n PrivacyLink,\n PrivacyText,\n RequirementStep,\n RequirementsList,\n} from \"./styles\";\nimport {\n ControlsWrapper,\n StepsControl,\n ContentWrapper,\n StepTitle,\n} from \"../styles\";\n\nimport { TRANSLATIONS, getRequirements } from \"./constants\";\nimport { RequirementItem } from \"./requirement-item\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\nimport { useFlowEvent } from \"analytics/hooks/useFlowEventHook\";\nimport { ANALYTICS_FLOW_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { useFormContext } from \"../form-container/context\";\nimport { useSignUpAnalytics } from \"../hooks/useSignUpAnalytics\";\nimport { NavigationControlsComponent } from \"domains/shared/components/navigation-control\";\n\nexport const Requirements: FC = () => {\n const { t } = useTranslation();\n const { nextStep } = useFormContext();\n const analytics = useSignUpAnalytics();\n\n const requirements = getRequirements();\n\n useFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.appRequirements,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.display,\n ANALYTICS_FLOW_ATTRIBUTES.action.appRequirements,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n\n const onContinueClick = () => {\n analytics.callRequirementsContinueClickEvent();\n nextStep();\n };\n\n return (\n <>\n \n \n {t(TRANSLATIONS.TITLE_REQUIREMENTS)}\n\n \n {requirements.map(({ image, translation }, index) => (\n \n ))}\n \n \n\n \n \n \n {t(TRANSLATIONS.CONTINUE)}\n \n \n \n \n\n \n \n ,\n support: ,\n }}\n />\n \n \n \n );\n};\n","import React, { useEffect, useLayoutEffect } from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { StepsWrapper, SignUpLayout, Breadcrumbs } from \"./styles\";\n\nimport { FloatLogo } from \"domains/shared/components\";\nimport { useRootStore } from \"init/root-store\";\nimport { scrollTop } from \"domains/shared/utils/document\";\nimport { useStepper } from \"domains/shared/hooks/useStepper\";\nimport { getErrorCode } from \"api\";\nimport { ErrorConfig } from \"api/types\";\nimport { SIGNUP_STEPS } from \"./constants\";\nimport { FormContext } from \"./context\";\nimport { useSignUpAnalytics } from \"../hooks/useSignUpAnalytics\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport { getErrorMessage, isChannelsError } from \"api/utils\";\nimport { themeService } from \"domains/theme/theme.service\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\nimport { notificationsService } from \"../../notifications\";\n\nexport const FormContainer = observer(() => {\n const { signup, metadata, ipLocation } = useRootStore();\n const analytics = useSignUpAnalytics();\n const [fetch, isLoading] = useLoadingAction();\n\n const { applyTheme, resetTheme } = themeService;\n const { countries } = metadata.data;\n\n const {\n previousStep,\n nextStep,\n activeIndex,\n setActiveIndex,\n ActiveStep: { component: ActiveComponent },\n } = useStepper(0, SIGNUP_STEPS);\n\n const submitForm = () => {\n fetch(async () => {\n try {\n await signup.submitForm();\n\n analytics.callApplyClickEvent();\n } catch (err) {\n const sponsaliaErrorCode = getErrorCode(err as ErrorConfig);\n const errorMessage = getErrorMessage(err as ErrorConfig);\n\n if (isChannelsError(sponsaliaErrorCode!)) {\n setActiveIndex(1);\n notificationsService.showError(errorMessage);\n }\n }\n });\n };\n\n useLayoutEffect(() => {\n signup.init();\n }, [signup]);\n\n useLayoutEffect(() => {\n scrollTop();\n }, [activeIndex]);\n\n useLayoutEffect(() => {\n if (signup.referralData?.brandProgramId) {\n applyTheme(signup.referralData?.brandProgramId);\n }\n\n return resetTheme;\n }, [resetTheme, applyTheme, signup.referralData?.brandProgramId]);\n\n useEffect(() => signup.saveAndTrackingChanges(), [signup]);\n\n useEffect(() => {\n const country = countries.find(\n (country) => country.code === ipLocation.data?.countryCode\n );\n\n if (country && !signup.form.countryId) {\n signup.setActiveCountry(country.id);\n }\n }, [countries, ipLocation, signup]);\n\n useEffect(() => {\n const {\n setActiveLanguage,\n setCommunicationLanguage,\n defaultLanguageId,\n form,\n } = signup;\n const { broadcastLanguageId, communicationLanguageId } = form;\n\n if (broadcastLanguageId === null || communicationLanguageId === null) {\n setActiveLanguage(defaultLanguageId);\n setCommunicationLanguage(defaultLanguageId);\n }\n }, [signup]);\n\n return (\n \n \n \n\n \n \n \n \n \n\n {isLoading && }\n \n );\n});\n","import styled, { keyframes } from \"styled-components\";\n\nimport { BackgroundGlassCSS } from \"domains/shared/styles\";\nimport { GeneralContentStyles } from \"domains/shared/layout/styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { MainLayout } from \"domains/shared/layout/main.layout\";\nimport { LottieIcon } from \"../shared/components\";\n\nexport const StatusLayout = styled(MainLayout)`\n display: flex;\n ${GeneralContentStyles};\n`;\n\nconst IconAppearance = keyframes`\n from {\n transform: scale(2) translateY(25%);\n }\n \n to {\n transform: scale(1) translateY(0);\n }\n`;\n\nconst ContentAppearance = keyframes`\n from {\n opacity: 0;\n }\n \n to {\n opacity: 1;\n }\n`;\n\nconst CoverAppearance = keyframes`\n from {\n height: 21.4rem;\n }\n \n to {\n height: 100%;\n }\n`;\n\nexport const DetailsWrapper = styled.div`\n position: relative;\n transform: translateZ(0);\n\n margin: auto;\n\n display: flex;\n flex-direction: column;\n align-items: center;\n\n flex-basis: 68.4rem;\n padding: 3.8rem;\n\n &::after {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: -1;\n\n content: \"\";\n\n ${BackgroundGlassCSS};\n\n border-radius: 5px;\n box-shadow: 1px 1px 0 var(--color-stroke-2),\n inset 1px 1px 1px var(--color-stroke-1);\n background: var(--color-background-glass-1);\n\n animation: ${CoverAppearance} 0.5s 1s both;\n }\n\n ${BREAKPOINT.ml} {\n align-self: flex-start;\n\n margin: 0;\n padding: 3.8rem 1.6rem;\n }\n`;\n\nexport const IconWrapper = styled(LottieIcon)`\n width: 7rem;\n height: 7rem;\n\n margin-bottom: 1.2rem;\n\n animation: ${IconAppearance} 1s 1s both;\n`;\n\nexport const ContentWrapper = styled.div`\n animation: ${ContentAppearance} 1s 1s both;\n`;\n\nexport const Title = styled.h2`\n font: var(--font-title-bold);\n color: var(--color-text-primary);\n text-align: center;\n\n &:not(:last-child) {\n margin-bottom: 1.6rem;\n }\n`;\n\nexport const ErrorTitle = styled(Title)`\n color: var(--color-feedback-negative);\n`;\n\nexport const WarningTitle = styled(Title)`\n color: var(--color-feedback-warning);\n`;\n\nexport const PositiveTitle = styled(Title)`\n color: var(--color-feedback-positive);\n`;\n\nexport const Description = styled.div`\n font: var(--font-body);\n color: var(--color-text-primary);\n text-align: center;\n\n &:not(:last-child) {\n margin-bottom: 3.8rem;\n }\n\n & > :not(:last-child) {\n margin-bottom: 2rem;\n }\n`;\n\nexport const AppliedDescription = styled(Description)`\n & > :not(:last-child) {\n margin-bottom: 0;\n }\n`;\n\nexport const LinkWrapper = styled.div`\n text-align: center;\n`;\n\nexport const ErrorCode = styled.div`\n font-size: 2rem;\n color: var(--color-feedback-negative);\n`;\n\nexport const UserEmail = styled.div`\n font: var(--font-subtitle-bold);\n`;\n","export const TRANSLATIONS = {\n NOT_FOUND_TITLE: \"error-404__title\",\n NOT_FOUND_WARNING: \"error-404__warning\",\n NOT_FOUND_DESCRIPTION: \"error-404__description\",\n LINK_HOMEPAGE: \"link__homepage\",\n MAINTENANCE_TITLE: \"error-maintenance__title\",\n MAINTENANCE_DESCRIPTION_1: \"error-maintenance__description-1\",\n MAINTENANCE_DESCRIPTION_2: \"error-maintenance__description-2\",\n SIGNUP_BLOCKER_TITLE: \"signup-blocked__title\",\n SIGNUP_BLOCKER_DESCRIPTION_1: \"signup-blocked__description-1\",\n SIGNUP_BLOCKER_DESCRIPTION_2: \"signup-blocked__description-2\",\n};\n","import React, { FC } from \"react\";\n\nimport {\n ContentWrapper,\n DetailsWrapper,\n IconWrapper,\n StatusLayout,\n} from \"./styles\";\n\nimport warning from \"assets/animations/warning.json\";\nimport success from \"assets/animations/success.json\";\nimport error from \"assets/animations/error.json\";\n\ntype IconType = \"warning\" | \"error\" | \"success\";\n\ntype Props = {\n type: IconType;\n};\n\nconst Icons: Record> = {\n warning,\n success,\n error,\n};\n\nexport const AnimatedStatusLayout: FC = ({ children, type }) => (\n \n \n \n\n {children}\n \n \n);\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Description, WarningTitle } from \"../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useFlowEvent } from \"analytics/hooks/useFlowEventHook\";\nimport { ANALYTICS_FLOW_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { AnimatedStatusLayout } from \"../animated-status.layout\";\n\nexport const SignupBlockedPage: FC = () => {\n const { t } = useTranslation();\n\n useFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.error,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.display,\n ANALYTICS_FLOW_ATTRIBUTES.action.applicationAreOver,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n\n return (\n \n {t(TRANSLATIONS.SIGNUP_BLOCKER_TITLE)}\n\n \n
    \n

    {t(TRANSLATIONS.SIGNUP_BLOCKER_DESCRIPTION_1)}

    \n
    \n\n
    \n

    {t(TRANSLATIONS.SIGNUP_BLOCKER_DESCRIPTION_2)}

    \n
    \n
    \n
    \n );\n};\n","import React, { useEffect } from \"react\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { LoadingLayout } from \"domains/shared/layout/loading.layout\";\nimport { FormContainer } from \"./form-container/form-container.component\";\nimport { SignupBlockedPage } from \"domains/feedback/warnings/signup-blocked.page\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport { ANALYTICS_PAGE_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\n\nexport const SignUpPage = () => {\n const { signup } = useRootStore();\n const { signupAllowed } = signup;\n const [fetch, isLoading] = useLoadingAction(true);\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.apply,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.main,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n useEffect(() => {\n fetch(async () => {\n await signup.fetchSignupAllowed();\n });\n }, [fetch, signup]);\n\n if (isLoading) {\n return ;\n }\n\n return signupAllowed ? : ;\n};\n","import { urls } from \"./book\";\nimport { rootStore } from \"init/root-store\";\nimport { PROFILE_STATUS } from \"api/services/public-service\";\n\nexport const removeLocale = (pathname: string) =>\n pathname.replace(/^\\/[a-z]{2}-[a-z]{2}/, \"\");\n\nexport const getDefaultProfileRoute = () => {\n const { status, canReapply } = rootStore.profile;\n\n switch (true) {\n case status === PROFILE_STATUS.BANNED:\n case status === PROFILE_STATUS.LEFT:\n case status === PROFILE_STATUS.APPLIED:\n case status === PROFILE_STATUS.REJECTED && !canReapply:\n return urls.status;\n case status === PROFILE_STATUS.CREATED:\n case status === PROFILE_STATUS.INVITED:\n case status === PROFILE_STATUS.REJECTED && canReapply:\n return urls.signUp;\n case status === PROFILE_STATUS.ACCEPTED:\n case status === PROFILE_STATUS.ON_HOLD:\n case status === PROFILE_STATUS.BAN_PENDING:\n return urls.campaigns;\n default:\n return urls.login;\n }\n};\n","import React, { FC } from \"react\";\nimport { Redirect, Route, RouteProps } from \"react-router-dom\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { getDefaultProfileRoute } from \"./utils\";\n\ntype Props = {\n restricted?: boolean;\n} & RouteProps;\n\nexport const PrivateRoute: FC = observer(\n ({ children, restricted = false, ...props }) => {\n const { session } = useRootStore();\n\n return (\n \n restricted || !session.ticket ? (\n \n ) : (\n children\n )\n }\n />\n );\n }\n);\n","export const TRANSLATIONS = {\n LEFT_TITLE: \"profile__left-status__title\",\n LEFT_WARNING: \"profile__left-status__warning\",\n LEFT_DESCRIPTION: \"profile__left-status__description\",\n REJECTED_SOFT_TITLE: \"profile__rejected-status__soft-title\",\n REJECTED_SOFT_WARNING: \"profile__rejected-status__soft-warning\",\n REJECTED_SOFT_DESCRIPTION: \"profile__rejected-status__soft-description\",\n BANNED_TITLE: \"profile__banned-status__title\",\n BANNED_WARNING: \"profile__banned-status__warning\",\n BTN_APPLY: \"button__apply\",\n LINK_HOMEPAGE: \"link__homepage\",\n APPLIED_TITLE: \"profile__applied-status__title\",\n APPLIED_WARNING: \"profile__applied-status__warning\",\n APPLIED_DESCRIPTION: \"profile__applied-status__description\",\n REJECTED_HARD_TITLE: \"profile__rejected-status__hard-title\",\n REJECTED_HARD_DESCRIPTION: \"profile__rejected-status__hard-description\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Description, WarningTitle, LinkWrapper } from \"../styles\";\n\nimport { CTALink } from \"domains/shared/components\";\nimport { urls } from \"navigation/book\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport { ANALYTICS_PAGE_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { AnimatedStatusLayout } from \"../animated-status.layout\";\n\nexport const LeftPage: FC = () => {\n const { t } = useTranslation();\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.error,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.main,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n return (\n \n {t(TRANSLATIONS.LEFT_TITLE)}\n\n \n

    {t(TRANSLATIONS.LEFT_WARNING)}

    \n

    {t(TRANSLATIONS.LEFT_DESCRIPTION)}

    \n
    \n\n \n {t(TRANSLATIONS.BTN_APPLY)}\n \n
    \n );\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ErrorTitle, LinkWrapper, Description } from \"../styles\";\n\nimport { CTARedirectLink } from \"domains/shared/components\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport {\n ANALYTICS_CLICK_ATTRIBUTES,\n ANALYTICS_PAGE_ATTRIBUTES,\n} from \"analytics/analytics-provider.constants\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { AnimatedStatusLayout } from \"../animated-status.layout\";\nimport { useRootStore } from \"init/root-store\";\n\nexport const RejectedPage: FC = () => {\n const { t } = useTranslation();\n const { profile } = useRootStore();\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.error,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.main,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n const onLinkClick = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.rejected,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.goToUbi\n );\n };\n\n return (\n \n \n {t(\n profile.isSoftRejected\n ? TRANSLATIONS.REJECTED_SOFT_TITLE\n : TRANSLATIONS.REJECTED_HARD_TITLE\n )}\n \n\n \n {profile.isSoftRejected ? (\n <>\n

    {t(TRANSLATIONS.REJECTED_SOFT_WARNING)}

    \n

    {t(TRANSLATIONS.REJECTED_SOFT_DESCRIPTION)}

    \n \n ) : (\n

    {t(TRANSLATIONS.REJECTED_HARD_DESCRIPTION)}

    \n )}\n
    \n\n \n \n {t(TRANSLATIONS.LINK_HOMEPAGE)}\n \n \n
    \n );\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ErrorTitle, Description } from \"../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport { ANALYTICS_PAGE_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { AnimatedStatusLayout } from \"../animated-status.layout\";\n\nexport const BannedPage: FC = () => {\n const { t } = useTranslation();\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.error,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.main,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n return (\n \n {t(TRANSLATIONS.BANNED_TITLE)}\n\n \n

    {t(TRANSLATIONS.BANNED_WARNING)}

    \n
    \n
    \n );\n};\n","import React, { FC, useEffect, useLayoutEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n Description,\n PositiveTitle,\n UserEmail,\n AppliedDescription,\n} from \"../styles\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { TRANSLATIONS } from \"./constants\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { AnimatedStatusLayout } from \"../animated-status.layout\";\nimport { themeService } from \"domains/theme/theme.service\";\n\nexport const AppliedStatusPage: FC = observer(() => {\n const { profile, signup } = useRootStore();\n const { t } = useTranslation();\n\n const { applyTheme, resetTheme } = themeService;\n\n useLayoutEffect(() => {\n if (profile.referralId) {\n applyTheme(profile.referralId);\n }\n\n return resetTheme;\n }, [resetTheme, applyTheme, profile.referralId]);\n\n useEffect(() => {\n analyticsService.sendApplySuccessPageEvent(\n signup.channelNames,\n signup.isFormSubmitted\n );\n }, [signup]);\n\n return (\n \n {t(TRANSLATIONS.APPLIED_TITLE)}\n\n {t(TRANSLATIONS.APPLIED_WARNING)}\n\n \n
    {t(TRANSLATIONS.APPLIED_DESCRIPTION)}
    \n {profile.userDetails?.email}\n
    \n
    \n );\n});\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Redirect } from \"react-router-dom\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { LeftPage } from \"./left.page\";\nimport { RejectedPage } from \"./rejected.page\";\nimport { BannedPage } from \"./banned.page\";\nimport { AppliedStatusPage } from \"./applied.page\";\nimport { getDefaultProfileRoute } from \"navigation/utils\";\nimport { PROFILE_STATUS } from \"api/services/public-service\";\n\nexport const StatusPage: FC = observer(() => {\n const { profile } = useRootStore();\n const { status, canReapply } = profile;\n\n switch (true) {\n case status === PROFILE_STATUS.LEFT:\n return ;\n case status === PROFILE_STATUS.REJECTED && !canReapply:\n return ;\n case status === PROFILE_STATUS.BANNED:\n return ;\n case status === PROFILE_STATUS.APPLIED:\n return ;\n default:\n return ;\n }\n});\n","import styled, { css } from \"styled-components\";\n\nimport {\n BackgroundGlassCSS,\n FlexContentCenteringCSS,\n ReliefEffectCSS,\n} from \"domains/shared/styles\";\nimport { FixedNavigationHeight } from \"domains/shared/layout/styles\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport { MainLayout } from \"domains/shared/layout/main.layout\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { InternalLink } from \"domains/shared/components\";\n\nexport const EmptyText = css`\n font: var(--font-subtitle);\n`;\n\nexport const DashboardLayout = styled(MainLayout)`\n display: grid;\n grid-template-columns: 32rem minmax(0, 1fr);\n\n ${BREAKPOINT.xl} {\n grid-template-columns: 24rem minmax(0, 1fr);\n }\n\n ${BREAKPOINT.ls} {\n align-content: start;\n grid-template-columns: minmax(0, 1fr);\n }\n`;\n\nexport const BannersSection = styled.section`\n position: sticky;\n top: ${FixedNavigationHeight};\n z-index: 2;\n\n grid-column: 1 / -1;\n\n &:empty {\n display: none;\n }\n`;\n\nexport const PageTitle = styled.h1`\n font: var(--font-header-xlarge);\n color: var(--color-text-primary);\n`;\n\nexport const SectionTitle = styled.h2`\n display: flex;\n align-items: center;\n gap: 1rem;\n\n font: var(--font-subtitle-bold);\n color: var(--color-text-primary);\n\n scroll-margin-top: ${FixedNavigationHeight};\n\n &:not(:last-child) {\n margin-bottom: 1.6rem;\n }\n`;\n\nexport const SectionContent = styled.div`\n position: relative;\n\n padding: 2.4rem;\n\n border-radius: 5px;\n background-color: var(--color-background-glass-1);\n ${ReliefEffectCSS};\n ${BackgroundGlassCSS};\n\n ${BREAKPOINT.ml} {\n padding: 1.6rem;\n }\n`;\n\nexport const ContentTitle = styled.h3`\n font: var(--font-body-bold);\n color: var(--color-text-primary);\n`;\n\nexport const InnerSectionContent = styled.div`\n font: var(--font-body);\n color: var(--color-text-primary);\n\n padding: 2.4rem;\n\n border-radius: 5px;\n background-color: var(--color-background-3);\n\n ${BREAKPOINT.ml} {\n padding: 1.6rem;\n }\n`;\n\nexport const LinkText = styled.span`\n margin-right: 0.6rem;\n`;\n\nexport const LinkIcon = styled(Icon).attrs(() => ({\n type: \"link\",\n}))`\n font-size: 1.6rem;\n`;\n\nexport const SectionIcon = styled(Icon)`\n width: 7.2rem;\n aspect-ratio: 1 / 1;\n flex-shrink: 0;\n\n border-radius: 50%;\n background-color: var(--color-background-2);\n color: var(--color-text-primary);\n\n font-size: 3.6rem;\n\n ${FlexContentCenteringCSS};\n`;\n\nexport const PageContentWrapper = styled.div`\n display: flex;\n justify-content: center;\n\n padding: 5rem 2.4rem;\n\n ${BREAKPOINT.ls} {\n padding: 3.6rem 1.6rem;\n }\n\n ${BREAKPOINT.ml} {\n padding: 1.6rem;\n }\n`;\n\nexport const BackLink = styled(InternalLink)`\n font: var(--font-subtitle-bold);\n\n display: inline-flex;\n gap: 1.2rem;\n`;\n\nexport const BackArrow = styled(Icon)`\n transform: rotate(90deg);\n`;\n\nexport const PageContentLimits = styled.div`\n max-width: 1100px;\n width: 100%;\n\n & > :not(:last-child) {\n margin-bottom: 3.6rem;\n }\n`;\n","export default __webpack_public_path__ + \"static/media/stripes.d949390d.png\";","import styled, { css } from \"styled-components\";\nimport { Link, NavLink } from \"react-router-dom\";\n\nimport { FixedControlsHeight } from \"domains/shared/layout/styles\";\nimport { BackgroundGlassCSS, TextEllipsisCSS } from \"domains/shared/styles\";\nimport { ResetButtonCSS } from \"domains/shared/components/button/styles\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { Button } from \"domains/shared/components/button\";\nimport { ExternalLink } from \"domains/shared/components\";\n\nimport stripes from \"assets/other/stripes.png\";\n\nconst UnderLine = css`\n &::after {\n content: \"\";\n\n position: absolute;\n left: 2rem;\n right: 2rem;\n bottom: 0;\n\n height: 1px;\n\n background-color: var(--color-background-glass-5);\n }\n`;\n\nconst MenuItemLayout = css`\n display: grid;\n align-items: center;\n grid-template-columns: auto 1fr;\n grid-gap: 0.8rem;\n\n padding: 1.6rem 2.4rem;\n\n transition: 0.2s all;\n`;\n\nexport const WebNavigationWrapper = styled.div`\n background-color: var(--color-background-glass-1);\n ${BackgroundGlassCSS};\n`;\n\nexport const MobileNav = styled.nav`\n box-shadow: 0 -2px 4px 0 var(--color-stroke-2);\n background: var(--color-background-4);\n\n height: ${FixedControlsHeight};\n padding: 1rem;\n\n position: sticky;\n bottom: 0;\n z-index: 9;\n\n display: flex;\n align-items: center;\n transition: all 0.3s ease-out;\n`;\n\nexport const LogoWrapper = styled(Link)`\n display: flex;\n justify-content: center;\n\n max-width: 17.6rem;\n\n margin: 0 auto 5.6rem;\n\n ${BREAKPOINT.tm} {\n display: none;\n }\n`;\n\nexport const MenuList = styled.ul`\n position: relative;\n \n list-style: none;\n \n &:not(:last-child) {\n ${UnderLine};\n\n margin: 0 0 2.4rem 0;\n padding: 0 0 2.4rem 0;\n }\n}\n`;\n\nexport const MobileMenuList = styled.ul`\n list-style: none;\n\n display: grid;\n grid-template-columns: repeat(5, 1fr);\n justify-items: center;\n gap: 1rem;\n\n flex-grow: 1;\n margin: 0;\n\n li {\n position: relative;\n }\n`;\n\nexport const MenuLink = styled(NavLink)`\n ${MenuItemLayout};\n\n text-decoration: none;\n color: var(--color-text-cta-primary);\n\n &:hover {\n background-color: var(--color-cta-primary-hover);\n }\n\n &:active {\n background-color: var(--color-cta-primary-pressed);\n }\n\n &.active {\n background-color: var(--color-cta-primary);\n }\n\n ${BREAKPOINT.ls} {\n grid-template-columns: 1fr;\n justify-items: center;\n\n padding: 0;\n\n font: var(--font-body);\n\n &.active {\n background-color: unset;\n\n color: var(--color-text-clickable);\n }\n\n &:hover {\n background-color: unset;\n }\n }\n`;\n\nexport const NotificationLink = styled(MenuLink)`\n grid-template-columns: auto 1fr auto 1rem;\n`;\n\nexport const UnreadNotifications = styled.span<{ isUnread: boolean }>`\n display: inline-flex;\n justify-content: center;\n align-items: center;\n\n padding: 0.2rem;\n min-width: 2.2rem;\n min-height: 2.2rem;\n aspect-ratio: 1;\n\n font: var(--font-body-bold);\n\n border-radius: 50%;\n background-color: var(--color-background-9);\n\n visibility: ${(props) => !props.isUnread && \"hidden\"};\n`;\n\nexport const ExtraMenuWarning = styled.span`\n position: absolute;\n right: -0.5rem;\n top: -0.5rem;\n\n border-radius: 50%;\n\n background-color: var(--color-background-9);\n\n width: 0.8rem;\n height: 0.8rem;\n`;\n\nexport const ExtraLink = styled(NavLink)`\n ${MenuItemLayout};\n\n text-decoration: none;\n color: var(--color-text-cta-primary);\n`;\n\nexport const NotificationsExtraLink = styled(ExtraLink)`\n grid-template-columns: auto 1fr auto;\n\n text-decoration: none;\n color: var(--color-text-cta-primary);\n`;\n\nexport const Terms = styled(ExternalLink)`\n ${MenuItemLayout};\n\n font: var(--font-body-bold);\n text-decoration: none;\n color: var(--color-text-clickable);\n`;\n\nexport const AsideIcon = styled(Icon)`\n font-size: 2rem;\n`;\n\nexport const ArrowIcon = styled(Icon)`\n transform: rotate(-90deg);\n`;\n\nexport const LinkIcon = styled(Icon)`\n font-size: 1.6rem;\n`;\n\nexport const MenuName = styled.span`\n font: var(--font-body-bold);\n ${TextEllipsisCSS};\n\n ${BREAKPOINT.tm} {\n width: 100%;\n }\n`;\n\nexport const WebNavigation = styled.nav`\n position: sticky;\n top: 5rem;\n\n padding: 5rem 0;\n\n background: url(\"${stripes}\") no-repeat center top / 100%;\n`;\n\nexport const MoreCTA = styled(Button)`\n ${ResetButtonCSS};\n\n display: grid;\n grid-gap: 0.8rem;\n\n width: 100%;\n\n color: var(--color-text-primary);\n`;\n\nexport const ExtraLinksWrapper = styled.div`\n position: fixed;\n top: 0;\n bottom: ${FixedControlsHeight};\n left: 0;\n\n z-index: 9;\n\n display: flex;\n align-items: flex-end;\n\n background-color: var(--color-background-glass-3);\n\n width: 100%;\n`;\n\nexport const ExtraLinks = styled.ul`\n width: 100%;\n padding: 2.4rem 1.2rem;\n\n background-color: var(--color-background-4);\n box-shadow: inset 0 -2px 4px 0 var(--color-stroke-2);\n border-radius: 6px 6px 0 0;\n\n & > li:not(:last-child) {\n position: relative;\n\n padding-bottom: 2rem;\n margin-bottom: 2rem;\n\n ${UnderLine};\n }\n`;\n","import { urls } from \"navigation/book\";\nimport { MenuLink } from \"./types\";\n\nexport const TRANSLATIONS = {\n LINK__NOTIFICATIONS: \"aside__link__notifications\",\n LINK__CAMPAIGN: \"aside__link__campaign\",\n LINK__NEWS: \"aside__link__news\",\n LINK__SETTINGS: \"aside__link__settings\",\n LINK__ASSISTANCE: \"aside__link__assistance\",\n LINK__CREATORS_CODE: \"aside__link__creators-code\",\n LINK__FAQ: \"aside__link__faq\",\n MORE: \"aside__button__more\",\n LOGOUT: \"aside__logout\",\n CODE_OF_CONDUCT: \"aside__code-of-conduct\",\n};\n\nexport const getNavigationLinks = (\n isCodeLinkAvailable: boolean\n): MenuLink[] => {\n const links = [\n {\n url: urls.campaigns,\n icon: \"joystick\",\n i18nKey: TRANSLATIONS.LINK__CAMPAIGN,\n },\n {\n url: urls.news,\n icon: \"news\",\n i18nKey: TRANSLATIONS.LINK__NEWS,\n },\n isCodeLinkAvailable && {\n url: urls.creatorsCode,\n icon: \"achievement\",\n i18nKey: TRANSLATIONS.LINK__CREATORS_CODE,\n },\n {\n url: urls.settings,\n icon: \"settings\",\n i18nKey: TRANSLATIONS.LINK__SETTINGS,\n },\n {\n url: urls.assistance,\n icon: \"microphone\",\n i18nKey: TRANSLATIONS.LINK__ASSISTANCE,\n },\n ];\n\n return links.filter(Boolean) as MenuLink[];\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\nimport { useRootStore } from \"init/root-store\";\n\nimport {\n WebNavigationWrapper,\n MenuName,\n LogoWrapper,\n MenuLink,\n MenuList,\n WebNavigation,\n AsideIcon,\n Terms,\n LinkIcon,\n NotificationLink,\n UnreadNotifications,\n ArrowIcon,\n} from \"./styles\";\n\nimport logo from \"assets/logos/app.svg\";\n\nimport { urls } from \"navigation/book\";\nimport { getNavigationLinks, TRANSLATIONS } from \"./constants\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\n\nexport const WebNavigationComponent: FC = observer(() => {\n const {\n profile,\n notifications: { unreadNotifications },\n } = useRootStore();\n const { t } = useTranslation();\n\n const navigationLinks = getNavigationLinks(Boolean(profile.revenueSharing));\n\n return (\n \n \n \n \"logo\"\n \n\n \n
  • \n \n \n {t(TRANSLATIONS.LINK__NOTIFICATIONS)}\n \n {unreadNotifications.length}\n \n \n \n
  • \n
    \n\n \n {navigationLinks.map((link) => (\n
  • \n \n \n {t(link.i18nKey)}\n \n
  • \n ))}\n
    \n\n \n
  • \n \n {t(TRANSLATIONS.CODE_OF_CONDUCT)}\n \n \n
  • \n
    \n
    \n
    \n );\n});\n","import React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ExtraLinksWrapper,\n LinkIcon,\n MenuName,\n ExtraLinks,\n Terms,\n AsideIcon,\n ExtraLink,\n NotificationsExtraLink,\n UnreadNotifications,\n} from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\nimport { urls } from \"navigation/book\";\nimport { useRootStore } from \"init/root-store\";\n\nexport const ExtraLinksComponent = () => {\n const { t } = useTranslation();\n const {\n profile,\n notifications: { unreadNotifications },\n } = useRootStore();\n\n useEffect(() => {\n document.body.style.overflow = \"hidden\";\n document.body.style.touchAction = \"none\";\n\n return () => {\n document.body.removeAttribute(\"style\");\n };\n }, []);\n\n return (\n \n \n
  • \n \n \n {t(TRANSLATIONS.LINK__NOTIFICATIONS)}\n \n {unreadNotifications.length}\n \n \n
  • \n\n {profile.revenueSharing && (\n
  • \n \n \n {t(TRANSLATIONS.LINK__CREATORS_CODE)}\n \n
  • \n )}\n\n
  • \n \n {t(TRANSLATIONS.CODE_OF_CONDUCT)}\n \n \n
  • \n
    \n
    \n );\n};\n","import React, { FC, useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport ReactDOM from \"react-dom\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n MenuName,\n MenuLink,\n MoreCTA,\n AsideIcon,\n MobileNav,\n MobileMenuList,\n ExtraMenuWarning,\n} from \"./styles\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { getNavigationLinks, TRANSLATIONS } from \"./constants\";\nimport { ExtraLinksComponent } from \"./extra-links.component\";\n\nexport const MobileNavigationComponent: FC = observer(() => {\n const { t } = useTranslation();\n const {\n notifications: { unreadNotifications },\n } = useRootStore();\n\n const [isHidden, setIsHidden] = useState(true);\n\n const navigationLinks = getNavigationLinks(false);\n const root = document.querySelector(\"#root\");\n\n useEffect(() => {\n const toggle = (evt: MouseEvent) =>\n (evt.target as HTMLElement).closest(\"[data-toggle]\")\n ? setIsHidden((state) => !state)\n : setIsHidden(true);\n\n document.addEventListener(\"click\", toggle);\n\n return () => document.removeEventListener(\"click\", toggle);\n }, [setIsHidden]);\n\n if (!root) {\n return null;\n }\n\n return ReactDOM.createPortal(\n \n \n {navigationLinks.map((link) => (\n
  • \n \n \n {t(link.i18nKey)}\n \n
  • \n ))}\n\n
  • \n {!!unreadNotifications.length && }\n \n \n {t(TRANSLATIONS.MORE)}\n \n
  • \n
    \n\n {!isHidden && }\n
    ,\n root\n );\n});\n","import React, { FC } from \"react\";\n\nimport { useLaptopOrLess } from \"domains/shared/hooks/breakpoints\";\nimport { WebNavigationComponent } from \"./web-navigation.component\";\nimport { MobileNavigationComponent } from \"./mobile-navigation.component\";\n\nexport const DashboardMenu: FC = () => {\n const isLaptopOrLess = useLaptopOrLess();\n\n return isLaptopOrLess ? (\n \n ) : (\n \n );\n};\n","import styled from \"styled-components\";\n\nimport { EmptyText, SectionContent } from \"../styles\";\n\nexport const NotificationSection = styled(SectionContent).attrs(() => ({\n as: \"section\",\n}))`\n position: relative;\n display: flex;\n flex-direction: column;\n\n gap: 2.4rem;\n\n header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 1.6rem;\n }\n`;\n\nexport const UnreadTitle = styled.h2`\n font: var(--font-subtitle-bold);\n`;\n\nexport const DaysWrapper = styled.div`\n flex-grow: 1;\n overflow: auto;\n\n display: flex;\n flex-direction: column;\n gap: 3.2rem;\n\n padding: 1.6rem;\n\n border-radius: 8px;\n\n background: var(--color-background-3);\n`;\n\nexport const EmptyNotificationsContent = styled(SectionContent)`\n display: flex;\n align-items: center;\n\n & > p {\n padding-left: 2.4rem;\n ${EmptyText};\n }\n`;\n\nexport const DeleteAllCTA = styled.button`\n color: var(--color-text-warning);\n font: var(--font-body-bold);\n\n padding: 0;\n\n background: none;\n border: none;\n outline: none;\n\n cursor: pointer;\n\n &:focus-visible,\n &:hover {\n color: var(--color-text-warning-hover);\n }\n\n &:active {\n color: var(--color-text-warning-pressed);\n }\n`;\n","export const TRANSLATIONS = {\n PAGE__TITLE: \"notifications__page__title\",\n UNREAD: \"notifications__page__unread\",\n BACK: \"button__back\",\n EMPTY: \"notifications__page__empty\",\n DELETE_ALL: \"notifications__page__delete-all\",\n\n DIALOG_TITLE: \"dialog__confirmation__delete-notification-title\",\n DIALOG_DESCRIPTION: \"dialog__confirmation__delete-notification-description\",\n DIALOG_CANCEL: \"dialog__confirmation__delete-notification-cancel\",\n DIALOG_SUBMIT: \"dialog__confirmation__delete-notification-submit\",\n};\n","import styled from \"styled-components\";\n\nexport const Title = styled.h3`\n font: var(--font-body);\n color: var(--color-text-secondary);\n\n margin-bottom: 1.2rem;\n`;\n\nexport const NotificationList = styled.ul`\n display: flex;\n gap: 1.6rem;\n flex-direction: column;\n`;\n","import styled, { css } from \"styled-components\";\nimport { Link } from \"react-router-dom\";\n\nimport {\n BREAKPOINT,\n MEDIA_QUERIES,\n} from \"domains/shared/constants/media-queries.constants\";\nimport { ActionCtaComponent } from \"domains/shared/components/button/action-cta/action-cta.component\";\n\nexport const NotificationWrapper = styled.article`\n position: relative;\n`;\n\nexport const NotificationContent = styled.div`\n position: relative;\n\n display: grid;\n grid-template-columns: auto 1fr;\n grid-gap: 1.6rem;\n align-items: center;\n\n padding: 2.4rem 4.8rem 2.4rem 2.4rem;\n width: 100%;\n overflow: hidden;\n\n border-radius: 8px;\n background: var(--color-background-4);\n\n ${BREAKPOINT.ml} {\n padding: 2.4rem;\n\n justify-items: center;\n grid-template-columns: 1fr;\n }\n`;\n\nexport const InfoWrapper = styled.div`\n flex-grow: 1;\n\n font: var(--font-body);\n\n h2 {\n font: var(--font-body-bold);\n margin-bottom: 0.8rem;\n }\n\n ${BREAKPOINT.ml} {\n text-align: center;\n }\n`;\n\nexport const Status = styled.span<{ isRead: boolean }>`\n position: absolute;\n top: 0;\n left: 0;\n\n width: 0.8rem;\n height: 100%;\n\n background: var(--color-text-clickable);\n\n visibility: ${(props) => (props.isRead ? \"hidden\" : \"visible\")};\n\n ${BREAKPOINT.ml} {\n width: 100%;\n height: 0.8rem;\n }\n`;\n\nexport const DeleteCTAWrapper = styled.div`\n position: absolute;\n top: 50%;\n right: 1.6rem;\n translate: 0 -50%;\n\n ${BREAKPOINT.ml} {\n top: 1.6rem;\n right: 1.6rem;\n\n translate: unset;\n }\n`;\n\nexport const DeleteCTA = styled(ActionCtaComponent)`\n width: 2.8rem;\n height: 2.8rem;\n\n font-size: 2rem;\n`;\n\nconst CardHoverEffectCSS = css`\n ${NotificationContent} {\n background-color: var(--color-background-6);\n }\n`;\n\nexport const NotificationLink = styled(Link)`\n display: flex;\n\n text-decoration: none;\n color: unset;\n\n ${MEDIA_QUERIES.isSupportHover} {\n &:hover {\n ${CardHoverEffectCSS};\n }\n }\n\n &:focus-visible {\n ${CardHoverEffectCSS}\n }\n\n &:active {\n ${NotificationContent} {\n background-color: var(--color-background-5);\n }\n }\n`;\n","import styled, { keyframes } from \"styled-components\";\n\nimport { Icon } from \"../icon\";\n\nconst Rollin = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n`;\n\nexport const LoadingBlock = styled.div`\n display: inline-flex;\n align-items: center;\n gap: 1rem;\n\n font: var(--font-body);\n color: var(--color-text-primary);\n`;\n\nexport const LoadingIcon = styled(Icon)`\n animation-name: ${Rollin};\n animation-duration: 1s;\n animation-iteration-count: infinite;\n`;\n","export const TRANSLATIONS = {\n LOADING: \"button__loading\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { LoadingIcon, LoadingBlock } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\n\ntype Props = {\n text?: string;\n isLoading?: boolean;\n className?: string;\n};\n\nexport const LoadingComponent: FC = ({\n isLoading = true,\n children,\n text = TRANSLATIONS.LOADING,\n}) => {\n const { t } = useTranslation();\n\n return isLoading ? (\n \n \n {t(text)}\n \n ) : (\n <>{children}\n );\n};\n","import React, { FC } from \"react\";\n\nimport {\n InfoWrapper,\n NotificationWrapper,\n NotificationLink,\n Status,\n NotificationContent,\n DeleteCTAWrapper,\n DeleteCTA,\n} from \"./styles\";\nimport { SectionIcon } from \"../../styles\";\n\nimport { getNotificationConfigData } from \"domains/notifications/utils\";\nimport { Notification } from \"api/services/public-service\";\nimport { useRootStore } from \"init/root-store\";\nimport { LoadingComponent } from \"domains/shared/components/loading\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\n\ntype Props = {\n notification: Notification;\n};\n\nexport const NotificationComponent: FC = ({ notification }) => {\n const { notifications } = useRootStore();\n const [action, isLoading] = useLoadingAction();\n\n const { notificationTypeId, id, config, isRead } = notification;\n\n const data = getNotificationConfigData({\n notificationType: notificationTypeId,\n config,\n });\n\n if (!data) {\n return null;\n }\n\n const { icon, title, description, link, isExternalLink } = data;\n\n const onNotificationClick = async () => {\n await notifications.markNotificationAsRead(id);\n };\n\n const onNotificationDelete = () => {\n action(async () => {\n await notifications.deleteNotification(id);\n });\n };\n\n return (\n \n !link && node?.setAttribute(\"inert\", \"true\")}\n to={{ pathname: link ?? \"#\" }}\n target={isExternalLink ? \"_blank\" : \"_self\"}\n onClick={onNotificationClick}\n >\n \n \n\n \n

    {title}

    \n
    {description}
    \n
    \n\n \n
    \n \n\n \n \n \n \n \n
    \n );\n};\n","import React, { FC } from \"react\";\n\nimport { NotificationList, Title } from \"./styles\";\n\nimport { Notification } from \"api/services/public-service/types\";\nimport { NotificationComponent } from \"../notification/notification.component\";\nimport {\n DAY_MONTH_YEAR_FORMAT,\n getFormattedDate,\n getLocalISODate,\n} from \"domains/shared/utils/dates\";\n\ntype Props = {\n date: string;\n notifications: Notification[];\n};\n\nexport const DayComponent: FC = ({ date, notifications }) => {\n const formattedDate = getFormattedDate(date, DAY_MONTH_YEAR_FORMAT);\n const localDate = getLocalISODate(date);\n\n return (\n
    \n \n <time dateTime={localDate}>{formattedDate}</time>\n \n\n \n {notifications.map((notification) => (\n
  • \n \n
  • \n ))}\n
    \n
    \n );\n};\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EmptyNotificationsContent } from \"./styles\";\nimport { SectionIcon } from \"../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\n\nexport const EmptyComponent = () => {\n const { t } = useTranslation();\n\n return (\n \n \n

    {t(TRANSLATIONS.EMPTY)}

    \n
    \n );\n};\n","import styled from \"styled-components\";\n\nimport { DialogTitle } from \"../styles\";\n\nexport const Title = styled(DialogTitle)`\n margin-bottom: 1.6rem;\n`;\n","export const TRANSLATIONS = {\n CANCEL: \"button__cancel\",\n SUBMIT: \"button__submit\",\n};\n","import React, { FC } from \"react\";\nimport Dialog from \"rc-dialog\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n CloseIcon,\n DialogActions,\n DialogCloseButton,\n DialogContent,\n DialogDescription,\n} from \"../styles\";\nimport { Title } from \"./styles\";\n\nimport { DialogProps } from \"../types\";\nimport { Button } from \"domains/shared/components/button\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\n\ntype Props = {\n title: string;\n description: string;\n cancelText?: string;\n submitText?: string;\n} & DialogProps;\n\nexport const ConfirmationDialog: FC = ({\n title,\n description,\n cancelText = TRANSLATIONS.CANCEL,\n submitText = TRANSLATIONS.SUBMIT,\n ...props\n}) => {\n const { t } = useTranslation();\n const [action, isLoading] = useLoadingAction();\n\n const onSubmitClick = () => {\n action(async () => {\n await props.onSubmit();\n });\n };\n\n return (\n \n \n \n \n\n \n {t(title)}\n {t(description)}\n \n\n \n \n\n \n \n\n {isLoading && }\n \n );\n};\n","import React, { FC, useEffect } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\nimport { useRootStore } from \"init/root-store\";\nimport i18n from \"i18n\";\n\nimport { PageTitle } from \"../styles\";\nimport {\n NotificationSection,\n DaysWrapper,\n UnreadTitle,\n DeleteAllCTA,\n} from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { DayComponent } from \"./day/day.component\";\nimport { EmptyComponent } from \"./empty.component\";\nimport { ConfirmationDialog } from \"domains/dialogs/confirmation/confirmation.dialog\";\n\nexport const NotificationsCenterPage: FC = observer(() => {\n const { t } = useTranslation();\n const { notifications, dialogs } = useRootStore();\n\n const {\n unreadNotifications,\n sortedNotificationsByDate,\n markUnreadNotificationsAsRead,\n dates,\n } = notifications;\n\n const onDeleteClick = async () => {\n await dialogs.openDialog(ConfirmationDialog, {\n title: TRANSLATIONS.DIALOG_TITLE,\n description: TRANSLATIONS.DIALOG_DESCRIPTION,\n cancelText: TRANSLATIONS.DIALOG_CANCEL,\n submitText: TRANSLATIONS.DIALOG_SUBMIT,\n onSubmit: notifications.deleteAllNotifications,\n });\n };\n\n useEffect(() => {\n return () => {\n markUnreadNotificationsAsRead();\n };\n }, [markUnreadNotificationsAsRead]);\n\n return (\n <>\n
    \n {t(TRANSLATIONS.PAGE__TITLE)}\n
    \n\n {dates.length ? (\n \n
    \n \n {i18n.t(TRANSLATIONS.UNREAD, {\n count: unreadNotifications.length,\n })}\n \n\n \n {t(TRANSLATIONS.DELETE_ALL)}\n \n
    \n\n \n {dates.map((date) => (\n \n ))}\n \n
    \n ) : (\n \n )}\n \n );\n});\n","export const TRANSLATIONS = {\n PAGE__TITLE: \"settings__page__title\",\n PROGRAMS__ACTIVE__TITLE: \"settings__programs__active-title\",\n GAMING_PREFERENCES__TITLE: \"settings__gaming-preferences__title\",\n PLATFORMS__TITLE: \"settings__platforms__title\",\n FRANCHISES__TITLE: \"settings__franchises__title\",\n PERSONAL_INFO__TITLE: \"settings__personal-info__title\",\n CONTACT_INFO__TITLE: \"settings__contact-info__title\",\n PERSONAL_INFO__EMAIL: \"settings__personal-info__email\",\n PERSONAL_INFO__SECONDARY_EMAIL: \"settings__personal-info__secondary-email\",\n PERSONAL_INFO__NAME: \"settings__personal-info__name\",\n PERSONAL_INFO__ADDRESS: \"settings__personal-info__address\",\n PERSONAL_COMMUNICATION_LANGUAGE:\n \"settings__personal-info__communication-language\",\n LEAVE__TITLE: \"settings__leave__title\",\n LEAVE__WARNING: \"settings__leave__warning\",\n LEAVE__PROGRAM: \"button__leave-program\",\n EDIT: \"button__edit\",\n DELETE: \"button__delete\",\n ADD: \"button__add\",\n COMMUNICATION_CHANEL: \"settings__personal-info__communication-channel\",\n TAGS__TITLE: \"setting__tags__title\",\n TAGS__TITLE_EMPTY: \"setting__tags__title-empty\",\n CONTACT_CHANNELS_TITLE: \"settings__contacts__channels-title\",\n};\n","import styled from \"styled-components\";\n\nimport { Button } from \"domains/shared/components/button\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const WarningText = styled.div`\n font: var(--font-body);\n\n margin-bottom: 2.4rem;\n`;\n\nexport const ButtonLeave = styled(Button)`\n ${BREAKPOINT.ml} {\n width: 100%;\n }\n`;\n","import styled from \"styled-components\";\nimport { TextField } from \"@material-ui/core\";\n\nexport const StyledTextarea = styled(TextField)`\n .MuiInputBase-root {\n padding: 0;\n overflow: hidden;\n\n border: 1px solid var(--color-stroke-5);\n border-radius: 5px;\n\n &::after,\n &::before {\n content: unset;\n }\n\n &.Mui-focused {\n border: 1px solid var(--color-stroke-4);\n }\n }\n\n textarea {\n padding: 1.2rem 1.6rem;\n\n font: var(--font-body);\n color: var(--color-text-primary);\n\n background-color: var(--color-background-2);\n\n &:disabled {\n background-color: var(--color-background-3);\n }\n }\n`;\n","import React, { FC } from \"react\";\nimport { TextFieldProps } from \"@material-ui/core\";\n\nimport { StyledTextarea } from \"./styles\";\n\ntype Props = {\n className?: string;\n readOnly?: boolean;\n} & TextFieldProps;\n\nexport const Textarea: FC = ({ readOnly = false, ...props }) => {\n return (\n \n );\n};\n","import styled from \"styled-components\";\n\nimport { RadioGroup } from \"domains/shared/components/radio-group\";\nimport { Textarea } from \"domains/shared/components/texarea\";\n\nimport { DialogDescription, DialogTitle } from \"../styles\";\n\nexport const Title = styled(DialogTitle)`\n margin-bottom: 0.4rem;\n`;\n\nexport const Description = styled(DialogDescription)`\n margin-bottom: 3.4rem;\n`;\n\nexport const Reasons = styled(RadioGroup)`\n margin-bottom: 1.8rem;\n\n & > :not(:last-of-type) {\n margin-bottom: 2rem;\n }\n`;\n\nexport const CustomReason = styled(Textarea)`\n width: 100%;\n\n font: var(--font-body);\n`;\n","export const TRANSLATIONS = {\n DIALOG__TITLE: \"dialog__leave__title\",\n DIALOG__DESCRIPTION: \"dialog__leave__description\",\n CUSTOM_PLACEHOLDER: \"dialog__leave__reason__custom-placeholder\",\n BUTTON__CANCEL: \"button__cancel\",\n BUTTON__LEAVE: \"button__leave-program\",\n};\n","import React, { FC } from \"react\";\nimport Dialog from \"rc-dialog\";\nimport { useTranslation } from \"react-i18next\";\nimport { FormControlLabel, Radio } from \"@material-ui/core\";\n\nimport { Reasons, CustomReason, Title, Description } from \"./styles\";\nimport {\n CloseIcon,\n DialogActions,\n DialogCloseButton,\n DialogContent,\n} from \"../styles\";\n\nimport { DialogProps } from \"../types\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { useProgramLeaving } from \"./hooks/useProgramLeaving\";\nimport { Button } from \"domains/shared/components/button\";\nimport { useRootStore } from \"init/root-store\";\nimport { REASONS } from \"api/services/public-service\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\n\nexport const LeaveProgramDialog: FC = (props) => {\n const { t } = useTranslation();\n const {\n metadata: { data },\n } = useRootStore();\n\n const {\n setReasonId,\n isValid,\n setCustomReason,\n reasonId,\n leaveProgram,\n isLoading,\n } = useProgramLeaving();\n\n return (\n \n \n \n \n\n \n {t(TRANSLATIONS.DIALOG__TITLE)}\n\n {t(TRANSLATIONS.DIALOG__DESCRIPTION)}\n\n setReasonId(Number(value))}\n >\n {data.leaveReasons.map((reason) => (\n }\n />\n ))}\n \n\n {reasonId === REASONS.OTHER && (\n {\n setCustomReason(evt.target.value);\n }}\n />\n )}\n \n\n \n \n\n \n {t(TRANSLATIONS.BUTTON__LEAVE)}\n \n \n\n {isLoading && }\n \n );\n};\n","import { FormEvent, useMemo, useState } from \"react\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { REASONS } from \"api/services/public-service\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\n\nexport const useProgramLeaving = () => {\n const { profile } = useRootStore();\n\n const [fetch, isLoading] = useLoadingAction();\n const [reasonId, setReasonId] = useState(null);\n const [customReason, setCustomReason] = useState(\"\");\n\n const isValid = useMemo(\n () =>\n (customReason && reasonId === REASONS.OTHER) ||\n (reasonId && reasonId !== REASONS.OTHER),\n [reasonId, customReason]\n );\n\n const leaveProgram = async (evt: FormEvent) => {\n evt.preventDefault();\n\n if (reasonId === null) {\n return;\n }\n\n fetch(async () => {\n const details = reasonId === REASONS.OTHER ? customReason : \"\";\n\n await profile.leaveProgram({ reasonId, details });\n });\n };\n\n return {\n reasonId,\n setReasonId,\n isValid,\n setCustomReason,\n leaveProgram,\n isLoading,\n };\n};\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SectionContent } from \"domains/dashboard/styles\";\nimport { WarningText, ButtonLeave } from \"./styles\";\nimport { SectionTitle } from \"domains/dashboard/styles\";\n\nimport { TRANSLATIONS } from \"../constants\";\nimport { useRootStore } from \"init/root-store\";\nimport { LeaveProgramDialog } from \"domains/dialogs/leave-program/leave-program.dialog\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\n\nexport const LeaveSection = () => {\n const { t } = useTranslation();\n const { dialogs } = useRootStore();\n\n const onLeaveButtonClick = async () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.page,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.leaveProgram\n );\n await dialogs.openDialog(LeaveProgramDialog);\n };\n\n return (\n
    \n {t(TRANSLATIONS.LEAVE__TITLE)}\n\n \n {t(TRANSLATIONS.LEAVE__WARNING)}\n\n \n {t(TRANSLATIONS.LEAVE__PROGRAM)}\n \n \n
    \n );\n};\n","import styled from \"styled-components\";\n\nimport { ContentTitle, SectionContent } from \"../../styles\";\n\nexport const GridList = styled.div`\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));\n grid-gap: 1.6rem;\n`;\n\nexport const GroupTitle = styled(ContentTitle)`\n margin-bottom: 1.6rem;\n`;\n\nexport const GamingContent = styled(SectionContent)`\n & > :not(:last-child) {\n margin-bottom: 2.6rem;\n }\n`;\n","import styled from \"styled-components\";\n\nimport { DialogContent, DialogDescription, DialogTitle } from \"../styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const DialogForm = styled(DialogContent)`\n display: flex;\n flex-direction: column;\n`;\n\nexport const Title = styled(DialogTitle)`\n margin-bottom: 1.6rem;\n`;\n\nexport const Description = styled(DialogDescription)`\n margin-bottom: 1.6rem;\n`;\n\nexport const ContentWrapper = styled.div`\n overflow: auto;\n\n & > section {\n padding: 2.4rem;\n\n border-radius: 5px;\n background: var(--color-background-glass-1);\n\n &:not(:last-child) {\n margin-bottom: 1.6rem;\n }\n\n ${BREAKPOINT.ml} {\n padding: 1.6rem;\n }\n }\n`;\n\nexport const ContentTitle = styled.h3`\n font: var(--font-subtitle);\n\n margin-bottom: 1.6rem;\n`;\n\nexport const GridList = styled.div`\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));\n grid-gap: 1.6rem;\n`;\n","export enum CAMPAIGN_TABS {\n LIST,\n AGENDA,\n}\n","import styled from \"styled-components\";\n\nimport {\n FlexContentCenteringCSS,\n TextEllipsisCSS,\n} from \"domains/shared/styles\";\n\nimport { Icon } from \"../icon\";\n\nexport const CheckedMarker = styled(Icon)`\n color: var(--color-text-clickable);\n font-size: 1.3rem;\n\n position: absolute;\n top: 2px;\n right: 2px;\n`;\n\nexport const CheckedLabel = styled.div`\n visibility: hidden;\n\n background-color: var(--color-background-1);\n\n font: var(--font-caption);\n color: var(--color-text-cta-secondary);\n\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.4rem;\n\n position: absolute;\n top: 0;\n\n padding: 0.1rem;\n width: 100%;\n\n span {\n ${TextEllipsisCSS};\n }\n`;\n\nexport const LabelIcon = styled(Icon)`\n display: none;\n`;\n\nexport const Content = styled.div`\n color: var(--color-text-primary);\n\n position: relative;\n overflow: hidden;\n\n box-shadow: 1px 1px 0 var(--color-stroke-2),\n inset 1px 1px 1px var(--color-stroke-1);\n border-radius: 5px;\n background-color: var(--color-background-4);\n\n ${FlexContentCenteringCSS};\n`;\n\nexport const Caption = styled.h4`\n text-align: center;\n\n font: var(--font-caption);\n color: var(--color-text-secondary);\n`;\n\nexport const HiddenCheckbox = styled.input`\n position: absolute;\n\n width: 1px;\n height: 1px;\n\n clip: rect(1px, 1px, 1px, 1px);\n z-index: -1;\n\n &:checked {\n & ~ ${Content} {\n box-shadow: 0 0 0 1px var(--color-stroke-4);\n }\n\n & ~ ${Content} ${CheckedLabel} {\n visibility: visible;\n\n background-color: var(--color-background-7);\n }\n\n & ~ ${Content} ${LabelIcon} {\n display: inline-block;\n }\n\n & ~ ${Caption} {\n color: var(--color-text-primary);\n }\n }\n\n &:not(:disabled):focus-visible {\n & ~ ${Content} {\n box-shadow: 0 0 0 1px var(--color-stroke-3);\n }\n\n & ~ ${Content} ${CheckedLabel} {\n visibility: visible;\n }\n }\n`;\n\nexport const ComponentWrapper = styled.label`\n cursor: pointer;\n\n position: relative;\n\n &[data-disabled=\"true\"],\n &[data-readonly=\"true\"] {\n cursor: auto;\n pointer-events: none;\n touch-action: none;\n\n ${Content} {\n box-shadow: none;\n }\n }\n`;\n","import styled from \"styled-components\";\n\nimport {\n Caption,\n CheckedLabel,\n ComponentWrapper,\n Content,\n HiddenCheckbox,\n} from \"../styles\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport { MEDIA_QUERIES } from \"domains/shared/constants/media-queries.constants\";\n\nexport const GamePlatformContent = styled(Content)`\n position: relative;\n\n overflow: hidden;\n aspect-ratio: 1 / 1;\n\n margin-bottom: 0.4rem;\n`;\n\nexport const PlatformIcon = styled(Icon)`\n font-size: 7rem;\n`;\n\nexport const GamePlatformWrapper = styled(ComponentWrapper)`\n ${HiddenCheckbox}:checked ~ ${GamePlatformContent} {\n background-color: var(--color-background-2);\n }\n\n &[data-readonly=\"true\"] ${Caption} {\n color: var(--color-text-primary);\n }\n\n ${MEDIA_QUERIES.isSupportHover} {\n &:not([data-readonly=\"true\"], [data-disabled=\"true\"]):hover {\n ${GamePlatformContent} {\n background-color: var(--color-background-2);\n }\n\n ${CheckedLabel} {\n visibility: visible;\n }\n }\n }\n`;\n","export const TRANSLATIONS = {\n SELECTED: \"game-platform-card__selected\",\n SELECT: \"game-platform-card__select\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Caption, HiddenCheckbox, CheckedLabel, LabelIcon } from \"../styles\";\nimport {\n PlatformIcon,\n GamePlatformWrapper,\n GamePlatformContent,\n} from \"./styles\";\n\nimport { PLATFORMS_ICONS } from \"domains/shared/components/icon\";\nimport { Platform } from \"api/services/public-service\";\nimport { TRANSLATIONS } from \"./constants\";\n\ntype Props = {\n platform: Platform;\n checked?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n onClick?: () => void;\n};\n\nexport const GamePlatformCard: FC = ({\n platform,\n onClick,\n checked,\n disabled,\n readonly,\n}) => {\n const { t } = useTranslation();\n\n const icon = PLATFORMS_ICONS[platform.id];\n const isCheckboxDisabled = readonly || disabled;\n\n return (\n \n \n\n \n \n\n \n \n \n {t(checked ? TRANSLATIONS.SELECTED : TRANSLATIONS.SELECT)}\n \n \n \n\n {platform.name}\n \n );\n};\n","export const addDifference = (value: T, array: T[]) => {\n return array.includes(value)\n ? array.filter((it) => it !== value)\n : [...array, value];\n};\n","import { FormEvent, useMemo, useState } from \"react\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { DialogActionsType } from \"domains/dialogs/types\";\nimport { publicApiService } from \"api\";\nimport { addDifference } from \"domains/shared/utils/array\";\nimport { UPDATE_GAME_PREF } from \"analytics/analytics-provider.constants\";\nimport { useGamePrefAnalytics } from \"./useGamePrefAnalytics\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\n\nexport const useGamePreferences = (analyticType: UPDATE_GAME_PREF) => {\n const { profile, dialogs, metadata } = useRootStore();\n const analytics = useGamePrefAnalytics(\n analyticType,\n profile.data?.referral?.name\n );\n\n const [activePlatforms, setActivePlatforms] = useState(\n (profile.data?.platforms || []).map((platform) => platform.id)\n );\n const [activeGames, setActiveGames] = useState(\n (profile.data?.games || []).map((game) => game.id)\n );\n const [fetch, isLoading] = useLoadingAction();\n\n const originalPlatforms =\n profile.data?.platforms?.map((platform) => platform.name).join(\", \") ?? \"\";\n\n const updatePlatforms = (id: number) => {\n setActivePlatforms((state) => addDifference(id, state));\n };\n\n const updateGames = (id: number) => {\n setActiveGames((state) => addDifference(id, state));\n };\n\n const updateGamingPreferences = async (evt: FormEvent) => {\n evt.preventDefault();\n\n const updatedPlatforms = metadata.availablePlatforms.filter((platform) =>\n activePlatforms.includes(platform.id)\n );\n const updatedGames = metadata.games.filter((game) =>\n activeGames.includes(game.id)\n );\n const platformNames = updatedPlatforms\n .map((platform) => platform.name)\n .join(\", \");\n\n analytics.callGamePrefPlatformFlowEvent(platformNames, updatedPlatforms);\n analytics.callGamePreGamesFlowEvent(platformNames, updatedGames);\n analytics.callGamePrefSaveFlowEvent(platformNames);\n\n fetch(async () => {\n const { data } = await publicApiService.updateGamingPreferences({\n games: activeGames,\n platforms: activePlatforms,\n });\n\n profile.updateProfileData({\n ...profile.data!,\n ...data,\n });\n dialogs.closeDialog(DialogActionsType.SUBMIT);\n });\n };\n\n const profilePlatformsIds = useMemo(\n () => profile.data?.platforms.map((platform) => platform.id) ?? [],\n [profile.data?.platforms]\n );\n const profileGamesIds = useMemo(\n () => profile.data?.games.map((platform) => platform.id) ?? [],\n [profile.data?.games]\n );\n\n const isPlatformsChanged = !(\n activePlatforms.every((id) => profilePlatformsIds.includes(id)) &&\n activePlatforms.length === profilePlatformsIds.length\n );\n const isGamesChanged = !(\n activeGames.every((id) => profileGamesIds.includes(id)) &&\n activeGames.length === profileGamesIds.length\n );\n\n const isValid =\n Boolean(activeGames.length) &&\n Boolean(activePlatforms.length) &&\n (isPlatformsChanged || isGamesChanged);\n\n return {\n activePlatforms,\n activeGames,\n updatePlatforms,\n updateGames,\n isValid,\n updateGamingPreferences,\n originalPlatforms,\n isLoading,\n ...analytics,\n };\n};\n","import analyticsService from \"analytics/analytics-provider.service\";\nimport {\n ANALYTICS_FLOW_ATTRIBUTES,\n UPDATE_GAME_PREF,\n} from \"analytics/analytics-provider.constants\";\nimport { Game, Platform } from \"api/services/public-service\";\n\nexport const useGamePrefAnalytics = (\n analyticType: UPDATE_GAME_PREF,\n programName = \"\"\n) => {\n const callGamePrefDisplayFlowEvent = (platforms: string) => {\n switch (analyticType) {\n case UPDATE_GAME_PREF.Introduction:\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.updatePreferences,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.introduction,\n platforms,\n ANALYTICS_FLOW_ATTRIBUTES.category.display,\n ANALYTICS_FLOW_ATTRIBUTES.action.updatePreferences,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.introduction,\n programName\n );\n break;\n case UPDATE_GAME_PREF.Settings:\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.gamingPreferences,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n platforms,\n ANALYTICS_FLOW_ATTRIBUTES.category.display,\n ANALYTICS_FLOW_ATTRIBUTES.action.gamingPreferences,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n break;\n }\n };\n\n const callGamePrefCancelFlowEvent = (platforms: string) => {\n switch (analyticType) {\n case UPDATE_GAME_PREF.Introduction:\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.updatePreferences,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.introduction,\n platforms,\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.cancel,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.introduction,\n programName\n );\n break;\n case UPDATE_GAME_PREF.Settings:\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.gamingPreferences,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n platforms,\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.cancel,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n break;\n }\n };\n\n const callGamePrefSaveFlowEvent = (platforms: string) => {\n switch (analyticType) {\n case UPDATE_GAME_PREF.Introduction:\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.updatePreferences,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.introduction,\n platforms,\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.save,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.introduction,\n programName\n );\n break;\n case UPDATE_GAME_PREF.Settings:\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.gamingPreferences,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n platforms,\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.save,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n break;\n }\n };\n\n const callGamePrefPlatformFlowEvent = (\n platformNames: string,\n updatedPlatforms: Platform[]\n ) => {\n switch (analyticType) {\n case UPDATE_GAME_PREF.Introduction:\n analyticsService.sendPlatformFlowEvents(\n updatedPlatforms,\n platformNames,\n ANALYTICS_FLOW_ATTRIBUTES.action.newPreferredPlatform,\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.updatePreferences,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.introduction,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.introduction,\n programName\n );\n break;\n case UPDATE_GAME_PREF.Settings:\n analyticsService.sendPlatformFlowEvents(\n updatedPlatforms,\n platformNames,\n ANALYTICS_FLOW_ATTRIBUTES.action.newPreferredPlatform,\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.gamingPreferences,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n break;\n }\n };\n\n const callGamePreGamesFlowEvent = (\n platformNames: string,\n updatedGames: Game[]\n ) => {\n switch (analyticType) {\n case UPDATE_GAME_PREF.Introduction:\n analyticsService.sendFranchiseFlowEvents(\n updatedGames,\n platformNames,\n ANALYTICS_FLOW_ATTRIBUTES.action.newFavoriteFranchises,\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.updatePreferences,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.introduction,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.introduction,\n programName\n );\n break;\n case UPDATE_GAME_PREF.Settings:\n analyticsService.sendFranchiseFlowEvents(\n updatedGames,\n platformNames,\n ANALYTICS_FLOW_ATTRIBUTES.action.newFavoriteFranchises,\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.gamingPreferences,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n break;\n }\n };\n\n return {\n callGamePrefDisplayFlowEvent,\n callGamePrefCancelFlowEvent,\n callGamePrefSaveFlowEvent,\n callGamePrefPlatformFlowEvent,\n callGamePreGamesFlowEvent,\n };\n};\n","export const TRANSLATIONS = {\n BUTTON__CANCEL: \"button__cancel\",\n BUTTON__SAVE: \"button__save\",\n PLATFORM__TITLE: \"dialog__game-preferences__platform-title\",\n FRANCHISES__TITLE: \"dialog__game-preferences__franchises-title\",\n DIALOG_DESCRIPTION: \"dialog__game-preferences__description\",\n DIALOG_TITLE: \"dialog__game-preferences__title\",\n};\n","import styled from \"styled-components\";\n\nimport {\n Caption,\n ComponentWrapper,\n Content,\n HiddenCheckbox,\n CheckedLabel,\n} from \"../styles\";\n\nimport { MEDIA_QUERIES } from \"domains/shared/constants/media-queries.constants\";\n\nexport const FranchiseContent = styled(Content)`\n isolation: isolate;\n\n overflow: hidden;\n aspect-ratio: 1 / 1;\n\n margin-bottom: 0.4rem;\n`;\n\nexport const GameLogo = styled.img`\n object-fit: contain;\n`;\n\nexport const GameCover = styled.img`\n position: absolute;\n width: 100%;\n height: 100%;\n\n object-fit: cover;\n\n z-index: -1;\n\n filter: brightness(0.6);\n opacity: 0;\n transition: 0.2s opacity;\n`;\n\nexport const FranchiseWrapper = styled(ComponentWrapper)`\n &[data-disabled=\"true\"] {\n opacity: 0.5;\n }\n\n ${HiddenCheckbox}:checked ~ ${FranchiseContent} ${GameCover},\n &[data-readonly=\"true\"] ${GameCover} {\n opacity: 1;\n }\n\n &[data-readonly=\"true\"] ${Caption} {\n color: var(--color-text-primary);\n }\n\n ${MEDIA_QUERIES.isSupportHover} {\n &:not([data-readonly=\"true\"], [data-disabled=\"true\"]):hover {\n ${GameCover} {\n opacity: 1;\n }\n\n ${CheckedLabel} {\n visibility: visible;\n }\n }\n }\n`;\n","export default __webpack_public_path__ + \"static/media/swirl.abb189f3.svg\";","export const TRANSLATIONS = {\n LIKE: \"franchise-card__like\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Caption, CheckedLabel, HiddenCheckbox, LabelIcon } from \"../styles\";\nimport {\n GameCover,\n GameLogo,\n FranchiseWrapper,\n FranchiseContent,\n} from \"./styles\";\n\nimport fallbackCover from \"assets/placeholders/swirl.svg\";\n\nimport { Game } from \"api/services/public-service\";\nimport { TRANSLATIONS } from \"./constants\";\n\ntype Props = {\n game: Game;\n disabled?: boolean;\n checked?: boolean;\n readonly?: boolean;\n onClick?: () => void;\n};\n\nexport const FranchiseCard: FC = ({\n game,\n onClick,\n checked,\n disabled,\n readonly,\n}) => {\n const { t } = useTranslation();\n\n const isCheckboxDisabled = readonly || disabled;\n\n return (\n \n \n\n \n \n \n\n \n \n {t(TRANSLATIONS.LIKE)}\n \n \n\n {game.name}\n \n );\n};\n","import React, { FC } from \"react\";\nimport Dialog from \"rc-dialog\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ContentTitle,\n ContentWrapper,\n DialogForm,\n GridList,\n Title,\n Description,\n} from \"./styles\";\nimport { DialogActions, DialogCloseButton, CloseIcon } from \"../styles\";\n\nimport { DialogProps } from \"../types\";\nimport { GamePlatformCard } from \"domains/shared/components/cards/game-platform\";\nimport { useGamePreferences } from \"./hooks/useGamePreferences\";\nimport { useRootStore } from \"init/root-store\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { Button } from \"domains/shared/components/button\";\nimport { FranchiseCard } from \"domains/shared/components/cards/franchise\";\nimport { UPDATE_GAME_PREF } from \"analytics/analytics-provider.constants\";\nimport { Game, Platform } from \"api/services/public-service/types\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport { useFlowEventCallback } from \"analytics/hooks/useFlowEventHook\";\n\ntype Props = {\n analyticType: UPDATE_GAME_PREF;\n} & DialogProps;\n\nexport const GamePreferencesDialog: FC = ({\n analyticType,\n ...props\n}) => {\n const { metadata } = useRootStore();\n const { games, availablePlatforms } = metadata;\n const { t } = useTranslation();\n\n const {\n activePlatforms,\n activeGames,\n originalPlatforms,\n updatePlatforms,\n updateGames,\n isValid,\n updateGamingPreferences,\n isLoading,\n callGamePrefDisplayFlowEvent,\n callGamePrefCancelFlowEvent,\n } = useGamePreferences(analyticType);\n\n useFlowEventCallback(() => callGamePrefDisplayFlowEvent(originalPlatforms));\n\n const closeDialog = () => {\n callGamePrefCancelFlowEvent(originalPlatforms);\n props.onCancel();\n };\n\n const onPlatformClick = (platform: Platform) => () => {\n updatePlatforms(platform.id);\n };\n\n const onGameClick = (game: Game) => () => {\n updateGames(game.id);\n };\n\n return (\n \n \n \n \n\n \n {t(TRANSLATIONS.DIALOG_TITLE)}\n\n {t(TRANSLATIONS.DIALOG_DESCRIPTION)}\n\n \n
    \n {t(TRANSLATIONS.PLATFORM__TITLE)}\n\n \n {availablePlatforms.map((platform) => (\n \n ))}\n \n
    \n\n
    \n {t(TRANSLATIONS.FRANCHISES__TITLE)}\n\n \n {games.map((game) => (\n \n ))}\n \n
    \n
    \n \n\n \n \n\n \n {t(TRANSLATIONS.BUTTON__SAVE)}\n \n \n\n {isLoading && }\n
    \n );\n};\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { GamingContent, GridList, GroupTitle } from \"./styles\";\nimport { SectionTitle } from \"domains/dashboard/styles\";\nimport { EditButton } from \"domains/shared/components\";\n\nimport { SECTION_ID } from \"navigation/types\";\nimport { TRANSLATIONS } from \"../constants\";\nimport { useRootStore } from \"init/root-store\";\nimport { GamePreferencesDialog } from \"domains/dialogs/game-preferences/game-preferences.dialog\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport {\n ANALYTICS_CLICK_ATTRIBUTES,\n ANALYTICS_PAGE_ATTRIBUTES,\n UPDATE_GAME_PREF,\n} from \"analytics/analytics-provider.constants\";\nimport { GamePlatformCard } from \"domains/shared/components/cards/game-platform\";\nimport { FranchiseCard } from \"domains/shared/components/cards/franchise\";\n\nexport const GamingSection = observer(() => {\n const { t } = useTranslation();\n const { profile, dialogs } = useRootStore();\n\n const onEditButtonClick = async () => {\n try {\n await dialogs.openDialog(GamePreferencesDialog, {\n analyticType: UPDATE_GAME_PREF.Settings,\n });\n } finally {\n analyticsService.sendPageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.dashboard,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.settings,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n }\n };\n\n const handleEditPreferences = async () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.gamingPreferences,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.editPreferences\n );\n\n await onEditButtonClick();\n };\n\n return (\n
    \n \n {t(TRANSLATIONS.GAMING_PREFERENCES__TITLE)}\n\n \n {t(TRANSLATIONS.EDIT)}\n \n \n\n \n
    \n {t(TRANSLATIONS.PLATFORMS__TITLE)}\n\n \n {profile.data?.platforms.map((platform) => (\n \n ))}\n \n
    \n\n
    \n {t(TRANSLATIONS.FRANCHISES__TITLE)}\n\n \n {profile.profileGames.map((game) => (\n \n ))}\n \n
    \n
    \n
    \n );\n});\n","import styled from \"styled-components\";\n\nimport { ContentTitle, SectionContent } from \"domains/dashboard/styles\";\nimport { EditButton, ExternalLink } from \"domains/shared/components\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const PersonalSection = styled(SectionContent)`\n display: flex;\n flex-wrap: wrap;\n gap: 2.4rem;\n\n ${BREAKPOINT.ml} {\n flex-direction: column;\n }\n`;\n\nexport const ContactsWrapper = styled.div`\n display: flex;\n flex-wrap: wrap;\n gap: 2.4rem;\n\n margin-bottom: 4.8rem;\n\n ${BREAKPOINT.ml} {\n flex-direction: column;\n }\n`;\n\nexport const ContactChannelsList = styled.ul`\n display: grid;\n grid-template-columns: repeat(auto-fill, 14rem);\n grid-gap: 1.6rem;\n\n li {\n display: contents;\n }\n\n ${BREAKPOINT.ls} {\n grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));\n }\n`;\n\nexport const InfoHeader = styled(ContentTitle)`\n margin-bottom: 0.8rem;\n`;\n\nexport const EditCTA = styled(EditButton)`\n white-space: nowrap;\n`;\n\nexport const EditPersonalInfoLink = styled(ExternalLink)`\n font: var(--font-body-bold);\n\n white-space: nowrap;\n`;\n\nexport const InfoValue = styled.div`\n font: var(--font-body);\n\n padding: 0.4rem 1.6rem;\n width: fit-content;\n\n border-radius: 30px;\n background-color: var(--color-background-4);\n`;\n\nexport const ContactChannelsWrapper = styled.div``;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n PersonalSection,\n InfoValue,\n InfoHeader,\n EditPersonalInfoLink,\n} from \"./styles\";\nimport { SectionTitle, LinkIcon, LinkText } from \"domains/dashboard/styles\";\n\nimport { TRANSLATIONS } from \"../constants\";\nimport { useRootStore } from \"init/root-store\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { SECTION_ID } from \"navigation/types\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\n\nexport const PersonalInfoSection = observer(() => {\n const { t } = useTranslation();\n const { profile } = useRootStore();\n\n const onPersonalInfoEdit = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.personalInfo,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.editPersonalInfo\n );\n };\n\n return (\n
    \n \n {t(TRANSLATIONS.PERSONAL_INFO__TITLE)}\n\n \n {t(TRANSLATIONS.EDIT)}\n \n \n \n\n \n
    \n {t(TRANSLATIONS.PERSONAL_INFO__EMAIL)}\n {profile.userDetails?.email}\n
    \n\n
    \n {t(TRANSLATIONS.PERSONAL_INFO__NAME)}\n {profile.data?.username}\n
    \n
    \n
    \n );\n});\n","import styled, { css } from \"styled-components\";\n\nimport { SectionContent } from \"../../styles\";\n\nimport { Button } from \"domains/shared/components/button\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const ChannelsContent = styled(SectionContent)<{\n isEditModeOn?: boolean;\n}>`\n display: flex;\n flex-direction: column;\n gap: 2.4rem;\n\n ${(props) =>\n props.isEditModeOn &&\n css`\n box-shadow: 0 0 0 1px var(--color-stroke-8);\n `}\n`;\n\nexport const ChannelsSection = styled.section`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n\n padding: 1.6rem;\n\n border-radius: 4px;\n background-color: var(--color-background-8);\n`;\n\nexport const ChannelsList = styled.ul`\n display: grid;\n grid-template-columns: repeat(auto-fill, 14rem);\n grid-gap: 1.6rem;\n\n li {\n display: contents;\n }\n\n ${BREAKPOINT.ls} {\n grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));\n }\n`;\n\nexport const ChannelListTitle = styled.h3`\n font: var(--font-body-bold);\n`;\n\nexport const CloseCTA = styled(Button)`\n min-width: 16rem;\n width: fit-content;\n\n ${BREAKPOINT.ls} {\n min-width: auto;\n width: 100%;\n }\n`;\n\nexport const PrimarySwapMessage = styled.div`\n font: var(--font-body);\n`;\n\nexport const SectionsWrapper = styled.div`\n display: grid;\n grid-template-columns: min-content 1fr;\n grid-gap: 1.6rem;\n\n ${BREAKPOINT.ls} {\n display: contents;\n }\n`;\n","export const TRANSLATIONS = {\n CHANNELS__TITLE: \"settings__channels__title\",\n CLOSE: \"button__close\",\n EDIT: \"button__edit\",\n PRIMARY_TITLE: \"settings__channels__primary-title\",\n EXTRA_TITLE: \"settings__channels__extra-title\",\n EXTRA_EMPTY: \"settings__channels__extra-empty\",\n PRIMARY_SWAP_WARNING: \"settings__channels__primary-warning\",\n};\n","import { createContext, useContext } from \"react\";\n\ntype Context = {\n isLinkingLoading: boolean;\n};\n\nexport const LinkingContext = createContext(null);\n\nexport const useLinkingContext = () => useContext(LinkingContext)!;\n","import styled from \"styled-components\";\n\nimport { DialogDescription, DialogTitle } from \"../styles\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport { ExternalLink } from \"domains/shared/components\";\n\nexport const WarningWrapper = styled.div`\n display: flex;\n align-items: center;\n\n padding: 1.6rem;\n\n background-color: var(--color-background-4);\n border-radius: 5px;\n`;\n\nexport const Title = styled(DialogTitle)`\n margin-bottom: 3.2rem;\n`;\n\nexport const WarningIcon = styled(Icon)`\n font-size: 2rem;\n color: var(--color-feedback-warning);\n\n margin-right: 1rem;\n`;\n\nexport const Warning = styled.div`\n font-size: 1.4rem;\n line-height: 2rem;\n\n color: var(--color-feedback-warning);\n`;\n\nexport const Description = styled(DialogDescription)`\n margin-bottom: 1.6rem;\n`;\n\nexport const AccountLink = styled(ExternalLink)`\n display: inline;\n`;\n","export const TRANSLATIONS = {\n REMOVE: \"button__remove\",\n CANCEL: \"button__cancel\",\n TITLE: \"dialog__deleting-channel__title\",\n DESCRIPTION: \"dialog__deleting-channel__description\",\n WARNING: \"dialog__deleting-channel__warning\",\n};\n","import React, { FC } from \"react\";\nimport Dialog from \"rc-dialog\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport {\n CloseIcon,\n DialogActions,\n DialogCloseButton,\n DialogContent,\n} from \"../styles\";\nimport {\n Warning,\n Description,\n WarningWrapper,\n WarningIcon,\n AccountLink,\n Title,\n} from \"./styles\";\n\nimport { DialogProps } from \"../types\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { CHANNEL_IDS } from \"api/services/public-service\";\nimport { Button } from \"domains/shared/components/button\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\nimport { CHANNELS_NAME } from \"domains/shared/constants/channels\";\n\ntype Props = {\n channelId: CHANNEL_IDS;\n} & DialogProps;\n\nexport const AccountChannelRemoveWarningDialog: FC = ({\n channelId,\n ...props\n}) => {\n const { t } = useTranslation();\n const channel = CHANNELS_NAME[channelId];\n\n return (\n \n \n \n \n\n \n \n <Trans i18nKey={TRANSLATIONS.TITLE} values={{ channel }} />\n \n\n \n \n \n\n \n \n\n \n ,\n }}\n values={{ channel }}\n />\n \n \n \n\n \n \n\n \n \n \n );\n};\n","import styled from \"styled-components\";\nimport { Icon } from \"domains/shared/components/icon\";\n\nexport const WarningIcon = styled(Icon)`\n font-size: 1.6rem;\n`;\n\nexport const DescriptionWrapper = styled.div`\n padding: 2rem 1.8rem;\n\n border-radius: 5px;\n background: var(--color-background-4);\n`;\n\nexport const ContentWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 2rem;\n`;\n\nexport const Description = styled.div`\n display: flex;\n align-items: center;\n\n font: var(--font-body);\n color: var(--color-feedback-warning);\n\n & > :not(:last-child) {\n margin-right: 1rem;\n }\n`;\n\nexport const DialogDescription = styled.div`\n font: var(--font-body-bold);\n`;\n","export const TRANSLATIONS = {\n BUTTON_CLOSE: \"button__no-close\",\n BUTTON_CONFIRM: \"button__yes-confirm\",\n TITLE: \"dialog__twitch-refresh__title\",\n DESCRIPTION: \"dialog__twitch-refresh__description\",\n WARNING: \"dialog__twitch-refresh__warning\",\n};\n","import React, { FC } from \"react\";\nimport Dialog from \"rc-dialog\";\n\nimport {\n DialogCloseButton,\n CloseIcon,\n DialogContent,\n DialogActions,\n} from \"../../styles\";\n\nimport { DialogProps } from \"domains/dialogs/types\";\nimport { Title } from \"../styles\";\nimport {\n DescriptionWrapper,\n Description,\n ContentWrapper,\n WarningIcon,\n DialogDescription,\n} from \"./styles\";\nimport { Button } from \"domains/shared/components/button\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nexport const TwitchRefreshDialog: FC = ({\n onSubmit,\n ...props\n}) => {\n const { t } = useTranslation();\n const onClose = () => {\n props.onClose();\n };\n\n return (\n \n \n \n \n\n \n {t(TRANSLATIONS.TITLE)}\n \n {t(TRANSLATIONS.DESCRIPTION)}\n\n \n \n \n\n
    \n \n
    \n
    \n
    \n
    \n
    \n\n \n \n \n \n
    \n );\n};\n","export const TRANSLATIONS = {\n SELECT: \"channel-card__select\",\n UNLINK: \"channel-card__unlink\",\n REFRESH: \"channel-card__refresh\",\n REFRESH_TOOLTIP: \"channel-card_refresh-tooltip\",\n};\n","import React, { FC, MouseEvent, useState } from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n ActionCTA,\n ActionMenu,\n AddCTA,\n ChannelContent,\n ChannelContentWrapper,\n ChannelDataWrapper,\n ChannelIcon,\n ChannelName,\n DisabledInstagramBlock,\n DisabledInstagramChannel,\n Loading,\n MenuAction,\n MenuActionIcon,\n MenuActionName,\n MoreIcon,\n PrimaryMark,\n Reference,\n TwitchRefreshButton,\n} from \"./styles\";\n\nimport { CHANNEL_IDS } from \"api/services/public-service\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { CHANNELS_ICONS_BY_ID } from \"../../icon\";\nimport { CHANNELS_NAME } from \"../../../constants/channels\";\nimport { Tooltip } from \"../../tooltip\";\n\ntype CardAction = () => void;\n\ntype Props = {\n channelId: CHANNEL_IDS;\n reference?: string | null;\n onLink?: CardAction;\n onSelect?: CardAction;\n onUnlink?: CardAction;\n onTwitchRefresh?: CardAction;\n isDisabled?: boolean;\n isLoading?: boolean;\n isError?: boolean;\n isPrimary?: boolean;\n};\n\nexport const ChannelCardComponent: FC = observer(\n ({\n channelId,\n isLoading,\n isDisabled = false,\n reference,\n onLink,\n onTwitchRefresh,\n onUnlink,\n onSelect,\n isError,\n isPrimary = false,\n }) => {\n const { t } = useTranslation();\n const [menuAnchorEl, setMenuAnchorEl] = useState(\n null\n );\n\n const icon = CHANNELS_ICONS_BY_ID[channelId];\n const name = CHANNELS_NAME[channelId];\n\n const isActionsVisible = !isPrimary && !isDisabled;\n\n //Temp disable logic while Instagram OAuth not fixed;\n const isInstagram = channelId === CHANNEL_IDS.INSTAGRAM;\n const instagramDisableReason =\n \"This social platform is experiencing problems verifying accounts linked to the Ubisoft Creators Program. You will be able to re-link your account once resolved\";\n\n if (!reference && isInstagram) {\n return (\n \n \n \n \n {name}\n \n \n \n );\n }\n\n if (!reference) {\n return (\n \n \n \n {name}\n \n\n {isLoading && }\n \n );\n }\n\n const onMoreOpen = (evt: MouseEvent) => {\n setMenuAnchorEl(evt.currentTarget);\n };\n\n const onMenuClose = () => {\n setMenuAnchorEl(null);\n };\n\n const onMenuItemClick = (action: CardAction) => () => {\n setMenuAnchorEl(null);\n action();\n };\n\n return (\n \n \n \n \n {name}\n \n\n {reference}\n\n {isPrimary && }\n\n {onTwitchRefresh && !isActionsVisible && (\n }>\n \n {t(TRANSLATIONS.REFRESH)}\n \n \n )}\n\n {isActionsVisible && (\n <>\n \n \n \n\n \n {onSelect && (\n \n \n {t(TRANSLATIONS.SELECT)}\n \n )}\n {onUnlink && (\n \n \n {t(TRANSLATIONS.UNLINK)}\n \n )}\n \n \n )}\n \n\n {isLoading && }\n \n );\n }\n);\n","import React, { FC } from \"react\";\n\nimport { ChannelDataType } from \"domains/profile/types\";\nimport { useChannel } from \"./useChannel\";\nimport { ChannelCardComponent } from \"domains/shared/components/cards/channel\";\n\nexport const ChannelComponent: FC<{\n channel: ChannelDataType;\n isDisabled?: boolean;\n}> = ({ channel, isDisabled }) => {\n const {\n isChannelInvalid,\n nameOnPlatform,\n isLoading,\n isPrimary,\n isPrimaryId,\n onUnlink,\n onLink,\n onSelect,\n onTwitchRefresh,\n isTwitch,\n } = useChannel(channel);\n\n const props = isPrimary\n ? {\n isError: isChannelInvalid,\n isPrimary: true,\n }\n : {\n onUnlink,\n onLink,\n onSelect: isPrimaryId ? onSelect : undefined,\n };\n\n return (\n \n );\n};\n","import { useMemo } from \"react\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { SocialMediaDialog } from \"domains/dialogs/social-media/social-media.dialog\";\nimport { TwitchLinkedDialog } from \"domains/dialogs/social-media/twitch-linked/twitch-linked.dialog\";\nimport { CHANNEL_IDS } from \"api/services/public-service\";\nimport {\n CHANNELS_NAME,\n PRIMARY_CHANNEL_IDS,\n UBI_ACCOUNT_CHANNELS,\n} from \"domains/shared/constants/channels\";\nimport { AccountChannelRemoveWarningDialog } from \"domains/dialogs/account-channel-remove-warning/account-channel-remove-warning.dialog\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { useLinkingUtils } from \"domains/shared/hooks/useLinkingUtils\";\nimport { globalErrorService } from \"domains/global-errors/global-error.service\";\nimport { ChannelDataType } from \"domains/profile/types\";\nimport {\n CHANNEL_NOTIFICATIONS,\n notificationsService,\n} from \"domains/notifications\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\nimport { TwitchRefreshDialog } from \"domains/dialogs/social-media/twitch-token-refresh/twitch-refresh.dialog\";\n\nexport const useChannel = (channel: ChannelDataType) => {\n const { profile, dialogs, session } = useRootStore();\n const { openAccountLinkingModal, openOAuthLinkingModal } = useLinkingUtils();\n const [fetch, isLoading] = useLoadingAction();\n\n const { id: channelId, data } = channel;\n const isPrimary = data?.isMain;\n const isTwitch = channelId === CHANNEL_IDS.TWITCH;\n const nameOnPlatform = data?.nameOnPlatform;\n const channelName = CHANNELS_NAME[channelId] ?? channel.name;\n const isPrimaryId = PRIMARY_CHANNEL_IDS.includes(channelId);\n\n const { isYouTubeTokenValid } = globalErrorService;\n const { primaryChannelId, isPrimaryChannelInvalid } = profile;\n\n const isChannelInvalid = useMemo(() => {\n switch (channelId) {\n case CHANNEL_IDS.TWITCH:\n return (\n isPrimaryChannelInvalid && primaryChannelId === CHANNEL_IDS.TWITCH\n );\n\n case CHANNEL_IDS.YOUTUBE:\n return (\n (isPrimaryChannelInvalid || !isYouTubeTokenValid) &&\n primaryChannelId === CHANNEL_IDS.YOUTUBE\n );\n\n default:\n return false;\n }\n }, [\n channelId,\n isPrimaryChannelInvalid,\n primaryChannelId,\n isYouTubeTokenValid,\n ]);\n\n const sendClickEvent = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.channels,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n channelName + ANALYTICS_CLICK_ATTRIBUTES.action.addChannel\n );\n };\n\n const onSelect = async () => {\n if (!data || !data.nameOnPlatform) {\n return;\n }\n\n const { nameOnPlatform: username, url } = data;\n\n await profile.swapPrimaryChannel(channelId, {\n username,\n url,\n });\n\n notificationsService.showLevel4(\n CHANNEL_NOTIFICATIONS.PRIMARY_CHANNEL_SELECTED\n );\n };\n\n const onTwitchRefresh = async () => {\n if (channelId !== CHANNEL_IDS.TWITCH) {\n return;\n }\n\n await dialogs.openDialog(TwitchRefreshDialog);\n await openAccountLinkingModal(channelId);\n };\n\n const onLink = async () => {\n sendClickEvent();\n\n switch (channelId) {\n case CHANNEL_IDS.TWITCH:\n await addTwitch();\n break;\n\n case CHANNEL_IDS.YOUTUBE:\n case CHANNEL_IDS.DISCORD:\n await openAccountLinkingModal(channelId);\n break;\n\n case CHANNEL_IDS.INSTAGRAM:\n case CHANNEL_IDS.TIKTOK:\n await openOAuthLinkingModal(channelId);\n break;\n\n default:\n await addExtraChannel();\n }\n };\n\n const addTwitch = async () => {\n if (channelId !== CHANNEL_IDS.TWITCH) {\n return;\n }\n\n const account = session.getAccountData(channelId);\n\n if (!account) {\n await openAccountLinkingModal(channelId);\n }\n\n const { payload } = await dialogs.openDialog(TwitchLinkedDialog);\n\n fetch(async () => {\n await profile.addChannel({\n typeId: channelId,\n url: payload,\n });\n\n sendClickEvent();\n });\n };\n\n const addExtraChannel = async () => {\n const { payload } = await dialogs.openDialog(SocialMediaDialog, {\n channelId,\n useAnalytics: true,\n });\n\n fetch(async () => {\n await profile.addChannel({\n typeId: channelId,\n url: payload,\n });\n\n notificationsService.showLevel4(CHANNEL_NOTIFICATIONS.NEW_CHANNEL_ADDED);\n });\n };\n\n const onUnlink = async () => {\n const isUbiAccountChannel = UBI_ACCOUNT_CHANNELS.includes(channelId);\n\n if (isUbiAccountChannel) {\n await dialogs.openDialog(AccountChannelRemoveWarningDialog, {\n channelId,\n });\n }\n\n fetch(async () => {\n await profile.deleteChannel(channelId);\n\n if (channelId === CHANNEL_IDS.YOUTUBE) {\n globalErrorService.isYouTubeTokenValid = true;\n }\n });\n };\n\n return {\n isChannelInvalid,\n onLink,\n isPrimary,\n nameOnPlatform,\n onUnlink,\n isLoading,\n onSelect,\n isPrimaryId,\n onTwitchRefresh,\n isTwitch,\n };\n};\n","import styled from \"styled-components\";\n\nimport { EmptyText } from \"domains/dashboard/styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const EmptyContent = styled.div`\n display: flex;\n align-items: center;\n gap: 2.4rem;\n\n padding: 2.4rem;\n height: 100%;\n\n border-radius: 5px;\n background-color: var(--color-background-10);\n\n & > p {\n ${EmptyText};\n }\n\n ${BREAKPOINT.ls} {\n padding: 1.6rem;\n\n gap: 1.6rem;\n }\n`;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SectionIcon } from \"domains/dashboard/styles\";\nimport { EmptyContent } from \"./styles\";\n\nimport { TRANSLATIONS } from \"../constants\";\n\nexport const EmptyComponent = () => {\n const { t } = useTranslation();\n\n return (\n \n \n

    {t(TRANSLATIONS.EXTRA_EMPTY)}

    \n
    \n );\n};\n","import React, { FC, useMemo } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ChannelListTitle, ChannelsList, ChannelsSection } from \"./styles\";\n\nimport { ChannelComponent } from \"./channel/channel.component\";\nimport { useFilterChannels } from \"domains/shared/hooks/useFilterChannels\";\nimport { useRootStore } from \"init/root-store\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { EmptyComponent } from \"./empty-section/empty.component\";\n\ntype Props = {\n isDisabled: boolean;\n};\n\nexport const ExtraChannelsComponent: FC = observer(({ isDisabled }) => {\n const { checkAdditionalChannelAllowing } = useFilterChannels();\n const { t } = useTranslation();\n const { profile } = useRootStore();\n\n const { primaryChannel, contentChannels, activeContentChannels } = profile;\n const channels = isDisabled ? activeContentChannels : contentChannels;\n\n const visibleChannels = useMemo(() => {\n return channels.filter((channel) => {\n const isNotPrimary = primaryChannel?.id !== channel.id;\n const isAllowed = checkAdditionalChannelAllowing(channel.id);\n\n return isNotPrimary && isAllowed;\n });\n }, [primaryChannel, channels, checkAdditionalChannelAllowing]);\n\n const isEmpty = !visibleChannels.length && isDisabled;\n\n return (\n \n {t(TRANSLATIONS.EXTRA_TITLE)}\n\n {isEmpty ? (\n \n ) : (\n \n {visibleChannels.map((channel) => (\n
  • \n \n
  • \n ))}\n
    \n )}\n
    \n );\n});\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ChannelListTitle, ChannelsList, ChannelsSection } from \"./styles\";\n\nimport { ChannelComponent } from \"./channel/channel.component\";\nimport { useRootStore } from \"init/root-store\";\nimport { TRANSLATIONS } from \"./constants\";\n\ntype Props = {\n isDisabled: boolean;\n};\n\nexport const PrimaryChannelComponent: FC = observer(({ isDisabled }) => {\n const { t } = useTranslation();\n const { profile } = useRootStore();\n\n const { primaryChannel } = profile;\n\n if (!primaryChannel) {\n return null;\n }\n\n return (\n \n {t(TRANSLATIONS.PRIMARY_TITLE)}\n\n \n
  • \n \n
  • \n
    \n
    \n );\n});\n","import React, { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n ChannelsContent,\n CloseCTA,\n PrimarySwapMessage,\n SectionsWrapper,\n} from \"./styles\";\nimport { SectionTitle } from \"domains/dashboard/styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport { useRootStore } from \"init/root-store\";\nimport { useLinkingContext } from \"../../linking/useLinkingContext\";\nimport { EditButton } from \"domains/shared/components\";\nimport { ExtraChannelsComponent } from \"./extra-channels.component\";\nimport { PrimaryChannelComponent } from \"./primary-channel.component\";\n\nexport const ChannelsComponent = observer(() => {\n const { t } = useTranslation();\n const { profile } = useRootStore();\n const { isLinkingLoading } = useLinkingContext();\n\n const { isChannelsLoading } = profile;\n const isBlockedLoading = isLinkingLoading || isChannelsLoading;\n\n const [isEditModeOn, setIsEditModeOn] = useState(false);\n\n const toggleEditMode = () => {\n setIsEditModeOn((state) => !state);\n };\n\n return (\n
    \n \n {t(TRANSLATIONS.CHANNELS__TITLE)}\n\n \n {t(TRANSLATIONS.EDIT)}\n \n \n\n \n \n \n \n \n\n {isEditModeOn && (\n \n {t(TRANSLATIONS.PRIMARY_SWAP_WARNING)}\n \n )}\n\n {isEditModeOn && (\n \n {t(TRANSLATIONS.CLOSE)}\n \n )}\n\n {isBlockedLoading && }\n \n
    \n );\n});\n","import styled from \"styled-components\";\n\nimport { ContentTitle, SectionIcon } from \"../../styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const TagsGroup = styled.div`\n border-radius: 8px;\n padding: 1.6rem;\n\n background-color: var(--color-background-3);\n\n &:not(:last-child) {\n margin-bottom: 1.6rem;\n }\n`;\n\nexport const GroupTitle = styled(ContentTitle)`\n margin-bottom: 1.6rem;\n`;\n\nexport const Tags = styled.div`\n display: flex;\n gap: 1.6rem;\n flex-wrap: wrap;\n`;\n\nexport const EmptyWrapper = styled.div`\n display: flex;\n gap: 2.2rem;\n align-items: center;\n\n ${BREAKPOINT.mm} {\n flex-direction: column;\n }\n`;\n\nexport const EmptyIcon = styled(SectionIcon).attrs(() => ({\n kind: \"dark\",\n type: \"personalization\",\n}))`\n width: 7rem;\n height: 7rem;\n`;\n\nexport const Description = styled.div`\n font: var(--font-subtitle-bold);\n\n display: flex;\n flex-direction: column;\n gap: 0.8rem;\n\n ${BREAKPOINT.mm} {\n align-items: center;\n }\n`;\n","import styled from \"styled-components\";\n\nimport { ComponentWrapper, Content, HiddenCheckbox } from \"../styles\";\n\nimport { MEDIA_QUERIES } from \"domains/shared/constants/media-queries.constants\";\n\nexport const TagContent = styled(Content)`\n overflow: hidden;\n padding: 1.6rem;\n\n font: var(--font-body);\n`;\n\nexport const TagWrapper = styled(ComponentWrapper)`\n &[data-disabled=\"true\"] {\n opacity: 0.5;\n }\n\n ${HiddenCheckbox}:checked ~ ${TagContent} {\n background-color: var(--color-background-2);\n }\n\n ${MEDIA_QUERIES.isSupportHover} {\n &:not([data-readonly=\"true\"]):hover,\n &:not([data-disabled=\"true\"]):hover {\n ${TagContent} {\n background-color: var(--color-background-2);\n }\n }\n }\n`;\n","import React, { FC } from \"react\";\n\nimport { HiddenCheckbox, CheckedMarker } from \"../styles\";\nimport { TagContent, TagWrapper } from \"./styles\";\n\nimport { TagType } from \"api/services/public-service\";\n\ntype Props = {\n tag: TagType;\n checked?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n onChange?: () => void;\n};\n\nexport const TagCard: FC = ({\n tag,\n onChange,\n checked,\n disabled,\n readonly,\n}) => {\n const isCheckboxDisabled = readonly || disabled;\n\n return (\n \n \n\n \n {tag.name}\n {checked && }\n \n \n );\n};\n","import React, { FC } from \"react\";\n\nimport { GroupTitle, Tags, TagsGroup } from \"./styles\";\n\nimport { TagCard } from \"domains/shared/components/cards/tag\";\nimport { TagType } from \"api/services/public-service\";\n\ntype Props = {\n group: [number, TagType[]];\n};\n\nexport const TagsGroupComponent: FC = ({ group }) => {\n const tags = group[1];\n const groupName = tags[0].group.name;\n\n return (\n \n {groupName}\n\n \n {tags.map((tag) => (\n \n ))}\n \n \n );\n};\n","import styled from \"styled-components\";\n\nimport { DialogContent, DialogDescription, DialogTitle } from \"../styles\";\n\nexport const Content = styled(DialogContent)`\n display: flex;\n flex-direction: column;\n gap: 1.8rem;\n`;\n\nexport const Title = styled(DialogTitle)`\n margin-bottom: 1.6rem;\n`;\n\nexport const Description = styled(DialogDescription)`\n p:not(:last-child) {\n margin-bottom: 1.6rem;\n }\n`;\n\nexport const GroupsWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n\n flex-grow: 1;\n overflow: auto;\n padding: 1.6rem;\n\n border-radius: 8px;\n background-color: var(--color-background-4);\n`;\n\nexport const GroupWrapper = styled.section`\n padding: 1.6rem;\n\n border-radius: 8px;\n background-color: var(--color-background-3);\n\n header {\n font: var(--font-subtitle-bold);\n\n margin-bottom: 1.6rem;\n\n > span {\n font: var(--font-body);\n }\n }\n`;\n\nexport const TagsWrapper = styled.div`\n display: flex;\n flex-wrap: wrap;\n gap: 1.2rem;\n`;\n","export const TRANSLATIONS = {\n CANCEL: \"button__cancel\",\n SUBMIT: \"button__confirm\",\n TITLE: \"dialog__tags__title\",\n DESCRIPTION: \"dialog__tags__description\",\n WARNING: \"dialog__tags__warning\",\n PROGRESS_DESCRIPTION: \"dialog__tags__progress-description\",\n GROUP_MAX: \"dialog__tags__group-max\",\n};\n","import { createContext, useContext } from \"react\";\n\ntype Context = {\n selectedTags: number[];\n onTagClick: (id: number) => void;\n};\n\nexport const TagsContext = createContext(null);\n\nexport const useTagContext = () => useContext(TagsContext)!;\n","import React, { FC } from \"react\";\n\nimport { TagType } from \"api/services/public-service\";\nimport { MAX_TAGS } from \"domains/profile/constants\";\nimport { TagCard } from \"domains/shared/components/cards/tag\";\nimport { useTagContext } from \"./context\";\n\ntype Props = {\n tag: TagType;\n isTagDisabled: boolean;\n};\n\nexport const TagComponent: FC = ({ tag, isTagDisabled }) => {\n const { onTagClick, selectedTags } = useTagContext();\n\n const isActive = selectedTags.includes(tag.id);\n const isDisabled =\n !isActive && (selectedTags.length === MAX_TAGS || isTagDisabled);\n\n const onCardClick = () => {\n onTagClick(tag.id);\n };\n\n return (\n \n );\n};\n","import React, { FC } from \"react\";\n\nimport { GroupWrapper, TagsWrapper } from \"./styles\";\n\nimport { TagType } from \"api/services/public-service\";\nimport { TagComponent } from \"./tag.component\";\nimport { useTagContext } from \"./context\";\nimport { getMaxGroupTags } from \"domains/profile/constants\";\nimport { useTranslation } from \"react-i18next\";\nimport { TRANSLATIONS } from \"./constants\";\n\ntype Props = {\n group: [number, TagType[]];\n};\n\nexport const TagsGroupComponent: FC = ({ group }) => {\n const { t } = useTranslation();\n const [id, tags] = group;\n\n const { selectedTags } = useTagContext();\n const groupTags = tags.map((tag) => tag.id);\n\n const selectedGroupTags = selectedTags.filter((selectedTag) =>\n groupTags.includes(selectedTag)\n );\n\n const groupName = tags[0].group.name;\n const maxTags = getMaxGroupTags(id);\n\n return (\n \n
    \n {groupName} {t(TRANSLATIONS.GROUP_MAX, { value: maxTags })}\n
    \n\n \n {tags.map((tag) => (\n = maxTags}\n />\n ))}\n \n
    \n );\n};\n","import styled, { css } from \"styled-components\";\nimport { LinearProgress } from \"@material-ui/core\";\n\nimport { Icon } from \"../icon\";\n\nexport const ProgressWrapper = styled.div`\n display: flex;\n gap: 1.6rem;\n align-items: center;\n`;\n\nexport const ProgressValue = styled.div`\n font: var(--font-header-large);\n`;\n\nexport const StyledProgressBar = styled(LinearProgress)`\n && {\n height: 1rem;\n width: 100%;\n\n background-color: var(--color-progress-thumb);\n border-radius: 5px;\n }\n\n .MuiLinearProgress-bar {\n border-radius: inherit;\n background-color: var(--color-progress-bar);\n }\n\n &[data-full=\"true\"] {\n .MuiLinearProgress-bar {\n background-color: var(--color-feedback-positive);\n }\n }\n`;\n\nexport const CheckedIcon = styled(Icon)<{ isFull?: boolean }>`\n font-size: 3rem;\n color: var(--color-feedback-positive);\n\n ${(props) =>\n !props.isFull\n ? css`\n visibility: hidden;\n `\n : null}\n`;\n","import React, { FC } from \"react\";\nimport { LinearProgressProps } from \"@material-ui/core/LinearProgress/LinearProgress\";\n\nimport { StyledProgressBar } from \"./styles\";\n\ntype Props = {\n isFull?: boolean;\n} & LinearProgressProps;\n\nexport const ProgressBar: FC = ({ isFull, ...props }) => (\n \n);\n","import React, { FC, useMemo } from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { ProgressWrapper, ProgressValue, CheckedIcon } from \"./styles\";\n\nimport { MAX_TAGS } from \"domains/profile/constants\";\nimport { ProgressBar } from \"./progress-bar.component\";\n\ntype Props = {\n progress?: number;\n};\n\nexport const TagsProgressComponent: FC = observer(({ progress = 0 }) => {\n const percent = useMemo(() => Math.floor((progress / MAX_TAGS) * 100), [\n progress,\n ]);\n\n const isFull = MAX_TAGS === progress;\n\n return (\n \n \n {progress}/{MAX_TAGS}\n \n\n \n\n \n \n );\n});\n","import React, { FC, FormEvent, useMemo, useState } from \"react\";\nimport Dialog from \"rc-dialog\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { CloseIcon, DialogActions, DialogCloseButton } from \"../styles\";\nimport { Content, Description, GroupsWrapper, Title } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { Button } from \"domains/shared/components/button\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport { DialogProps } from \"../types\";\nimport { useRootStore } from \"init/root-store\";\nimport { TagsGroupComponent } from \"./tags-group.component\";\nimport { addDifference } from \"domains/shared/utils/array\";\nimport { TagsContext } from \"./context\";\nimport { TagsProgressComponent } from \"domains/shared/components/progress-bar\";\nimport { MAX_TAGS } from \"domains/profile/constants\";\nimport { useFlowEventCallback } from \"analytics/hooks/useFlowEventHook\";\nimport { UPDATE_TAGS_PREF } from \"analytics/analytics-provider.constants\";\nimport { useTagsAnalytics } from \"./hooks/useTagsAnalytics\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\n\ntype Props = {\n analyticType: UPDATE_TAGS_PREF;\n} & DialogProps;\n\nexport const TagsDialog: FC = observer(({ analyticType, ...props }) => {\n const { t } = useTranslation();\n const { metadata, profile } = useRootStore();\n\n const analytics = useTagsAnalytics(\n analyticType,\n profile.data?.referral?.name\n );\n\n useFlowEventCallback(() =>\n analytics.callPageFlowEvent(profile.profilePlatforms)\n );\n\n const onClose = () => {\n analytics.callCancelFlowEvent(profile.profilePlatforms);\n props.onCancel();\n };\n\n const { data } = profile;\n\n const initialTags = useMemo(() => data?.tags.map((tag) => tag.id) ?? [], [\n data?.tags,\n ]);\n\n const [selectedTags, setSelectedTags] = useState(initialTags);\n const [fetch, isLoading] = useLoadingAction();\n\n const groups = useMemo(() => [...metadata.groupedTags], [metadata]);\n\n const onTagClick = (id: number) => {\n setSelectedTags((state) => addDifference(id, state));\n };\n\n const onSubmit = async (evt: FormEvent) => {\n evt.preventDefault();\n\n const tags = metadata.data.tags.filter((tag) =>\n selectedTags.includes(tag.id)\n );\n\n fetch(async () => {\n analytics.callTagSelectFlowEvent(tags, profile.profilePlatforms);\n\n await profile.updateTags(selectedTags);\n\n analytics.callSaveFlowEvent(profile.profilePlatforms);\n props.onSubmit();\n });\n };\n\n const isDisabled =\n initialTags.every((id) => selectedTags.includes(id)) &&\n selectedTags.length === initialTags.length;\n\n return (\n \n \n \n \n \n\n \n
    \n {t(TRANSLATIONS.TITLE)}\n\n \n

    {t(TRANSLATIONS.DESCRIPTION)}

    \n

    {t(TRANSLATIONS.WARNING)}

    \n
    \n
    \n\n \n\n \n \n {t(TRANSLATIONS.PROGRESS_DESCRIPTION, { value: MAX_TAGS })}\n \n\n {groups.map((group) => (\n \n ))}\n \n
    \n\n \n \n\n \n \n\n {isLoading && }\n
    \n \n );\n});\n","import analyticsService from \"analytics/analytics-provider.service\";\nimport {\n ANALYTICS_FLOW_ATTRIBUTES,\n UPDATE_TAGS_PREF,\n} from \"analytics/analytics-provider.constants\";\nimport { TagType } from \"api/services/public-service\";\n\nexport const useTagsAnalytics = (\n analyticType: UPDATE_TAGS_PREF,\n programName = \"\"\n) => {\n const callPageFlowEvent = (platforms: string) => {\n switch (analyticType) {\n case UPDATE_TAGS_PREF.Introduction:\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.additionalInfo,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.introduction,\n platforms,\n ANALYTICS_FLOW_ATTRIBUTES.category.display,\n ANALYTICS_FLOW_ATTRIBUTES.action.additionalInfo,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.introduction,\n programName\n );\n break;\n case UPDATE_TAGS_PREF.Settings:\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.additionalInfo,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.display,\n ANALYTICS_FLOW_ATTRIBUTES.action.additionalInfo,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n break;\n }\n };\n\n const callCancelFlowEvent = (platforms: string) => {\n switch (analyticType) {\n case UPDATE_TAGS_PREF.Introduction:\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.additionalInfo,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.introduction,\n platforms,\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.cancel,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.introduction,\n programName\n );\n break;\n case UPDATE_TAGS_PREF.Settings:\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.additionalInfo,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.cancel,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n break;\n }\n };\n\n const callSaveFlowEvent = (platforms: string) => {\n switch (analyticType) {\n case UPDATE_TAGS_PREF.Introduction:\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.additionalInfo,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.introduction,\n platforms,\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.save,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.introduction,\n programName\n );\n break;\n case UPDATE_TAGS_PREF.Settings:\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.additionalInfo,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.save,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n break;\n }\n };\n\n const callTagSelectFlowEvent = (tags: TagType[], platforms: string) => {\n switch (analyticType) {\n case UPDATE_TAGS_PREF.Introduction:\n tags.forEach((tag) => {\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.additionalInfo,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.introduction,\n platforms,\n ANALYTICS_FLOW_ATTRIBUTES.category.interaction,\n `${tag.group.name} : ${tag.name}`,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.introduction,\n programName\n );\n });\n break;\n case UPDATE_TAGS_PREF.Settings:\n tags.forEach((tag) => {\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.additionalInfo,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.contentCreatorApplication,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.interaction,\n `${tag.group.name} : ${tag.name}`,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.contentCreatorApplication\n );\n });\n break;\n }\n };\n\n return {\n callCancelFlowEvent,\n callSaveFlowEvent,\n callTagSelectFlowEvent,\n callPageFlowEvent,\n };\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Description, EmptyWrapper, EmptyIcon } from \"./styles\";\nimport { EditButton } from \"domains/shared/components\";\n\nimport { TRANSLATIONS } from \"../constants\";\n\ntype Props = {\n onEditClick: () => void;\n};\n\nexport const EmptyComponent: FC = ({ onEditClick }) => {\n const { t } = useTranslation();\n\n return (\n \n \n\n \n
    {t(TRANSLATIONS.TAGS__TITLE_EMPTY)}
    \n {t(TRANSLATIONS.ADD)}\n
    \n
    \n );\n};\n","import React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { SectionContent, SectionTitle } from \"../../styles\";\nimport { EditButton } from \"domains/shared/components\";\n\nimport { TRANSLATIONS } from \"../constants\";\nimport { TagsGroupComponent } from \"./tags-group.component\";\nimport { useRootStore } from \"init/root-store\";\nimport { TagsDialog } from \"domains/dialogs/tags/tags.dialog\";\nimport { EmptyComponent } from \"./empty.component\";\nimport {\n ANALYTICS_PAGE_ATTRIBUTES,\n UPDATE_TAGS_PREF,\n} from \"analytics/analytics-provider.constants\";\nimport analyticsService from \"analytics/analytics-provider.service\";\n\nexport const TagsSectionComponent = observer(() => {\n const { t } = useTranslation();\n const { profile, dialogs } = useRootStore();\n\n const { tagsGroups } = profile;\n const isEmpty = !tagsGroups?.size;\n\n const groups = useMemo(() => [...tagsGroups], [tagsGroups]);\n\n const onEditClick = async () => {\n try {\n await dialogs.openDialog(TagsDialog, {\n analyticType: UPDATE_TAGS_PREF.Settings,\n });\n } finally {\n analyticsService.sendPageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.dashboard,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.settings,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n }\n };\n\n return (\n
    \n \n {t(TRANSLATIONS.TAGS__TITLE)}\n\n {!isEmpty && (\n {t(TRANSLATIONS.EDIT)}\n )}\n \n\n \n {isEmpty ? (\n \n ) : (\n groups.map((group) => (\n \n ))\n )}\n \n
    \n );\n});\n","import styled from \"styled-components\";\n\nimport { DialogTitle } from \"../styles\";\nimport { InputComponent } from \"domains/shared/components/input\";\n\nexport const Title = styled(DialogTitle)`\n margin-bottom: 2.6rem;\n`;\n\nexport const Label = styled.label`\n display: inline-block;\n\n font: var(--font-caption);\n\n margin-bottom: 0.4rem;\n`;\n\nexport const DialogInput = styled(InputComponent)`\n width: 100%;\n`;\n\nexport const ControlsWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 2.4rem;\n`;\n","export const TRANSLATION = {\n SAVE: \"button__save\",\n CLOSE: \"button__close\",\n COMMUNICATION_LANG_LABEL:\n \"dialog__contact-information__communication-language-title\",\n SECONDARY_EMAIL_LABEL: \"dialog__contact-information__secondary-email-label\",\n TITLE: \"dialog__contact-information__title\",\n EMAIL_PLACEHOLDER: \"dialog__contact-information__email__placeholder\",\n};\n\nexport const DEFAULT_LANGUAGE = 0;\n","import React, { FC, FormEvent, useState } from \"react\";\nimport Dialog from \"rc-dialog\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n CloseIcon,\n DialogActions,\n DialogCloseButton,\n DialogContent,\n} from \"../styles\";\nimport { ControlsWrapper, DialogInput, Label, Title } from \"./styles\";\n\nimport { DialogProps } from \"../types\";\nimport { Button } from \"domains/shared/components/button\";\nimport { useRootStore } from \"init/root-store\";\nimport { DEFAULT_LANGUAGE, TRANSLATION } from \"./constants\";\nimport { Combobox } from \"domains/shared/components/combobox\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport { useForm } from \"domains/shared/hooks/useForm\";\nimport { EMAIL_PATTERN_VALIDATOR } from \"domains/shared/validators\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\n\nexport const ContactInfoDialog: FC = ({ onClose, ...props }) => {\n const { t } = useTranslation();\n const { metadata, profile } = useRootStore();\n const [fetch, isLoading] = useLoadingAction();\n\n const [languageId, setLanguageId] = useState(\n () => profile.data?.communicationLanguage.id ?? DEFAULT_LANGUAGE\n );\n\n const { formData, onFormDataChange, isFormValid, register } = useForm({\n secondaryEmail: profile.data?.secondaryEmail || null,\n });\n\n const { languages } = metadata.data;\n\n const onSubmit = async (evt: FormEvent) => {\n evt.preventDefault();\n\n fetch(async () => {\n await profile.updateContactInfo(\n languageId,\n formData.secondaryEmail || null\n );\n\n props.onSubmit();\n });\n };\n\n const isSubmitDisabled =\n !isFormValid ||\n (formData.secondaryEmail === profile.data?.secondaryEmail &&\n languageId === profile.data?.communicationLanguage.id);\n\n return (\n \n \n \n \n\n \n {t(TRANSLATION.TITLE)}\n\n \n
    \n onFormDataChange(evt.target)}\n placeholder={t(TRANSLATION.EMAIL_PLACEHOLDER)}\n validators={[EMAIL_PATTERN_VALIDATOR]}\n />\n
    \n\n
    \n \n\n setLanguageId(Number(value.id))}\n />\n
    \n
    \n \n\n \n \n\n \n {t(TRANSLATION.SAVE)}\n \n \n\n {isLoading && }\n
    \n );\n};\n","import { useRootStore } from \"init/root-store\";\nimport { CHANNEL_IDS } from \"api/services/public-service\";\nimport { useLinkingUtils } from \"domains/shared/hooks/useLinkingUtils\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\n\nexport const useContactChannel = (channelId: CHANNEL_IDS) => {\n const { profile } = useRootStore();\n const { openAccountLinkingModal } = useLinkingUtils();\n const [action, isLoading] = useLoadingAction();\n\n const getReference = () => {\n const { contactChannels } = profile;\n const channel = contactChannels.find((channel) => channel.id === channelId);\n\n if (!channel?.data) {\n return null;\n }\n\n return channel.data.nameOnPlatform;\n };\n\n const onUnlink = async () => {\n action(async () => {\n await profile.deleteChannel(channelId);\n });\n };\n\n const onLink = async () => {\n switch (channelId) {\n case CHANNEL_IDS.DISCORD:\n await openAccountLinkingModal(channelId);\n break;\n }\n };\n\n return {\n isLoading,\n onLink,\n onUnlink,\n reference: getReference(),\n };\n};\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { ChannelCardComponent } from \"domains/shared/components/cards/channel\";\nimport { CHANNEL_IDS } from \"api/services/public-service\";\nimport { useContactChannel } from \"domains/shared/hooks/useContactChannel\";\n\ntype Props = {\n channelId: CHANNEL_IDS;\n};\n\nexport const ChannelComponent: FC = observer(({ channelId }) => {\n const { reference, isLoading, onLink, onUnlink } = useContactChannel(\n channelId\n );\n\n return (\n \n );\n});\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n InfoHeader,\n EditCTA,\n InfoValue,\n ContactsWrapper,\n ContactChannelsList,\n} from \"./styles\";\nimport {\n SectionTitle,\n LinkText,\n SectionContent,\n} from \"domains/dashboard/styles\";\n\nimport { TRANSLATIONS } from \"../constants\";\nimport { useRootStore } from \"init/root-store\";\nimport { ContactInfoDialog } from \"domains/dialogs/contact-info/contact-info.dialog\";\nimport { ChannelComponent } from \"./channel.component\";\n\nexport const ContactComponent = observer(() => {\n const { t } = useTranslation();\n const { profile, dialogs } = useRootStore();\n\n const { contactChannels, data } = profile;\n\n const onContactInfoEdit = async () => {\n await dialogs.openDialog(ContactInfoDialog);\n };\n\n return (\n
    \n \n {t(TRANSLATIONS.CONTACT_INFO__TITLE)}\n\n \n {t(TRANSLATIONS.EDIT)}\n \n \n\n \n \n
    \n \n {t(TRANSLATIONS.PERSONAL_INFO__SECONDARY_EMAIL)}\n \n {data?.secondaryEmail ?? \"-\"}\n
    \n\n
    \n \n {t(TRANSLATIONS.PERSONAL_COMMUNICATION_LANGUAGE)}\n \n {data?.communicationLanguage.name}\n
    \n
    \n\n
    \n {t(TRANSLATIONS.CONTACT_CHANNELS_TITLE)}\n \n {contactChannels.map((channel) => (\n
  • \n \n
  • \n ))}\n
    \n
    \n
    \n
    \n );\n});\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { PageTitle } from \"../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { LeaveSection } from \"./leave-section/leave-section.component\";\nimport { GamingSection } from \"./gaming-section/gaming-section.component\";\nimport { PersonalInfoSection } from \"./communication/personal.component\";\nimport { ChannelsComponent } from \"./channels-section/channels.component\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport { ANALYTICS_PAGE_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { TagsSectionComponent } from \"./tags-section/tags-section.component\";\nimport { ContactComponent } from \"./communication/contact.component\";\n\nexport const SettingsPage = observer(() => {\n const { t } = useTranslation();\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.dashboard,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.settings,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n return (\n <>\n
    \n {t(TRANSLATIONS.PAGE__TITLE)}\n
    \n\n \n \n \n \n \n \n \n );\n});\n","import styled from \"styled-components\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const PageHeader = styled.header`\n display: flex;\n justify-content: space-between;\n gap: 3.6rem;\n\n ${BREAKPOINT.ml} {\n flex-direction: column;\n justify-content: unset;\n }\n`;\n","import { CAMPAIGN_TABS } from \"./types\";\n\nexport const TRANSLATIONS = {\n PAGE__TITLE: \"campaigns__page__title\",\n ACTIVE_SECTION__TITLE: \"campaigns__active-section__title\",\n AVAILABLE_SECTION__TITLE: \"campaigns__available-section__title\",\n WELCOME_MESSAGE__TITLE: \"campaigns__welcome-message__title\",\n WELCOME_MESSAGE__TEXT: \"campaigns__welcome-message__text\",\n HISTORY_LINK: \"campaigns__history-link\",\n};\n\nexport const TABS = [\n {\n id: CAMPAIGN_TABS.LIST,\n name: \"campaigns__list__text\",\n },\n {\n id: CAMPAIGN_TABS.AGENDA,\n name: \"campaigns__agenda__text\",\n },\n];\n","export type ScreenTypes = \"mobile\" | \"tablet\" | \"desktop\";\n\nexport type VideoType = {\n src: string;\n type: string;\n media?: string;\n};\n\nexport type AnnouncementConfig = {\n background?: {\n web: string;\n mobile: string;\n };\n videos?: VideoType[];\n videoLoops?: number;\n logo?: {\n src: string;\n alt: string;\n width: number;\n height: number;\n };\n};\n\nexport enum EVENTS {\n UF2024 = 1,\n XDEFIANT_S1 = 2,\n}\n","import styled from \"styled-components\";\n\nimport { SectionContent } from \"domains/dashboard/styles\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport { Button } from \"domains/shared/components/button\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const CloseIcon = styled(Icon).attrs(() => ({ type: \"close\" }))`\n font-size: 2.4rem;\n`;\n\nexport const CloseButton = styled(Button).attrs(() => ({ kind: \"icon\" }))`\n position: absolute;\n right: 2.5rem;\n top: 2.5rem;\n\n color: var(--color-text-primary);\n\n ${BREAKPOINT.ml} {\n right: 1.5rem;\n top: 1.5rem;\n }\n`;\n\nexport const WelcomeContent = styled(SectionContent)`\n position: relative;\n`;\n\nexport const WelcomeText = styled.div`\n font: var(--font-body);\n`;\n","import React, { FC, useEffect } from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { CloseButton, CloseIcon, WelcomeContent, WelcomeText } from \"./styles\";\nimport { SectionTitle } from \"domains/dashboard/styles\";\n\nimport { TRANSLATIONS } from \"domains/dashboard/campaigns/root/constants\";\nimport { useRootStore } from \"init/root-store\";\nimport { urls } from \"navigation/book\";\nimport { SECTION_ID } from \"navigation/types\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { InternalLink } from \"domains/shared/components\";\n\nexport const WelcomeMessageComponent: FC = observer(() => {\n const {\n profile: { data, userDetails },\n session,\n } = useRootStore();\n const { t } = useTranslation();\n\n useEffect(() => {\n session.checkWelcomeBannerState(data!.userId);\n }, [data, session]);\n\n const closeBlock = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.welcomePopup,\n ANALYTICS_CLICK_ATTRIBUTES.category.interaction,\n ANALYTICS_CLICK_ATTRIBUTES.action.closeWelcomeMessage\n );\n session.hideCampaignWelcome(data!.userId);\n };\n\n return session.isWelcomeBannerHidden ? (\n \n \n \n \n\n \n {t(TRANSLATIONS.WELCOME_MESSAGE__TITLE, {\n creatorName: data!.username,\n })}\n \n\n \n \n ),\n }}\n />\n \n \n ) : null;\n});\n","import styled from \"styled-components\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const InvitationsWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 4rem;\n\n ${BREAKPOINT.tm} {\n gap: 2.4rem;\n }\n`;\n","import styled from \"styled-components\";\n\nimport { InternalLink } from \"domains/shared/components\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const InvitationsWrapper = styled.ul`\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 2.4rem;\n\n li {\n display: contents;\n overflow: auto;\n }\n\n ${BREAKPOINT.tl} {\n grid-template-columns: 1fr;\n }\n`;\n\nexport const Header = styled.header`\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 1rem;\n\n margin-bottom: 1.6rem;\n\n ${BREAKPOINT.ml} {\n align-items: unset;\n flex-direction: column;\n }\n\n h2 {\n font: var(--font-subtitle-bold);\n color: var(--color-text-primary);\n }\n`;\n\nexport const HistoryLink = styled(InternalLink)`\n font: var(--font-body);\n`;\n","import styled, { css } from \"styled-components\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { Icon } from \"domains/shared/components/icon\";\n\nexport const DateWrapper = styled.div<{\n status?: \"active\" | \"warning\" | \"available\" | \"default\";\n}>`\n display: flex;\n align-items: center;\n gap: 0.8rem;\n\n font: var(--font-body-bold);\n\n ${BREAKPOINT.ml} {\n font: var(--font-subtitle-bold);\n }\n\n ${BREAKPOINT.mm} {\n font: var(--font-body-bold);\n }\n\n width: fit-content;\n padding: 0.4rem 0.8rem 0.4rem 0.4rem;\n\n border-radius: 12px;\n background-color: var(--color-background-4);\n\n ${(props) => {\n switch (props.status) {\n case \"active\":\n return css`\n background-color: var(--color-notification-positive);\n\n color: var(--color-feedback-positive);\n `;\n case \"warning\":\n return css`\n background-color: var(--color-notification-warning);\n\n color: var(--color-feedback-warning);\n `;\n case \"available\":\n return css`\n background-color: var(--color-notification-in-progress);\n `;\n default:\n return null;\n }\n }};\n`;\n\nexport const DateIcon = styled(Icon)`\n font-size: 2rem;\n`;\n","import styled, { css, keyframes } from \"styled-components\";\n\nconst LoadingProcess = keyframes`\n 0% {\n transform: translateX(-100%);\n }\n\n 100% {\n transform: translateX(100%);\n }\n`;\n\nexport const ImageWrapper = styled.picture<{ isLoading: boolean }>`\n position: relative;\n display: inline-block;\n\n overflow: hidden;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n background-color: #666666;\n\n ${(props) =>\n props.isLoading &&\n css`\n &::before {\n content: \"\";\n\n position: absolute;\n inset: 0;\n\n width: 100%;\n height: 100%;\n\n background-image: linear-gradient(\n to right,\n #666666 0%,\n #989898 60%,\n #666666 100%\n );\n animation: ${LoadingProcess} infinite 2s;\n animation-timing-function: linear;\n }\n `}\n`;\n","export default __webpack_public_path__ + \"static/media/transparent.1f119af2.svg\";","import React, { FC, useEffect, useRef, useState } from \"react\";\n\nimport { ImageWrapper } from \"./styles\";\n\nimport imagePlaceholder from \"assets/placeholders/swirl.svg\";\nimport transparentPlaceholder from \"assets/placeholders/transparent.svg\";\n\ntype Props = {\n placeholder?: string;\n alt: string;\n src: string;\n className?: string;\n visibleByDefault?: boolean;\n};\n\nexport const LazyImageComponent: FC = ({\n alt = \"\",\n className,\n visibleByDefault,\n src,\n placeholder = imagePlaceholder,\n // A list of source elements\n children,\n}) => {\n const imgRef = useRef(null);\n const [isLoading, setIsLoading] = useState(true);\n\n useEffect(() => {\n if (!imgRef.current || visibleByDefault) {\n return;\n }\n\n const imageObserver = new IntersectionObserver((entries, observer) => {\n entries.forEach((entry) => {\n if (!entry.isIntersecting) {\n return;\n }\n\n const imgEl = imgRef.current!;\n imgEl.src = src;\n\n observer.unobserve(imgEl);\n });\n });\n\n imageObserver.observe(imgRef.current);\n\n return () => {\n imageObserver.disconnect();\n };\n }, [src, visibleByDefault]);\n\n const onError = () => {\n if (!imgRef.current) {\n return;\n }\n\n imgRef.current.src = placeholder;\n setIsLoading(false);\n };\n\n const onLoad = () => {\n setIsLoading(false);\n };\n\n const isPlaceholderVisible = isLoading && !visibleByDefault;\n\n return (\n \n {children}\n\n \n \n );\n};\n","export const TRANSLATIONS = {\n ENDED: \"campaign__date-registration-close\",\n PENDING_DAY: \"campaign__date-pending-day\",\n PENDING_HOUR: \"campaign__date-pending-hour\",\n ALLOWED: \"campaign__date-allowed\",\n PENDING_LESS_THAN_HOUR: \"campaign__date-pending-less-than-hour\",\n TBD: \"warning__embargo-tbd-invitation\",\n AVAILABLE: \"campaign__date-available\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DateIcon, DateWrapper } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport {\n getFormattedDate,\n getLocalISODate,\n getTimeDifference,\n} from \"domains/shared/utils/dates\";\nimport { getEmbargoPendingTranslation } from \"./utils\";\nimport { INVITATION_TYPE } from \"domains/dashboard/campaigns/store/types\";\n\ntype Props = {\n sortedType: INVITATION_TYPE | null;\n showEmbargoTime: boolean;\n registrationClosingDate: string;\n embargoDate?: string;\n className?: string;\n};\n\nexport const InvitationDateComponent: FC = ({\n sortedType,\n embargoDate,\n showEmbargoTime,\n registrationClosingDate,\n className,\n}) => {\n const { t } = useTranslation();\n\n if (sortedType === INVITATION_TYPE.ENDED) {\n const localClosedDate = getLocalISODate(registrationClosingDate);\n const formattedClosedDate = getFormattedDate(registrationClosingDate);\n\n return (\n \n \n\n \n \n );\n }\n\n if (sortedType === INVITATION_TYPE.AVAILABLE) {\n return (\n \n \n\n \n \n );\n }\n\n if (embargoDate) {\n const remainingTime = getTimeDifference(embargoDate);\n const isAllowed = remainingTime <= 0 && showEmbargoTime;\n const dateTranslation = isAllowed\n ? t(TRANSLATIONS.ALLOWED)\n : getEmbargoPendingTranslation(remainingTime, showEmbargoTime);\n const localEmbargoDate = getLocalISODate(embargoDate);\n\n return (\n \n \n \n \n );\n }\n\n return (\n \n \n
    {t(TRANSLATIONS.ALLOWED)}
    \n
    \n );\n};\n","import i18n from \"i18n\";\nimport dayjs from \"dayjs\";\n\nimport { TRANSLATIONS } from \"./constants\";\n\nexport const getEmbargoPendingTranslation = (\n milliseconds: number,\n showEmbargo: boolean\n) => {\n if (!showEmbargo) {\n return i18n.t(TRANSLATIONS.TBD);\n }\n\n const duration = dayjs.duration(milliseconds, \"milliseconds\");\n\n if (duration.asHours() < 1) {\n return i18n.t(TRANSLATIONS.PENDING_LESS_THAN_HOUR);\n }\n\n const durationInDays = Math.floor(duration.asDays());\n const durationInHours = Math.floor(duration.asHours());\n\n return durationInDays >= 1\n ? i18n.t(TRANSLATIONS.PENDING_DAY, {\n days: durationInDays,\n count: durationInDays,\n })\n : i18n.t(TRANSLATIONS.PENDING_HOUR, {\n nrOfUnits: durationInHours,\n count: durationInHours,\n });\n};\n","import styled, { css } from \"styled-components\";\nimport { Link } from \"react-router-dom\";\n\nimport { DateIcon } from \"../../invitation-date/styles\";\n\nimport {\n BREAKPOINT,\n MEDIA_QUERIES,\n} from \"domains/shared/constants/media-queries.constants\";\nimport { LazyImageComponent } from \"domains/shared/components/lazy-image\";\nimport { Icon } from \"domains/shared/components/icon\";\nimport { InvitationDateComponent } from \"../../invitation-date\";\nimport { FlexContentCenteringCSS } from \"../../../../../shared/styles\";\n\nexport const InvitationContent = styled.article`\n display: flex;\n\n overflow: hidden;\n height: 100%;\n\n border-radius: 8px;\n background-color: var(--color-background-3);\n\n border: 2px solid var(--color-stroke-7);\n`;\n\nexport const PosterWrapper = styled.div`\n position: relative;\n`;\n\nexport const PosterIconWrapper = styled.div`\n ${FlexContentCenteringCSS};\n flex-direction: column;\n gap: 0.8rem;\n\n position: absolute;\n inset: 0;\n z-index: 1;\n\n background-color: rgba(0, 0, 0, 65%);\n`;\n\nexport const PosterIcon = styled(Icon)`\n font-size: 5.6rem;\n`;\n\nexport const PosterText = styled.p`\n font: var(--font-body-bold);\n`;\n\nexport const Poster = styled(LazyImageComponent)`\n flex-shrink: 0;\n width: 14.6rem;\n height: 100%;\n aspect-ratio: 0.76 / 1;\n\n &::after {\n content: \"\";\n\n position: absolute;\n inset: 0;\n\n display: none;\n }\n`;\n\nexport const DetailsWrapper = styled.div`\n display: flex;\n align-items: center;\n gap: 0.8rem;\n\n padding: 0 0.4rem;\n\n font: var(--font-body-bold);\n overflow-wrap: anywhere;\n`;\n\nexport const DataWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n\n overflow: auto;\n flex-grow: 1;\n padding: 1.6rem;\n`;\n\nexport const InnerWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 0.8rem;\n\n overflow: clip;\n`;\n\nexport const NamesWrapper = styled(InnerWrapper)`\n margin-bottom: auto;\n`;\n\nexport const GameName = styled.div`\n font: var(--font-body);\n color: var(--color-text-tertiary);\n`;\n\nexport const CampaignName = styled.h2`\n font: var(--font-subtitle-bold);\n\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n`;\n\nexport const CardIcon = styled(Icon)`\n font-size: 1.6rem;\n`;\n\nexport const PublishStatusDesktop = styled(InvitationDateComponent)`\n display: flex;\n\n ${DateIcon} {\n font-size: 1.6rem;\n }\n`;\n\nexport const PublishStatusMobile = styled(InvitationDateComponent)`\n display: none;\n`;\n\nconst CardHoverEffectCSS = css`\n ${InvitationContent} {\n background-color: var(--color-background-6);\n }\n\n ${Poster} {\n &::after {\n background-color: var(--color-background-1);\n opacity: 0.2;\n\n display: block;\n }\n }\n`;\n\nexport const InvitationLink = styled(Link)`\n display: block;\n\n overflow: auto;\n\n text-decoration: none;\n color: unset;\n\n ${MEDIA_QUERIES.isSupportHover} {\n &:hover {\n ${CardHoverEffectCSS};\n }\n }\n\n &:focus-visible {\n ${CardHoverEffectCSS};\n }\n\n &:active {\n ${InvitationContent} {\n background-color: var(--color-background-3);\n }\n\n ${Poster} {\n &::after {\n background-color: var(--color-background-2);\n opacity: 0.5;\n }\n }\n }\n\n ${BREAKPOINT.tl} {\n ${DetailsWrapper} {\n padding: 0;\n\n font: var(--font-caption-bold);\n }\n\n ${InvitationContent} {\n display: grid;\n grid-template-columns: auto 1fr;\n }\n\n ${Poster} {\n width: 12.3rem;\n }\n\n ${GameName} {\n font: var(--font-caption-bold);\n }\n\n ${PublishStatusMobile} {\n display: flex;\n justify-content: center;\n\n width: 100%;\n padding: 0.8rem 1.6rem;\n\n grid-column: 1 / span 2;\n\n border-radius: 0;\n }\n\n ${PublishStatusDesktop} {\n display: none;\n }\n\n ${CampaignName} {\n font: var(--font-body-bold);\n }\n\n ${PublishStatusMobile} {\n font: var(--font-caption-bold);\n }\n }\n\n ${BREAKPOINT.ms} {\n ${CardIcon} {\n display: none;\n }\n }\n`;\n\nexport const SkeletonContentWrapper = styled(InvitationContent)`\n min-height: 19.8rem;\n\n .image {\n flex-shrink: 0;\n width: 14.6rem;\n height: 100%;\n aspect-ratio: 0.76 / 1;\n }\n\n .active-platform {\n max-width: 8.6rem;\n height: 2.2rem;\n }\n\n .game-name {\n height: 1.6rem;\n width: 60%;\n }\n\n .invitation-name {\n height: 2rem;\n max-width: 20rem;\n }\n\n .benefit {\n height: 2rem;\n max-width: 16rem;\n }\n\n .status {\n height: 2rem;\n max-width: 22rem;\n\n border-radius: 12px;\n }\n`;\n","import { INSTALLMENTS } from \"api/services/public-service\";\nimport { getImagePath } from \"../utils/environments\";\n\ntype ImageVersions = {\n web: string;\n mobile: string;\n};\n\ntype ImagePath = {\n availableInvitationCover: ImageVersions;\n acceptedInvitationCover: ImageVersions;\n invitationPageCover: ImageVersions;\n};\n\nconst IMAGES = {\n [INSTALLMENTS.ANNO__1880]: \"Anno__1800\",\n [INSTALLMENTS.AC__MIRAGE]: \"AC__Mirage\",\n [INSTALLMENTS.AC__VALHALLA]: \"AC__Valhalla\",\n [INSTALLMENTS.AVATAR__FRONTIERS_OF_PANDORA]: \"Avatar__FOP\",\n [INSTALLMENTS.BRAWLHALLA]: \"Brawlhalla\",\n [INSTALLMENTS.FC__5]: \"FC__5\",\n [INSTALLMENTS.FC__6]: \"FC__6\",\n [INSTALLMENTS.FOR_HONOR]: \"For-Honor\",\n [INSTALLMENTS.MARIO_AND_RABBIDS__SPARKS_OF_HOPE]:\n \"Mario-and-Rabbits__Spark-of-Hopes\",\n [INSTALLMENTS.MONOPOLY__MADNESS]: \"Monopoly__Madness\",\n [INSTALLMENTS.CREW__MOTORFEST]: \"Crew__Motorfest\",\n [INSTALLMENTS.ODDBALLERS]: \"Oddballers\",\n [INSTALLMENTS.PRINCE_OF_PERSIA__LOST_CROWN]:\n \"Prince-of-Persia__The-Last-Crown\",\n [INSTALLMENTS.R6__EXTRACTION]: \"R6__Extraction\",\n [INSTALLMENTS.R6__MOBILE]: \"R6__Mobile\",\n [INSTALLMENTS.R6__SIEGE]: \"R6__Siege\",\n [INSTALLMENTS.RIDERS_REPUBLIC]: \"Riders-Republic\",\n [INSTALLMENTS.ROCKSMITH_PLUS]: \"Rocksmith+\",\n [INSTALLMENTS.ROLLER_CHAMPIONS]: \"RC\",\n [INSTALLMENTS.STAR_WARS__OUTLAWS]: \"SW__Outlaws\",\n [INSTALLMENTS.CREW__2]: \"Crew__2\",\n [INSTALLMENTS.DIVISION__RESURGENCE]: \"Division__Resurgence\",\n [INSTALLMENTS.SETTLERS__NEW_ALLIES]: \"Settlers__New-Allies\",\n [INSTALLMENTS.TRACKMANIA]: \"Trackmania\",\n [INSTALLMENTS.UBISOFT_PLUS]: \"Ubisoft+\",\n [INSTALLMENTS.UNO]: \"UNO\",\n [INSTALLMENTS.XDEFIANT]: \"XDefiant\",\n [INSTALLMENTS.AC__NEXUS]: \"AC__Nexus\",\n [INSTALLMENTS.JS__2024]: \"JS__2024\",\n [INSTALLMENTS.SKULL_AND_BONES]: \"Skull-&-Bones\",\n [INSTALLMENTS.SKULL_AND_BONES]: \"Skull-&-Bones\",\n [INSTALLMENTS.VALIANT_HEARTS]: \"Valiant-Hearts\",\n [INSTALLMENTS.PRINCE_OF_PERSIA__ROGUE]: \"Prince-of-Persia__Rogue\",\n [INSTALLMENTS.BUMP]: \"BUMP\",\n [INSTALLMENTS.AC_SHADOWS]: \"AC_Shadows\",\n};\n\nconst rootPath = getImagePath();\n\nconst getCovers = (imageName: string): ImagePath => ({\n acceptedInvitationCover: {\n web: `${rootPath}/images/installments/accepted-invitation-cover/web/${imageName}.jpg`,\n mobile: `${rootPath}/images/installments/accepted-invitation-cover/mobile/${imageName}.jpg`,\n },\n availableInvitationCover: {\n web: `${rootPath}/images/installments/available-invitation-cover/web/${imageName}.jpg`,\n mobile: `${rootPath}/images/installments/available-invitation-cover/mobile/${imageName}.jpg`,\n },\n invitationPageCover: {\n web: `${rootPath}/images/installments/invitation-page-cover/web/${imageName}.png`,\n mobile: `${rootPath}/images/installments/invitation-page-cover/mobile/${imageName}.png`,\n },\n});\n\nconst getBackground = (imageName: string) => ({\n web: `${rootPath}/images/installments/background/web/${imageName}.png`,\n mobile: `${rootPath}/images/installments/background/mobile/${imageName}.png`,\n});\n\nexport const installmentCovers = Object.entries(IMAGES).reduce(\n (acc, [key, value]) => ({\n ...acc,\n [key]: value ? getCovers(value) : null,\n }),\n {}\n) as Record;\nexport const installmentBackground = Object.entries(IMAGES).reduce(\n (acc, [key, value]) => ({\n ...acc,\n [key]: value ? getBackground(value) : null,\n }),\n {}\n) as Record;\n","export const TRANSLATIONS = {\n SUB_REWARD_REQUIREMENTS: \"sub-reward__benefit__requirements\",\n SUB_REWARDS_ENDED: \"sub-reward__benefit__ended\",\n SUB_REWARD_AVAILABLE: \"sub-reward__benefit__available\",\n SUB_REWARD_DELIVERY_DATE: \"sub-reward__benefit__delivery-date\",\n DROPS_AVAILABLE: \"drops-viewer-rewards__benefit__available\",\n DROPS_ENDED: \"drops-viewer-rewards__benefit__ended\",\n DROPS_DELIVERY_DATE: \"drops-viewer-rewards__benefit__delivery-date\",\n DROPS_DELIVERY_DATE_WAVES:\n \"drops-viewer-rewards__benefit__delivery-date-waves\",\n EVENT_INV_AVAILABLE: \"event-invitation__benefit__available\",\n PHYSICAL_GOOD_AVAILABLE: \"physical-goods__benefit__available\",\n PARTICIPATE_TO_RECEIVED: \"campaign__participate-to-received\",\n};\n","import dayjs from \"dayjs\";\nimport i18n from \"i18n\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { ACTIVATION_TYPES } from \"api/services/public-service\";\nimport { getFormattedDate } from \"domains/shared/utils/dates\";\nimport { INVITATION_TYPE } from \"domains/dashboard/campaigns/store/types\";\nimport { BENEFITS_TYPE, BenefitType } from \"api/services/public-service\";\n\nexport const getBenefitName = (benefitType: BenefitType) => {\n switch (benefitType.id) {\n case BENEFITS_TYPE.EARLY_ACCESS_REDEEM:\n case BENEFITS_TYPE.EARLY_ACCESS_PRODUCTION:\n return \"Early Access\";\n case BENEFITS_TYPE.EVENT_INVITATION:\n return \"Event Invitation\";\n default:\n return benefitType.name;\n }\n};\n\nexport const getSubRewardsText = (\n sortedType: INVITATION_TYPE,\n benefitStartDate: string\n) => {\n switch (sortedType) {\n case INVITATION_TYPE.AVAILABLE:\n return i18n.t(TRANSLATIONS.SUB_REWARD_REQUIREMENTS);\n case INVITATION_TYPE.ENDED:\n return i18n.t(TRANSLATIONS.SUB_REWARDS_ENDED);\n case INVITATION_TYPE.ACTIVE: {\n if (dayjs(benefitStartDate).isBefore(dayjs())) {\n return i18n.t(TRANSLATIONS.SUB_REWARD_AVAILABLE);\n }\n\n return i18n.t(TRANSLATIONS.SUB_REWARD_DELIVERY_DATE, {\n date: getFormattedDate(benefitStartDate),\n });\n }\n default:\n return null;\n }\n};\n\nexport const getDropViewerRewardsText = (\n sortedType: INVITATION_TYPE,\n activationType: ACTIVATION_TYPES,\n benefitStartDate: string\n) => {\n switch (sortedType) {\n case INVITATION_TYPE.ENDED:\n return i18n.t(TRANSLATIONS.DROPS_ENDED);\n case INVITATION_TYPE.ACTIVE: {\n if (dayjs(benefitStartDate).isBefore(dayjs())) {\n return i18n.t(TRANSLATIONS.DROPS_AVAILABLE);\n }\n\n if (activationType === ACTIVATION_TYPES.TWITCH_DROPS_MULTI_WAVES) {\n return i18n.t(TRANSLATIONS.DROPS_DELIVERY_DATE_WAVES, {\n date: getFormattedDate(benefitStartDate),\n });\n }\n\n return i18n.t(TRANSLATIONS.DROPS_DELIVERY_DATE, {\n date: getFormattedDate(benefitStartDate),\n });\n }\n default:\n return null;\n }\n};\n","import { generatePath } from \"react-router-dom\";\n\nimport placeholder from \"assets/placeholders/swirl.svg\";\n\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { getAnalyticsLocationDetail } from \"../utils\";\nimport { urls } from \"navigation/book\";\nimport {\n INVITATION_TYPE,\n SortedInvitation,\n} from \"domains/dashboard/campaigns/store/types\";\nimport { installmentCovers } from \"domains/shared/constants/installments-images\";\nimport { BENEFITS_TYPE, InvitationPreview } from \"api/services/public-service\";\nimport { getBenefitName } from \"../../../invitation/benefits/utils\";\nimport { IconsType } from \"domains/shared/components/icon/icon.component\";\n\nconst PLACEHOLDER_COVERS = {\n web: placeholder,\n mobile: placeholder,\n};\n\nexport const useInvitation = (\n invitation: SortedInvitation\n) => {\n const { sortedType, intallmentId, brandProgramId } = invitation;\n\n const onViewClick = () => {\n if (!sortedType) {\n return;\n }\n\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n getAnalyticsLocationDetail(sortedType),\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.view\n );\n };\n\n const {\n availableInvitationCover = PLACEHOLDER_COVERS,\n acceptedInvitationCover = PLACEHOLDER_COVERS,\n } = installmentCovers[intallmentId] || {};\n\n const benefitName = invitation.benefitDescription\n ? invitation.benefitDescription\n : getBenefitName(invitation.benefitType);\n\n const benefitIcon: IconsType =\n invitation.benefitType.id === BENEFITS_TYPE.BOOKING_EVENT\n ? \"calendarEvent\"\n : \"gift\";\n\n const link = brandProgramId\n ? generatePath(urls.programCampaign, {\n programId: brandProgramId,\n invitationId: invitation.id,\n })\n : generatePath(urls.invitation, { invitationId: invitation.id });\n const isActive = sortedType === INVITATION_TYPE.ACTIVE;\n\n return {\n isActive,\n availableInvitationCover,\n acceptedInvitationCover,\n benefitName,\n link,\n onViewClick,\n benefitIcon,\n };\n};\n","import { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { INVITATION_TYPE } from \"domains/dashboard/campaigns/store/types\";\n\nexport const getAnalyticsLocationDetail = (sortedType: INVITATION_TYPE) => {\n switch (sortedType) {\n case INVITATION_TYPE.ACTIVE:\n return ANALYTICS_CLICK_ATTRIBUTES.locationDetail.active;\n case INVITATION_TYPE.AVAILABLE:\n return ANALYTICS_CLICK_ATTRIBUTES.locationDetail.available;\n case INVITATION_TYPE.ENDED:\n return ANALYTICS_CLICK_ATTRIBUTES.locationDetail.past;\n }\n};\n","export const TRANSLATIONS = {\n TITLE: \"invitation-card__accepted__title\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n DetailsWrapper,\n CardIcon,\n CampaignName,\n DataWrapper,\n GameName,\n InvitationContent,\n Poster,\n InnerWrapper,\n InvitationLink,\n PublishStatusDesktop,\n PublishStatusMobile,\n NamesWrapper,\n PosterWrapper,\n PosterIconWrapper,\n PosterIcon,\n PosterText,\n} from \"./styles\";\n\nimport { useInvitation } from \"../hooks/useInvitation\";\nimport { SortedInvitation } from \"domains/dashboard/campaigns/store/types\";\nimport { InvitationPreview } from \"api/services/public-service\";\nimport { SCREEN_SIZE } from \"domains/shared/constants/media-queries.constants\";\nimport { TRANSLATIONS } from \"./constants\";\n\ntype Props = {\n invitation: SortedInvitation;\n withPosterText?: boolean;\n};\n\nexport const AcceptedInvitationComponent: FC = ({\n invitation,\n withPosterText = false,\n}) => {\n const {\n acceptedInvitationCover: cover,\n benefitName,\n benefitIcon,\n link,\n onViewClick,\n } = useInvitation(invitation);\n const { t } = useTranslation();\n\n const { selectedPlatform } = invitation;\n\n return (\n \n \n \n \n \n \n\n {withPosterText && (\n \n \n {t(TRANSLATIONS.TITLE)}\n \n )}\n \n\n \n \n {invitation.intallmentName}\n {invitation.publicationName}\n \n\n \n \n \n {benefitName}\n \n\n {selectedPlatform && (\n \n \n {selectedPlatform.name}\n \n )}\n\n \n \n \n\n \n \n \n );\n};\n","import React, { FC } from \"react\";\n\nimport {\n DataWrapper,\n InnerWrapper,\n NamesWrapper,\n SkeletonContentWrapper,\n} from \"./styles\";\n\nimport { SkeletonPlaceholder } from \"domains/shared/components\";\n\nexport const AcceptedInvitationSkeleton: FC = () => (\n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n \n);\n","import React, { FC } from \"react\";\n\nimport { InvitationsWrapper } from \"./styles\";\n\nimport { AcceptedInvitationSkeleton } from \"domains/dashboard/campaigns/components/invitation-types/accepted\";\n\ntype Props = {\n on?: boolean;\n};\n\nexport const InvitationListSkeleton: FC = ({ on, children }) =>\n on ? (\n \n \n \n \n ) : (\n <>{children}\n );\n","import styled from \"styled-components\";\n\nimport { EmptyText, InnerSectionContent } from \"domains/dashboard/styles\";\n\nexport const EmptyContent = styled(InnerSectionContent)`\n display: flex;\n align-items: center;\n gap: 2.4rem;\n\n background-color: var(--color-background-3);\n\n ${EmptyText};\n`;\n","import { SectionType } from \"./types\";\n\nexport const TRANSLATIONS = {\n ACTIVE_SECTION__EMPTY: \"campaigns__active-section__empty\",\n PAST_SECTION__EMPTY: \"campaigns__past-section__empty\",\n AVAILABLE_SECTION__EMPTY: \"campaigns__available-section__empty\",\n};\n\nexport const translations: Record = {\n past: TRANSLATIONS.PAST_SECTION__EMPTY,\n active: TRANSLATIONS.ACTIVE_SECTION__EMPTY,\n available: TRANSLATIONS.AVAILABLE_SECTION__EMPTY,\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SectionIcon } from \"domains/dashboard/styles\";\nimport { EmptyContent } from \"./styles\";\n\nimport { SectionType } from \"./types\";\nimport { translations } from \"./constants\";\n\ntype Props = {\n type: SectionType;\n};\n\nexport const EmptyInvitationsSection: FC = ({ type }) => {\n const { t } = useTranslation();\n\n return (\n \n \n
    {t(translations[type])}
    \n
    \n );\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Header, HistoryLink, InvitationsWrapper } from \"./styles\";\n\nimport { TRANSLATIONS } from \"../../constants\";\nimport { InvitationListSkeleton } from \"./invitation-list.skeleton\";\nimport { AcceptedInvitationComponent } from \"domains/dashboard/campaigns/components/invitation-types/accepted\";\nimport { EmptyInvitationsSection } from \"domains/dashboard/campaigns/components/empty-invitation-section\";\nimport { SortedInvitation } from \"domains/dashboard/campaigns/store/types\";\nimport { urls } from \"navigation/book\";\nimport { InvitationPreview } from \"api/services/public-service\";\n\ntype Props = {\n invitations: SortedInvitation[];\n isLoading?: boolean;\n};\n\nexport const ActiveInvitationsComponent: FC = ({\n invitations,\n isLoading,\n}) => {\n const { t } = useTranslation();\n\n return (\n
    \n
    \n

    \n {t(TRANSLATIONS.ACTIVE_SECTION__TITLE, {\n amount: invitations.length,\n })}\n

    \n\n \n {t(TRANSLATIONS.HISTORY_LINK)}\n \n
    \n\n \n {invitations.length ? (\n \n {invitations.map((invitation) => (\n
  • \n \n
  • \n ))}\n
    \n ) : (\n \n )}\n
    \n
    \n );\n};\n","import Slider from \"react-slick\";\nimport styled, { css } from \"styled-components\";\n\nimport { Icon } from \"../icon\";\n\nexport const StyledSlider = styled(Slider)`\n display: flex;\n flex-direction: column;\n\n // Unblock links inside slides\n -webkit-touch-callout: unset;\n\n gap: 1.6rem;\n\n .slick-track {\n margin: 0;\n\n &::before,\n &::after {\n display: none;\n }\n }\n\n .slick-slide {\n padding: 0.2rem 0.8rem;\n }\n\n .slick-dots {\n position: unset;\n bottom: unset;\n\n // override attr style { display: block }\n display: flex !important;\n justify-content: center;\n\n li {\n flex-basis: 10rem;\n\n width: auto;\n height: auto;\n }\n\n li.slick-active button::before,\n li button::before {\n content: unset;\n }\n\n li button {\n width: 100%;\n height: 1rem;\n padding: 0.2rem 0;\n\n background-clip: content-box;\n\n &:focus-visible {\n outline-offset: 1px;\n outline: 1px solid var(--color-stroke-3);\n }\n }\n\n li button {\n background-color: var(--color-cta-primary-disabled);\n }\n\n li button:hover {\n background-color: var(--color-text-clickable-hover);\n }\n\n li.slick-active button {\n background-color: var(--color-text-clickable);\n }\n }\n`;\n\nexport const ArrowIcon = styled(Icon).attrs(() => ({\n type: \"arrow\",\n}))<{ direction: \"next\" | \"prev\" }>`\n font-size: 2rem;\n color: var(--color-text-clickable);\n\n transform: rotate(90deg);\n\n will-change: color;\n transition: color 0.5s;\n\n ${(props) =>\n props.direction === \"next\"\n ? css`\n transform: rotate(-90deg);\n `\n : null}\n`;\n\nexport const ActionCTA = styled.button`\n width: 4.6rem;\n height: 4.6rem;\n padding: 0.8rem;\n\n border-radius: 8px;\n box-shadow: 1px 1px 0 rgb(0 0 0 / 25%),\n inset 1px 1px 0.05px rgb(255 255 255 / 20%);\n\n z-index: 1;\n top: 50%;\n transform: translateY(-100%);\n\n &:focus-visible {\n outline: 1px solid var(--color-stroke-3);\n }\n\n && {\n background: var(--color-background-4);\n }\n\n &:is(:focus-visible, :hover) ${ArrowIcon} {\n color: var(--color-text-clickable-hover);\n }\n\n &:active ${ArrowIcon} {\n color: var(--color-text-clickable-pressed);\n }\n\n &::before,\n &::after {\n content: none;\n }\n\n &.slick-disabled {\n visibility: hidden;\n }\n\n &.slick-next {\n right: -1.4rem;\n }\n\n &.slick-prev {\n left: -1.4rem;\n }\n`;\n","import React, { FC, useState, useLayoutEffect, useEffect, useRef } from \"react\";\nimport Slider, { Settings } from \"react-slick\";\nimport { useResizeDetector } from \"react-resize-detector\";\n\nimport { ActionCTA, ArrowIcon, StyledSlider } from \"./styles\";\n\nimport { useLaptopOrLess } from \"../../hooks/breakpoints\";\n\ntype Props = {\n basisSlideWidth?: number;\n activeSlide?: number;\n className?: string;\n} & Settings;\n\nconst DEFAULT_SLIDES_AMOUNT = 1;\n\nexport const SliderComponent: FC = ({\n children,\n basisSlideWidth,\n activeSlide,\n className,\n ...settings\n}) => {\n const { width, ref } = useResizeDetector();\n const sliderRef = useRef(null);\n const isLaptopOrLess = useLaptopOrLess();\n\n const [slidesToShow, setSlidesToShow] = useState(\n settings.slidesToShow ?? DEFAULT_SLIDES_AMOUNT\n );\n\n const isArrowsAvailable = (settings.arrows ?? false) && !isLaptopOrLess;\n\n const slides = useRef(null);\n\n useLayoutEffect(() => {\n if (!width || !basisSlideWidth) {\n return;\n }\n\n const slidesToShow = Math.max(\n Math.floor(width / basisSlideWidth),\n DEFAULT_SLIDES_AMOUNT\n );\n\n setSlidesToShow(slidesToShow);\n }, [basisSlideWidth, width, settings.slidesToShow]);\n\n useEffect(() => {\n slides.current = ref.current?.querySelectorAll(\".slick-slide\");\n }, [ref]);\n\n useEffect(() => {\n if (activeSlide !== undefined) {\n sliderRef.current?.slickGoTo(activeSlide);\n }\n }, [sliderRef, activeSlide]);\n\n // Fix problem with elements accessibility which are out of view\n // For FF polyfill wicg-inert\n const changeSlidesAccessibility = () => {\n slides.current?.forEach((slide) => {\n slide.classList.contains(\"slick-active\")\n ? slide.removeAttribute(\"inert\")\n : slide.setAttribute(\"inert\", String(true));\n });\n };\n\n useEffect(() => changeSlidesAccessibility(), [slidesToShow]);\n\n return (\n
    \n \n \n \n }\n prevArrow={\n \n \n \n }\n afterChange={changeSlidesAccessibility}\n dots={settings.dots ?? true}\n fade={settings.fade ?? false}\n arrows={isArrowsAvailable}\n infinite={settings.infinite ?? false}\n swipeToSlide={settings.swipeToSlide ?? true}\n variableWidth={settings.variableWidth ?? false}\n slidesToScroll={settings.slidesToScroll ?? 1}\n slidesToShow={settings.slidesToShow ?? slidesToShow}\n speed={settings.speed ?? 500}\n rows={settings.rows ?? 1}\n >\n {children}\n \n
    \n );\n};\n","import styled from \"styled-components\";\n\nimport { HideScrollbarCSS } from \"domains/shared/styles\";\nimport { SliderComponent } from \"domains/shared/components/slider\";\n\nexport const InvitationList = styled.ul`\n display: flex;\n gap: 1.6rem;\n\n overflow: auto;\n\n scroll-snap-type: x mandatory;\n\n li {\n scroll-snap-align: start;\n }\n\n ${HideScrollbarCSS};\n`;\n\nexport const InvitationSlider = styled(SliderComponent)`\n .slick-track {\n display: flex;\n }\n\n .slick-slide {\n float: unset;\n height: unset;\n\n & > div {\n display: contents;\n }\n }\n`;\n","import styled, { css } from \"styled-components\";\nimport { Link } from \"react-router-dom\";\n\nimport {\n FlexContentCenteringCSS,\n TextEllipsisCSS,\n} from \"domains/shared/styles\";\nimport { DateIcon } from \"../../invitation-date/styles\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport {\n BREAKPOINT,\n MEDIA_QUERIES,\n} from \"domains/shared/constants/media-queries.constants\";\nimport { LazyImageComponent } from \"domains/shared/components/lazy-image\";\nimport { InvitationDateComponent } from \"../../invitation-date\";\n\nexport const InvitationContent = styled.article`\n min-width: 100%;\n overflow: hidden;\n\n display: flex;\n flex-direction: column;\n\n border: 1px solid var(--color-stroke-7);\n background-color: var(--color-background-3);\n border-radius: 8px;\n`;\n\nexport const PosterIconWrapper = styled.div`\n ${FlexContentCenteringCSS};\n flex-direction: column;\n gap: 0.8rem;\n\n position: absolute;\n inset: 0;\n\n background-color: rgba(0, 0, 0, 65%);\n`;\n\nexport const PosterIcon = styled(Icon)`\n font-size: 5.6rem;\n`;\n\nexport const PosterText = styled.p`\n font: var(--font-body-bold);\n`;\n\nexport const PosterWrapper = styled.div`\n position: relative;\n\n &::after {\n content: \"\";\n\n position: absolute;\n inset: 0;\n }\n`;\n\nexport const Poster = styled(LazyImageComponent)`\n aspect-ratio: 1;\n width: 100%;\n`;\n\nexport const DataWrapper = styled.div`\n padding: 1.6rem;\n flex-grow: 1;\n\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n`;\n\nexport const InnerWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 0.8rem;\n`;\n\nexport const NamesWrapper = styled(InnerWrapper)`\n margin-bottom: auto;\n`;\n\nexport const GameName = styled.div`\n font: var(--font-caption);\n color: var(--color-text-tertiary);\n`;\n\nexport const CampaignName = styled.h2`\n font: var(--font-subtitle-bold);\n\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n\n overflow: hidden;\n`;\n\nexport const Benefit = styled.div`\n display: flex;\n align-items: center;\n gap: 0.8rem;\n\n font: var(--font-body-bold);\n overflow-wrap: anywhere;\n`;\n\nexport const Platforms = styled.ul`\n ${TextEllipsisCSS};\n font-size: 2.2rem;\n line-height: 0;\n\n &:empty {\n display: none;\n }\n\n li {\n padding: 0.4rem 0.8rem;\n\n font: var(--font-caption);\n\n display: inline-block;\n\n border-radius: 30px;\n background-color: var(--color-background-6);\n\n &:not(:last-child) {\n margin-right: 0.8rem;\n }\n }\n`;\n\nconst StatusCSS = css`\n position: absolute;\n bottom: 0;\n\n width: 100%;\n padding: 0.6rem 0.8rem;\n\n z-index: 1;\n\n font: var(--font-body);\n`;\n\nexport const RemainingTime = styled(InvitationDateComponent)`\n position: absolute;\n bottom: 0;\n\n justify-content: center;\n\n border-radius: 0;\n\n ${DateIcon} {\n font-size: 1.6rem;\n }\n\n ${StatusCSS};\n`;\n\nexport const SoldOut = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 0.8rem;\n\n color: var(--color-feedback-warning);\n\n background-color: var(--color-notification-warning);\n\n ${StatusCSS};\n`;\n\nexport const CardIcon = styled(Icon)`\n font-size: 1.6rem;\n`;\n\nexport const FakeButton = styled.div`\n width: 100%;\n padding: 0.8rem 2.4rem;\n\n border-radius: 30px;\n\n background-color: var(--color-cta-primary);\n\n text-align: center;\n font: var(--font-subtitle-bold);\n color: var(--color-text-cta-primary);\n`;\n\nconst CardHoverEffectCSS = css`\n ${FakeButton} {\n background-color: var(--color-cta-primary-hover);\n\n color: var(--color-text-cta-primary-hover);\n }\n\n ${InvitationContent} {\n background-color: var(--color-background-6);\n }\n\n ${Platforms} {\n li {\n background-color: var(--color-background-3);\n }\n }\n\n ${PosterWrapper} {\n &::after {\n background: linear-gradient(\n 180deg,\n rgba(255, 255, 255, 0.1) 20%,\n rgba(255, 255, 255, 0.2) 100%\n );\n }\n }\n`;\n\nexport const InvitationLink = styled(Link)`\n display: flex;\n\n text-decoration: none;\n color: unset;\n\n height: 100%;\n\n ${MEDIA_QUERIES.isSupportHover} {\n &:hover {\n ${CardHoverEffectCSS};\n }\n }\n\n &:focus-visible {\n ${CardHoverEffectCSS}\n }\n\n &:active {\n ${FakeButton} {\n background-color: var(--color-cta-primary-pressed);\n box-shadow: 0 0 1px 0 var(--color-cta-primary-focus-stroke);\n\n color: var(--color-text-cta-primary-pressed);\n }\n\n ${InvitationContent} {\n background-color: var(--color-background-3);\n }\n\n ${Platforms} {\n li {\n background-color: var(--color-background-6);\n }\n }\n\n ${PosterWrapper} {\n &::after {\n background: linear-gradient(\n 180deg,\n rgba(0, 0, 0, 0) 0%,\n rgba(0, 0, 0, 0.85) 90%\n );\n }\n }\n }\n\n ${BREAKPOINT.ls} {\n height: 100%;\n\n ${InvitationContent} {\n width: 23rem;\n }\n\n ${RemainingTime},\n ${SoldOut} {\n font: var(--font-caption-bold);\n }\n\n ${FakeButton} {\n display: none;\n }\n }\n`;\n\nexport const SkeletonContentWrapper = styled(InvitationContent)`\n .cover {\n aspect-ratio: 1;\n }\n\n .platforms {\n height: 2rem;\n max-width: 85%;\n }\n\n .game-name {\n height: 1.4rem;\n max-width: 50%;\n }\n\n .invitation-name {\n height: 2.4rem;\n }\n\n .benefit {\n height: 2rem;\n max-width: 60%;\n }\n\n ${BREAKPOINT.ls} {\n width: 23rem;\n }\n`;\n","export const TRANSLATIONS = {\n AVAILABLE: \"campaign__date-available\",\n ANSWER: \"button__answer\",\n SOLD_OUT: \"invitation__sold-out\",\n TITLE: \"invitation-card__available__title\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n Benefit,\n CampaignName,\n CardIcon,\n DataWrapper,\n FakeButton,\n GameName,\n InnerWrapper,\n InvitationContent,\n InvitationLink,\n NamesWrapper,\n Platforms,\n Poster,\n PosterWrapper,\n RemainingTime,\n SoldOut,\n} from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useInvitation } from \"../hooks/useInvitation\";\nimport { SortedInvitation } from \"domains/dashboard/campaigns/store/types\";\nimport { InvitationPreview } from \"api/services/public-service\";\nimport { SCREEN_SIZE } from \"domains/shared/constants/media-queries.constants\";\nimport { PosterIcon, PosterIconWrapper, PosterText } from \"../accepted/styles\";\n\ntype Props = {\n invitation: SortedInvitation;\n withPosterText?: boolean;\n};\n\nexport const AvailableInvitationComponent: FC = ({\n invitation,\n withPosterText = false,\n}) => {\n const { t } = useTranslation();\n const {\n availableInvitationCover: cover,\n benefitName,\n link,\n benefitIcon,\n onViewClick,\n } = useInvitation(invitation);\n const { platforms, canAccept } = invitation;\n\n return (\n \n \n \n \n \n \n\n {withPosterText && (\n \n \n {t(TRANSLATIONS.TITLE)}\n \n )}\n\n {canAccept ? (\n \n ) : (\n \n \n {t(TRANSLATIONS.SOLD_OUT)}\n \n )}\n \n\n \n \n \n {platforms.map((platform) => (\n
  • {platform.name}
  • \n ))}\n
    \n
    \n\n \n {invitation.intallmentName}\n {invitation.publicationName}\n \n\n \n \n \n {benefitName}\n \n \n\n {t(TRANSLATIONS.ANSWER)}\n
    \n
    \n
    \n );\n};\n","import React, { FC } from \"react\";\n\nimport { SkeletonContentWrapper, InnerWrapper, DataWrapper } from \"./styles\";\n\nimport { SkeletonPlaceholder } from \"domains/shared/components\";\n\nexport const AvailableInvitationSkeleton: FC = () => (\n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n \n);\n","import React, { FC } from \"react\";\n\nimport { InvitationList, InvitationSlider } from \"./styles\";\n\nimport { BASIS_SLIDE_WIDTH } from \"./constants\";\nimport { useLaptopOrLess } from \"domains/shared/hooks/breakpoints\";\nimport { InvitationPreview } from \"api/services/public-service\";\nimport { SortedInvitation } from \"../../store/types\";\nimport { AvailableInvitationComponent } from \"../invitation-types/available\";\n\ntype Props = {\n invitations: SortedInvitation[];\n withPosterText?: boolean;\n};\n\nexport const AvailableInvitationListComponent: FC = ({\n invitations,\n withPosterText = false,\n}) => {\n const isLaptopOrLess = useLaptopOrLess();\n\n return isLaptopOrLess ? (\n \n {invitations.map((invitation) => (\n
  • \n \n
  • \n ))}\n
    \n ) : (\n \n {invitations.map((invitation) => (\n \n ))}\n \n );\n};\n","export const BASIS_SLIDE_WIDTH = 300;\n","import React, { FC } from \"react\";\n\nimport { InvitationList, InvitationSlider } from \"./styles\";\n\nimport { BASIS_SLIDE_WIDTH } from \"./constants\";\nimport { AvailableInvitationSkeleton } from \"domains/dashboard/campaigns/components/invitation-types/available\";\nimport { useLaptopOrLess } from \"domains/shared/hooks/breakpoints\";\n\ntype Props = {\n on?: boolean;\n};\n\nexport const AvailableInvitationListSkeleton: FC = ({\n on,\n children,\n}) => {\n const isLaptopOrLess = useLaptopOrLess();\n\n if (on) {\n return isLaptopOrLess ? (\n \n {Array.from({ length: 6 }, (_, index) => (\n
  • \n \n
  • \n ))}\n
    \n ) : (\n \n \n \n \n \n );\n }\n\n return <>{children};\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SectionTitle } from \"domains/dashboard/styles\";\n\nimport { TRANSLATIONS } from \"../../constants\";\nimport { EmptyInvitationsSection } from \"domains/dashboard/campaigns/components/empty-invitation-section\";\nimport { SortedInvitation } from \"domains/dashboard/campaigns/store/types\";\nimport { InvitationPreview } from \"api/services/public-service\";\nimport {\n AvailableInvitationListComponent,\n AvailableInvitationListSkeleton,\n} from \"../../../components/available-invitation-list\";\n\ntype Props = {\n invitations?: SortedInvitation[];\n isLoading?: boolean;\n};\n\nexport const AvailableInvitationsComponent: FC = ({\n invitations = [],\n isLoading,\n}) => {\n const { t } = useTranslation();\n\n return (\n
    \n \n {t(TRANSLATIONS.AVAILABLE_SECTION__TITLE, {\n amount: invitations.length,\n })}\n \n\n \n {invitations.length ? (\n \n ) : (\n \n )}\n \n
    \n );\n};\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { InvitationsWrapper } from \"./styles\";\nimport { SectionContent } from \"domains/dashboard/styles\";\n\nimport { ActiveInvitationsComponent } from \"./active/active-invitations.component\";\nimport { AvailableInvitationsComponent } from \"./available/available-invitations.component\";\nimport { useRootStore } from \"init/root-store\";\n\nexport const CampaignsComponent: FC = observer(() => {\n const { campaigns } = useRootStore();\n\n const { sortedInvitations, isInvitationsInitialized } = campaigns;\n\n return (\n \n \n \n\n \n \n \n );\n});\n","import styled, { css } from \"styled-components\";\n\nimport { HideScrollbarCSS } from \"domains/shared/styles\";\nimport { SectionTitle } from \"domains/dashboard/styles\";\n\nimport { Button } from \"domains/shared/components/button\";\nimport { MEDIA_QUERIES } from \"domains/shared/constants/media-queries.constants\";\n\nexport const Title = styled(SectionTitle)`\n font: var(--font-header-large);\n`;\n\nexport const SliderWrapper = styled.div`\n position: relative;\n\n .slick-slide {\n padding: 0;\n }\n`;\n\nexport const TogglesWrapper = styled.div`\n position: absolute;\n inset: auto 1.6rem 2.4rem 1.6rem;\n\n @media (max-width: 625px) {\n position: unset;\n padding-top: 1rem;\n }\n\n display: flex;\n\n overflow: auto;\n`;\n\nexport const TogglesList = styled.div`\n display: flex;\n gap: 1.6rem;\n\n margin: auto;\n\n overflow: auto;\n padding: 0.1rem;\n\n @media (max-width: 625px) {\n flex-wrap: wrap;\n justify-content: center;\n }\n\n scroll-snap-type: x mandatory;\n\n ${MEDIA_QUERIES.isTouchscreen} {\n ${HideScrollbarCSS};\n }\n`;\n\nexport const SliderToggle = styled(Button)<{ isActive: boolean }>`\n font: var(--font-caption);\n color: var(--color-text-primary);\n white-space: nowrap;\n\n transition: 0.2s all;\n\n user-select: none;\n scroll-snap-align: start;\n\n @media (max-width: 591px) {\n flex-basis: 40%;\n }\n\n && {\n padding: 0.8rem 1.6rem;\n\n border-radius: 8px;\n }\n\n ${(props) =>\n props.isActive\n ? css`\n background: var(--color-background-2);\n `\n : css`\n background: var(--color-background-4);\n box-shadow: 1px 1px 0 var(--color-stroke-2),\n inset 1px 1px 0.05px var(--color-stroke-1);\n `};\n\n ${MEDIA_QUERIES.isSupportHover} {\n &:hover {\n background: var(--color-background-2);\n }\n }\n`;\n","export default __webpack_public_path__ + \"static/media/program-360x450.f8dba0fe.svg\";","export default __webpack_public_path__ + \"static/media/program-950x296.a43f5371.svg\";","import placeholder360x450 from \"assets/programs/placeholders/program-360x450.svg\";\nimport placeholder950x296 from \"assets/programs/placeholders/program-950x296.svg\";\n\nimport { PROGRAM_TYPE } from \"./types\";\nimport { getImagePath } from \"domains/shared/utils/environments\";\n\nconst PROGRAM_IMAGES: Record = {\n [PROGRAM_TYPE.R6]: \"R6.png\",\n [PROGRAM_TYPE.RC]: \"RC.png\",\n [PROGRAM_TYPE.XDefiant]: \"XDefiant.png\",\n [PROGRAM_TYPE.UF2023]: \"UF2023.png\",\n [PROGRAM_TYPE.CREW]: \"Crew.png\",\n [PROGRAM_TYPE.SKULL_AND_BONES]: \"Skull-&-Bones.png\",\n [PROGRAM_TYPE.DEFAULT]: null,\n};\n\nconst getMainImagePath = (imageName: string) => ({\n web: `${getImagePath()}/images/brand-programs/main/web/${imageName}`,\n mobile: `${getImagePath()}/images/brand-programs/main/mobile/${imageName}`,\n});\n\nexport const getMainProgramImages = (id: PROGRAM_TYPE) => {\n const imageName = PROGRAM_IMAGES[id];\n\n return imageName\n ? getMainImagePath(imageName)\n : {\n web: placeholder950x296,\n mobile: placeholder360x450,\n };\n};\n","import styled, { css } from \"styled-components\";\n\nimport { ReliefEffectCSS } from \"domains/shared/styles\";\n\nimport { PROGRAM_TYPE } from \"domains/programs/types\";\nimport { getMainProgramImages } from \"domains/programs/utils\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const ProgramCard = styled.article<{\n programId: PROGRAM_TYPE;\n}>`\n ${(props) => {\n const covers = getMainProgramImages(props.programId);\n\n return css`\n --cover: url(\"${covers.web}\");\n --cover-mobile: url(\"${covers.mobile}\");\n `;\n }}\n\n width: 100%;\n aspect-ratio: 3 / 1;\n min-height: 30rem;\n padding: 3.6rem 3.6rem 8.2rem 3.6rem;\n\n @media (max-width: 620px) {\n padding: 3.6rem 3.6rem 2.2rem 3.6rem;\n }\n\n background: var(--gradient-card) no-repeat center / cover,\n var(--cover) no-repeat center / cover;\n border-radius: 8px;\n ${ReliefEffectCSS};\n\n display: flex;\n gap: 1.6rem;\n justify-content: space-between;\n align-items: flex-end;\n\n color: var(--color-text-primary);\n\n ${BREAKPOINT.ml} {\n aspect-ratio: 1 / 1.3;\n\n align-items: unset;\n justify-content: flex-end;\n flex-direction: column;\n\n padding: 1.6rem 1.6rem 2.2rem 1.6rem;\n\n background: var(--gradient-card) no-repeat center / cover,\n var(--cover-mobile) no-repeat center / cover;\n }\n`;\n\nexport const ActionWrapper = styled.div`\n display: flex;\n\n ${BREAKPOINT.ml} {\n align-self: stretch;\n\n & > * {\n flex-grow: 1;\n }\n }\n`;\n\nexport const DetailsWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n\n align-items: baseline;\n`;\n\nexport const ProgramName = styled.h2`\n font: var(--font-header-xlarge);\n text-overflow: ellipsis;\n\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n\n overflow: hidden;\n`;\n\nexport const ProgramDescription = styled.div`\n font: var(--font-subtitle);\n text-overflow: ellipsis;\n\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n\n overflow: hidden;\n\n ${BREAKPOINT.mm} {\n font: var(--font-body);\n }\n`;\n\nexport const SpecialProgramCard = styled(ProgramCard)`\n --gradient: linear-gradient(\n to top,\n #000,\n rgba(0, 0, 0, 0.3) 45%,\n transparent\n );\n\n padding: 3.6rem;\n\n background: var(--gradient) no-repeat center / cover,\n var(--cover) no-repeat center / cover;\n box-shadow: 0 0 16px var(--color-stroke-6);\n\n ${BREAKPOINT.ml} {\n padding: 3.6rem 1.6rem;\n\n background: var(--gradient) no-repeat center / cover,\n var(--cover-mobile) no-repeat center / cover;\n }\n`;\n","export const TRANSLATIONS = {\n VIEW: \"button__view\",\n PARTNERSHIP: \"campaigns__program__partnership\",\n JOIN: \"button__join\",\n HEADER: \"campaigns__programs__header\",\n};\n","import { createContext, useContext } from \"react\";\n\nimport { useJoinProgram } from \"./hooks/useJoinProgram\";\n\nexport const JoinContext = createContext | null>(null);\n\nexport const useJoinContext = () => useContext(JoinContext)!;\n","import styled from \"styled-components\";\n\nimport { DialogTitle } from \"../../styles\";\n\nexport const Title = styled(DialogTitle)`\n margin-bottom: 1.6rem;\n`;\n","import styled from \"styled-components\";\n\nimport { DialogDescription } from \"../../../styles\";\n\nexport const DescriptionWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n`;\n\nexport const ConfidentialTextWrapper = styled(DialogDescription)`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n`;\n\nexport const ConfidentialDescriptionWrapper = styled.div`\n p:not(:last-child) {\n margin-bottom: 1rem;\n }\n`;\n","export const TRANSLATIONS = {\n TITLE: \"dialog__join-brand-program__details-title\",\n CONFIDENTIAL_TITLE: \"dialog__join-brand-program__confidential-details__title\",\n DESCRIPTION: \"dialog__join-brand-program__details-description\",\n BUTTON_CANCEL: \"button__cancel\",\n BUTTON_JOIN: \"button__join\",\n BUTTON_LEAVE: \"button__leave\",\n};\n","import styled from \"styled-components\";\nimport { FormControlLabel } from \"@material-ui/core\";\n\nexport const CheckboxWrapper = styled(FormControlLabel)`\n flex-shrink: 0;\n\n &.Mui-disabled {\n opacity: 0.5;\n }\n\n & > :not(:last-child) {\n margin-right: 0.8rem;\n }\n\n && {\n align-items: flex-start;\n\n margin: 0;\n }\n\n .MuiButtonBase-root {\n color: var(--color-text-primary);\n\n position: relative;\n transform: translateZ(0);\n\n &::after {\n content: \"\";\n\n position: absolute;\n top: 0.5rem;\n right: 0.5rem;\n bottom: 0.5rem;\n left: 0.5rem;\n\n z-index: -1;\n\n background-color: var(--color-background-1);\n }\n\n &.Mui-checked {\n color: var(--color-cta-primary);\n }\n\n &.Mui-disabled {\n color: unset;\n }\n }\n\n .MuiTypography-root.Mui-disabled {\n color: unset;\n }\n\n .MuiCheckbox-root {\n padding: 0;\n }\n\n .MuiSvgIcon-root {\n font-size: 2.4rem;\n }\n\n .MuiFormControlLabel-label {\n font: var(--font-body-bold);\n\n align-self: center;\n }\n`;\n","import React, { FC } from \"react\";\nimport { Checkbox, FormControlLabelProps } from \"@material-ui/core\";\n\nimport { CheckboxWrapper } from \"./styles\";\n\nexport const CheckboxComponent: FC> = ({\n ...props\n}) => {\n return } />;\n};\n","import React, { FC, useState } from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n DialogActions,\n DialogContent,\n DialogDescription,\n} from \"../../../styles\";\nimport { Title } from \"../styles\";\nimport {\n ConfidentialDescriptionWrapper,\n ConfidentialTextWrapper,\n DescriptionWrapper,\n} from \"./styles\";\n\nimport { Button } from \"domains/shared/components/button\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { CheckboxComponent } from \"domains/shared/components/checkbox\";\nimport { useJoinContext } from \"../context\";\nimport { getConfidentialTranslations } from \"./utils\";\n\nexport const ConfidentialDetailsComponent: FC = () => {\n const { t } = useTranslation();\n const {\n onClose,\n onSubmit,\n programName,\n programId,\n isSpecialEvent,\n } = useJoinContext();\n\n const [isAccepted, setIsAccepted] = useState(false);\n\n const onRulesAccept = () => {\n setIsAccepted((state) => !state);\n };\n\n const translations = getConfidentialTranslations(programId);\n\n return (\n <>\n \n {t(TRANSLATIONS.TITLE, { programName })}\n\n \n {!isSpecialEvent ? (\n \n {t(TRANSLATIONS.DESCRIPTION, { programName })}\n \n ) : null}\n\n \n

    {t(TRANSLATIONS.CONFIDENTIAL_TITLE)}

    \n\n \n \n \n\n
    \n \n
    \n
    \n
    \n
    \n\n \n \n\n \n \n \n );\n};\n","import { PROGRAM_TYPE } from \"domains/programs/types\";\n\nexport const isConfidentialProgram = (id: PROGRAM_TYPE) =>\n [PROGRAM_TYPE.XDefiant, PROGRAM_TYPE.UF2023].includes(id);\n\nexport const getConfidentialTranslations = (id: PROGRAM_TYPE) => {\n switch (id) {\n case PROGRAM_TYPE.UF2023:\n return {\n description:\n \"dialog__join-brand-program__confidential-details-event__description\",\n label:\n \"dialog__join-brand-program__confidential-details-event__accept-label\",\n };\n\n default:\n return {\n description:\n \"dialog__join-brand-program__confidential-details__description\",\n label: \"dialog__join-brand-program__confidential-details__accept-label\",\n };\n }\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n DialogActions,\n DialogContent,\n DialogDescription,\n} from \"../../../styles\";\nimport { Title } from \"../styles\";\n\nimport { Button } from \"domains/shared/components/button\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { useJoinContext } from \"../context\";\n\nexport const CommonDetailsComponent: FC = () => {\n const { t } = useTranslation();\n const { programName, onClose, onSubmit } = useJoinContext();\n\n return (\n <>\n \n {t(TRANSLATIONS.TITLE, { programName })}\n\n \n {t(TRANSLATIONS.DESCRIPTION, { programName })}\n \n \n\n \n \n\n \n \n \n );\n};\n","import React, { FC } from \"react\";\n\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport { useJoinContext } from \"../context\";\nimport { ConfidentialDetailsComponent } from \"./confidential-details.component\";\nimport { CommonDetailsComponent } from \"./common-details.component\";\n\nexport const DetailsComponent: FC = () => {\n const { isConfidential, isLoading } = useJoinContext();\n\n return (\n <>\n {isConfidential ? (\n \n ) : (\n \n )}\n\n {isLoading && }\n \n );\n};\n","export const TRANSLATIONS = {\n TITLE: \"dialog__join-brand-program__success-title\",\n DESCRIPTION: \"dialog__join-brand-program__success-description\",\n CLOSE: \"button__close\",\n};\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Title } from \"../styles\";\nimport {\n DialogActions,\n DialogContent,\n DialogDescription,\n} from \"../../../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { Button } from \"domains/shared/components/button\";\nimport { useJoinContext } from \"../context\";\n\nexport const SuccessComponent = () => {\n const { t } = useTranslation();\n const { programName, onClose } = useJoinContext();\n\n return (\n <>\n \n {t(TRANSLATIONS.TITLE, { programName })}\n\n {t(TRANSLATIONS.DESCRIPTION)}\n \n\n \n \n \n \n );\n};\n","import { useState } from \"react\";\nimport { useRootStore } from \"init/root-store\";\n\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { DialogActionsType } from \"domains/dialogs/types\";\nimport { BrandProgram } from \"api/services/public-service\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\nimport { isConfidentialProgram } from \"../details/utils\";\n\nexport const useJoinProgram = (brandProgram: BrandProgram) => {\n const { dialogs, profile } = useRootStore();\n const [fetch, isLoading] = useLoadingAction();\n\n const [contentType, setContentType] = useState<\"details\" | \"success\">(\n \"details\"\n );\n\n const { name: programName, id: programId, isSpecialEvent } = brandProgram;\n const isConfidential = isConfidentialProgram(programId);\n\n const onCloseAnalytics = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n programName,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.cancel\n );\n\n dialogs.closeDialog(DialogActionsType.CLOSE);\n };\n\n const onSubmit = () =>\n fetch(async () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n programName,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.confirmJoin\n );\n\n await profile.joinBrandProgram(programId);\n\n setContentType(\"success\");\n });\n\n const onSubmitAnalytics = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n programName,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.close\n );\n\n dialogs.closeDialog(DialogActionsType.SUBMIT);\n };\n\n const onClose =\n contentType === \"success\" ? onSubmitAnalytics : onCloseAnalytics;\n\n return {\n isConfidential,\n programName,\n programId,\n onClose,\n onSubmit,\n contentType,\n isLoading,\n isSpecialEvent,\n };\n};\n","import React, { FC } from \"react\";\nimport Dialog from \"rc-dialog\";\n\nimport { CloseIcon, DialogCloseButton } from \"../../styles\";\n\nimport { DialogProps } from \"../../types\";\nimport { BrandProgram } from \"api/services/public-service\";\nimport { JoinContext } from \"./context\";\nimport { DetailsComponent } from \"./details/details.component\";\nimport { SuccessComponent } from \"./success/success.component\";\nimport { useJoinProgram } from \"./hooks/useJoinProgram\";\n\ntype Props = {\n brandProgram: BrandProgram;\n} & DialogProps;\n\nexport const JoinProgramDialog: FC = ({ brandProgram, ...props }) => {\n const joinProgram = useJoinProgram(brandProgram);\n\n return (\n \n \n \n \n \n\n {joinProgram.contentType === \"details\" ? (\n \n ) : (\n \n )}\n \n \n );\n};\n","import { useMemo } from \"react\";\nimport { generatePath } from \"react-router-dom\";\n\nimport { useRootStore } from \"init/root-store\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { JoinProgramDialog } from \"domains/dialogs/brand-program/join/join-program.dialog\";\nimport { urls } from \"navigation/book\";\nimport { BrandProgram } from \"api/services/public-service\";\n\nexport const useProgram = (program: BrandProgram) => {\n const { dialogs, profile } = useRootStore();\n\n const onJoinClick = async () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n program.name,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.join\n );\n await dialogs.openDialog(JoinProgramDialog, {\n brandProgram: program,\n });\n };\n\n const isActive = useMemo(\n () =>\n profile.data?.brandPrograms.find(\n (activeProgram) => program.id === activeProgram.id\n ),\n [profile.data?.brandPrograms, program]\n );\n\n const { name: programName, id: programId } = program;\n const pageUrl = generatePath(urls.program, { programId });\n\n return {\n onJoinClick,\n programName,\n programId,\n pageUrl,\n isActive,\n };\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\nimport { Button } from \"domains/shared/components/button\";\n\nimport {\n ActionWrapper,\n DetailsWrapper,\n ProgramCard,\n ProgramName,\n} from \"./styles\";\n\nimport { CTALink } from \"domains/shared/components\";\nimport { TRANSLATIONS } from \"../constants\";\nimport { BrandProgram } from \"api/services/public-service\";\nimport { useProgram } from \"../hooks/useProgram\";\n\ntype Props = {\n program: BrandProgram;\n};\n\nexport const ProgramComponent: FC = observer(({ program }) => {\n const { t } = useTranslation();\n const { programId, programName, pageUrl, isActive, onJoinClick } = useProgram(\n program\n );\n\n return (\n \n \n \n {t(TRANSLATIONS.PARTNERSHIP, { programName })}\n \n \n\n \n {isActive ? (\n \n {t(TRANSLATIONS.VIEW)}\n \n ) : (\n \n )}\n \n \n );\n});\n","import React, { FC, useState } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n Title,\n SliderToggle,\n SliderWrapper,\n TogglesWrapper,\n TogglesList,\n} from \"./styles\";\n\nimport { ProgramComponent } from \"./program/program.component\";\nimport { useRootStore } from \"init/root-store\";\nimport { SliderComponent } from \"domains/shared/components/slider\";\nimport { TRANSLATIONS } from \"./constants\";\n\nconst SLIDES_TO_SHOW = 1;\n\nexport const ProgramsComponent: FC = observer(() => {\n const { metadata } = useRootStore();\n const { t } = useTranslation();\n\n const { classicPrograms } = metadata;\n\n const [activeSlide, setActiveSlide] = useState(0);\n\n const onToggleClick = (index: number) => () => {\n setActiveSlide(index);\n };\n\n return classicPrograms.length ? (\n
    \n \n {t(TRANSLATIONS.HEADER, { amount: classicPrograms.length })}\n \n\n \n \n {classicPrograms.map((program) => (\n \n ))}\n \n\n \n \n {classicPrograms.map((program, index) => (\n \n {program.name}\n \n ))}\n \n \n \n
    \n ) : null;\n});\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ActionWrapper,\n DetailsWrapper,\n ProgramDescription,\n ProgramName,\n SpecialProgramCard,\n} from \"./styles\";\n\nimport { TRANSLATIONS } from \"../constants\";\nimport { CTALink } from \"domains/shared/components\";\nimport { Button } from \"domains/shared/components/button\";\nimport { useProgram } from \"../hooks/useProgram\";\nimport { BrandProgram } from \"api/services/public-service\";\nimport { getEventDetails } from \"./utils\";\n\ntype Props = {\n program: BrandProgram;\n};\n\nexport const SpecialProgramComponent: FC = observer(({ program }) => {\n const { t } = useTranslation();\n\n const { programId, programName, pageUrl, isActive, onJoinClick } = useProgram(\n program\n );\n\n const eventDetails = getEventDetails(programId);\n\n return (\n \n \n {eventDetails?.logo && (\n {`${programName}\n )}\n\n {programName}\n\n {eventDetails?.description && (\n {t(eventDetails.description)}\n )}\n \n\n \n {isActive ? (\n \n {t(TRANSLATIONS.VIEW)}\n \n ) : (\n \n )}\n \n \n );\n});\n","import { PROGRAM_TYPE } from \"domains/programs/types\";\n\nexport const getEventDetails = (id: PROGRAM_TYPE) => {\n switch (id) {\n case PROGRAM_TYPE.UF2023:\n return {\n logo: null,\n description: \"campaigns__event-program__description\",\n };\n\n default:\n return null;\n }\n};\n","import styled from \"styled-components\";\n\nimport { SectionContent } from \"domains/dashboard/styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { Icon } from \"domains/shared/components/icon\";\nimport { Button } from \"domains/shared/components/button\";\n\nexport const WelcomeGiftContent = styled(SectionContent)`\n display: grid;\n grid-gap: 3.2rem 1.6rem;\n grid-template-columns: auto 1fr auto;\n align-items: center;\n\n position: relative;\n\n padding: 0 3rem 0 0;\n min-height: 16.8rem;\n overflow: hidden;\n\n ${BREAKPOINT.tm} {\n padding: 1.6rem;\n height: auto;\n\n grid-template-columns: auto 1fr;\n }\n`;\n\nexport const ContentWrapper = styled.div`\n padding: 1.6rem 0;\n\n ${BREAKPOINT.tm} {\n padding: 0;\n }\n`;\n\nexport const Poster = styled.img`\n width: 16.9rem;\n aspect-ratio: 1 / 1;\n flex-shrink: 0;\n\n object-fit: fill;\n align-self: start;\n\n ${BREAKPOINT.tm} {\n width: 10rem;\n }\n`;\n\nexport const DescriptionWrapper = styled.div`\n & > :not(:last-child) {\n margin-bottom: 0.6rem;\n }\n`;\n\nexport const Hint = styled.p`\n color: var(--color-text-tertiary);\n`;\n\nexport const Controls = styled.div`\n display: flex;\n\n ${BREAKPOINT.tm} {\n grid-column: 1 / span 2;\n }\n`;\n\nexport const ViewCTA = styled(Button)`\n flex-grow: 1;\n`;\n\nexport const CloseIcon = styled(Icon).attrs(() => ({ type: \"close\" }))`\n font-size: 2.4rem;\n`;\n\nexport const CloseButton = styled(Button).attrs(() => ({ kind: \"icon\" }))`\n position: absolute;\n right: 1.5rem;\n top: 1.5rem;\n\n color: var(--color-text-primary);\n`;\n","export default __webpack_public_path__ + \"static/media/rc-gift.a96ce86f.png\";","export const TRANSLATIONS = {\n WELCOME_GIFT__TITLE: \"campaigns__welcome-gift__title\",\n WELCOME_GIFT__TEXT: \"campaigns__welcome-gift__text\",\n WELCOME_GIFT__HINT: \"campaigns__welcome-gift__hint\",\n CLAIM__LINK: \"button__claim\",\n};\n","import Dialog from \"rc-dialog\";\nimport styled from \"styled-components\";\n\nimport { DialogContent } from \"../styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { Button } from \"domains/shared/components/button\";\nimport { LazyImageComponent } from \"domains/shared/components/lazy-image\";\n\nexport const StyledDialog = styled(Dialog)`\n .rc-dialog-body {\n padding: 0;\n }\n`;\n\nexport const StyledDialogContent = styled(DialogContent)`\n margin: 0;\n min-height: 30rem;\n\n ${BREAKPOINT.ml} {\n padding: 0;\n }\n`;\n\nexport const Poster = styled(LazyImageComponent)`\n width: 100%;\n aspect-ratio: 3.4 / 1.9;\n`;\n\nexport const ContentWrapper = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n padding: 2.4rem;\n\n ${BREAKPOINT.ml} {\n flex-direction: column;\n align-items: unset;\n }\n`;\n\nexport const DesktopButton = styled(Button)`\n min-width: fit-content;\n`;\n","export default __webpack_public_path__ + \"static/media/rc.ff2019a7.png\";","export default __webpack_public_path__ + \"static/media/rc.d316edc6.png\";","import rcMobile from \"assets/welcome-gifts/mobile/rc.png\";\nimport rcWeb from \"assets/welcome-gifts/web/rc.png\";\n\nconst RC = {\n MOBILE: rcMobile,\n WEB: rcWeb,\n};\n\nexport const TRANSLATIONS = {\n CLOSE: \"button__close\",\n};\n\nexport const WELCOME_GIFT_IMAGES = {\n RC,\n};\n","import React, { FC } from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { CloseIcon, DialogCloseButton, DialogDescription } from \"../styles\";\nimport {\n ContentWrapper,\n Poster,\n StyledDialog,\n StyledDialogContent,\n DesktopButton,\n} from \"./styles\";\nimport { DialogActions } from \"../styles\";\n\nimport { DialogProps } from \"../types\";\nimport { TRANSLATIONS, WELCOME_GIFT_IMAGES } from \"./constants\";\nimport { Button } from \"domains/shared/components/button\";\nimport { ProgramReward } from \"api/services/public-service\";\nimport { useMobileOrLess } from \"domains/shared/hooks/breakpoints\";\n\ntype Props = {\n reward: ProgramReward;\n} & DialogProps;\n\nexport const WelcomeGIftDialog: FC = ({ reward, ...props }) => {\n const { t } = useTranslation();\n const isMobileOrLess = useMobileOrLess();\n\n const imagePlaceholder = isMobileOrLess\n ? WELCOME_GIFT_IMAGES.RC.MOBILE\n : WELCOME_GIFT_IMAGES.RC.WEB;\n\n return (\n \n \n \n \n\n \n \n\n \n \n \n \n\n {!isMobileOrLess && (\n \n {t(TRANSLATIONS.CLOSE)}\n \n )}\n \n \n\n {isMobileOrLess && (\n \n \n \n )}\n \n );\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n ContentWrapper,\n Hint,\n Poster,\n WelcomeGiftContent,\n DescriptionWrapper,\n ViewCTA,\n Controls,\n} from \"./styles\";\n\nimport gift from \"assets/programs/other/rc-gift.png\";\n\nimport { SectionTitle } from \"domains/dashboard/styles\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { useBrandProgramWelcomeGift } from \"./hooks/useBrandProgramWelcomeGift\";\nimport { LoadingComponent } from \"domains/shared/components/loading\";\nimport { BrandProgram } from \"api/services/public-service\";\n\ntype Props = {\n brandProgram: BrandProgram;\n};\n\n// It works only with RC program\nexport const WelcomeGiftComponent: FC = observer(({ brandProgram }) => {\n const { t } = useTranslation();\n\n const { id, name: programName } = brandProgram;\n const { reward, claimBenefit, isLoading } = useBrandProgramWelcomeGift(id);\n\n const onClaimClick = async () => {\n if (!reward) {\n return;\n }\n\n await claimBenefit(reward);\n };\n\n return reward ? (\n \n \n\n \n \n {t(TRANSLATIONS.WELCOME_GIFT__TITLE, { programName })}\n \n\n \n

    {t(TRANSLATIONS.WELCOME_GIFT__TEXT)}

    \n {t(TRANSLATIONS.WELCOME_GIFT__HINT)}\n
    \n
    \n\n \n {isLoading ? (\n \n ) : (\n \n {t(TRANSLATIONS.CLAIM__LINK)}\n \n )}\n \n
    \n ) : null;\n});\n","import { useEffect, useState } from \"react\";\n\nimport { publicApiService } from \"api\";\nimport { BENEFIT_STATUS, ProgramReward } from \"api/services/public-service\";\nimport { useRootStore } from \"init/root-store\";\nimport { WelcomeGIftDialog } from \"domains/dialogs/welcome-gift/welcome-gift.dialog\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\n\nexport const useBrandProgramWelcomeGift = (brandProgramId: number) => {\n const { profile, dialogs } = useRootStore();\n const [reward, setReward] = useState(null);\n const [fetch, isLoading] = useLoadingAction();\n\n const onClaimReward = async (reward: ProgramReward) => {\n await fetch(async () => {\n await publicApiService.claimBrandProgramWelcomeGift(reward.id);\n });\n\n await dialogs.openDialog(WelcomeGIftDialog, { reward });\n setReward(null);\n };\n\n useEffect(() => {\n (async () => {\n const {\n data: { results: rewards },\n } = await publicApiService.getBrandProgramWelcomeGift(brandProgramId);\n\n const availableReward = rewards.find(\n (reward) => reward.benefitStatus.id !== BENEFIT_STATUS.DELIVERED\n );\n\n if (availableReward) {\n setReward(availableReward);\n }\n })();\n }, [profile, brandProgramId]);\n\n return { reward, claimBenefit: onClaimReward, isLoading };\n};\n","import styled from \"styled-components\";\n\nimport { SectionContent, SectionIcon } from \"domains/dashboard/styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const GameReleasesContent = styled(SectionContent)`\n display: flex;\n flex-direction: column;\n gap: 2.4rem;\n`;\n\nexport const Header = styled.header`\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 0.8rem 1.6rem;\n align-items: center;\n`;\n\nexport const Description = styled.div`\n grid-column: 2 / 3;\n\n font: var(--font-body);\n\n ${BREAKPOINT.ml} {\n grid-column: 1 / 3;\n }\n`;\n\nexport const Title = styled.h2`\n font: var(--font-subtitle-bold);\n color: var(--color-text-primary);\n\n grid-column: 2 / 3;\n`;\n\nexport const Icon = styled(SectionIcon)`\n grid-row: 1 / span 2;\n\n ${BREAKPOINT.ml} {\n grid-row: 1 / span 1;\n }\n`;\n","export const TRANSLATIONS = {\n GAME_RELEASES__TITLE: \"campaigns__game-releases__title\",\n GAME_RELEASES__TEXT: \"campaigns__game-releases__text\",\n};\n\nexport const BASIS_SLIDE_WIDTH = 160;\n","import styled from \"styled-components\";\n\nimport { LazyImageComponent } from \"domains/shared/components/lazy-image\";\n\nexport const ReleaseWrapper = styled.figure`\n display: flex;\n flex-direction: column;\n gap: 0.8rem;\n`;\n\nexport const GamePoster = styled(LazyImageComponent)`\n aspect-ratio: 1 / 1.3;\n border-radius: 8px;\n\n &::after {\n content: \"\";\n\n width: 100%;\n position: absolute;\n top: 0;\n bottom: 0;\n\n border-radius: 8px;\n background-image: linear-gradient(to bottom, #1b1b1b00 30%, #1b1b1b 100%);\n }\n`;\n\nexport const ReleaseTitle = styled.h3`\n font: var(--font-body-bold);\n color: var(--color-text-primary);\n\n margin-bottom: 0.4rem;\n`;\n\nexport const ReleaseDate = styled.time`\n font: var(--font-caption);\n color: var(--color-text-tertiary);\n`;\n\nexport const SkeletonWrapper = styled(ReleaseWrapper)`\n .image {\n aspect-ratio: 1 / 1.3;\n border-radius: 8px;\n }\n\n .text-line {\n max-width: 100%;\n }\n\n .text-line--1 {\n height: 1.4rem;\n\n margin-bottom: 0.4rem;\n }\n\n .text-line--2 {\n height: 1.2rem;\n width: 60%;\n }\n`;\n","export const TRANSLATIONS = {\n GAME_RELEASE__AVAILABLE_AT: \"campaigns__game-release__available\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n GamePoster,\n ReleaseDate,\n ReleaseTitle,\n ReleaseWrapper,\n} from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport {\n DAY_MONTH_YEAR_FORMAT,\n getFormattedDate,\n getLocalISODate,\n} from \"domains/shared/utils/dates\";\nimport { GameRelease } from \"api/services/public-service\";\n\ntype Props = {\n gameRelease: GameRelease;\n};\n\nexport const ReleaseComponent: FC = ({ gameRelease }) => {\n const { t } = useTranslation();\n\n const releaseDate = getFormattedDate(\n gameRelease.releaseDate,\n DAY_MONTH_YEAR_FORMAT\n );\n const localDate = getLocalISODate(gameRelease.releaseDate);\n\n return (\n \n \n\n
    \n {gameRelease.name}\n\n \n {t(TRANSLATIONS.GAME_RELEASE__AVAILABLE_AT, {\n releaseDate,\n })}\n \n
    \n
    \n );\n};\n","import React from \"react\";\n\nimport { SkeletonWrapper } from \"./styles\";\n\nimport { SkeletonPlaceholder } from \"domains/shared/components\";\n\nexport const ReleaseSkeleton = () => (\n \n \n\n
    \n \n \n
    \n
    \n);\n","import React, { FC } from \"react\";\n\nimport { SliderComponent } from \"domains/shared/components/slider\";\nimport { BASIS_SLIDE_WIDTH } from \"./constants\";\nimport { ReleaseSkeleton } from \"./release/release.skeleton\";\n\ntype Props = {\n on?: boolean;\n};\n\nexport const ReleaseListSkeleton: FC = ({ on, children }) =>\n on ? (\n \n {Array.from({ length: 5 }, (_, index) => (\n \n ))}\n \n ) : (\n <>{children}\n );\n","import React, { FC } from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n GameReleasesContent,\n Header,\n Title,\n Description,\n Icon,\n} from \"./styles\";\n\nimport { InternalLink } from \"domains/shared/components\";\nimport { BASIS_SLIDE_WIDTH, TRANSLATIONS } from \"./constants\";\nimport { urls } from \"navigation/book\";\nimport { SECTION_ID } from \"navigation/types\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { ReleaseComponent } from \"./release/release.component\";\nimport { SliderComponent } from \"domains/shared/components/slider\";\nimport { ReleaseListSkeleton } from \"./release-list.skeleton\";\nimport { useRootStore } from \"init/root-store\";\n\nexport const GameReleases: FC = observer(() => {\n const { campaigns } = useRootStore();\n const { t } = useTranslation();\n\n const { isGameReleasesInitialized, gameReleases } = campaigns;\n\n const onSettingsLinkClick = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.newGameIncoming,\n ANALYTICS_CLICK_ATTRIBUTES.category.interaction,\n ANALYTICS_CLICK_ATTRIBUTES.action.gamePreference\n );\n };\n\n return (\n \n
    \n \n {t(TRANSLATIONS.GAME_RELEASES__TITLE)}\n\n \n \n ),\n }}\n />\n \n
    \n\n \n {gameReleases?.length ? (\n \n {gameReleases.map((game, index) => (\n \n ))}\n \n ) : null}\n \n
    \n );\n});\n","export default __webpack_public_path__ + \"static/media/mobile.ffa958b1.webm\";","export default __webpack_public_path__ + \"static/media/tablet.e611f153.webm\";","export default __webpack_public_path__ + \"static/media/desktop.a7534dc3.webm\";","export default __webpack_public_path__ + \"static/media/uf2024.4728f795.svg\";","export default __webpack_public_path__ + \"static/media/mobile.2404b134.webm\";","export default __webpack_public_path__ + \"static/media/tablet.376b107b.webm\";","export default __webpack_public_path__ + \"static/media/desktop.af2a800d.webm\";","export default __webpack_public_path__ + \"static/media/xdefiant-s1.812c953c.svg\";","export default __webpack_public_path__ + \"static/media/sw.641fbb38.svg\";","export default __webpack_public_path__ + \"static/media/AC_Shadows.b589ad78.svg\";","import { SCREEN_SIZE } from \"domains/shared/constants/media-queries.constants\";\nimport { BG_IMAGES } from \"domains/shared/constants/main-backgrounds\";\n\nimport skVideoMobile from \"assets/announcement/videos/skull-&-bones/mobile.webm\";\nimport skVideoTablet from \"assets/announcement/videos/skull-&-bones/tablet.webm\";\nimport skVideoDesktop from \"assets/announcement/videos/skull-&-bones/desktop.webm\";\n\nimport uf2024Logo from \"assets/announcement/logos/uf2024.svg\";\n\nimport xdVideoMobile from \"assets/announcement/videos/xdefiant-s1/mobile.webm\";\nimport xdVideoTablet from \"assets/announcement/videos/xdefiant-s1/tablet.webm\";\nimport xdVideoDesktop from \"assets/announcement/videos/xdefiant-s1/desktop.webm\";\nimport xdLogo from \"assets/announcement/logos/xdefiant-s1.svg\";\n\nimport swLogo from \"assets/announcement/logos/sw.svg\";\nimport AC_Logo from \"assets/announcement/logos/AC_Shadows.svg\";\n\nimport { GAMES } from \"api/services/public-service\";\nimport { AnnouncementConfig, EVENTS } from \"./types\";\n\nexport const MOBILE_MEDIA = `screen and (max-width: ${SCREEN_SIZE.tm})`;\nexport const TABLET_MEDIA = `screen and (max-width: ${SCREEN_SIZE.lm})`;\n\nconst SW_CONFIG: AnnouncementConfig = {\n logo: {\n src: swLogo,\n alt: \"Star Wars - Outlaws\",\n width: 400,\n height: 124,\n },\n};\n\nconst AC_CONFIG: AnnouncementConfig = {\n logo: {\n src: AC_Logo,\n alt: \"Assassin's Creed - Shadows\",\n width: 400,\n height: 124,\n },\n};\n\nconst SB_CONFIG: AnnouncementConfig = {\n background: {\n web: BG_IMAGES.skullAndBones.web,\n mobile: BG_IMAGES.skullAndBones.mobile,\n },\n videoLoops: 5,\n videos: [\n {\n src: skVideoMobile,\n type: \"video/webm\",\n media: MOBILE_MEDIA,\n },\n {\n src: skVideoTablet,\n type: \"video/webm\",\n media: TABLET_MEDIA,\n },\n {\n src: skVideoDesktop,\n type: \"video/webm\",\n },\n ],\n};\n\nconst UF2024_CONFIG: AnnouncementConfig = {\n logo: {\n src: uf2024Logo,\n alt: \"Event Ubisoft Forward 2024\",\n width: 430,\n height: 203,\n },\n};\nconst XD_S1_CONFIG: AnnouncementConfig = {\n videoLoops: Infinity,\n videos: [\n {\n src: xdVideoMobile,\n type: \"video/webm\",\n media: MOBILE_MEDIA,\n },\n {\n src: xdVideoTablet,\n type: \"video/webm\",\n media: TABLET_MEDIA,\n },\n {\n src: xdVideoDesktop,\n type: \"video/webm\",\n },\n ],\n logo: {\n src: xdLogo,\n alt: \"XDefiant Season 1\",\n width: 592,\n height: 68,\n },\n};\n\nexport const GAMES_CONFIG: Record = {\n [GAMES.SKULL_AND_BONES]: SB_CONFIG,\n [GAMES.SW]: SW_CONFIG,\n [GAMES.AC]: AC_CONFIG,\n};\nexport const EVENTS_CONFIG: Record = {\n [EVENTS.UF2024]: UF2024_CONFIG,\n [EVENTS.XDEFIANT_S1]: XD_S1_CONFIG,\n};\n","export enum BLOCKED_COUNTRIES {\n BELARUS = 33,\n CHINA = 43,\n IRAQ = 101,\n RUSSIA = 173,\n}\n","import styled, { createGlobalStyle, css } from \"styled-components\";\n\nimport {\n FixedNavigationHeight,\n PageBackground,\n} from \"domains/shared/layout/styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const AnnouncementSection = styled.section`\n --extra-gap: 5rem;\n\n position: sticky;\n top: calc(${FixedNavigationHeight} + var(--extra-gap));\n z-index: -1;\n\n padding-top: 0;\n\n ${BREAKPOINT.ls} {\n --extra-gap: 3.6rem;\n }\n\n ${BREAKPOINT.ml} {\n --extra-gap: 1.6rem;\n }\n\n && {\n margin-bottom: 0;\n }\n`;\n\nexport const LogoWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n\n align-items: center;\n justify-content: center;\n\n ${BREAKPOINT.tm} {\n img {\n max-width: 34rem;\n }\n }\n`;\n\nexport const VideoOverlap = styled.div`\n position: fixed;\n top: ${FixedNavigationHeight};\n left: 0;\n\n height: 100vh;\n width: 100vw;\n\n z-index: -1;\n\n background: var(--color-background-2);\n`;\n\nexport const VideoWrapper = styled.div`\n position: relative;\n\n &::after {\n content: \"\";\n\n position: absolute;\n inset: 0;\n\n background: linear-gradient(to top, #000 15%, transparent);\n }\n`;\n\nexport const Video = styled.video`\n width: 100%;\n\n pointer-events: none;\n`;\n\nexport const GameLogo = styled.img`\n mix-blend-mode: difference;\n\n height: auto;\n margin: auto;\n`;\n\nexport const GlobalStylesOverwrite = createGlobalStyle<{\n background?: {\n web: string;\n mobile: string;\n };\n}>`\n ${({ background }) =>\n background &&\n css`\n ${PageBackground} {\n --background: url(\"${background.web}\");\n --background-mobile: url(\"${background.mobile}\");\n }\n `}\n \n \n`;\n","import React, { FC, useLayoutEffect, useRef, useState } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useResizeDetector } from \"react-resize-detector\";\n\nimport {\n AnnouncementSection,\n GameLogo,\n GlobalStylesOverwrite,\n Video,\n VideoOverlap,\n VideoWrapper,\n LogoWrapper,\n} from \"./styles\";\n\nimport { getScreenType } from \"./utils\";\nimport { AnnouncementConfig, ScreenTypes } from \"./types\";\n\ntype Props = {\n config: AnnouncementConfig;\n};\n\nexport const NewEventComponent: FC = observer(({ config }) => {\n const { background, logo, videos } = config;\n\n const videoRef = useRef(null);\n const videoLoopsCount = useRef(0);\n\n const [isVideoActive, setIsVideoActive] = useState(!!config.videos);\n const [screenType, setScreenType] = useState();\n\n const { width, ref } = useResizeDetector({\n refreshMode: \"debounce\",\n refreshRate: 1000,\n handleHeight: false,\n skipOnMount: true,\n });\n\n const onVideoEnded = async () => {\n if (videoLoopsCount.current === config.videoLoops) {\n setIsVideoActive(false);\n return;\n }\n\n videoLoopsCount.current++;\n await videoRef.current?.play();\n };\n\n useLayoutEffect(() => {\n if (!isVideoActive) {\n return;\n }\n\n setScreenType(getScreenType());\n }, [width, isVideoActive]);\n\n return (\n \n \n\n {isVideoActive && videos && (\n \n \n \n {videos.map((settings, index) => (\n \n ))}\n \n \n \n )}\n\n {logo && (\n \n \n \n )}\n \n );\n});\n","import { GAMES } from \"api/services/public-service\";\n\nimport {\n MOBILE_MEDIA,\n GAMES_CONFIG,\n TABLET_MEDIA,\n EVENTS_CONFIG,\n} from \"./constants\";\nimport { AnnouncementConfig, EVENTS, ScreenTypes } from \"./types\";\n\nexport const getGameConfig = (gameId: GAMES): AnnouncementConfig | null =>\n GAMES_CONFIG[gameId] ?? null;\n\nexport const getEventConfig = (eventId: EVENTS): AnnouncementConfig | null =>\n EVENTS_CONFIG[eventId] ?? null;\n\nexport const getScreenType = (): ScreenTypes => {\n if (matchMedia(MOBILE_MEDIA).matches) {\n return \"mobile\";\n }\n\n if (matchMedia(TABLET_MEDIA).matches) {\n return \"tablet\";\n }\n\n return \"desktop\";\n};\n","import React, { FC } from \"react\";\n\nimport { GAMES } from \"api/services/public-service\";\nimport { EVENTS } from \"./types\";\nimport { getEventConfig, getGameConfig } from \"./utils\";\nimport { NewEventComponent } from \"./new-event.component\";\n\ntype Props = {\n gameId?: GAMES;\n eventId?: EVENTS;\n};\n\nexport const AnnouncementComponent: FC = ({ gameId, eventId }) => {\n if (gameId) {\n const config = getGameConfig(gameId);\n\n return config ? : null;\n }\n\n if (eventId) {\n const config = getEventConfig(eventId);\n\n return config ? : null;\n }\n\n return null;\n};\n","import React, { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { PageTitle } from \"../../styles\";\nimport { PageHeader } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport { ANALYTICS_PAGE_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { WelcomeMessageComponent } from \"domains/dashboard/campaigns/root/welcome-message/welcome-message.component\";\nimport { CampaignsComponent } from \"./campaigns/campaigns.component\";\nimport { ProgramsComponent, SpecialProgramComponent } from \"./programs\";\nimport { WelcomeGiftComponent } from \"./welcome-gift/welcome-gift.component\";\nimport { useRootStore } from \"init/root-store\";\nimport { GameReleases } from \"../game-releases\";\nimport { AnnouncementComponent } from \"domains/dashboard/campaigns/announcement\";\nimport { GAMES } from \"api/services/public-service\";\n\nexport const CampaignsPage = observer(() => {\n const { t } = useTranslation();\n const { profile, metadata, campaigns } = useRootStore();\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.dashboard,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.activations,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n useEffect(() => {\n campaigns.fetchGameRelease();\n campaigns.fetchInvitations();\n }, [campaigns]);\n\n return (\n <>\n \n\n \n {t(TRANSLATIONS.PAGE__TITLE)}\n \n\n \n {profile.rcProgram && (\n \n )}\n {metadata.specialProgram && (\n \n )}\n \n \n \n \n );\n});\n","import styled, { createGlobalStyle, css } from \"styled-components\";\n\nimport { BackgroundGlassCSS, ReliefEffectCSS } from \"domains/shared/styles\";\nimport { InnerSectionContent } from \"../../styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { PageBackground } from \"domains/shared/layout/styles\";\n\nexport const PageBackgroundStyles = createGlobalStyle<{\n background?: {\n web: string;\n mobile: string;\n } | null;\n}>`\n ${({ background }) =>\n background &&\n css`\n ${PageBackground} {\n --background: url(${background.web});\n --background-mobile: url(${background.mobile});\n `}\n`;\n\nexport const InvitationContent = styled(InnerSectionContent)`\n ${BREAKPOINT.ml} {\n ${ReliefEffectCSS};\n }\n`;\n\nexport const DataName = styled.div`\n font: var(--font-subtitle-bold);\n color: var(--color-text-primary);\n word-break: keep-all;\n\n ${BREAKPOINT.ml} {\n text-align: center;\n }\n`;\n\nexport const CampaignWrapper = styled.div`\n background: var(--color-background-glass-1);\n ${BackgroundGlassCSS};\n ${ReliefEffectCSS};\n border-radius: 5px;\n\n position: relative;\n\n padding: 4rem;\n\n ${BREAKPOINT.ls} {\n padding: 2.4rem;\n }\n\n ${BREAKPOINT.ml} {\n padding: 0;\n\n background: none;\n box-shadow: none;\n }\n`;\n\nexport const SectionsWrapper = styled.div`\n & > :not(:last-child) {\n margin-bottom: 4.8rem;\n\n ${BREAKPOINT.ml} {\n margin-bottom: 3.6rem;\n }\n }\n`;\n","export const TRANSLATIONS = {\n BACK_TO_CAMPAIGNS: \"campaign__back-to-campaigns\",\n BACK_TO_PROGRAM: \"campaign__back-to-program\",\n RESOURCES_ACCESS: \"campaign__resources__need-access\",\n RESOURCES_DATE: \"campaign__resources__available-date\",\n NOT_AVAILABLE: \"campaign__not-available__description\",\n};\n\nexport const MIN_PLATFORM_AMOUNT = 1;\n","import { makeAutoObservable } from \"mobx\";\nimport dayjs from \"dayjs\";\n\nimport {\n AcceptInvitationData,\n ACTIVATION_TYPES,\n Benefit,\n ConditionalReward,\n ExtraReward,\n Invitation,\n INVITATION_STATUS,\n InvitationBenefits,\n publicApiService,\n PUBLICATION_STATUS,\n REWARD_TYPE,\n} from \"api/services/public-service\";\nimport {\n FULL_DATE_FORMAT,\n getFormattedDate,\n getTimeDifference,\n} from \"domains/shared/utils/dates\";\nimport { INVITATION_TYPE } from \"domains/dashboard/campaigns/store/types\";\nimport { getInvitationType } from \"domains/dashboard/campaigns/store/utils\";\nimport {\n installmentBackground,\n installmentCovers,\n} from \"domains/shared/constants/installments-images\";\n\nexport class InvitationStore {\n public isContentAvailable = true;\n\n public benefits: InvitationBenefits | null = null;\n public invitation: Invitation | null = null;\n\n public constructor(public id: number) {\n makeAutoObservable(this, {}, { autoBind: true });\n }\n\n public get benefit(): Benefit | null {\n return this.benefits?.benefit ?? null;\n }\n\n public get extraRewards(): ExtraReward[] {\n return (this.benefits?.rewards.filter(\n (reward) => reward.rewardType.id === REWARD_TYPE.EXTRA\n ) ?? []) as ExtraReward[];\n }\n\n public get reward(): ConditionalReward | null {\n return (\n (this.benefits?.rewards.find(\n (reward) => reward.rewardType.id === REWARD_TYPE.CONDITIONAL\n ) as ConditionalReward) ?? null\n );\n }\n\n public get formattedAvailableDate() {\n if (this.invitation?.earlyAccessEndDate) {\n return getFormattedDate(\n this.invitation?.earlyAccessEndDate,\n FULL_DATE_FORMAT\n );\n }\n\n return null;\n }\n\n public get isEmbargoDatePassed() {\n return this.invitation?.embargoDate\n ? dayjs.utc().isAfter(this.invitation.embargoDate)\n : true;\n }\n\n public get isSoldOut() {\n return (\n !this.invitation?.canAccept &&\n this.invitationType === INVITATION_TYPE.AVAILABLE\n );\n }\n\n public get isEarlyAccessEnd() {\n return (\n this.invitation?.activationType.id === ACTIVATION_TYPES.EARLY_ACCESS &&\n !!this.invitation?.earlyAccessEndDate &&\n dayjs.utc().isAfter(this.invitation?.earlyAccessEndDate)\n );\n }\n\n public get isLimitedWarningAvailable() {\n return (\n this.invitationType === INVITATION_TYPE.AVAILABLE &&\n this.invitation?.isLimited &&\n !this.isSoldOut\n );\n }\n\n public get images() {\n if (!this.invitation) {\n return {\n cover: null,\n background: null,\n };\n }\n\n const cover =\n installmentCovers[this.invitation.intallmentId]?.invitationPageCover ??\n null;\n const background =\n installmentBackground[this.invitation.intallmentId] ?? null;\n\n return {\n cover,\n background,\n };\n }\n\n public get isAccepted() {\n return (\n this.invitation?.status?.id === INVITATION_STATUS.ACCEPTED &&\n this.invitation.publicationStatus.id !== PUBLICATION_STATUS.CANCELLED\n );\n }\n\n public get isDeclineAvailable() {\n return (\n this.invitationType !== INVITATION_TYPE.ENDED &&\n this.invitation &&\n getTimeDifference(this.invitation.registrationClosingDate) > 0\n );\n }\n\n public get isAssetsAvailableDatePassed() {\n return this.invitation?.assetsAvailabilityDate\n ? dayjs.utc().isAfter(this.invitation.assetsAvailabilityDate)\n : true;\n }\n\n public get isAssetsAvailable() {\n return (\n this.isAccepted &&\n this.invitation?.hasAssets &&\n this.isAssetsAvailableDatePassed\n );\n }\n\n public get invitationType() {\n return this.invitation ? getInvitationType(this.invitation) : null;\n }\n\n public *init(): unknown {\n try {\n const [invitation, benefits] = yield Promise.all([\n publicApiService.fetchInvitationById(this.id),\n publicApiService.fetchBenefits(this.id),\n ]);\n\n this.invitation = invitation.data;\n this.benefits = benefits.data;\n } catch {\n this.isContentAvailable = false;\n }\n }\n\n public *decline() {\n ({ data: this.invitation } = yield publicApiService.declineInvitation(\n this.id\n ));\n }\n\n public *accept(data: AcceptInvitationData): unknown {\n yield publicApiService.acceptInvitation(this.id, data);\n yield this.init();\n }\n\n // TypeGuard\n public isDataInitialized(): this is InvitationStore & {\n invitation: Invitation;\n benefit: Benefit;\n } {\n return this.invitation !== null && this.benefit !== null;\n }\n}\n","import { createContext, useContext } from \"react\";\n\nimport { InvitationStore } from \"./invitation.store\";\nimport { Benefit, Invitation } from \"api/services/public-service\";\n\ntype Context = InvitationStore & {\n invitation: Invitation;\n benefit: Benefit;\n};\n\nexport const InvitationContext = createContext(null);\n\nexport const useInvitationContext = () => useContext(InvitationContext)!;\n","import styled, { css } from \"styled-components\";\n\nimport { ReliefEffectCSS } from \"domains/shared/styles\";\n\nimport { Button } from \"domains/shared/components/button\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { LazyImageComponent } from \"domains/shared/components/lazy-image\";\nimport { Icon } from \"domains/shared/components/icon\";\n\nexport const ContentWrapper = styled.section<{ url: string }>`\n color: var(--color-text-primary);\n\n margin-bottom: 6.4rem;\n\n display: grid;\n grid-gap: 2.4rem 3.2rem;\n grid-template-columns: auto 1fr;\n\n ${BREAKPOINT.ml} {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n\n grid-gap: 2.4rem;\n margin-bottom: 3.6rem;\n\n padding: 1.6rem;\n aspect-ratio: 1 / 1.3;\n\n border-radius: 5px;\n ${ReliefEffectCSS};\n\n ${(props) =>\n css`\n background: var(--gradient-card),\n url(${props.url}) 0 0 / cover no-repeat;\n `}\n }\n`;\n\nexport const Poster = styled(LazyImageComponent)`\n width: 13.2rem;\n height: 17.2rem;\n flex-shrink: 0;\n\n object-fit: cover;\n\n border-radius: 10px;\n\n grid-column: 1 / 2;\n grid-row: 1 / 3;\n\n ${BREAKPOINT.ml} {\n display: none;\n }\n`;\n\nexport const Description = styled.div`\n & > :not(:last-child) {\n margin-bottom: 0.8rem;\n }\n`;\n\nexport const GameName = styled.h3`\n font: var(--font-subtitle-bold);\n\n ${BREAKPOINT.ml} {\n font: var(--font-subtitle);\n }\n`;\n\nexport const CampaignName = styled.h1`\n font: var(--font-header-large);\n\n ${BREAKPOINT.ml} {\n font: var(--font-title-bold);\n }\n`;\n\nexport const ActionsWrapper = styled.div`\n display: flex;\n gap: 1.6rem;\n flex-wrap: wrap;\n align-items: flex-end;\n\n &:empty {\n display: none;\n }\n\n ${BREAKPOINT.ml} {\n align-items: unset;\n flex-direction: column;\n }\n`;\n\nexport const ActionCTA = styled(Button)`\n ${BREAKPOINT.ml} {\n width: 100%;\n }\n`;\n\nexport const WarningWrapper = styled.div`\n display: flex;\n align-items: center;\n gap: 0.8rem;\n\n color: var(--color-feedback-warning);\n font: var(--font-subtitle-bold);\n`;\n\nexport const WarningIcon = styled(Icon)`\n font-size: 2rem;\n`;\n","export const TRANSLATIONS = {\n PARTICIPATE: \"campaign__participate\",\n GAME_KEY_PARTICIPATE_DISABLED: \"campaign__key-benefit-participate-disabled\",\n DECLINE: \"button__decline\",\n CAMPAIGN_REWARDS_NOT_AVAILABLE: \"campaign__rewards-not-available\",\n SOLD_OUT: \"label__sold-out\",\n LIMITED_MESSAGE: \"campaign__limited-message\",\n};\n","import { createContext, useContext } from \"react\";\n\nimport { ParticipationStore } from \"../stores/participation.store\";\n\ntype Context = {\n onNextStepClick: () => void;\n onPreviousStepClick: () => void;\n store: ParticipationStore;\n};\n\nexport const ParticipateContext = createContext(null);\n\nexport const useParticipationContext = () => useContext(ParticipateContext)!;\n","import { ANALYTICS_FLOW_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport analyticsService from \"analytics/analytics-provider.service\";\n\nexport const useParticipationAnalytics = () => {\n const callInformationBackFlowEvent = () => {\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.yourInformation,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.activations,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.back,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.activations\n );\n };\n\n const callInformationContinueFlowEvent = (platformName = \"\") => {\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.yourInformation,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.activations,\n platformName,\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.continue,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.activations\n );\n };\n\n const callInformationPlatformSelectFlowEvent = (platformName = \"\") => {\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.yourInformation,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.activations,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.interaction,\n ANALYTICS_FLOW_ATTRIBUTES.action.participatePlatformSelect + platformName,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.activations\n );\n };\n\n const callInformationDisplayFlowEvent = () => {\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.yourInformation,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.activations,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.display,\n ANALYTICS_FLOW_ATTRIBUTES.action.yourInformation,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.activations\n );\n };\n\n const callParticipateSuccessDisplayFlowEvent = (platform = \"\") => {\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.participateConfirmed,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.activations,\n platform,\n ANALYTICS_FLOW_ATTRIBUTES.category.display,\n ANALYTICS_FLOW_ATTRIBUTES.action.participationSuccessful,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.activations\n );\n };\n\n const callParticipateKeyErrorDisplayFlowEvent = (platform = \"\") => {\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.participateKeysError,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.activations,\n platform,\n ANALYTICS_FLOW_ATTRIBUTES.category.display,\n ANALYTICS_FLOW_ATTRIBUTES.action.participationError,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.activations\n );\n };\n\n const callParticipateCloseFlowEvent = () => {\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.campaignParticipate,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.activations,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.close,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.activations\n );\n };\n\n const callEmbargoDateBackFlowEvent = () => {\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.activationEmbargo,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.activations,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.back,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.activations\n );\n };\n\n const callEmbargoDateContinueFlowEvent = () => {\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.activationEmbargo,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.activations,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.agree,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.activations\n );\n };\n\n const callEmbargoDisplayFlowEvent = () => {\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.activationEmbargo,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.activations,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.display,\n ANALYTICS_FLOW_ATTRIBUTES.action.activationEmbargo,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.activations\n );\n };\n\n const callFTCDisplayFlowEvent = () => {\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.transparency,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.activations,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.display,\n ANALYTICS_FLOW_ATTRIBUTES.action.transparency,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.activations\n );\n };\n\n const callFTCAgreeToGuidelinesFlowEvent = () => {\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.transparency,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.activations,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.interaction,\n ANALYTICS_FLOW_ATTRIBUTES.action.transparencyAgree,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.activations\n );\n };\n\n const callFTCContinueFLowEvent = () => {\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.transparency,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.activations,\n \"\",\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.continue,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.activations\n );\n };\n\n const callGotItFlowEvent = (platformName = \"\") => {\n analyticsService.sendFlowEvent(\n ANALYTICS_FLOW_ATTRIBUTES.flowStep.participateConfirmed,\n ANALYTICS_FLOW_ATTRIBUTES.flowType.activations,\n platformName,\n ANALYTICS_FLOW_ATTRIBUTES.category.action,\n ANALYTICS_FLOW_ATTRIBUTES.action.gotIt,\n ANALYTICS_FLOW_ATTRIBUTES.location.page,\n ANALYTICS_FLOW_ATTRIBUTES.locationDetail.activations\n );\n };\n\n return {\n callParticipateCloseFlowEvent,\n callGotItFlowEvent,\n callEmbargoDateContinueFlowEvent,\n callInformationBackFlowEvent,\n callInformationContinueFlowEvent,\n callFTCContinueFLowEvent,\n callEmbargoDisplayFlowEvent,\n callFTCDisplayFlowEvent,\n callFTCAgreeToGuidelinesFlowEvent,\n callEmbargoDateBackFlowEvent,\n callInformationDisplayFlowEvent,\n callParticipateSuccessDisplayFlowEvent,\n callParticipateKeyErrorDisplayFlowEvent,\n callInformationPlatformSelectFlowEvent,\n };\n};\n","import styled from \"styled-components\";\n\nimport { DialogContent } from \"../../styles\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { CheckboxComponent } from \"domains/shared/components/checkbox\";\n\nexport const Title = styled.header`\n font: var(--font-header-xlarge);\n text-align: center;\n\n margin-bottom: 4.4rem;\n`;\n\nexport const Description = styled.div`\n font: var(--font-body);\n\n margin-bottom: 1.6rem;\n`;\n\nexport const AcceptCheckbox = styled(CheckboxComponent)`\n .MuiFormControlLabel-label {\n font: var(--font-body);\n }\n`;\n\nexport const WarningIcon = styled(Icon)`\n font-size: 1.6rem;\n line-height: unset;\n`;\n\nexport const Content = styled(DialogContent)`\n margin-bottom: 4.8rem;\n\n ${BREAKPOINT.ml} {\n margin: 0;\n }\n`;\n","import styled from \"styled-components\";\n\nexport const WarningWrapper = styled.div`\n border-radius: 5px;\n background: var(--color-background-4);\n\n display: flex;\n gap: 1rem;\n\n color: var(--color-feedback-warning);\n\n padding: 2rem 1.8rem;\n`;\n\nexport const WarningText = styled.div`\n font: var(--font-subtitle-bold);\n`;\n\nexport const EmbargoDateWrapper = styled.div`\n border-radius: 5px;\n background: var(--color-background-4);\n\n font: var(--font-subtitle-bold);\n\n padding: 3.2rem;\n\n margin-bottom: 1.6rem;\n`;\n","export const TRANSLATIONS = {\n EMBARGO_DATE_TITLE: \"dialog__participation__embargo-date\",\n WAIT_FOR_EMBARGO: \"dialog__participation__wait-for-embargo\",\n EMBARGO_WARNING: \"dialog__participation__embargo-warning\",\n GOT_IT: \"button__got-it\",\n BACK: \"button__back\",\n AGREE: \"button__agree\",\n CONTINUE: \"button__continue\",\n INFO_TITLE: \"dialog__participation__information-title\",\n PLATFORM_LABEL: \"dialog__participation__platform-label\",\n COUNTRY_LABEL: \"dialog__participation__country-label\",\n APPLE_ID: \"dialog__participation__apple-id\",\n PLATFORM_PLACEHOLDER: \"dialog__participation__platform-placeholder\",\n COUNTRY_PLACEHOLDER: \"dialog__participation__country-placeholder\",\n APPLE_PLACEHOLDER: \"dialog__participation__apple-id-placeholder\",\n DISCORD_TITLE: \"dialog__participation__discord-title\",\n DISCORD_DESCRIPTION: \"dialog__participation__discord-description\",\n DISCORD_WARNING: \"dialog__participation__discord-warning\",\n PLATFORM_TITLE: \"dialog__participation__platform-description-title\",\n COUNTRY_WARNING: \"dialog__participation__country-warning\",\n CHOOSE_PLATFORM: \"dialog__participation__choose-platform\",\n AVAILABLE_PLATFORM: \"dialog__participation__available-platform\",\n TBD: \"warning__embargo-time-tbd\",\n CANCEL: \"button__cancel\",\n FTC_TITLE: \"dialog__participation__guidelines-title\",\n FTC_DESCRIPTION: \"dialog__participation__guidelines-description\",\n FTC_DETAILS_TITLE: \"dialog__participation__guidelines-details-title\",\n FTC_DETAILS_SUBTITLE: \"dialog__participation__guidelines-details-subtitle\",\n FTC_LABEL: \"dialog__participation__guidelines-label\",\n ACCEPT_REGULATION_ISO: \"dialog__participation__apple-id-consent-label\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Description, Title, WarningIcon } from \"../../styles\";\nimport { EmbargoDateWrapper, WarningWrapper, WarningText } from \"./styles\";\nimport { DialogActions, DialogContent } from \"domains/dialogs/styles\";\n\nimport { TRANSLATIONS } from \"../constants\";\nimport { useParticipationContext } from \"../../context\";\nimport { Button } from \"domains/shared/components/button\";\nimport {\n DAY_MONTH_YEAR_FORMAT,\n getFormattedDate,\n} from \"domains/shared/utils/dates\";\nimport { useFlowEventCallback } from \"analytics/hooks/useFlowEventHook\";\nimport { useParticipationAnalytics } from \"../../../hooks/useParticipationAnalytics\";\n\nexport const EmbargoStepComponent: FC = () => {\n const { t } = useTranslation();\n const {\n store,\n onNextStepClick,\n onPreviousStepClick,\n } = useParticipationContext();\n const analytics = useParticipationAnalytics();\n\n const onContinueWithAnalytic = () => {\n analytics.callEmbargoDateContinueFlowEvent();\n onNextStepClick();\n };\n\n const onBackWithAnalytic = () => {\n analytics.callEmbargoDateBackFlowEvent();\n onPreviousStepClick();\n };\n\n useFlowEventCallback(analytics.callEmbargoDisplayFlowEvent);\n\n const { showEmbargoTime, embargoDate } = store.invitation;\n\n return (\n <>\n \n {t(TRANSLATIONS.EMBARGO_DATE_TITLE)}\n {t(TRANSLATIONS.WAIT_FOR_EMBARGO)}\n\n \n {showEmbargoTime\n ? getFormattedDate(embargoDate!)\n : t(TRANSLATIONS.TBD, {\n date: getFormattedDate(embargoDate!, DAY_MONTH_YEAR_FORMAT),\n })}\n \n\n \n \n {t(TRANSLATIONS.EMBARGO_WARNING)}\n \n \n\n \n \n\n \n \n \n );\n};\n","import styled from \"styled-components\";\n\nexport const DetailsWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n`;\n\nexport const DetailsContentWrapper = styled.section`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n\n padding: 1.6rem;\n\n border-radius: 8px;\n background-color: var(--color-background-4);\n`;\n\nexport const Header = styled.header`\n font: var(--font-body);\n\n h3 {\n font: var(--font-body-bold);\n }\n`;\n\nexport const FormControlWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 0.4rem;\n\n width: 100%;\n`;\n\nexport const Label = styled.label`\n font: var(--font-body);\n`;\n","import styled from \"styled-components\";\n\nexport const ChannelsList = styled.ul`\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));\n grid-gap: 2.4rem;\n\n li {\n display: contents;\n }\n`;\n\nexport const ChannelsContent = styled.div`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n`;\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { CHANNEL_IDS } from \"api/services/public-service\";\nimport { ChannelCardComponent } from \"domains/shared/components/cards/channel\";\nimport { useContactChannel } from \"domains/shared/hooks/useContactChannel\";\n\ntype Props = {\n channelId: CHANNEL_IDS;\n};\n\nexport const ChannelComponent: FC = observer(({ channelId }) => {\n const { isLoading, onLink, onUnlink, reference } = useContactChannel(\n channelId\n );\n\n return (\n \n );\n});\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { Header } from \"../styles\";\nimport { ChannelsContent, ChannelsList } from \"./styles\";\n\nimport { TRANSLATIONS } from \"../../constants\";\nimport { ChannelComponent } from \"../channel/channel.component\";\nimport { CHANNEL_IDS } from \"api/services/public-service\";\n\nexport const ContactChannelsComponent: FC = observer(() => {\n const { t } = useTranslation();\n\n return (\n \n
    \n

    {t(TRANSLATIONS.DISCORD_TITLE)}

    \n

    {t(TRANSLATIONS.DISCORD_DESCRIPTION)}

    \n

    {t(TRANSLATIONS.DISCORD_WARNING)}

    \n
    \n\n \n
  • \n \n
  • \n
    \n
    \n );\n});\n","import styled, { css } from \"styled-components\";\nimport { MenuItem, Select } from \"@material-ui/core\";\n\nimport { Icon } from \"../icon\";\n\nexport const ArrowIcon = styled(Icon).attrs(() => ({\n type: \"arrow\",\n}))`\n font-size: 1.5rem;\n color: var(--color-text-clickable);\n\n position: absolute;\n pointer-events: none;\n\n right: 1rem;\n\n transform: rotate(0);\n transition: 0.2s transform;\n will-change: transform;\n`;\n\nexport const CheckedIcon = styled(Icon)<{ isActive?: boolean }>`\n font-size: 1.4rem;\n color: var(--color-text-clickable);\n\n visibility: hidden;\n\n ${(props) =>\n props.isActive &&\n css`\n visibility: visible;\n `}\n`;\n\nexport const StyledSelect = styled(Select)`\n width: 100%;\n\n display: flex;\n align-items: center;\n\n border: 1px solid var(--color-stroke-5);\n border-radius: 3px;\n background: var(--color-background-2);\n\n & &.Mui-focused {\n border: 1px solid var(--color-stroke-4);\n }\n\n & > .MuiSelect-root {\n font: var(--font-body-bold);\n color: var(--color-text-primary);\n\n padding: 1rem 1.6rem;\n\n &:focus {\n background: none;\n }\n\n &[aria-expanded=\"true\"] ~ ${ArrowIcon} {\n transform: rotate(180deg);\n }\n }\n\n & .MuiSvgIcon-root.MuiSelect-icon {\n font-size: 3.2rem;\n color: var(--color-text-clickable);\n\n top: unset;\n right: 0.1em;\n }\n\n &.Mui-disabled ${ArrowIcon} {\n color: var(--color-text-tertiary);\n }\n`;\n\nexport const StyledOption = styled(MenuItem)`\n && {\n display: flex;\n gap: 1rem;\n align-items: center;\n\n font: var(--font-body-bold);\n white-space: normal;\n\n padding: 1rem 1.4rem;\n\n &:hover {\n background: var(--color-background-4);\n }\n }\n`;\n\nexport const SelectedValue = styled.span<{ determine?: boolean }>`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n ${(props) =>\n props.determine\n ? css`\n color: var(--color-text-secondary);\n `\n : null}\n`;\n","import React, { FC } from \"react\";\nimport { SelectProps } from \"@material-ui/core\";\n\nimport {\n StyledOption,\n CheckedIcon,\n StyledSelect,\n SelectedValue,\n ArrowIcon,\n} from \"./styles\";\n\nimport { Option } from \"./types\";\n\nconst MenuProps = {\n getContentAnchorEl: null,\n};\n\ntype Props = {\n options: Option[];\n values: Array;\n} & SelectProps;\n\nexport const DropdownMultiple: FC = ({\n options,\n values,\n placeholder,\n ...props\n}) => {\n const activeOptions = options.filter((option) => values.includes(option.id));\n const selectedNames = activeOptions.map((option) => option.name).join(\", \");\n\n return (\n }\n renderValue={() => (\n \n {selectedNames || placeholder}\n \n )}\n >\n {options.map((option) => (\n \n \n {option.name}\n \n ))}\n \n );\n};\n","import React, { FC } from \"react\";\nimport { SelectProps } from \"@material-ui/core\";\n\nimport {\n StyledOption,\n CheckedIcon,\n StyledSelect,\n SelectedValue,\n ArrowIcon,\n} from \"./styles\";\n\nimport { Option } from \"./types\";\n\nconst MenuProps = {\n getContentAnchorEl: null,\n};\n\ntype Props = {\n options: Option[];\n} & SelectProps;\n\nexport const Dropdown: FC = ({\n options,\n value,\n placeholder,\n ...props\n}) => {\n const activeOption = options.find((option) => option.id === value);\n\n return (\n }\n renderValue={() => (\n \n {activeOption?.name ?? placeholder}\n \n )}\n >\n {options.map((option) => (\n \n \n {option.name}\n \n ))}\n \n );\n};\n","import styled from \"styled-components\";\n\nimport { Dropdown } from \"domains/shared/components/dropdown\";\nimport { Combobox } from \"domains/shared/components/combobox\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { InputComponent } from \"domains/shared/components/input\";\nimport { CheckboxComponent } from \"domains/shared/components/checkbox\";\n\nexport const DropdownWrapper = styled(Dropdown)`\n width: 100%;\n`;\n\nexport const PlatformsDataWrapper = styled.div`\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 1.6rem;\n\n ${BREAKPOINT.ml} {\n grid-template-columns: 1fr;\n }\n\n &:empty {\n display: none;\n }\n`;\n\nexport const CountriesDropdown = styled(Combobox)`\n width: 100%;\n`;\n\nexport const InputWrapper = styled(InputComponent)`\n width: 100%;\n`;\n\nexport const AppleIdConsentCheckbox = styled(CheckboxComponent)`\n grid-column: 1 / -1;\n\n .MuiFormControlLabel-label {\n font: var(--font-body);\n }\n`;\n\nexport const WarningWrapper = styled.div`\n display: flex;\n gap: 1rem;\n grid-column: 1 / -1;\n\n color: var(--color-feedback-warning);\n`;\n\nexport const WarningText = styled.div`\n font: var(--font-body-bold);\n`;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n AppleIdConsentCheckbox,\n CountriesDropdown,\n DropdownWrapper,\n InputWrapper,\n PlatformsDataWrapper,\n WarningText,\n WarningWrapper,\n} from \"./styles\";\nimport {\n Label,\n FormControlWrapper,\n DetailsContentWrapper,\n Header,\n} from \"../styles\";\nimport { WarningIcon } from \"../../../styles\";\n\nimport { TRANSLATIONS } from \"../../constants\";\nimport { useParticipationContext } from \"../../../context\";\nimport { DropdownEvent } from \"domains/shared/components/dropdown/types\";\nimport { useParticipationAnalytics } from \"../../../../hooks/useParticipationAnalytics\";\nimport { ComboboxChangeHandler } from \"domains/shared/components/combobox/combobox.component\";\nimport {\n EMAIL_PATTERN_VALIDATOR,\n REQUIRED_VALIDATOR,\n} from \"domains/shared/validators\";\n\nexport const PlatformsComponent = observer(() => {\n const { t } = useTranslation();\n const { store } = useParticipationContext();\n const analytics = useParticipationAnalytics();\n\n const { platforms } = store;\n const {\n platformsOptions,\n isSinglePlatform,\n activePlatform,\n countryId,\n isRegionRequired,\n countriesOptions,\n platformId,\n isAppleIdRequired,\n appleId,\n } = platforms;\n\n const onPlatformChange = (event: DropdownEvent) => {\n const id = Number(event.target.value);\n\n platforms.setPlatformId(id);\n analytics.callInformationPlatformSelectFlowEvent(activePlatform?.name);\n };\n\n const onCountryChange: ComboboxChangeHandler = (_, value) => {\n const id = Number(value.id);\n\n platforms.setCountryId(id);\n };\n\n const onAppleIdChange = (value: string) => {\n platforms.setAppleId(value);\n };\n\n const onAppleIdConsentChange = () => {\n platforms.toggleAppleIdConsent();\n };\n\n return (\n \n
    \n

    {t(TRANSLATIONS.PLATFORM_TITLE)}

    \n

    \n {isSinglePlatform\n ? t(TRANSLATIONS.AVAILABLE_PLATFORM, {\n platformName: activePlatform?.name,\n })\n : t(TRANSLATIONS.CHOOSE_PLATFORM)}\n

    \n
    \n\n \n {!isSinglePlatform && (\n \n \n\n \n \n )}\n\n {isRegionRequired && (\n <>\n \n \n\n \n \n\n \n \n {t(TRANSLATIONS.COUNTRY_WARNING)}\n \n \n )}\n\n {isAppleIdRequired && (\n <>\n \n \n\n \n \n\n \n \n )}\n \n
    \n );\n});\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { Title } from \"../../styles\";\nimport { DetailsWrapper } from \"./styles\";\nimport { DialogActions, DialogContent } from \"domains/dialogs/styles\";\n\nimport { TRANSLATIONS } from \"../constants\";\nimport { Button } from \"domains/shared/components/button\";\nimport { useParticipationContext } from \"../../context\";\nimport { useFlowEventCallback } from \"analytics/hooks/useFlowEventHook\";\nimport { useParticipationAnalytics } from \"../../../hooks/useParticipationAnalytics\";\nimport { ContactChannelsComponent } from \"./contact-channels/contact-channels.component\";\nimport { PlatformsComponent } from \"./platforms/platforms.component\";\n\nexport const DetailsStepComponent: FC = observer(() => {\n const { t } = useTranslation();\n const {\n onPreviousStepClick,\n onNextStepClick,\n store,\n } = useParticipationContext();\n const analytics = useParticipationAnalytics();\n\n const { isDataValid, isDiscordAvailable, platforms } = store;\n const { activePlatform, isPlatformsAvailable } = platforms;\n\n const onContinueClick = () => {\n analytics.callInformationContinueFlowEvent(activePlatform?.name);\n onNextStepClick();\n };\n\n const onBackClick = () => {\n analytics.callInformationBackFlowEvent();\n onPreviousStepClick();\n };\n\n useFlowEventCallback(analytics.callInformationDisplayFlowEvent);\n\n return (\n <>\n \n {t(TRANSLATIONS.INFO_TITLE)}\n\n \n {isPlatformsAvailable && }\n {isDiscordAvailable && }\n \n \n\n \n \n\n \n {t(TRANSLATIONS.CONTINUE)}\n \n \n \n );\n});\n","import styled from \"styled-components\";\n\nimport { DialogContent } from \"domains/dialogs/styles\";\n\nexport const FTCWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n\n overflow: auto;\n`;\n\nexport const FTContent = styled(DialogContent)`\n display: flex;\n flex-direction: column;\n`;\n\nexport const FTCContentWrapper = styled.div`\n font: var(--font-subtitle-bold);\n\n border-radius: 5px;\n background: var(--color-background-4);\n\n padding: 2rem 1.8rem;\n\n header {\n margin-bottom: 1.8rem;\n\n font: var(--font-body);\n }\n`;\n\nexport const FTCTitle = styled.h2`\n font: var(--font-body-bold);\n\n margin-bottom: 1rem;\n`;\n","import styled from \"styled-components\";\n\nexport const RulesWrapper = styled.div`\n ol {\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n\n counter-set: rule 0;\n }\n\n li {\n font: var(--font-body);\n color: var(--color-text-primary);\n\n counter-increment: rule;\n\n &::before {\n content: counter(rule) \".\";\n\n float: left;\n margin-right: 0.5rem;\n }\n }\n\n p:not(:last-child) {\n margin-bottom: 0.5em;\n }\n`;\n\nexport const LinksWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 0.5em;\n\n li {\n display: flex;\n }\n\n a {\n gap: 1rem;\n align-items: flex-start;\n\n &::before {\n content: \"\";\n\n position: relative;\n top: 0.5em;\n\n width: 5px;\n height: 5px;\n flex-shrink: 0;\n\n background-color: currentColor;\n\n border-radius: 50%;\n }\n }\n`;\n\nexport const FTCWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n\n font: var(--font-body);\n color: var(--color-text-primary);\n`;\n","import { EXTERNAL_LINKS } from \"navigation/external-links\";\n\nexport const TRANSLATIONS = {\n FTC_WARNING: \"ftc__warning\",\n};\n\nexport const LINKS = [\n {\n title:\n \"Disclosures 101 for Social Media Influencers | Federal Trade Commission (ftc.gov)\",\n href: EXTERNAL_LINKS.disclosures101Common,\n },\n {\n title: \"Federal Trade Commission’s FAQs\",\n href: EXTERNAL_LINKS.federalTrade,\n },\n {\n title: \"Disclosures 101 for Social Media Influencers\",\n href: EXTERNAL_LINKS.disclosures101PDF,\n },\n {\n title:\n \"Guidelines Concerning the Use of Endorsements and Testimonials in Advertising\",\n href: EXTERNAL_LINKS.guidelinesPDF,\n },\n];\n","import React, { FC } from \"react\";\nimport { Trans } from \"react-i18next\";\n\nimport { LinksWrapper, RulesWrapper, FTCWrapper } from \"./styles\";\n\nimport { ExternalLink } from \"../index\";\nimport { LINKS, TRANSLATIONS } from \"./constants\";\nimport { getActivationFTC } from \"domains/shared/components/ftc/utils\";\nimport { ACTIVATION_TYPES } from \"api/services/public-service\";\n\ntype Props = {\n id: ACTIVATION_TYPES;\n};\n\nexport const FTCTextComponent: FC = ({ id }) => {\n const ftc = getActivationFTC(id);\n\n return (\n \n {ftc && (\n \n \n \n )}\n\n \n \n\n
      \n {LINKS.map((link, index) => (\n
    • \n {link.title}\n
    • \n ))}\n
    \n
    \n
    \n );\n};\n","import { ACTIVATION_TYPES } from \"api/services/public-service\";\n\nexport const getActivationFTC = (activationType: ACTIVATION_TYPES) => {\n switch (activationType) {\n case ACTIVATION_TYPES.REVENUE_SHARING: {\n return \"ftc__paid-content\";\n }\n\n case ACTIVATION_TYPES.TWITCH_DROPS_SINGLE_WAY:\n case ACTIVATION_TYPES.TWITCH_DROPS_MULTI_WAVES:\n case ACTIVATION_TYPES.TWITCH_SUBS_REWARDS:\n case ACTIVATION_TYPES.YOUTUBE_DROPS:\n case ACTIVATION_TYPES.YOUTUBE_SUBS_REWARDS: {\n return \"ftc__in-game-rewards\";\n }\n\n case ACTIVATION_TYPES.CAPTURE_EVENT_ONLINE:\n case ACTIVATION_TYPES.PREVIEW_EVENTS:\n case ACTIVATION_TYPES.CAPTURE_EVENT_IN_PERSON:\n case ACTIVATION_TYPES.CO_REVEALS:\n case ACTIVATION_TYPES.TOURNAMENT_COMPETITION: {\n return \"ftc__events\";\n }\n\n case ACTIVATION_TYPES.GAME_ACCESS_CONTENT: {\n return \"ftc__access-to-game\";\n }\n\n case ACTIVATION_TYPES.EARLY_ACCESS: {\n return \"ftc__early-access\";\n }\n\n case ACTIVATION_TYPES.UBISOFT_COLLABORATION: {\n return \"ftc__payment-in-kind\";\n }\n\n default:\n return null;\n }\n};\n","import React, { useState } from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { DialogActions } from \"../../../../styles\";\nimport { AcceptCheckbox, Description, Title } from \"../../styles\";\nimport { FTCContentWrapper, FTContent, FTCTitle, FTCWrapper } from \"./styles\";\n\nimport { TRANSLATIONS } from \"../constants\";\nimport { Button } from \"domains/shared/components/button\";\nimport { useParticipationContext } from \"../../context\";\nimport { FTCTextComponent } from \"domains/shared/components/ftc\";\nimport { useParticipationAnalytics } from \"../../../hooks/useParticipationAnalytics\";\nimport { useFlowEventCallback } from \"analytics/hooks/useFlowEventHook\";\n\nexport const FTCStepComponent = () => {\n const { t } = useTranslation();\n const {\n onPreviousStepClick,\n onNextStepClick,\n store,\n } = useParticipationContext();\n const analytics = useParticipationAnalytics();\n\n useFlowEventCallback(analytics.callFTCDisplayFlowEvent);\n\n const { isFTCMandatory, invitation } = store;\n\n const [isAccept, setIsAccept] = useState(!isFTCMandatory);\n\n const onContinueWithAnalytic = () => {\n analytics.callFTCContinueFLowEvent();\n onNextStepClick();\n };\n\n const onConfirmationChange = () => {\n analytics.callFTCAgreeToGuidelinesFlowEvent();\n setIsAccept((state) => !state);\n };\n\n return (\n <>\n \n {t(TRANSLATIONS.FTC_TITLE)}\n\n {t(TRANSLATIONS.FTC_DESCRIPTION)}\n\n \n \n
    \n {t(TRANSLATIONS.FTC_DETAILS_TITLE)}\n
    {t(TRANSLATIONS.FTC_DETAILS_SUBTITLE)}
    \n
    \n\n \n
    \n\n {isFTCMandatory && (\n }\n />\n )}\n
    \n
    \n\n \n \n\n \n {t(TRANSLATIONS.CONTINUE)}\n \n \n \n );\n};\n","export const TRANSLATIONS = {\n PLATFORM_NOT_AVAILABLE: \"dialog__participation__platform-not-available\",\n};\n","import { makeAutoObservable } from \"mobx\";\nimport i18n from \"i18n\";\n\nimport {\n BenefitPlatform,\n Country,\n GAME_PLATFORMS,\n} from \"api/services/public-service\";\nimport { rootStore } from \"init/root-store\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { BLOCKED_COUNTRIES } from \"domains/shared/types/countries\";\nimport { EMAIL_REG_EXP } from \"domains/shared/validators\";\n\nexport class BenefitPlatformsStore {\n public countryId: number | null = null;\n public appleId: string | null = null;\n public appleIdConsent = false;\n\n public constructor(\n public platforms: BenefitPlatform[],\n public platformId: number | null = null\n ) {\n makeAutoObservable(this, {}, { autoBind: true });\n }\n\n public get isAppleIdRequired() {\n return this.activePlatform?.id === GAME_PLATFORMS.IOS;\n }\n\n public get activePlatform() {\n return rootStore.metadata.data.platforms.find(\n (platform) => platform.id === this.platformId\n );\n }\n\n public get gropedPlatforms() {\n return this.platforms.reduce>(\n (acc, it) => {\n const { platform } = it;\n const platforms = acc.get(platform.id) || [];\n\n return acc.set(platform.id, [...platforms, it]);\n },\n new Map()\n );\n }\n\n public get platformsOptions() {\n return [...this.gropedPlatforms].map(([_id, platforms]) => {\n const disabled = platforms.every((platform) => !platform.isAvailable);\n const { id, name } = platforms[0].platform;\n\n return {\n id,\n name: disabled\n ? i18n.t(TRANSLATIONS.PLATFORM_NOT_AVAILABLE, {\n name,\n })\n : name,\n disabled,\n };\n });\n }\n\n public get countriesOptions() {\n if (this.platformId === null || !this.isRegionRequired) {\n return [];\n }\n\n const platforms = this.gropedPlatforms.get(this.platformId);\n\n if (!platforms) {\n return [];\n }\n\n const { groupedCountries } = rootStore.metadata;\n\n return platforms\n .reduce(\n (acc, platform) =>\n platform.isAvailable && platform.region\n ? [...acc, ...(groupedCountries.get(platform.region.id) || [])]\n : acc,\n []\n )\n .filter(\n (country) => !Object.values(BLOCKED_COUNTRIES).includes(country.id)\n );\n }\n\n public get isRegionRequired() {\n if (this.platformId === null) {\n return false;\n }\n\n return [\n GAME_PLATFORMS.PS4,\n GAME_PLATFORMS.PS5,\n GAME_PLATFORMS.SWITCH,\n ].includes(this.platformId);\n }\n\n public get isSinglePlatform() {\n return this.gropedPlatforms.size === 1;\n }\n\n public get isPlatformsAvailable() {\n return !!this.platforms.length;\n }\n\n public setPlatformId(id: number | null) {\n this.platformId = id;\n this.countryId = null;\n this.appleId = null;\n this.appleIdConsent = false;\n }\n\n public setCountryId(id: number | null) {\n this.countryId = id;\n }\n\n public setAppleId(id: string | null) {\n this.appleId = id;\n }\n\n public toggleAppleIdConsent() {\n this.appleIdConsent = !this.appleIdConsent;\n }\n\n public get isDataValid() {\n const isAppleIdValid =\n !this.isAppleIdRequired ||\n (this.appleId && EMAIL_REG_EXP.test(this.appleId) && this.appleIdConsent);\n const isPlatformsValid = !this.isPlatformsAvailable || this.activePlatform;\n const isRegionValid = !this.isRegionRequired || this.countryId !== null;\n\n return isAppleIdValid && isPlatformsValid && isRegionValid;\n }\n}\n","export type CommunicationTopic = {\n id: TOPICS;\n name: string;\n link?: string;\n description?: string;\n analyticsKey: string;\n};\n\nexport enum TOPICS {\n CONNECTION_ISSUE,\n PLATFORM_ISSUE,\n KEY_ISSUE,\n BUSINESS_ISSUE,\n CREATORS_CODE_ISSUE,\n}\n","import { makeAutoObservable } from \"mobx\";\n\nimport {\n ACTIVATION_TYPES,\n Benefit,\n BENEFITS_TYPE,\n Invitation,\n AcceptInvitationData,\n} from \"api/services/public-service\";\nimport { BenefitPlatformsStore } from \"./benefit-platforms.store\";\n\nexport class ParticipationStore {\n public platforms: BenefitPlatformsStore;\n\n public constructor(public invitation: Invitation, public benefit: Benefit) {\n makeAutoObservable(this, {}, { autoBind: true });\n\n this.platforms = new BenefitPlatformsStore(\n this.benefit.platforms,\n this.benefit.platforms[0]?.platform.id\n );\n }\n\n public get isFTCMandatory() {\n return [\n ACTIVATION_TYPES.EARLY_ACCESS,\n ACTIVATION_TYPES.TWITCH_DROPS_SINGLE_WAY,\n ACTIVATION_TYPES.TWITCH_DROPS_MULTI_WAVES,\n ACTIVATION_TYPES.YOUTUBE_DROPS,\n ACTIVATION_TYPES.TWITCH_SUBS_REWARDS,\n ACTIVATION_TYPES.YOUTUBE_SUBS_REWARDS,\n ACTIVATION_TYPES.CAPTURE_EVENT_ONLINE,\n ACTIVATION_TYPES.CAPTURE_EVENT_IN_PERSON,\n ACTIVATION_TYPES.CO_REVEALS,\n ACTIVATION_TYPES.REVENUE_SHARING,\n ACTIVATION_TYPES.UBISOFT_COLLABORATION,\n ACTIVATION_TYPES.TOURNAMENT_COMPETITION,\n ACTIVATION_TYPES.GAME_ACCESS_CONTENT,\n ACTIVATION_TYPES.PREVIEW_EVENTS,\n ].includes(this.invitation.activationType.id);\n }\n\n public get isEmbargoAvailable() {\n return !!this.invitation.embargoDate;\n }\n\n public get isDataValid() {\n return this.platforms.isDataValid;\n }\n\n public get isDiscordAvailable() {\n return (\n [\n ACTIVATION_TYPES.EARLY_ACCESS,\n ACTIVATION_TYPES.CAPTURE_EVENT_IN_PERSON,\n ACTIVATION_TYPES.CAPTURE_EVENT_ONLINE,\n ].includes(this.invitation.activationType.id) ||\n this.benefit.type.id === BENEFITS_TYPE.HAND_ON_SESSION\n );\n }\n\n public get acceptData(): AcceptInvitationData {\n const { platformId, countryId, appleId } = this.platforms;\n\n return {\n platformId: platformId ?? undefined,\n countryId: countryId ?? undefined,\n appleId: appleId ?? undefined,\n };\n }\n}\n","import React, { FC, useEffect, useMemo, useState } from \"react\";\nimport Dialog from \"rc-dialog\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { CloseIcon, DialogCloseButton } from \"../../styles\";\n\nimport { DialogProps } from \"../../types\";\nimport { ParticipateContext } from \"./context\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport { ANALYTICS_PAGE_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport { useParticipationAnalytics } from \"../hooks/useParticipationAnalytics\";\nimport { EmbargoStepComponent } from \"./steps/embargo/embargo-step.component\";\nimport { DetailsStepComponent } from \"./steps/details/details-step.component\";\nimport { FTCStepComponent } from \"./steps/ftc/ftc-step.component\";\nimport { useStepper } from \"domains/shared/hooks/useStepper\";\nimport {\n Benefit,\n Invitation,\n AcceptInvitationData,\n} from \"api/services/public-service\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ParticipationStore } from \"../stores/participation.store\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\n\ntype Props = DialogProps & {\n invitation: Invitation;\n benefit: Benefit;\n onSubmit: (data: AcceptInvitationData) => void;\n};\n\nexport const ParticipationDialog: FC = observer(\n ({ invitation, benefit, onClose, ...props }) => {\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.dashboard,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.participate,\n invitation.activationName\n );\n\n const analytics = useParticipationAnalytics();\n const [action, isLoading] = useLoadingAction();\n\n const [store] = useState(() => new ParticipationStore(invitation, benefit));\n const steps = useMemo(() => {\n const flow: FC[] = [FTCStepComponent];\n const { isEmbargoAvailable, isDiscordAvailable, platforms } = store;\n const { isPlatformsAvailable } = platforms;\n\n if (isEmbargoAvailable) {\n flow.push(EmbargoStepComponent);\n }\n\n if (isDiscordAvailable || isPlatformsAvailable) {\n flow.push(DetailsStepComponent);\n }\n\n return flow;\n }, [store]);\n\n const {\n ActiveStep,\n isFirstStep,\n nextStep,\n previousStep,\n isLastStep,\n } = useStepper(0, steps);\n\n const accept = async () => {\n action(async () => {\n await props.onSubmit(store.acceptData);\n });\n };\n\n const onNextStepClick = async () => {\n if (isLastStep) {\n await accept();\n return;\n }\n\n nextStep();\n };\n\n const onPreviousStepClick = isFirstStep ? onClose : previousStep;\n\n useEffect(() => {\n return () => {\n const { activationName } = invitation;\n\n analytics.callParticipateCloseFlowEvent();\n\n analyticsService.sendPageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.dashboard,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.main,\n activationName\n );\n };\n }, [analytics, invitation]);\n\n return (\n \n \n \n \n \n\n \n {isLoading && }\n \n \n );\n }\n);\n","import styled from \"styled-components\";\n\nimport { DialogTitle } from \"../../styles\";\n\nexport const Title = styled(DialogTitle)`\n margin-bottom: 1rem;\n`;\n","export const TRANSLATIONS = {\n TITLE: \"dialog__decline-invitation__title\",\n DESCRIPTION: \"dialog__decline-invitation__description\",\n CANCEL: \"button__cancel\",\n DECLINE: \"button__decline\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport Dialog from \"rc-dialog\";\n\nimport {\n CloseIcon,\n DialogActions,\n DialogCloseButton,\n DialogContent,\n DialogDescription,\n} from \"../../styles\";\nimport { Title } from \"./styles\";\n\nimport { Button } from \"domains/shared/components/button\";\nimport { DialogProps } from \"../../types\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\n\ntype Props = {\n invitationId: number;\n onSubmit: () => void;\n} & DialogProps;\n\nexport const DeclineInvitationDialog: FC = ({\n invitationId,\n ...props\n}) => {\n const { t } = useTranslation();\n const [fetch, isLoading] = useLoadingAction();\n\n const onClose = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.declinePopup,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.closeDecline\n );\n\n props.onClose();\n };\n\n const onSubmit = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.declinePopup,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.confirmDecline\n );\n\n fetch(async () => {\n await props.onSubmit();\n });\n };\n\n return (\n \n \n \n \n\n \n {t(TRANSLATIONS.TITLE)}\n {t(TRANSLATIONS.DESCRIPTION)}\n \n\n \n \n\n \n \n\n {isLoading && }\n \n );\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport fallbackImage from \"assets/placeholders/swirl.svg\";\n\nimport {\n ActionCTA,\n ActionsWrapper,\n CampaignName,\n ContentWrapper,\n Description,\n GameName,\n Poster,\n WarningIcon,\n WarningWrapper,\n} from \"./styles\";\n\nimport { InvitationDateComponent } from \"../../components/invitation-date\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { useInvitationContext } from \"../context\";\nimport { Tooltip } from \"domains/shared/components/tooltip\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { ParticipationDialog } from \"domains/dialogs/invitation/participate/participation.dialog\";\nimport { useRootStore } from \"init/root-store\";\nimport { DeclineInvitationDialog } from \"domains/dialogs/invitation/decline/decline-invitation.dialog\";\nimport { INVITATION_TYPE } from \"../../store/types\";\nimport { NOTIFICATION_LVL4, notificationsService } from \"domains/notifications\";\nimport { AcceptInvitationData } from \"api/services/public-service\";\nimport { ERROR_CODES, ErrorConfig, getErrorCode } from \"api\";\n\nexport const DescriptionComponent: FC = observer(() => {\n const { dialogs } = useRootStore();\n const { t } = useTranslation();\n const {\n invitation,\n images,\n isDeclineAvailable,\n invitationType,\n decline,\n accept,\n init,\n isSoldOut,\n benefit,\n isLimitedWarningAvailable,\n } = useInvitationContext();\n\n const onDeclineClick = async () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.page,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.declineActivation\n );\n\n const onSubmit = async () => {\n await decline();\n\n notificationsService.showLevel4(NOTIFICATION_LVL4.CAMPAIGN_DECLINED);\n };\n\n await dialogs.openDialog(DeclineInvitationDialog, {\n invitationId: invitation.id,\n onSubmit,\n });\n };\n\n const onParticipateClick = async () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.page,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.participate\n );\n\n const onSubmit = async (data: AcceptInvitationData) => {\n try {\n await accept(data);\n\n notificationsService.showLevel4(NOTIFICATION_LVL4.CAMPAIGN_ACCEPTED);\n } catch (err) {\n const sponsaliaErrorCode = getErrorCode(err as ErrorConfig);\n\n if (sponsaliaErrorCode === ERROR_CODES.PLATFORM_WITHOUT_KEYS) {\n notificationsService.showError(NOTIFICATION_LVL4.ERROR_PLATFORM_KEYS);\n }\n } finally {\n await init();\n }\n };\n\n await dialogs.openDialog(ParticipationDialog, {\n invitation,\n benefit,\n onSubmit,\n });\n };\n\n return (\n \n \n\n \n {invitation.intallmentName}\n {invitation.publicationName}\n\n {isSoldOut ? (\n \n \n {t(TRANSLATIONS.SOLD_OUT)}\n \n ) : (\n \n )}\n\n {isLimitedWarningAvailable && (\n \n \n {t(TRANSLATIONS.LIMITED_MESSAGE)}\n \n )}\n \n\n \n {invitationType === INVITATION_TYPE.AVAILABLE &&\n (isSoldOut ? (\n \n {t(TRANSLATIONS.PARTICIPATE)}\n \n ) : (\n \n {t(TRANSLATIONS.PARTICIPATE)}\n \n ))}\n\n {isDeclineAvailable && (\n \n {t(TRANSLATIONS.DECLINE)}\n \n )}\n \n \n );\n});\n","import styled from \"styled-components\";\n\nimport { InvitationContent } from \"../styles\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport { Tooltip } from \"domains/shared/components/tooltip\";\n\nexport const EmbargoContent = styled(InvitationContent)`\n display: grid;\n grid-template-columns: 1fr auto;\n grid-gap: 2.4rem;\n align-items: center;\n\n min-height: 9.2rem;\n`;\n\nexport const EmbargoDate = styled.div`\n display: flex;\n align-items: center;\n gap: 1rem;\n\n font: var(--font-subtitle-bold);\n color: var(--color-feedback-warning);\n`;\n\nexport const EmbargoIcon = styled(Icon)`\n font-size: 2rem;\n`;\n\nexport const EmbargoTooltip = styled(Tooltip)`\n font-size: 2rem;\n`;\n","export const TRANSLATIONS = {\n EMBARGO_DATE: \"campaign__embargo-date\",\n TIME_TBD: \"warning__embargo-time-tbd\",\n TOOLTIP_CONTENT: \"campaign__tooltip-content\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n EmbargoDate,\n EmbargoContent,\n EmbargoIcon,\n EmbargoTooltip,\n} from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport {\n FULL_DATE_FORMAT,\n DAY_MONTH_YEAR_FORMAT,\n getFormattedDate,\n getLocalISODate,\n} from \"domains/shared/utils/dates\";\nimport { useInvitationContext } from \"../context\";\n\nexport const EmbargoComponent: FC = observer(() => {\n const { t } = useTranslation();\n const { invitation } = useInvitationContext();\n\n if (!invitation.embargoDate) {\n return null;\n }\n\n const { showEmbargoTime } = invitation;\n const date = showEmbargoTime\n ? getFormattedDate(invitation.embargoDate, FULL_DATE_FORMAT)\n : getFormattedDate(invitation.embargoDate, DAY_MONTH_YEAR_FORMAT);\n const displayDateValue = showEmbargoTime\n ? t(TRANSLATIONS.EMBARGO_DATE, {\n date,\n })\n : t(TRANSLATIONS.TIME_TBD, {\n date,\n });\n const embargoLocalDate = getLocalISODate(invitation.embargoDate);\n\n return (\n \n \n \n \n \n\n \n \n );\n});\n","import styled from \"styled-components\";\n\nexport const GuidelinesContent = styled.div`\n font: var(--font-body);\n color: var(--color-text-primary);\n\n & > * {\n white-space: pre-wrap;\n vertical-align: revert;\n\n margin: revert;\n padding: revert;\n\n list-style: revert;\n }\n\n & > :empty {\n min-height: 2rem;\n }\n\n a {\n text-decoration: none;\n color: var(--color-text-clickable);\n }\n\n em {\n font-style: italic;\n }\n\n ol,\n ul {\n white-space: normal;\n\n li {\n margin: 1.4rem 0;\n }\n }\n`;\n","export const TRANSLATIONS = {\n GUIDELINES: \"campaign__guidelines\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { SectionTitle } from \"../../../styles\";\nimport { GuidelinesContent } from \"./styles\";\nimport { InvitationContent } from \"../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useInvitationContext } from \"../context\";\n\nexport const GuidelinesComponent: FC = observer(() => {\n const { t } = useTranslation();\n const { invitation } = useInvitationContext();\n\n return invitation.quickPitch ? (\n
    \n {t(TRANSLATIONS.GUIDELINES)}\n\n \n {invitation.quickPitch && (\n \n )}\n \n
    \n ) : null;\n});\n","import styled from \"styled-components\";\n\nimport { Icon } from \"domains/shared/components/icon\";\n\nexport const FTCContentWrapper = styled.article`\n border-radius: 10px;\n background-color: var(--color-background-4);\n\n padding: 1.6rem;\n`;\n\nexport const WarningIcon = styled(Icon)`\n font-size: 2rem;\n line-height: unset;\n color: var(--color-feedback-warning);\n`;\n\nexport const FTCTitle = styled.h3`\n font: var(--font-body-bold);\n color: var(--color-feedback-warning);\n`;\n\nexport const FTCTitleWrapper = styled.div`\n display: flex;\n align-items: center;\n gap: 1rem;\n\n margin-bottom: 1.8rem;\n`;\n","export const TRANSLATIONS = {\n FTC_TITLE: \"campaign__ftc\",\n FTC_HEADER: \"campaign__guidelines__header\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { SectionTitle } from \"domains/dashboard/styles\";\nimport {\n FTCTitle,\n FTCContentWrapper,\n FTCTitleWrapper,\n WarningIcon,\n} from \"./styles\";\nimport { InvitationContent } from \"../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useInvitationContext } from \"../context\";\nimport { FTCTextComponent } from \"domains/shared/components/ftc\";\n\nexport const FTCComponent: FC = observer(() => {\n const { t } = useTranslation();\n const { invitation } = useInvitationContext();\n\n return (\n
    \n {t(TRANSLATIONS.FTC_TITLE)}\n\n \n \n \n \n {t(TRANSLATIONS.FTC_HEADER)}\n \n\n \n \n \n
    \n );\n});\n","import styled, { css } from \"styled-components\";\n\nimport { InvitationContent } from \"../styles\";\nimport { SectionTitle } from \"domains/dashboard/styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { Button } from \"domains/shared/components/button\";\nimport { CTAExternalLink } from \"domains/shared/components\";\n\nconst CTAStyles = css`\n display: flex;\n align-items: center;\n gap: 1rem;\n\n font-size: 1.4rem;\n`;\n\nexport const AssetsContent = styled.div`\n display: grid;\n grid-template-columns: auto 1fr auto;\n grid-gap: 2.4rem;\n align-items: center;\n\n position: relative;\n\n &:not(:last-child) {\n padding-bottom: 2.4rem;\n\n &::after {\n content: \"\";\n\n position: absolute;\n bottom: -1px;\n\n height: 1px;\n width: 100%;\n\n box-shadow: var(--box-shadow-delimeter);\n }\n }\n\n ${BREAKPOINT.ml} {\n justify-items: center;\n grid-template-columns: 1fr;\n }\n`;\n\nexport const ActionsWrapper = styled.div`\n display: flex;\n flex-wrap: wrap;\n gap: 1rem;\n`;\n\nexport const DownloadCTA = styled(Button)`\n ${CTAStyles};\n`;\n\nexport const ExternalCTA = styled(CTAExternalLink)`\n ${CTAStyles};\n`;\n\nexport const AssetsList = styled(InvitationContent)`\n display: flex;\n flex-direction: column;\n gap: 2.4rem;\n`;\n\nexport const Title = styled(SectionTitle)`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 1rem;\n`;\n\nexport const Details = styled.div`\n font: var(--font-body);\n`;\n\nexport const AssetCaption = styled.div`\n display: contents;\n\n gap: 0.8rem;\n\n ${BREAKPOINT.ml} {\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n`;\n","export const TRANSLATIONS = {\n ACCESS: \"button__access\",\n DOWNLOAD: \"button__download\",\n RESOURCES: \"campaign__resources\",\n DOCUMENTATION_AND_ASSETS: \"campaign__documentation-and-assets\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n ActionsWrapper,\n AssetCaption,\n AssetsContent,\n DownloadCTA,\n ExternalCTA,\n} from \"./styles\";\nimport { SectionIcon } from \"domains/dashboard/styles\";\nimport { DataName } from \"../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useInvitationContext } from \"../context\";\nimport { publicApiService } from \"api\";\nimport { downloadFile } from \"domains/shared/utils/file\";\nimport { Icon } from \"domains/shared/components/icon\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\n\ntype Props = {\n name: string;\n downloadId?: number;\n redirectLink?: string;\n};\n\nexport const AssetComponent: FC = observer(\n ({ name, downloadId, redirectLink }) => {\n const { t } = useTranslation();\n const { isAccepted, invitation } = useInvitationContext();\n\n const onDownloadClick = async () => {\n if (!downloadId) {\n return;\n }\n\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.resources,\n ANALYTICS_CLICK_ATTRIBUTES.category.interaction,\n ANALYTICS_CLICK_ATTRIBUTES.action.download\n );\n\n const response = await publicApiService.downloadAsset(\n invitation.id,\n downloadId\n );\n\n downloadFile(name, response.data);\n };\n\n return (\n \n \n \n {name}\n \n\n {isAccepted && (\n \n {redirectLink && (\n {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.resources,\n ANALYTICS_CLICK_ATTRIBUTES.category.interaction,\n ANALYTICS_CLICK_ATTRIBUTES.action.access\n );\n }}\n >\n {t(TRANSLATIONS.ACCESS)}\n \n \n )}\n\n {downloadId && (\n \n \n {t(TRANSLATIONS.DOWNLOAD)}\n \n )}\n \n )}\n \n );\n }\n);\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { AssetsList, Details, Title } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useInvitationContext } from \"../context\";\nimport { AssetComponent } from \"./asset.component\";\nimport { getAssetsDetailsText } from \"./utils\";\n\nexport const ResourcesComponent: FC = observer(() => {\n const { t } = useTranslation();\n const {\n invitation,\n isAssetsAvailable,\n isAssetsAvailableDatePassed,\n isAccepted,\n } = useInvitationContext();\n\n const { hasAssets } = invitation;\n const detailsText = getAssetsDetailsText({\n isAssetsAvailableDatePassed,\n isInvitationAccepted: isAccepted,\n assetsAvailabilityDate: invitation.assetsAvailabilityDate,\n });\n\n return hasAssets ? (\n
    \n \n <div>{t(TRANSLATIONS.RESOURCES)}</div>\n {detailsText && <Details>{detailsText}</Details>}\n \n\n \n {isAssetsAvailable ? (\n <>\n {invitation.assets.map((asset) => (\n \n ))}\n\n {invitation.resourcesUrl && (\n \n )}\n \n ) : (\n \n )}\n \n
    \n ) : null;\n});\n","import i18next from \"i18next\";\n\nimport { TRANSLATIONS } from \"../constants\";\nimport { getFormattedDate } from \"domains/shared/utils/dates\";\n\nexport const getAssetsDetailsText = (data: {\n isInvitationAccepted: boolean;\n isAssetsAvailableDatePassed: boolean;\n assetsAvailabilityDate: string | null;\n}) => {\n const {\n isInvitationAccepted,\n isAssetsAvailableDatePassed,\n assetsAvailabilityDate,\n } = data;\n\n if (!isInvitationAccepted) {\n return i18next.t(TRANSLATIONS.RESOURCES_ACCESS);\n }\n\n if (assetsAvailabilityDate && !isAssetsAvailableDatePassed) {\n return i18next.t(TRANSLATIONS.RESOURCES_DATE, {\n date: getFormattedDate(assetsAvailabilityDate),\n });\n }\n\n return null;\n};\n","import styled from \"styled-components\";\n\nimport { InvitationContent } from \"../styles\";\n\nimport { InternalLink } from \"domains/shared/components\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const AssistanceContent = styled(InvitationContent)`\n display: grid;\n grid-template-columns: auto 1fr auto;\n grid-gap: 2.4rem;\n align-items: center;\n\n ${BREAKPOINT.ml} {\n justify-items: center;\n grid-template-columns: 1fr;\n }\n`;\n\nexport const Caption = styled.div`\n display: contents;\n\n ${BREAKPOINT.ml} {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.8rem;\n }\n`;\n\nexport const RedirectLink = styled(InternalLink)`\n font: var(--font-body-bold);\n`;\n","export const TRANSLATIONS = {\n ASSISTANCE_TITLE: \"campaign__assistance__title\",\n ASSISTANCE_DESCRIPTION: \"campaign__assistance__description\",\n ASSISTANCE_LINK: \"campaign__assistance__link\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { AssistanceContent, Caption, RedirectLink } from \"./styles\";\nimport { SectionTitle, SectionIcon } from \"domains/dashboard/styles\";\nimport { DataName } from \"../styles\";\n\nimport { useInvitationContext } from \"../context\";\nimport { urls } from \"navigation/book\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { SECTION_ID } from \"navigation/types\";\n\nexport const AssistanceComponent: FC = observer(() => {\n const { isAccepted } = useInvitationContext();\n const { t } = useTranslation();\n\n return isAccepted ? (\n
    \n {t(TRANSLATIONS.ASSISTANCE_TITLE)}\n\n \n \n \n {t(TRANSLATIONS.ASSISTANCE_DESCRIPTION)}\n \n\n \n {t(TRANSLATIONS.ASSISTANCE_LINK)}\n \n \n
    \n ) : null;\n});\n","import styled from \"styled-components\";\n\nimport { BackgroundGlassCSS } from \"domains/shared/styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { LottieIcon } from \"domains/shared/components\";\n\nexport const ContentWrapper = styled.div`\n display: flex;\n\n width: 100%;\n height: 100%;\n\n ${BREAKPOINT.ml} {\n align-items: flex-start;\n }\n`;\n\nexport const WarningContent = styled.div`\n padding: 2.4rem;\n border-radius: 5px;\n background-color: var(--color-background-glass-1);\n box-shadow: inset 1px 1px 1px 0 var(--color-stroke-1),\n 1px 1px 0 0 var(--color-stroke-2);\n\n ${BackgroundGlassCSS};\n\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 1.6rem;\n\n width: 100%;\n max-width: 50rem;\n\n margin: auto;\n\n ${BREAKPOINT.ml} {\n margin: 0;\n }\n`;\n\nexport const Description = styled.div`\n font: var(--font-body);\n color: var(--color-text-primary);\n text-align: center;\n\n & > :not(:last-child) {\n margin-bottom: 2rem;\n }\n`;\n\nexport const WarningIcon = styled(LottieIcon)`\n width: 7rem;\n height: 7rem;\n`;\n","import React, { FC } from \"react\";\n\nimport {\n Description,\n WarningIcon,\n ContentWrapper,\n WarningContent,\n} from \"./styles\";\n\nimport warning from \"assets/animations/warning.json\";\n\ntype Props = {\n description: string;\n};\n\nexport const NotAvailableComponent: FC = ({ description }) => (\n \n \n \n {description}\n \n \n);\n","export default __webpack_public_path__ + \"static/media/checked.47365149.svg\";","export default __webpack_public_path__ + \"static/media/refresh.fc5ccf0e.svg\";","export default __webpack_public_path__ + \"static/media/warning.cf324fb3.svg\";","import styled, { css } from \"styled-components\";\n\nimport { SectionIcon } from \"domains/dashboard/styles\";\n\nimport { BENEFIT_STATUS, REWARD_STATUS } from \"api/services/public-service\";\n\nimport checked from \"domains/shared/components/icon/icons/checked.svg\";\nimport progress from \"domains/shared/components/icon/icons/refresh.svg\";\nimport error from \"domains/shared/components/icon/icons/warning.svg\";\nimport { Icon } from \"../../../../shared/components/icon\";\nimport { BREAKPOINT } from \"../../../../shared/constants/media-queries.constants\";\n\ntype MessageKind = \"success\" | \"error\" | \"warning\";\n\nexport const DeliveryStatusText = styled.div<{\n kind?: MessageKind;\n}>`\n display: flex;\n align-items: center;\n gap: 1rem;\n\n font: var(--font-subtitle);\n\n color: ${(props) => {\n switch (props.kind) {\n case \"success\":\n return css`var(--color-feedback-positive);`;\n case \"error\":\n return css`var(--color-feedback-negative);`;\n case \"warning\":\n return css`var(--color-feedback-warning);`;\n default:\n return css`var(--color-text-secondary);`;\n }\n }};\n`;\n\nexport const StatusIcon = styled(Icon)`\n font-size: 1.6rem;\n`;\n\nexport const DeliveryTypeWrapper = styled.div`\n justify-self: flex-end;\n\n ${BREAKPOINT.ml} {\n display: contents;\n }\n\n &:empty {\n display: none;\n }\n`;\n\nconst FeedbackIconCSS = css`\n position: relative;\n\n background-color: var(--color-background-4);\n\n &::after {\n content: \"\";\n\n position: absolute;\n top: 0;\n right: 0;\n\n width: 2.4rem;\n aspect-ratio: 1 / 1;\n\n mask-size: cover;\n mask-position: center;\n border-radius: 50%;\n border: 2px solid var(--color-background-3);\n }\n`;\n\nexport const BenefitIcon = styled(SectionIcon)<{\n status: BENEFIT_STATUS;\n}>`\n ${FeedbackIconCSS};\n\n ${(props) => {\n switch (props.status) {\n case BENEFIT_STATUS.DELIVERED:\n return css`\n background-color: var(--color-notification-positive);\n\n &::after {\n background-color: var(--color-feedback-positive);\n mask-image: url(${checked});\n }\n `;\n\n case BENEFIT_STATUS.PENDING:\n return css`\n background-color: var(--color-notification-in-progress);\n\n &::after {\n background-color: var(--color-feedback-in-progress);\n mask-image: url(${progress});\n }\n `;\n\n case BENEFIT_STATUS.FAILED:\n return css`\n background-color: var(--color-notification-negative);\n\n &::after {\n background-color: var(--color-feedback-negative);\n mask-image: url(${error});\n }\n `;\n\n default:\n return css`\n &::after {\n display: none;\n }\n `;\n }\n }}\n`;\n\nexport const RewardIcon = styled(SectionIcon)<{\n status: REWARD_STATUS;\n}>`\n ${FeedbackIconCSS};\n\n ${(props) => {\n switch (props.status) {\n case REWARD_STATUS.APPROVED:\n return css`\n background-color: var(--color-notification-positive);\n\n &::after {\n background-color: var(--color-feedback-positive);\n mask-image: url(${checked});\n }\n `;\n\n case REWARD_STATUS.ON_REVIEW:\n return css`\n background-color: var(--color-notification-in-progress);\n\n &::after {\n background-color: var(--color-feedback-in-progress);\n mask-image: url(${progress});\n }\n `;\n\n case REWARD_STATUS.DECLINED:\n return css`\n background-color: var(--color-notification-negative);\n\n &::after {\n background-color: var(--color-feedback-negative);\n mask-image: url(${error});\n }\n `;\n\n default:\n return css`\n &::after {\n display: none;\n }\n `;\n }\n }}\n`;\n\nexport const BenefitsList = styled.ul`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n`;\n","import styled, { css } from \"styled-components\";\n\nimport { InvitationContent } from \"../../styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { REWARD_STATUS } from \"api/services/public-service\";\n\nexport const RewardContentWrapper = styled(InvitationContent)`\n display: flex;\n flex-direction: column;\n gap: 2.4rem;\n`;\n\nexport const StepWrapper = styled.div<{\n status?: REWARD_STATUS;\n}>`\n display: contents;\n\n --_status-color: var(--color-background-4);\n\n ${(props) => {\n switch (props.status) {\n case REWARD_STATUS.APPROVED:\n return css`\n --_status-color: var(--color-notification-positive);\n `;\n\n case REWARD_STATUS.DECLINED:\n return css`\n --_status-color: var(--color-notification-negative);\n `;\n\n case REWARD_STATUS.ON_REVIEW:\n return css`\n --_status-color: var(--color-notification-in-progress);\n `;\n }\n }}\n\n ${BREAKPOINT.ml} {\n &:not(:last-child)::after {\n content: \"\";\n\n height: 6rem;\n width: 0.2rem;\n\n align-self: center;\n\n background-color: var(--_status-color);\n }\n }\n`;\n\nexport const SectionContent = styled.div`\n font: var(--font-body);\n\n border-radius: 8px;\n background-color: var(--color-background-glass-2);\n\n padding: 2.4rem;\n\n ${BREAKPOINT.ml} {\n padding: 0;\n\n border-radius: unset;\n background-color: unset;\n }\n`;\n\nexport const ContentTitle = styled.h3`\n font: var(--font-body-bold);\n color: var(--color-text-primary);\n\n margin-bottom: 0.8rem;\n\n ${BREAKPOINT.ml} {\n text-align: center;\n font: var(--font-subtitle-bold);\n }\n`;\n\nexport const RewardSection = styled.section`\n display: grid;\n grid-template-columns: auto 1fr;\n grid-gap: 2.4rem;\n\n ${BREAKPOINT.ml} {\n gap: 2.4rem;\n\n padding: 1.6rem;\n\n border-radius: 8px;\n background-color: var(--color-background-glass-2);\n\n grid-template-columns: 1fr;\n }\n`;\n","import { BENEFIT_STATUS } from \"api/services/public-service\";\n\nexport const TRANSLATIONS = {\n BENEFITS: \"campaign__benefits\",\n};\n\nexport const NOT_CLAIMED_STATUSES = [\n BENEFIT_STATUS.NOT_CLAIMED,\n BENEFIT_STATUS.NOT_INIT,\n];\n","import dayjs from \"dayjs\";\nimport { makeAutoObservable } from \"mobx\";\n\nimport { INVITATION_TYPE } from \"../../../store/types\";\nimport { NOT_CLAIMED_STATUSES } from \"../constants\";\nimport {\n BENEFIT_STATUS,\n BENEFITS_TYPE,\n ExtraReward,\n GAME_PLATFORMS,\n ConditionalReward,\n} from \"api/services/public-service\";\nimport { getBenefitName } from \"../utils\";\nimport { FULL_DATE_FORMAT, getFormattedDate } from \"domains/shared/utils/dates\";\nimport { MIN_PLATFORM_AMOUNT } from \"../../constants\";\nimport { BenefitStore } from \"./benefit.store\";\nimport { RewardStore } from \"./reward.store\";\n\nexport class GeneralData {\n public keys: string[] | null = null;\n public isCountryError = false;\n\n public constructor(\n private root: BenefitStore | RewardStore\n ) {\n makeAutoObservable(this, {}, { autoBind: true });\n }\n\n public get isClaimBlocked() {\n return (\n this.invitationStore.invitationType === INVITATION_TYPE.ENDED &&\n NOT_CLAIMED_STATUSES.includes(this.benefit.benefitStatus.id)\n );\n }\n\n public get isCountryBlocked() {\n return (\n this.benefit.type.id === BENEFITS_TYPE.CLOSED_ALPHA_BETA &&\n this.isCountryError\n );\n }\n\n public get isPlatformsVisible() {\n const { invitationType } = this.invitationStore;\n\n return (\n invitationType === INVITATION_TYPE.AVAILABLE &&\n Boolean(this.availablePlatformList.length)\n );\n }\n\n public get availablePlatformList() {\n if (!this.benefit.platforms.length) {\n return [];\n }\n\n return Array.from(\n this.benefit.platforms.reduce>(\n (acc, it) =>\n it.platform.id !== this.activePlatform?.id && it.isAvailable\n ? acc.add(it.platform.name)\n : acc,\n new Set()\n )\n );\n }\n\n public get isActivePlatformIOS() {\n return this.activePlatform?.id === GAME_PLATFORMS.IOS;\n }\n\n public get activePlatform() {\n return this.benefit.platform;\n }\n\n public get displayName() {\n return this.benefit.benefitDescription\n ? this.benefit.benefitDescription\n : getBenefitName(this.benefit.type);\n }\n\n public get isDelivered() {\n return this.benefit.benefitStatus.id === BENEFIT_STATUS.DELIVERED;\n }\n\n public get formattedDeliveryDate() {\n return this.benefit.deliveryDate\n ? getFormattedDate(this.benefit.deliveryDate, FULL_DATE_FORMAT)\n : null;\n }\n\n public get isDeliveryDatePassed() {\n const { invitation } = this.invitationStore;\n\n if (!invitation) {\n return false;\n }\n\n if (this.benefit.type.id === BENEFITS_TYPE.EVENT_INVITATION) {\n return dayjs.utc().isAfter(invitation.registrationClosingDate);\n }\n\n if (this.benefit.deliveryDate) {\n return dayjs.utc().isAfter(this.benefit.deliveryDate);\n }\n\n return true;\n }\n\n public get isBookingDatePassed() {\n const { invitation } = this.invitationStore;\n\n if (!invitation) {\n return false;\n }\n\n if (\n this.benefit.type.id === BENEFITS_TYPE.BOOKING_EVENT &&\n invitation.bookingClosingDate\n ) {\n return dayjs.utc().isAfter(invitation.bookingClosingDate);\n }\n\n return true;\n }\n\n public get isPlatformUpdateAvailable() {\n const { invitation, invitationType } = this.invitationStore;\n\n if (!invitation || this.isReward()) {\n return false;\n }\n\n return (\n invitationType === INVITATION_TYPE.ACTIVE &&\n this.benefit.platforms.length > MIN_PLATFORM_AMOUNT &&\n this.benefit.availablePlatforms &&\n dayjs.utc().isBefore(invitation.registrationClosingDate) &&\n !this.isDeliveryDatePassed\n );\n }\n\n public isReward(): this is this & {\n benefit: ConditionalReward | ExtraReward;\n } {\n return \"id\" in this.benefit;\n }\n\n private get benefit() {\n return this.root.benefit;\n }\n\n private get invitationStore() {\n return this.root.invitationStore;\n }\n}\n","import { makeAutoObservable } from \"mobx\";\n\nimport {\n BenefitPlatformData,\n ExtraReward,\n publicApiService,\n ConditionalReward,\n REWARD_STATUS,\n REWARD_TYPE,\n} from \"api/services/public-service\";\nimport { NOTIFICATION_LVL4, notificationsService } from \"domains/notifications\";\nimport { InvitationStore } from \"../../invitation.store\";\nimport { GeneralData } from \"./general-data\";\nimport { ERROR_CODES, ErrorConfig, getErrorCode } from \"api\";\n\nexport class RewardStore {\n public data: GeneralData = new GeneralData(this);\n public isLoading = false;\n\n public constructor(\n public benefit: T,\n public readonly invitationStore: InvitationStore\n ) {\n makeAutoObservable(this, {}, { autoBind: true });\n }\n\n public get isApproved() {\n return (\n this.isConditionalReward() &&\n this.benefit.adminApproval.id === REWARD_STATUS.APPROVED\n );\n }\n\n public *claim(data: BenefitPlatformData) {\n try {\n this.isLoading = true;\n\n ({ data: this.benefit } = yield publicApiService.claimReward(\n this.invitationStore.id,\n this.benefit.id,\n data\n ));\n } catch (err) {\n const sponsaliaErrorCode = getErrorCode(err as ErrorConfig);\n\n this.data.isCountryError =\n sponsaliaErrorCode === ERROR_CODES.CREATOR_COUNTRY_BLOCKED;\n\n if (!this.data.isCountryError) {\n notificationsService.showError(NOTIFICATION_LVL4.DEFAULT_ERROR);\n }\n\n throw err;\n } finally {\n this.isLoading = false;\n }\n }\n\n public *fetchStatus() {\n try {\n this.isLoading = true;\n\n const { data } = yield publicApiService.fetchRewardStatus(\n this.invitationStore.id,\n this.benefit.id\n );\n\n this.benefit = {\n ...this.benefit,\n benefitStatus: data.benefitStatus,\n };\n } catch {\n notificationsService.showError(NOTIFICATION_LVL4.DEFAULT_ERROR);\n } finally {\n this.isLoading = false;\n }\n }\n\n public *fetchKeys() {\n try {\n const {\n data: { keys },\n } = yield publicApiService.fetchRewardKeys(\n this.invitationStore.id,\n this.benefit.id\n );\n\n this.data.keys = keys;\n } catch {\n notificationsService.showError(NOTIFICATION_LVL4.DEFAULT_ERROR);\n }\n }\n\n public *submitContent(contentUrl: string) {\n if (!this.isConditionalReward()) {\n notificationsService.showError(\"Wrong reward type.\");\n return;\n }\n\n try {\n this.isLoading = true;\n\n ({ data: this.benefit } = yield publicApiService.submitRewardContent(\n this.invitationStore.id,\n this.benefit.id,\n contentUrl\n ));\n } catch {\n notificationsService.showError(NOTIFICATION_LVL4.DEFAULT_ERROR);\n } finally {\n this.isLoading = false;\n }\n }\n\n public updateBenefit(benefit: T) {\n this.benefit = benefit;\n }\n\n private isConditionalReward(): this is this & {\n benefit: ConditionalReward;\n } {\n return this.benefit.rewardType.id === REWARD_TYPE.CONDITIONAL;\n }\n}\n","import styled from \"styled-components\";\n\nimport { SectionContent } from \"../styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const IconWrapper = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 2.4rem;\n\n &::after {\n content: \"\";\n\n width: 0.2rem;\n flex-grow: 1;\n\n background-color: var(--_status-color);\n\n ${BREAKPOINT.ml} {\n display: none;\n }\n }\n`;\n\nexport const Content = styled(SectionContent)`\n display: flex;\n flex-direction: column;\n gap: 2.4rem;\n`;\n","import styled, { css } from \"styled-components\";\n\nimport { Icon } from \"domains/shared/components/icon\";\n\nexport const EmbargoWrapper = styled.div<{\n type: \"positive\" | \"warning\";\n}>`\n display: flex;\n gap: 1.6rem;\n\n padding: 1.6rem;\n\n font: var(--font-body-bold);\n\n border-radius: 8px;\n background-color: var(--color-background-glass-2);\n\n ${(props) => {\n switch (props.type) {\n case \"positive\":\n return css`\n color: var(--color-feedback-positive);\n `;\n\n case \"warning\":\n return css`\n color: var(--color-feedback-warning);\n `;\n }\n }}\n`;\n\nexport const EmbargoIcon = styled(Icon)`\n font-size: 2rem;\n`;\n","import { createContext, useContext } from \"react\";\n\nimport { RewardStore } from \"../stores/reward.store\";\nimport { ConditionalReward } from \"api/services/public-service\";\n\nexport const RewardContext = createContext | null>(\n null\n);\n\nexport const useRewardContext = () => useContext(RewardContext)!;\n","export const TRANSLATIONS = {\n POSITIVE: \"campaign__reward__embargo-positive\",\n WARNING: \"campaign__reward__embargo-warning\",\n};\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EmbargoIcon, EmbargoWrapper } from \"./styles\";\n\nimport { useRewardContext } from \"../../context\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { REWARD_STATUS } from \"api/services/public-service\";\nimport { useInvitationContext } from \"../../../../context\";\n\nexport const EmbargoComponent = observer(() => {\n const { benefit } = useRewardContext();\n const { isEmbargoDatePassed } = useInvitationContext();\n const { t } = useTranslation();\n\n if (benefit.adminApproval.id !== REWARD_STATUS.NOT_INIT) {\n return null;\n }\n\n if (isEmbargoDatePassed) {\n return (\n \n {t(TRANSLATIONS.POSITIVE)}\n \n );\n }\n\n return (\n \n \n
    {t(TRANSLATIONS.WARNING)}
    \n
    \n );\n});\n","import styled, { css } from \"styled-components\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const FeedbackIcon = styled(Icon)`\n font-size: 1.6rem;\n`;\n\nexport const FeedbackWrapper = styled.div<{\n type: \"approved\" | \"declined\" | \"on-review\";\n}>`\n padding: 1.6rem;\n\n font: var(--font-body-bold);\n color: var(--color-text-primary);\n\n border-radius: 8px;\n\n h4 {\n font: var(--font-body-bold);\n\n margin-bottom: 0.8rem;\n }\n\n p {\n display: flex;\n gap: 0.8rem;\n\n font: var(--font-caption);\n\n &:not(:last-child) {\n margin-bottom: 2.4rem;\n }\n }\n\n ${(props) => {\n switch (props.type) {\n case \"approved\":\n return css`\n background-color: var(--color-notification-positive);\n\n ${FeedbackIcon} {\n color: var(--color-feedback-positive);\n }\n `;\n\n case \"declined\":\n return css`\n box-shadow: 0 0 0 1px var(--color-feedback-negative);\n background-color: var(--color-notification-negative);\n\n ${FeedbackIcon} {\n color: var(--color-feedback-negative);\n }\n `;\n\n case \"on-review\":\n return css`\n background-color: var(--color-notification-in-progress);\n `;\n }\n }}\n`;\n\nexport const FeedbackDetails = styled.q`\n display: flex;\n gap: 0.8rem 1.6rem;\n align-items: center;\n\n border-radius: 8px;\n background-color: var(--color-background-2);\n\n padding: 0.8rem 1.6rem;\n\n ${BREAKPOINT.ml} {\n flex-direction: column;\n\n text-align: center;\n\n padding: 1.6rem 0.8rem;\n }\n`;\n\nexport const FeedbackDetailsIcon = styled(Icon)`\n font-size: 3rem;\n\n align-self: baseline;\n\n ${BREAKPOINT.ml} {\n align-self: unset;\n }\n`;\n","export const TRANSLATIONS = {\n APPROVED_TITLE: \"campaign__reward__feedback-approved-title\",\n APPROVED_DESCRIPTION: \"campaign__reward__feedback-approved-description\",\n REJECTED_TITLE: \"campaign__reward__feedback-rejected-title\",\n REJECTED_DESCRIPTION: \"campaign__reward__feedback-rejected-description\",\n PENDING_TITLE: \"campaign__reward__feedback-pending-title\",\n PENDING_DESCRIPTION: \"campaign__reward__feedback-pending-description\",\n};\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n FeedbackWrapper,\n FeedbackIcon,\n FeedbackDetailsIcon,\n FeedbackDetails,\n} from \"./styles\";\n\nimport { useRewardContext } from \"../../context\";\nimport { REWARD_STATUS } from \"api/services/public-service\";\nimport { TRANSLATIONS } from \"./constants\";\n\nexport const FeedbackComponent = observer(() => {\n const { benefit } = useRewardContext();\n const { t } = useTranslation();\n\n switch (benefit.adminApproval?.id) {\n case REWARD_STATUS.APPROVED:\n return (\n \n

    {t(TRANSLATIONS.APPROVED_TITLE)}

    \n

    \n \n {t(TRANSLATIONS.APPROVED_DESCRIPTION)}\n

    \n
    \n );\n\n case REWARD_STATUS.DECLINED:\n return (\n \n

    {t(TRANSLATIONS.REJECTED_TITLE)}

    \n

    \n \n {t(TRANSLATIONS.REJECTED_DESCRIPTION)}\n

    \n\n {benefit.reason && (\n \n \n
    {benefit.reason}
    \n
    \n )}\n
    \n );\n\n case REWARD_STATUS.ON_REVIEW:\n return (\n \n

    {t(TRANSLATIONS.PENDING_TITLE)}

    \n

    \n \n {t(TRANSLATIONS.PENDING_DESCRIPTION)}\n

    \n
    \n );\n\n default:\n return null;\n }\n});\n","export const TRANSLATIONS = {\n TITLE: \"campaign__reward__content-title\",\n DESCRIPTION: \"campaign__reward__content-description\",\n};\n","import styled from \"styled-components\";\n\nimport { InputComponent } from \"domains/shared/components/input\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const UrlInput = styled(InputComponent)`\n flex-grow: 1;\n\n ${BREAKPOINT.ml} {\n width: 100%;\n }\n`;\n\nexport const Form = styled.form`\n display: flex;\n align-items: baseline;\n gap: 1.6rem;\n\n ${BREAKPOINT.ml} {\n flex-direction: column;\n }\n`;\n\nexport const ActionsWrapper = styled.div`\n display: flex;\n align-items: center;\n gap: 1.6rem;\n\n ${BREAKPOINT.ml} {\n width: 100%;\n\n & > * {\n flex: 1 1 100%;\n }\n }\n`;\n","import i18n from \"i18next\";\nimport { Pattern } from \"@lion/form-core\";\n\nimport { REQUIRED_VALIDATOR } from \"domains/shared/validators\";\n\nexport const TRANSLATIONS = {\n SUBMIT: \"button__submit\",\n CANCEL: \"button__cancel\",\n CONFIRM: \"button__confirm\",\n PLACEHOLDER: \"campaign__reward__content-placeholder\",\n VALIDATION_ERROR_MESSAGE: \"validation-message__pattern__reward-content\",\n};\n\nconst CONTENT_URL_PATTERN = /^https:\\/\\/(www\\.)?(youtube\\.com|youtu\\.be|twitch\\.tv|(m\\.)?tiktok\\.com|instagram\\.com|facebook\\.com|x\\.com)\\/.*/i;\n\nexport const VALIDATION_RULES = [\n new Pattern(CONTENT_URL_PATTERN, {\n getMessage: () => i18n.t(TRANSLATIONS.VALIDATION_ERROR_MESSAGE),\n }),\n REQUIRED_VALIDATOR,\n];\n","import React, { useState } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\nimport { ModelValueChangedEvt } from \"@egg-react/input\";\n\nimport { ActionsWrapper, Form, UrlInput } from \"./styles\";\n\nimport { useRewardContext } from \"../../context\";\nimport { Button } from \"domains/shared/components/button\";\nimport { LoadingComponent } from \"domains/shared/components/loading\";\nimport { TRANSLATIONS, VALIDATION_RULES } from \"./constants\";\nimport { REWARD_STATUS } from \"api/services/public-service\";\nimport { INVITATION_TYPE } from \"domains/dashboard/campaigns/store/types\";\nimport { useForm } from \"domains/shared/hooks/useForm\";\nimport { useInvitationContext } from \"../../../../context\";\n\nexport const FormComponent = observer(() => {\n const { t } = useTranslation();\n const { benefit, isLoading, submitContent } = useRewardContext();\n const { invitationType, isEmbargoDatePassed } = useInvitationContext();\n const {\n formData,\n isFormValid,\n register,\n onFormDataChange,\n onSubmitHandler,\n } = useForm({\n url: benefit.contentUrl ?? \"\",\n });\n\n const [confirm, setConfirm] = useState(false);\n\n const onUrlChange = (_: string, evt: ModelValueChangedEvt) => {\n onFormDataChange(evt.target);\n };\n\n const onConfirmToggle = () => {\n setConfirm((state) => !state);\n };\n\n const onSubmit = async () => {\n await submitContent(formData.url);\n onConfirmToggle();\n };\n\n const { adminApproval } = benefit;\n const actionVisible = [\n REWARD_STATUS.NOT_INIT,\n REWARD_STATUS.DECLINED,\n ].includes(adminApproval.id);\n const isInputEnable =\n actionVisible &&\n isEmbargoDatePassed &&\n invitationType === INVITATION_TYPE.ACTIVE;\n const isSubmitDisabled = !isFormValid || !isInputEnable;\n\n return (\n
    \n \n\n {actionVisible && (\n \n \n {!confirm && (\n \n )}\n\n {confirm && (\n <>\n \n \n \n )}\n \n \n )}\n \n );\n});\n","import styled from \"styled-components\";\n\nimport { Icon } from \"domains/shared/components/icon\";\n\nexport const EndDateWrapper = styled.div`\n display: flex;\n gap: 1.6rem;\n\n padding: 1.6rem;\n\n font: var(--font-body-bold);\n color: var(--color-text-primary);\n\n border-radius: 8px;\n background-color: var(--color-background-glass-2);\n`;\n\nexport const TimeIcon = styled(Icon)`\n font-size: 2rem;\n`;\n","export const TRANSLATIONS = {\n END_DATE: \"campaign__reward__end-date\",\n};\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EndDateWrapper, TimeIcon } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useInvitationContext } from \"../../../../context\";\nimport {\n DAY_MONTH_YEAR_FORMAT,\n getFormattedDate,\n} from \"domains/shared/utils/dates\";\n\nexport const EndDateComponent = observer(() => {\n const { invitation } = useInvitationContext();\n const { t } = useTranslation();\n\n if (!invitation.endDate) {\n return null;\n }\n\n const formattedEndDate = getFormattedDate(\n invitation.endDate,\n DAY_MONTH_YEAR_FORMAT\n );\n\n return (\n \n \n
    \n {t(TRANSLATIONS.END_DATE, {\n date: formattedEndDate,\n })}\n
    \n
    \n );\n});\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Content, IconWrapper } from \"./styles\";\nimport { RewardSection, ContentTitle, StepWrapper } from \"../styles\";\nimport { RewardIcon } from \"../../styles\";\n\nimport { EmbargoComponent } from \"./embargo/embargo.component\";\nimport { FeedbackComponent } from \"./feedback/feedback.component\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { FormComponent } from \"./form/form.component\";\nimport { useRewardContext } from \"../context\";\nimport { EndDateComponent } from \"./end-date/end-date.component\";\n\nexport const UserContentComponent = observer(() => {\n const { t } = useTranslation();\n const { data, benefit } = useRewardContext();\n\n if (data.isDelivered) {\n return null;\n }\n\n const { adminApproval } = benefit;\n\n return (\n \n \n \n \n \n\n
    \n {t(TRANSLATIONS.TITLE)}\n\n \n
    {t(TRANSLATIONS.DESCRIPTION)}
    \n\n \n \n \n \n
    \n
    \n
    \n
    \n );\n});\n","import styled from \"styled-components\";\n\nimport { SectionContent } from \"../styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const IconWrapper = styled.div`\n ${BREAKPOINT.ml} {\n display: flex;\n justify-content: center;\n }\n`;\n\nexport const BenefitName = styled.div`\n font: var(--font-subtitle-bold);\n color: var(--color-text-primary);\n word-break: keep-all;\n\n ${BREAKPOINT.ml} {\n text-align: center;\n }\n`;\n\nexport const Content = styled(SectionContent)`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 1.6rem;\n\n ${BREAKPOINT.ml} {\n flex-direction: column;\n }\n`;\n","export const TRANSLATIONS = {\n TITLE: \"Claim your welcome reward\",\n PARTICIPATE_TO_RECEIVED: \"campaign__participate-to-received\",\n PUBLISH_TO_RECEIVE: \"campaign__publish-to-receive\",\n DISPLAY: \"button__display\",\n ESTIMATED_DELIVERY: \"campaign__estimated-delivery\",\n ADDED_TO_CONNECT: \"campaign__benefits__added-to-connect\",\n ADDED_TO_GAME: \"campaign__benefits__added-to-game\",\n INVITATION_AVAILABLE: \"event-invitation__benefit__available\",\n};\n","import styled from \"styled-components\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { Button } from \"domains/shared/components/button\";\n\nexport const ClaimedWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 0.8rem;\n align-items: flex-end;\n\n ${BREAKPOINT.ml} {\n align-items: center;\n }\n`;\n\nexport const ClaimedText = styled.p`\n text-align: right;\n\n ${BREAKPOINT.ml} {\n text-align: center;\n }\n`;\n\nexport const StatusWrapper = styled.div`\n display: flex;\n align-items: center;\n gap: 0.8rem;\n\n border-radius: 8px;\n background-color: var(--color-background-4);\n\n font: var(--font-body-bold);\n color: var(--color-feedback-positive);\n\n padding: 0.8rem;\n`;\n\nexport const StatusIcon = styled(Icon)`\n font-size: 2rem;\n`;\n\nexport const ActionCTA = styled(Button)`\n ${BREAKPOINT.ml} {\n width: 100%;\n }\n`;\n","import styled from \"styled-components\";\n\nimport { DialogDescription, DialogTitle } from \"../../styles\";\n\nimport { Dropdown } from \"domains/shared/components/dropdown\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { CheckboxComponent } from \"domains/shared/components/checkbox\";\nimport { Combobox } from \"domains/shared/components/combobox\";\nimport { InputComponent } from \"domains/shared/components/input\";\nimport { Icon } from \"../../../shared/components/icon\";\n\nexport const Title = styled(DialogTitle)`\n margin-bottom: 2.4rem;\n`;\n\nexport const Description = styled(DialogDescription)`\n font: var(--font-body);\n\n margin-bottom: 2.4rem;\n`;\n\nexport const Platforms = styled(Dropdown)`\n width: 100%;\n`;\n\nexport const CountriesDropdown = styled(Combobox)`\n width: 100%;\n`;\n\nexport const InputWrapper = styled(InputComponent)`\n width: 100%;\n`;\n\nexport const Label = styled.label`\n font: var(--font-subtitle-bold);\n\n margin-bottom: 0.4rem;\n`;\n\nexport const PlatformsWrapper = styled.div`\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-gap: 2.4rem;\n\n ${BREAKPOINT.tm} {\n grid-template-columns: 1fr;\n }\n`;\n\nexport const FormControlWrapper = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nexport const AppleIdConsentCheckbox = styled(CheckboxComponent)`\n grid-column: 1 / -1;\n\n .MuiFormControlLabel-label {\n font: var(--font-body);\n }\n`;\n\nexport const WarningWrapper = styled.div`\n color: var(--color-feedback-warning);\n\n border-radius: 5px;\n background: var(--color-background-4);\n\n display: flex;\n gap: 1rem;\n grid-column: 1 / -1;\n\n padding: 2rem 1.8rem;\n`;\n\nexport const WarningIcon = styled(Icon)`\n font-size: 1.6rem;\n`;\n\nexport const WarningText = styled.div`\n font: var(--font-subtitle-bold);\n`;\n","export const TRANSLATIONS = {\n TITLE: \"dialog__update-platform__title\",\n DESCRIPTION: \"dialog__update-platform__description\",\n CANCEL: \"button__cancel\",\n SUBMIT: \"button__confirm\",\n PLATFORMS_LABEL: \"dialog__update-platform__label\",\n PLATFORMS_PLACEHOLDER: \"dialog__update-platform__placeholder\",\n APPLE_ID_LABEL: \"dialog__update-platform__apple-id-label\",\n APPLE_ID_PLACEHOLDER: \"dialog__update-platform__apple-id-placeholder\",\n APPLE_ID_CONSENT_LABEL: \"dialog__update-platform__apple-id-consent-label\",\n COUNTRY_PLACEHOLDER: \"dialog__participation__country-placeholder\",\n COUNTRY_LABEL: \"dialog__participation__country-label\",\n COUNTRY_WARNING: \"dialog__participation__country-warning\",\n};\n","import React, { FC, FormEvent, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport Dialog from \"rc-dialog\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n CloseIcon,\n DialogActions,\n DialogCloseButton,\n DialogContent,\n} from \"domains/dialogs/styles\";\nimport {\n AppleIdConsentCheckbox,\n Description,\n FormControlWrapper,\n Label,\n Platforms,\n PlatformsWrapper,\n Title,\n CountriesDropdown,\n InputWrapper,\n WarningWrapper,\n WarningIcon,\n WarningText,\n} from \"./styles\";\n\nimport { Button } from \"domains/shared/components/button\";\nimport { DropdownEvent } from \"domains/shared/components/dropdown/types\";\nimport { DialogProps } from \"../../types\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport {\n BenefitPlatform,\n BenefitPlatformData,\n} from \"api/services/public-service\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\nimport {\n EMAIL_PATTERN_VALIDATOR,\n REQUIRED_VALIDATOR,\n} from \"domains/shared/validators\";\nimport { BenefitPlatformsStore } from \"../../invitation/stores/benefit-platforms.store\";\nimport { ComboboxChangeHandler } from \"domains/shared/components/combobox/combobox.component\";\nimport { NOTIFICATION_LVL4, notificationsService } from \"domains/notifications\";\n\ntype Props = {\n platforms: BenefitPlatform[];\n onSubmit: (data: BenefitPlatformData) => void;\n activePlatformId?: number;\n} & DialogProps;\n\nexport const BenefitPlatformDialog: FC = observer(\n ({ platforms, activePlatformId, ...props }) => {\n const [store] = useState(\n () => new BenefitPlatformsStore(platforms, activePlatformId)\n );\n const { t } = useTranslation();\n const [fetch, isLoading] = useLoadingAction();\n\n const {\n countriesOptions,\n countryId,\n isRegionRequired,\n platformId,\n isAppleIdRequired,\n isDataValid,\n appleId,\n platformsOptions,\n } = store;\n\n const onPlatformChange = (event: DropdownEvent) => {\n const platformId = Number(event.target.value);\n const selectedPlatform = platformsOptions.find(\n (platform) => platform.id === platformId\n );\n\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.platformPopup,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.changePlatformTo +\n selectedPlatform?.name\n );\n\n store.setPlatformId(platformId);\n };\n\n const onCloseDialog = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.platformPopup,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.closePlatformChange\n );\n\n props.onClose();\n };\n\n const onCountryChange: ComboboxChangeHandler = (_, value) => {\n const id = Number(value.id);\n\n store.setCountryId(id);\n };\n\n const onAppleIdChange = (value: string) => {\n store.setAppleId(value);\n };\n\n const onAppleIdConsentChange = () => {\n store.toggleAppleIdConsent();\n };\n\n const onSubmit = async (evt: FormEvent) => {\n evt.preventDefault();\n\n if (!platformId) {\n return;\n }\n\n fetch(async () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.platformPopup,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.confirmPlatformChange\n );\n\n try {\n await props.onSubmit({\n platformId,\n appleId,\n countryId,\n });\n } catch {\n notificationsService.showError(NOTIFICATION_LVL4.DEFAULT_ERROR);\n }\n });\n };\n\n const isSameData =\n activePlatformId === platformId &&\n !isAppleIdRequired &&\n !isRegionRequired;\n const isSubmitBlocked = isSameData || !isDataValid;\n\n return (\n \n \n \n \n\n \n {t(TRANSLATIONS.TITLE)}\n {t(TRANSLATIONS.DESCRIPTION)}\n\n \n \n \n\n \n \n\n {isRegionRequired && (\n <>\n \n \n\n \n \n\n \n \n {t(TRANSLATIONS.COUNTRY_WARNING)}\n \n \n )}\n\n {isAppleIdRequired && (\n <>\n \n \n\n \n \n\n \n \n )}\n \n \n\n \n \n\n \n {t(TRANSLATIONS.SUBMIT)}\n \n \n\n {isLoading && }\n \n );\n }\n);\n","export const CHECK_STATUS_DELAY = 5000;\n\nexport const TRANSLATIONS = {\n CLAIM_IN_PROGRESS: \"campaign__benefits__in-progress\",\n CLAIMED: \"campaign__benefits__claimed\",\n CLAIM: \"button__claim\",\n};\n","export const delay = () => {\n let timerId: ReturnType;\n let rejectFn: () => void;\n\n return {\n sleep(ms: number) {\n return new Promise((resolve, reject) => {\n rejectFn = reject;\n timerId = setTimeout(resolve, ms);\n });\n },\n cancel() {\n rejectFn?.();\n clearTimeout(timerId);\n },\n };\n};\n","import React, { FC, useEffect, useRef } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ClaimedText,\n ClaimedWrapper,\n StatusIcon,\n ActionCTA,\n StatusWrapper,\n} from \"./styles\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { BenefitPlatformDialog } from \"domains/dialogs/benefits/benefit-platform/benefit-platform.dialog\";\nimport { CHECK_STATUS_DELAY, TRANSLATIONS } from \"./constants\";\nimport {\n BENEFIT_STATUS,\n ExtraReward,\n ConditionalReward,\n} from \"api/services/public-service\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\nimport { delay } from \"domains/shared/utils/sleep\";\nimport { LoadingComponent } from \"domains/shared/components/loading\";\nimport { RewardStore } from \"../../stores/reward.store\";\n\ntype Props = {\n store: RewardStore;\n};\n\nexport const ClaimRewardComponent: FC = observer(({ store }) => {\n const { dialogs } = useRootStore();\n const { t } = useTranslation();\n const [action, isLoading] = useLoadingAction();\n\n const sleepTimer = useRef(delay());\n\n useEffect(() => {\n return sleepTimer.current.cancel;\n }, []);\n\n if (isLoading) {\n return ;\n }\n\n const { benefit, claim, fetchStatus } = store;\n\n if (benefit.benefitStatus.id === BENEFIT_STATUS.PENDING) {\n return (\n \n \n \n
    {t(TRANSLATIONS.CLAIMED)}
    \n
    \n\n {t(TRANSLATIONS.CLAIM_IN_PROGRESS)}\n
    \n );\n }\n\n const onClaimClick = async () => {\n await dialogs.openDialog(BenefitPlatformDialog, {\n platforms: benefit.platforms,\n onSubmit: claim,\n });\n\n action(async () => {\n await sleepTimer.current.sleep(CHECK_STATUS_DELAY);\n await fetchStatus();\n });\n };\n\n return {t(TRANSLATIONS.CLAIM)};\n});\n","import styled from \"styled-components\";\n\nimport { Button } from \"domains/shared/components/button\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const ActionCTA = styled(Button)`\n ${BREAKPOINT.ml} {\n width: 100%;\n }\n`;\n","export const TRANSLATIONS = {\n DISPLAY: \"button__display\",\n};\n","import styled from \"styled-components\";\n\nimport { DialogDescription, DialogTitle } from \"../../styles\";\n\nexport const Title = styled(DialogTitle)`\n text-align: center;\n\n margin-bottom: 1.6rem;\n`;\n\nexport const Description = styled(DialogDescription)`\n text-align: center;\n\n &:not(:last-child) {\n margin-bottom: 1.6rem;\n }\n`;\n\nexport const KeysList = styled.ul`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n\n width: 100%;\n`;\n\nexport const Key = styled.li`\n font-size: 2rem;\n line-height: 3.2rem;\n font-weight: bold;\n text-align: center;\n\n padding: 0.8rem 2.4rem;\n\n border: 1px solid rgba(0, 0, 0, 0.16);\n border-radius: 5px;\n background-color: var(--color-background-2);\n cursor: text;\n box-shadow: inset 0 0 0 1px var(--color-stroke-3);\n`;\n","export const TRANSLATIONS = {\n KEYS_TITLE: \"dialog__benefit-keys__title-keys\",\n CONNECT_TITLE: \"dialog__benefit-keys__title-connect\",\n CONNECT_KEYS: \"dialog__benefit-keys__connect\",\n DETAILS: \"dialog__benefit-keys__details\",\n PLATFORM_KEYS: \"dialog__benefit-keys__platform-keys\",\n CLOSE: \"button__close\",\n};\n","import React, { FC } from \"react\";\nimport Dialog from \"rc-dialog\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n CloseIcon,\n DialogActions,\n DialogCloseButton,\n DialogContent,\n} from \"../../styles\";\nimport { Description, Key, KeysList, Title } from \"./styles\";\n\nimport { DialogProps } from \"../../types\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { ExternalLink } from \"domains/shared/components\";\nimport { Button } from \"domains/shared/components/button\";\nimport { Platform } from \"api/services/public-service\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\n\ntype Props = {\n keys: string[];\n platform: Platform;\n} & DialogProps;\n\nexport const BenefitKeysDialog: FC = ({ keys, platform, ...props }) => {\n const { t } = useTranslation();\n\n return (\n \n \n \n \n\n {keys.length ? (\n \n {t(TRANSLATIONS.KEYS_TITLE)}\n\n \n

    {t(TRANSLATIONS.PLATFORM_KEYS, { platform: platform.name })}

    \n

    \n {Trans({\n i18nKey: TRANSLATIONS.DETAILS,\n components: {\n page: (\n \n ),\n },\n })}\n

    \n
    \n\n \n {keys.map((key) => (\n {key}\n ))}\n \n
    \n ) : (\n \n {t(TRANSLATIONS.CONNECT_TITLE)}\n {t(TRANSLATIONS.CONNECT_KEYS)}\n \n )}\n\n \n \n \n
    \n );\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { ActionCTA } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { LoadingComponent } from \"domains/shared/components/loading\";\nimport { BenefitKeysDialog } from \"domains/dialogs/benefits/benefit-keys/benefit-keys.dialog\";\nimport { useRootStore } from \"init/root-store\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\nimport { BenefitStore } from \"../../stores/benefit.store\";\nimport { RewardStore } from \"../../stores/reward.store\";\nimport { ExtraReward, ConditionalReward } from \"api/services/public-service\";\n\ntype Props = {\n store: BenefitStore | RewardStore;\n};\n\nexport const KeysComponent: FC = observer(({ store }) => {\n const { dialogs } = useRootStore();\n const { t } = useTranslation();\n const [action, isLoading] = useLoadingAction();\n\n const onDisplayClick = async () => {\n const { data } = store;\n\n if (!data.keys) {\n await action(async () => {\n await store.fetchKeys();\n });\n }\n\n if (data.keys && data.activePlatform) {\n await dialogs.openDialog(BenefitKeysDialog, {\n keys: data.keys,\n platform: data.activePlatform,\n });\n }\n };\n\n return (\n \n {t(TRANSLATIONS.DISPLAY)}\n \n );\n});\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { DeliveryStatusText } from \"../../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useRewardContext } from \"../context\";\nimport { ClaimRewardComponent } from \"../../components/claim/claim-reward.component\";\nimport { KeysComponent } from \"../../components/keys\";\n\nexport const KeysDeliveryComponent: FC = observer(() => {\n const { t } = useTranslation();\n const rewardStore = useRewardContext();\n\n const {\n isDeliveryDatePassed,\n isDelivered,\n activePlatform,\n isClaimBlocked,\n formattedDeliveryDate,\n } = rewardStore.data;\n\n if (!isDeliveryDatePassed) {\n return (\n \n {t(TRANSLATIONS.ESTIMATED_DELIVERY, {\n date: formattedDeliveryDate,\n })}\n \n );\n }\n\n if (!isDelivered && !isClaimBlocked) {\n return ;\n }\n\n if (isDelivered && activePlatform) {\n return ;\n }\n\n return null;\n});\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { DeliveryStatusText, StatusIcon } from \"../../styles\";\n\nimport { GAME_PLATFORMS } from \"api/services/public-service\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { useRewardContext } from \"../context\";\nimport { ClaimRewardComponent } from \"../../components/claim/claim-reward.component\";\n\nexport const GameItemsDeliveryComponent: FC = observer(() => {\n const { t } = useTranslation();\n const rewardStore = useRewardContext();\n\n const {\n formattedDeliveryDate,\n isDeliveryDatePassed,\n isDelivered,\n activePlatform,\n isClaimBlocked,\n } = rewardStore.data;\n\n if (!isDeliveryDatePassed) {\n return (\n \n {t(TRANSLATIONS.ESTIMATED_DELIVERY, {\n date: formattedDeliveryDate,\n })}\n \n );\n }\n\n if (isDelivered) {\n return (\n \n \n
    \n {t(\n activePlatform?.id === GAME_PLATFORMS.PC\n ? TRANSLATIONS.ADDED_TO_CONNECT\n : TRANSLATIONS.ADDED_TO_GAME\n )}\n
    \n
    \n );\n }\n\n if (!isDelivered && !isClaimBlocked) {\n return ;\n }\n\n return null;\n});\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DeliveryStatusText } from \"../../styles\";\n\nimport { useRewardContext } from \"../context\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { ClaimRewardComponent } from \"../../components/claim/claim-reward.component\";\n\nexport const InvitationDeliveryComponent: FC = observer(() => {\n const rewardStore = useRewardContext();\n const { t } = useTranslation();\n\n const {\n isDelivered,\n isClaimBlocked,\n availablePlatformList,\n } = rewardStore.data;\n\n if (isDelivered) {\n return (\n \n {t(TRANSLATIONS.INVITATION_AVAILABLE)}\n \n );\n }\n\n if (!isDelivered && !isClaimBlocked && availablePlatformList.length) {\n return ;\n }\n\n return null;\n});\n","import { FC } from \"react\";\n\nimport { BENEFITS_TYPE } from \"api/services/public-service\";\nimport { KeysDeliveryComponent } from \"./delivary/keys-delivery.component\";\nimport { GameItemsDeliveryComponent } from \"./delivary/game-items-delivery.component\";\nimport { InvitationDeliveryComponent } from \"./delivary/invitation-delivery.component\";\n\nexport const TRANSLATIONS = {\n TITLE: \"campaign__reward__title\",\n};\n\nexport const DELIVERY_TYPE_COMPONENT: Record = {\n [BENEFITS_TYPE.EARLY_ACCESS_REDEEM]: null,\n [BENEFITS_TYPE.GAME_KEYS]: KeysDeliveryComponent,\n [BENEFITS_TYPE.IN_GAME_ITEMS]: GameItemsDeliveryComponent,\n [BENEFITS_TYPE.PHYSICAL_GOODS]: null,\n [BENEFITS_TYPE.DROPS_VIEWER_REWARDS]: null,\n [BENEFITS_TYPE.SUBSCRIBER_REWARDS]: null,\n [BENEFITS_TYPE.EVENT_INVITATION]: InvitationDeliveryComponent,\n [BENEFITS_TYPE.HAND_ON_SESSION]: null,\n [BENEFITS_TYPE.REVENUE_SHARING]: null,\n [BENEFITS_TYPE.EARLY_ACCESS_PRODUCTION]: null,\n [BENEFITS_TYPE.CLOSED_ALPHA_BETA]: null,\n [BENEFITS_TYPE.BOOKING_EVENT]: null,\n [BENEFITS_TYPE.DISCORD]: null,\n};\n","import React, { useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { RewardSection, ContentTitle, StepWrapper } from \"../styles\";\nimport { BenefitName, Content, IconWrapper } from \"./styles\";\nimport {\n BenefitIcon,\n DeliveryStatusText,\n DeliveryTypeWrapper,\n} from \"../../styles\";\n\nimport { useRewardContext } from \"../context\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { DELIVERY_TYPE_COMPONENT } from \"../constants\";\n\nexport const BenefitDeliveryComponent = observer(() => {\n const { t } = useTranslation();\n const { benefit, data, isApproved, invitationStore } = useRewardContext();\n\n const { displayName } = data;\n const { benefitStatus } = benefit;\n const Component = DELIVERY_TYPE_COMPONENT[benefit.type.id];\n const isReadyToClaim = isApproved && Component;\n const isAccepted = invitationStore.isAccepted;\n\n const statusText = useMemo(() => {\n if (isAccepted) {\n return (\n \n {t(TRANSLATIONS.PUBLISH_TO_RECEIVE)}\n \n );\n } else {\n return (\n \n {t(TRANSLATIONS.PARTICIPATE_TO_RECEIVED)}\n \n );\n }\n }, [isAccepted, t]);\n\n return (\n \n \n \n \n \n\n
    \n {t(TRANSLATIONS.TITLE)}\n\n \n {displayName}\n \n {isReadyToClaim ? : statusText}\n \n \n
    \n
    \n
    \n );\n});\n","import React, { FC, useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { RewardContentWrapper } from \"./styles\";\nimport { SectionTitle } from \"domains/dashboard/styles\";\n\nimport { RewardStore } from \"../stores/reward.store\";\nimport { ConditionalReward } from \"api/services/public-service\";\nimport { UserContentComponent } from \"./user-content\";\nimport { RewardContext } from \"./context\";\nimport { BenefitDeliveryComponent } from \"./delivary\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { useInvitationContext } from \"../../context\";\n\ntype Props = {\n reward: ConditionalReward;\n};\n\nexport const RewardComponent: FC = observer(({ reward }) => {\n const invitationStore = useInvitationContext();\n const { t } = useTranslation();\n\n const [store] = useState(() => new RewardStore(reward, invitationStore));\n\n useEffect(() => {\n store.updateBenefit(reward);\n }, [store, reward]);\n\n return (\n \n
    \n {t(TRANSLATIONS.TITLE)}\n\n \n \n \n \n
    \n
    \n );\n});\n","import styled from \"styled-components\";\n\nimport { InvitationContent } from \"../../styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const BenefitsContent = styled(InvitationContent)`\n display: grid;\n grid-gap: 2.4rem;\n grid-template-columns: auto 1fr 1fr;\n align-items: center;\n\n ${BREAKPOINT.ml} {\n justify-items: center;\n grid-template-columns: 1fr;\n }\n`;\n\nexport const DataWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 0.4rem;\n\n ${BREAKPOINT.ml} {\n align-items: center;\n }\n`;\n","export const TRANSLATIONS = {\n DROPS_AVAILABLE: \"drops-viewer-rewards__benefit__available\",\n DROPS_ENDED: \"drops-viewer-rewards__benefit__ended\",\n DROPS_DELIVERY_DATE: \"drops-viewer-rewards__benefit__delivery-date\",\n DROPS_DELIVERY_DATE_WAVES:\n \"drops-viewer-rewards__benefit__delivery-date-waves\",\n INVITATION_AVAILABLE: \"event-invitation__benefit__available\",\n PHYSICAL_GOODS_PARTICIPATE: \"physical-goods__benefit__participate\",\n PHYSICAL_GOOD_AVAILABLE: \"physical-goods__benefit__available\",\n SUB_REWARD_AVAILABLE: \"sub-reward__benefit__available\",\n SUB_REWARDS_ENDED: \"sub-reward__benefit__ended\",\n SUB_REWARD_DELIVERY_DATE: \"sub-reward__benefit__delivery-date\",\n SUB_REWARD_REQUIREMENTS: \"sub-reward__benefit__requirements\",\n PARTICIPATE_TO_RECEIVED: \"campaign__participate-to-received\",\n CLOSED_BETA_BLOCKED: \"campaign__benefits__closed-beta-blocked\",\n ESTIMATED_DELIVERY: \"campaign__estimated-delivery\",\n EARLY_ACCESS_REDEEM_IOS: \"campaign__benefits__early-access-redeem__ios\",\n EARLY_ACCESS_PROD: \"campaign__benefits__early-access-production\",\n ADDED_TO_CONNECT: \"campaign__benefits__added-to-connect\",\n ADDED_TO_GAME: \"campaign__benefits__added-to-game\",\n CLOSED_BETA_CONFIRMED: \"campaign__benefits__closed-beta-confirmed\",\n};\n","import { createContext, useContext } from \"react\";\n\nimport { RewardStore } from \"../stores/reward.store\";\nimport { ExtraReward } from \"api/services/public-service\";\n\nexport const ExtraBenefitContext = createContext | null>(\n null\n);\n\nexport const useExtraBenefitContext = () => useContext(ExtraBenefitContext)!;\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { DeliveryStatusText } from \"../../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useExtraBenefitContext } from \"../context\";\nimport { GAME_PLATFORMS } from \"api/services/public-service\";\nimport { ClaimRewardComponent } from \"../../components/claim/claim-reward.component\";\nimport { KeysComponent } from \"../../components/keys\";\nimport { useInvitationContext } from \"../../../context\";\n\nexport const EarlyAccessDeliveryComponent: FC = observer(() => {\n const { t } = useTranslation();\n const extraRewardStore = useExtraBenefitContext();\n const { isAccepted } = useInvitationContext();\n\n const {\n activePlatform,\n isDelivered,\n isDeliveryDatePassed,\n formattedDeliveryDate,\n isClaimBlocked,\n } = extraRewardStore.data;\n\n if (!isAccepted) {\n return (\n \n {t(TRANSLATIONS.PARTICIPATE_TO_RECEIVED)}\n \n );\n }\n\n const isIos = activePlatform?.id === GAME_PLATFORMS.IOS;\n\n if (isIos && isDelivered) {\n return (\n \n {t(TRANSLATIONS.EARLY_ACCESS_REDEEM_IOS)}\n \n );\n }\n\n if (!isDeliveryDatePassed) {\n return (\n \n {t(TRANSLATIONS.ESTIMATED_DELIVERY, {\n date: formattedDeliveryDate,\n })}\n \n );\n }\n\n if (!isDelivered && !isClaimBlocked) {\n return ;\n }\n\n if (isDelivered && activePlatform) {\n return ;\n }\n\n return null;\n});\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { DeliveryStatusText } from \"../../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useExtraBenefitContext } from \"../context\";\nimport { ClaimRewardComponent } from \"../../components/claim/claim-reward.component\";\nimport { KeysComponent } from \"../../components/keys\";\nimport { useInvitationContext } from \"../../../context\";\n\nexport const GameKeysDeliveryComponent: FC = observer(() => {\n const { t } = useTranslation();\n const extraRewardStore = useExtraBenefitContext();\n const { isAccepted } = useInvitationContext();\n\n const {\n isDeliveryDatePassed,\n formattedDeliveryDate,\n isDelivered,\n activePlatform,\n isClaimBlocked,\n } = extraRewardStore.data;\n\n if (!isAccepted) {\n return (\n \n {t(TRANSLATIONS.PARTICIPATE_TO_RECEIVED)}\n \n );\n }\n\n if (!isDeliveryDatePassed) {\n return (\n \n {t(TRANSLATIONS.ESTIMATED_DELIVERY, {\n date: formattedDeliveryDate,\n })}\n \n );\n }\n\n if (!isDelivered && !isClaimBlocked) {\n return ;\n }\n\n if (isDelivered && activePlatform) {\n return ;\n }\n\n return null;\n});\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { DeliveryStatusText, StatusIcon } from \"../../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useExtraBenefitContext } from \"../context\";\nimport { GAME_PLATFORMS } from \"api/services/public-service\";\nimport { ClaimRewardComponent } from \"../../components/claim/claim-reward.component\";\nimport { useInvitationContext } from \"../../../context\";\n\nexport const InGameItemsDeliveryComponent: FC = observer(() => {\n const { t } = useTranslation();\n const extraRewardStore = useExtraBenefitContext();\n const { isAccepted } = useInvitationContext();\n\n const {\n isDelivered,\n activePlatform,\n isDeliveryDatePassed,\n formattedDeliveryDate,\n isClaimBlocked,\n } = extraRewardStore.data;\n\n if (!isAccepted) {\n return (\n \n {t(TRANSLATIONS.PARTICIPATE_TO_RECEIVED)}\n \n );\n }\n\n if (!isDeliveryDatePassed) {\n return (\n \n {t(TRANSLATIONS.ESTIMATED_DELIVERY, {\n date: formattedDeliveryDate,\n })}\n \n );\n }\n\n if (!isDelivered && !isClaimBlocked) {\n return ;\n }\n\n if (isDelivered) {\n return (\n \n \n
    \n {t(\n activePlatform?.id === GAME_PLATFORMS.PC\n ? TRANSLATIONS.ADDED_TO_CONNECT\n : TRANSLATIONS.ADDED_TO_GAME\n )}\n
    \n
    \n );\n }\n\n return null;\n});\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DeliveryStatusText } from \"../../styles\";\n\nimport { useExtraBenefitContext } from \"../context\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { ClaimRewardComponent } from \"../../components/claim/claim-reward.component\";\nimport { useInvitationContext } from \"../../../context\";\n\nexport const PhysicalGoodsDeliveryComponent: FC = observer(() => {\n const { t } = useTranslation();\n const extraRewardStore = useExtraBenefitContext();\n const { isAccepted } = useInvitationContext();\n\n const { isDelivered, isClaimBlocked } = extraRewardStore.data;\n\n if (!isAccepted) {\n return (\n \n {t(TRANSLATIONS.PARTICIPATE_TO_RECEIVED)}\n \n );\n }\n\n if (!isDelivered && !isClaimBlocked) {\n return ;\n }\n\n if (isDelivered) {\n return (\n \n {t(TRANSLATIONS.PHYSICAL_GOOD_AVAILABLE)}\n \n );\n }\n\n return null;\n});\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { DeliveryStatusText } from \"../../styles\";\n\nimport { getDropViewerRewardsText } from \"../../utils\";\nimport { useInvitationContext } from \"../../../context\";\nimport { useExtraBenefitContext } from \"../context\";\n\nexport const ViewerRewardsDeliveryComponent: FC = observer(() => {\n const { invitation, invitationType } = useInvitationContext();\n const { benefit } = useExtraBenefitContext();\n\n const statusText =\n invitationType && invitation\n ? getDropViewerRewardsText(\n invitationType,\n invitation.activationType.id,\n benefit.startDate\n )\n : null;\n\n return {statusText};\n});\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { DeliveryStatusText } from \"../../styles\";\n\nimport { useExtraBenefitContext } from \"../context\";\nimport { getSubRewardsText } from \"../../utils\";\nimport { useInvitationContext } from \"../../../context\";\n\nexport const SubRewardsDeliveryComponent: FC = observer(() => {\n const { invitationType } = useInvitationContext();\n const { benefit } = useExtraBenefitContext();\n\n const statusText = invitationType\n ? getSubRewardsText(invitationType, benefit.startDate)\n : null;\n\n return {statusText};\n});\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DeliveryStatusText } from \"../../styles\";\n\nimport { useExtraBenefitContext } from \"../context\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { ClaimRewardComponent } from \"../../components/claim/claim-reward.component\";\nimport { useInvitationContext } from \"../../../context\";\n\nexport const InvitationDeliveryComponent: FC = observer(() => {\n const { t } = useTranslation();\n const extraRewardStore = useExtraBenefitContext();\n const { isAccepted } = useInvitationContext();\n\n const {\n isClaimBlocked,\n isDelivered,\n availablePlatformList,\n } = extraRewardStore.data;\n\n if (!isAccepted) {\n return (\n \n {t(TRANSLATIONS.PARTICIPATE_TO_RECEIVED)}\n \n );\n }\n\n if (!isDelivered && !isClaimBlocked && availablePlatformList.length) {\n return ;\n }\n\n if (isDelivered) {\n return (\n \n {t(TRANSLATIONS.INVITATION_AVAILABLE)}\n \n );\n }\n\n return null;\n});\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { DeliveryStatusText, StatusIcon } from \"../../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useExtraBenefitContext } from \"../context\";\nimport { ClaimRewardComponent } from \"../../components/claim/claim-reward.component\";\nimport { useInvitationContext } from \"../../../context\";\n\nexport const EarlyAccessProductionDeliveryComponent: FC = observer(() => {\n const { t } = useTranslation();\n const extraRewardStore = useExtraBenefitContext();\n const { isAccepted } = useInvitationContext();\n\n const {\n formattedDeliveryDate,\n isDelivered,\n isClaimBlocked,\n isDeliveryDatePassed,\n } = extraRewardStore.data;\n\n if (!isAccepted) {\n return (\n \n {t(TRANSLATIONS.PARTICIPATE_TO_RECEIVED)}\n \n );\n }\n\n if (!isDeliveryDatePassed) {\n return (\n \n {t(TRANSLATIONS.ESTIMATED_DELIVERY, {\n date: formattedDeliveryDate,\n })}\n \n );\n }\n\n if (!isDelivered && !isClaimBlocked) {\n return ;\n }\n\n if (isDelivered) {\n return (\n \n \n
    {t(TRANSLATIONS.EARLY_ACCESS_PROD)}
    \n
    \n );\n }\n\n return null;\n});\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { DeliveryStatusText, StatusIcon } from \"../../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useExtraBenefitContext } from \"../context\";\nimport { ClaimRewardComponent } from \"../../components/claim/claim-reward.component\";\nimport { useInvitationContext } from \"../../../context\";\n\nexport const ClosedBetaDeliveryComponent: FC = observer(() => {\n const { t } = useTranslation();\n const extraRewardStore = useExtraBenefitContext();\n const { isAccepted } = useInvitationContext();\n\n const {\n isDelivered,\n isDeliveryDatePassed,\n formattedDeliveryDate,\n isClaimBlocked,\n } = extraRewardStore.data;\n\n if (!isAccepted) {\n return (\n \n {t(TRANSLATIONS.PARTICIPATE_TO_RECEIVED)}\n \n );\n }\n\n if (!isDeliveryDatePassed) {\n return (\n \n {t(TRANSLATIONS.ESTIMATED_DELIVERY, {\n date: formattedDeliveryDate,\n })}\n \n );\n }\n\n if (!isDelivered && !isClaimBlocked) {\n return ;\n }\n\n if (isDelivered) {\n return (\n \n \n
    {t(TRANSLATIONS.CLOSED_BETA_CONFIRMED)}
    \n
    \n );\n }\n\n return null;\n});\n","import { FC } from \"react\";\n\nimport { BENEFITS_TYPE } from \"api/services/public-service\";\nimport { EarlyAccessDeliveryComponent } from \"./delivery/early-access-delivery.components\";\nimport { GameKeysDeliveryComponent } from \"./delivery/keys-delivery.components\";\nimport { InGameItemsDeliveryComponent } from \"./delivery/game-items-delivery.components\";\nimport { PhysicalGoodsDeliveryComponent } from \"./delivery/physical-goods-delivery.component\";\nimport { ViewerRewardsDeliveryComponent } from \"./delivery/viewer-rewards-delivery.component\";\nimport { SubRewardsDeliveryComponent } from \"./delivery/sub-rewards-delivery.component\";\nimport { InvitationDeliveryComponent } from \"./delivery/invitation-delivery.component\";\nimport { EarlyAccessProductionDeliveryComponent } from \"./delivery/early-access-prod-delivery.components\";\nimport { ClosedBetaDeliveryComponent } from \"./delivery/closed-beta-delivery.component\";\n\nexport const DELIVERY_TYPE_COMPONENT: Record = {\n [BENEFITS_TYPE.EARLY_ACCESS_REDEEM]: EarlyAccessDeliveryComponent,\n [BENEFITS_TYPE.GAME_KEYS]: GameKeysDeliveryComponent,\n [BENEFITS_TYPE.IN_GAME_ITEMS]: InGameItemsDeliveryComponent,\n [BENEFITS_TYPE.PHYSICAL_GOODS]: PhysicalGoodsDeliveryComponent,\n [BENEFITS_TYPE.DROPS_VIEWER_REWARDS]: ViewerRewardsDeliveryComponent,\n [BENEFITS_TYPE.SUBSCRIBER_REWARDS]: SubRewardsDeliveryComponent,\n [BENEFITS_TYPE.EVENT_INVITATION]: InvitationDeliveryComponent,\n [BENEFITS_TYPE.HAND_ON_SESSION]: null,\n [BENEFITS_TYPE.REVENUE_SHARING]: null,\n [BENEFITS_TYPE.EARLY_ACCESS_PRODUCTION]: EarlyAccessProductionDeliveryComponent,\n [BENEFITS_TYPE.CLOSED_ALPHA_BETA]: ClosedBetaDeliveryComponent,\n [BENEFITS_TYPE.BOOKING_EVENT]: null,\n [BENEFITS_TYPE.DISCORD]: null,\n};\n","import styled from \"styled-components\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { EditButton } from \"domains/shared/components\";\n\nexport const BenefitPlatforms = styled.div`\n font: var(--font-body);\n color: var(--color-text-primary);\n\n ${BREAKPOINT.ml} {\n text-align: center;\n }\n`;\n\nexport const PlatformsWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 0.4rem;\n\n &:empty {\n display: none;\n }\n\n ${BREAKPOINT.ml} {\n align-items: center;\n }\n`;\n\nexport const UpdateCTA = styled(EditButton)`\n text-align: inherit;\n word-break: initial;\n`;\n","export const TRANSLATIONS = {\n UPDATE_PLATFORMS: \"campaign__update-platforms\",\n AVAILABLE_PLATFORMS: \"campaign__available-platforms\",\n SELECTED_PLATFORM: \"campaign__selected-platform\",\n};\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Trans } from \"react-i18next\";\n\nimport { BenefitPlatforms, PlatformsWrapper } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useExtraBenefitContext } from \"../../extra-reward/context\";\n\nexport const RewardPlatformsComponent: FC = observer(() => {\n const { data } = useExtraBenefitContext();\n\n const { activePlatform, availablePlatformList, isPlatformsVisible } = data;\n\n return (\n \n {isPlatformsVisible && (\n \n \n \n )}\n\n {activePlatform && (\n \n \n \n )}\n \n );\n});\n","import styled from \"styled-components\";\n\nimport { DeliveryStatusText } from \"../../styles\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const StatusIcon = styled(Icon)`\n font-size: 1.6rem;\n`;\n\nexport const FeedbackText = styled(DeliveryStatusText)`\n grid-column: 1 / -1;\n\n ${BREAKPOINT.ml} {\n grid-column: 1;\n }\n`;\n","import React from \"react\";\nimport { Trans } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { FeedbackText, StatusIcon } from \"./styles\";\n\nimport { TRANSLATIONS } from \"../../extra-reward/delivery/constants\";\nimport { InternalLink } from \"domains/shared/components\";\nimport { urls } from \"navigation/book\";\n\nexport const CountryBlockedComponent = observer(() => (\n \n \n\n
    \n ,\n }}\n />\n
    \n
    \n));\n","import styled from \"styled-components\";\n\nimport { DeliveryStatusText } from \"../../styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const FeedbackText = styled(DeliveryStatusText)`\n grid-column: 1 / -1;\n\n ${BREAKPOINT.ml} {\n grid-column: 1;\n }\n`;\n","export const TRANSLATIONS = {\n CLOSED_BETA_DELIVERED: \"campaign__benefits__closed-beta-delivered\",\n};\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FeedbackText } from \"./styles\";\n\nimport { BENEFITS_TYPE, ExtraReward } from \"api/services/public-service\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { BenefitStore } from \"../../stores/benefit.store\";\nimport { RewardStore } from \"../../stores/reward.store\";\n\ntype Props = {\n store: BenefitStore | RewardStore;\n};\n\nexport const ExtraFeedbackComponent: FC = observer(({ store }) => {\n const { t } = useTranslation();\n\n const { data, benefit } = store;\n const { isDelivered } = data;\n\n if (isDelivered && benefit.type.id === BENEFITS_TYPE.CLOSED_ALPHA_BETA) {\n return {t(TRANSLATIONS.CLOSED_BETA_DELIVERED)};\n }\n\n return null;\n});\n","import React, { FC, useEffect, useState } from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { BenefitsContent, DataWrapper } from \"./styles\";\nimport { DataName } from \"../../styles\";\nimport { BenefitIcon, DeliveryTypeWrapper } from \"../styles\";\n\nimport { ExtraReward } from \"api/services/public-service\";\nimport { DELIVERY_TYPE_COMPONENT } from \"./constants\";\nimport { ExtraBenefitContext } from \"./context\";\nimport { RewardPlatformsComponent } from \"../components/platforms/reward-platforms.component\";\nimport { useInvitationContext } from \"../../context\";\nimport { CountryBlockedComponent } from \"../components/country-blocked\";\nimport { ExtraFeedbackComponent } from \"../components/extra-feedback\";\nimport { RewardStore } from \"../stores/reward.store\";\n\ntype Props = {\n extraBenefit: ExtraReward;\n};\n\nexport const ExtraBenefitComponent: FC = observer(({ extraBenefit }) => {\n const invitationStore = useInvitationContext();\n\n const Component = DELIVERY_TYPE_COMPONENT[extraBenefit.type.id];\n\n const [store] = useState(\n () => new RewardStore(extraBenefit, invitationStore)\n );\n const { benefit, data } = store;\n const { isCountryBlocked, displayName } = data;\n\n useEffect(() => {\n store.updateBenefit(extraBenefit);\n }, [extraBenefit, store]);\n\n return (\n \n \n \n\n \n {displayName}\n \n \n\n {Component && }\n {isCountryBlocked && }\n \n \n \n );\n});\n","import styled from \"styled-components\";\n\nimport { InvitationContent } from \"../../styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { Button } from \"domains/shared/components/button\";\n\nexport const BenefitsContent = styled(InvitationContent)`\n display: grid;\n grid-gap: 2.4rem;\n grid-template-columns: auto 1fr 1fr;\n align-items: center;\n\n ${BREAKPOINT.ml} {\n justify-items: center;\n grid-template-columns: 1fr;\n }\n`;\n\nexport const DataWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 0.4rem;\n\n ${BREAKPOINT.ml} {\n align-items: center;\n }\n`;\n\nexport const BenefitCTA = styled(Button)`\n ${BREAKPOINT.ml} {\n width: 100%;\n }\n`;\n","export const TRANSLATIONS = {\n DROPS_AVAILABLE: \"drops-viewer-rewards__benefit__available\",\n DROPS_ENDED: \"drops-viewer-rewards__benefit__ended\",\n DROPS_DELIVERY_DATE: \"drops-viewer-rewards__benefit__delivery-date\",\n DROPS_DELIVERY_DATE_WAVES:\n \"drops-viewer-rewards__benefit__delivery-date-waves\",\n EVENT_INV_AVAILABLE: \"event-invitation__benefit__available\",\n PHYSICAL_GOOD_AVAILABLE: \"physical-goods__benefit__available\",\n SUB_REWARD_AVAILABLE: \"sub-reward__benefit__available\",\n SUB_REWARDS_ENDED: \"sub-reward__benefit__ended\",\n SUB_REWARD_DELIVERY_DATE: \"sub-reward__benefit__delivery-date\",\n SUB_REWARD_REQUIREMENTS: \"sub-reward__benefit__requirements\",\n PARTICIPATE_TO_RECEIVED: \"campaign__participate-to-received\",\n CLOSED_BETA_DELIVERED: \"campaign__benefits__closed-beta-delivered\",\n CLOSED_BETA_BLOCKED: \"campaign__benefits__closed-beta-blocked\",\n ESTIMATED_DELIVERY: \"campaign__estimated-delivery\",\n ADDED_TO_CONNECT: \"campaign__benefits__added-to-connect\",\n ADDED_TO_GAME: \"campaign__benefits__added-to-game\",\n EARLY_ACCESS_PROD: \"campaign__benefits__early-access-production\",\n CLOSED_BETA_CONFIRMED: \"campaign__benefits__closed-beta-confirmed\",\n EARLY_ACCESS_REDEEM_IOS: \"campaign__benefits__early-access-redeem__ios\",\n BOOKING_DATE_PASSED: \"campaign__benefits__booking-event__passed\",\n BOOK: \"campaign__benefits__book\",\n OPEN_DISCORD: \"campaign__benefits__open-discord\",\n LINK_DISCORD: \"assistance__contact_us__discord-link\",\n};\n","import { createContext, useContext } from \"react\";\n\nimport { BenefitStore } from \"../stores/benefit.store\";\n\nexport const BenefitContext = createContext(null);\n\nexport const useBenefitContext = () => useContext(BenefitContext)!;\n","import React, { useEffect, useRef } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ClaimedText,\n ClaimedWrapper,\n StatusIcon,\n StatusWrapper,\n ActionCTA,\n} from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { BENEFIT_STATUS } from \"api/services/public-service\";\nimport { LoadingComponent } from \"domains/shared/components/loading\";\nimport { CHECK_STATUS_DELAY } from \"./constants\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\nimport { delay } from \"domains/shared/utils/sleep\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { useBenefitContext } from \"../../benefit/context\";\n\nexport const ClaimBenefitComponent = observer(() => {\n const { claim, benefit, data, fetchStatus } = useBenefitContext();\n const { t } = useTranslation();\n const [action, isLoading] = useLoadingAction();\n\n const sleepTimer = useRef(delay());\n\n useEffect(() => {\n return sleepTimer.current.cancel;\n }, []);\n\n if (isLoading) {\n return ;\n }\n\n if (benefit.benefitStatus.id === BENEFIT_STATUS.PENDING) {\n return (\n \n \n \n
    {t(TRANSLATIONS.CLAIMED)}
    \n
    \n\n {t(TRANSLATIONS.CLAIM_IN_PROGRESS)}\n
    \n );\n }\n\n const onClaimClick = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.benefit + data.displayName,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.display\n );\n\n action(async () => {\n await claim();\n await sleepTimer.current.sleep(CHECK_STATUS_DELAY);\n await fetchStatus();\n });\n };\n\n return (\n \n {t(TRANSLATIONS.CLAIM)}\n \n );\n});\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { DeliveryStatusText } from \"../../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useBenefitContext } from \"../context\";\nimport { ClaimBenefitComponent } from \"../../components/claim/claim-benefit.component\";\nimport { KeysComponent } from \"../../components/keys\";\n\nexport const EarlyAccessDeliveryComponent: FC = observer(() => {\n const { t } = useTranslation();\n const benefitStore = useBenefitContext();\n\n const {\n activePlatform,\n isDelivered,\n isDeliveryDatePassed,\n formattedDeliveryDate,\n isClaimBlocked,\n isActivePlatformIOS,\n } = benefitStore.data;\n\n if (isActivePlatformIOS && isDelivered) {\n return (\n \n {t(TRANSLATIONS.EARLY_ACCESS_REDEEM_IOS)}\n \n );\n }\n\n if (!isDeliveryDatePassed) {\n return (\n \n {t(TRANSLATIONS.ESTIMATED_DELIVERY, {\n date: formattedDeliveryDate,\n })}\n \n );\n }\n\n if (!isDelivered && !isClaimBlocked) {\n return ;\n }\n\n if (isDelivered && activePlatform) {\n return ;\n }\n\n return null;\n});\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { DeliveryStatusText } from \"../../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useBenefitContext } from \"../context\";\nimport { ClaimBenefitComponent } from \"../../components/claim/claim-benefit.component\";\nimport { KeysComponent } from \"../../components/keys\";\n\nexport const GameKeysDeliveryComponent: FC = observer(() => {\n const { t } = useTranslation();\n const benefitStore = useBenefitContext();\n\n const {\n isDeliveryDatePassed,\n formattedDeliveryDate,\n isDelivered,\n activePlatform,\n isClaimBlocked,\n } = benefitStore.data;\n\n if (!isDeliveryDatePassed) {\n return (\n \n {t(TRANSLATIONS.ESTIMATED_DELIVERY, {\n date: formattedDeliveryDate,\n })}\n \n );\n }\n\n if (!isDelivered && !isClaimBlocked) {\n return ;\n }\n\n if (isDelivered && activePlatform) {\n return ;\n }\n\n return null;\n});\n","import styled from \"styled-components\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const StatusIcon = styled(Icon)`\n font-size: 1.6rem;\n`;\n\nexport const WarningWrapper = styled.div`\n padding: 0.8rem;\n\n display: flex;\n align-items: center;\n gap: 0.8rem;\n\n border-radius: 8px;\n background-color: var(--color-background-4);\n\n color: var(--color-feedback-warning);\n font: var(--font-subtitle-bold);\n\n ${BREAKPOINT.ml} {\n width: 100%;\n\n justify-content: center;\n }\n`;\n\nexport const WarningIcon = styled(Icon)`\n font-size: 2rem;\n`;\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { DeliveryStatusText } from \"../../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useBenefitContext } from \"../context\";\nimport { StatusIcon } from \"../status/styles\";\nimport { GAME_PLATFORMS } from \"api/services/public-service\";\nimport { ClaimBenefitComponent } from \"../../components/claim/claim-benefit.component\";\n\nexport const InGameItemsDeliveryComponent: FC = observer(() => {\n const { t } = useTranslation();\n const { data } = useBenefitContext();\n\n const {\n isDeliveryDatePassed,\n isDelivered,\n activePlatform,\n formattedDeliveryDate,\n isClaimBlocked,\n } = data;\n\n if (!isDeliveryDatePassed) {\n return (\n \n {t(TRANSLATIONS.ESTIMATED_DELIVERY, {\n date: formattedDeliveryDate,\n })}\n \n );\n }\n\n if (!isDelivered && !isClaimBlocked) {\n return ;\n }\n\n if (isDelivered) {\n return (\n \n \n
    \n {t(\n activePlatform?.id === GAME_PLATFORMS.PC\n ? TRANSLATIONS.ADDED_TO_CONNECT\n : TRANSLATIONS.ADDED_TO_GAME\n )}\n
    \n
    \n );\n }\n\n return null;\n});\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DeliveryStatusText } from \"../../styles\";\n\nimport { useInvitationContext } from \"../../../context\";\nimport { INVITATION_TYPE } from \"../../../../store/types\";\nimport { TRANSLATIONS } from \"../../utils/constants\";\n\nexport const PhysicalGoodsDeliveryComponent: FC = observer(() => {\n const { invitationType } = useInvitationContext();\n const { t } = useTranslation();\n\n if (invitationType === INVITATION_TYPE.ACTIVE) {\n return (\n \n {t(TRANSLATIONS.PHYSICAL_GOOD_AVAILABLE)}\n \n );\n }\n\n return null;\n});\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { DeliveryStatusText } from \"../../styles\";\n\nimport { useBenefitContext } from \"../context\";\nimport { getDropViewerRewardsText } from \"../../utils\";\nimport { useInvitationContext } from \"../../../context\";\n\nexport const ViewerRewardsDeliveryComponent: FC = observer(() => {\n const { benefit } = useBenefitContext();\n const { invitationType, invitation } = useInvitationContext();\n\n const benefitStatusText = invitationType\n ? getDropViewerRewardsText(\n invitationType,\n invitation.activationType.id,\n benefit.startDate\n )\n : null;\n\n return {benefitStatusText};\n});\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { DeliveryStatusText } from \"../../styles\";\n\nimport { useBenefitContext } from \"../context\";\nimport { getSubRewardsText } from \"../../utils\";\nimport { useInvitationContext } from \"../../../context\";\n\nexport const SubRewardsDeliveryComponent: FC = observer(() => {\n const { benefit } = useBenefitContext();\n const { invitationType } = useInvitationContext();\n\n const benefitStatusText = invitationType\n ? getSubRewardsText(invitationType, benefit.startDate)\n : null;\n\n return benefitStatusText ? (\n {benefitStatusText}\n ) : null;\n});\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DeliveryStatusText } from \"../../styles\";\n\nimport { TRANSLATIONS } from \"../../utils/constants\";\n\nexport const InvitationDeliveryComponent: FC = observer(() => {\n const { t } = useTranslation();\n\n return (\n \n {t(TRANSLATIONS.EVENT_INV_AVAILABLE)}\n \n );\n});\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useBenefitContext } from \"../context\";\nimport { DeliveryStatusText } from \"../../styles\";\nimport { StatusIcon } from \"../status/styles\";\n\nexport const EarlyAccessProductionDeliveryComponent: FC = observer(() => {\n const { t } = useTranslation();\n const { data } = useBenefitContext();\n\n const { isDeliveryDatePassed, formattedDeliveryDate } = data;\n\n if (!isDeliveryDatePassed) {\n return (\n \n {t(TRANSLATIONS.ESTIMATED_DELIVERY, {\n date: formattedDeliveryDate,\n })}\n \n );\n }\n\n return (\n \n \n
    {t(TRANSLATIONS.EARLY_ACCESS_PROD)}
    \n
    \n );\n});\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { StatusIcon } from \"../status/styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useBenefitContext } from \"../context\";\nimport { DeliveryStatusText } from \"../../styles\";\nimport { ClaimBenefitComponent } from \"../../components/claim/claim-benefit.component\";\n\nexport const ClosedBetaDeliveryComponent: FC = observer(() => {\n const { t } = useTranslation();\n const { data } = useBenefitContext();\n\n const {\n isDeliveryDatePassed,\n formattedDeliveryDate,\n isDelivered,\n isClaimBlocked,\n } = data;\n\n if (!isDeliveryDatePassed) {\n return (\n \n {t(TRANSLATIONS.ESTIMATED_DELIVERY, {\n date: formattedDeliveryDate,\n })}\n \n );\n }\n\n if (!isDelivered && !isClaimBlocked) {\n return ;\n }\n\n if (isDelivered) {\n return (\n \n \n
    {t(TRANSLATIONS.CLOSED_BETA_CONFIRMED)}
    \n
    \n );\n }\n\n return null;\n});\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DeliveryStatusText } from \"../../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useBenefitContext } from \"../context\";\nimport { BenefitCTA } from \"../styles\";\n\nexport const BookingEventDeliveryComponent: FC = observer(() => {\n const { t } = useTranslation();\n const { data, benefit } = useBenefitContext();\n\n const { isBookingDatePassed } = data;\n\n if (isBookingDatePassed) {\n return (\n \n {t(TRANSLATIONS.BOOKING_DATE_PASSED)}\n \n );\n }\n\n return benefit.bookingEventURL ? (\n window.open(benefit.bookingEventURL, \"_blank\")}\n >\n {t(TRANSLATIONS.BOOK)}\n \n ) : null;\n});\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useBenefitContext } from \"../context\";\nimport { BenefitCTA } from \"../styles\";\nimport { useRootStore } from \"init/root-store\";\nimport { CHANNEL_IDS } from \"api/services/public-service\";\nimport { useLinkingUtils } from \"domains/shared/hooks/useLinkingUtils\";\n\nexport const DiscordDeliveryComponent: FC = observer(() => {\n const { t } = useTranslation();\n const { benefit } = useBenefitContext();\n const { profile } = useRootStore();\n const { openAccountLinkingModal } = useLinkingUtils();\n\n const onLinkingClick = async () => {\n await openAccountLinkingModal(CHANNEL_IDS.DISCORD);\n };\n\n if (!profile.discord) {\n return (\n \n {t(TRANSLATIONS.LINK_DISCORD)}\n \n );\n }\n\n return benefit.discordInvitationUrl ? (\n window.open(benefit.discordInvitationUrl, \"_blank\")}\n >\n {t(TRANSLATIONS.OPEN_DISCORD)}\n \n ) : null;\n});\n","import { FC } from \"react\";\n\nimport { BENEFITS_TYPE } from \"api/services/public-service\";\nimport { EarlyAccessDeliveryComponent } from \"./delivery/early-access-delivery.components\";\nimport { GameKeysDeliveryComponent } from \"./delivery/game-keys-delivery.components\";\nimport { InGameItemsDeliveryComponent } from \"./delivery/game-items-delivery.components\";\nimport { PhysicalGoodsDeliveryComponent } from \"./delivery/physical-goods-delivery.component\";\nimport { ViewerRewardsDeliveryComponent } from \"./delivery/viewer-rewards-delivery.component\";\nimport { SubRewardsDeliveryComponent } from \"./delivery/sub-rewards-delivery.component\";\nimport { InvitationDeliveryComponent } from \"./delivery/invitation-delivery.component\";\nimport { EarlyAccessProductionDeliveryComponent } from \"./delivery/early-access-prod-delivery.components\";\nimport { ClosedBetaDeliveryComponent } from \"./delivery/closed-beta-delivery.component\";\nimport { BookingEventDeliveryComponent } from \"./delivery/booking-event-delivery.component\";\nimport { DiscordDeliveryComponent } from \"./delivery/discord-delivery.component\";\n\nexport const BENEFIT_TYPE_COMPONENT: Record = {\n [BENEFITS_TYPE.EARLY_ACCESS_REDEEM]: EarlyAccessDeliveryComponent,\n [BENEFITS_TYPE.GAME_KEYS]: GameKeysDeliveryComponent,\n [BENEFITS_TYPE.IN_GAME_ITEMS]: InGameItemsDeliveryComponent,\n [BENEFITS_TYPE.PHYSICAL_GOODS]: PhysicalGoodsDeliveryComponent,\n [BENEFITS_TYPE.DROPS_VIEWER_REWARDS]: ViewerRewardsDeliveryComponent,\n [BENEFITS_TYPE.SUBSCRIBER_REWARDS]: SubRewardsDeliveryComponent,\n [BENEFITS_TYPE.EVENT_INVITATION]: InvitationDeliveryComponent,\n [BENEFITS_TYPE.HAND_ON_SESSION]: null,\n [BENEFITS_TYPE.REVENUE_SHARING]: null,\n [BENEFITS_TYPE.EARLY_ACCESS_PRODUCTION]: EarlyAccessProductionDeliveryComponent,\n [BENEFITS_TYPE.CLOSED_ALPHA_BETA]: ClosedBetaDeliveryComponent,\n [BENEFITS_TYPE.BOOKING_EVENT]: BookingEventDeliveryComponent,\n [BENEFITS_TYPE.DISCORD]: DiscordDeliveryComponent,\n};\n\nexport const TRANSLATIONS = {\n AVAILABLE_DATE: \"campaign__early-access__available-date\",\n};\n","import { makeAutoObservable } from \"mobx\";\n\nimport {\n Benefit,\n publicApiService,\n BenefitPlatformData,\n} from \"api/services/public-service\";\nimport { ERROR_CODES, getErrorCode } from \"api\";\nimport { ErrorConfig } from \"api/types\";\nimport { notificationsService, NOTIFICATION_LVL4 } from \"domains/notifications\";\nimport { InvitationStore } from \"../../invitation.store\";\nimport { GeneralData } from \"./general-data\";\n\nexport class BenefitStore {\n public data: GeneralData = new GeneralData(this);\n public isLoading = false;\n\n public constructor(\n public benefit: Benefit,\n public readonly invitationStore: InvitationStore\n ) {\n makeAutoObservable(this, {}, { autoBind: true });\n }\n\n public *claim() {\n try {\n this.isLoading = true;\n\n ({ data: this.benefit } = yield publicApiService.claimBenefit(\n this.invitationStore.id\n ));\n } catch (err) {\n const sponsaliaErrorCode = getErrorCode(err as ErrorConfig);\n\n this.data.isCountryError =\n sponsaliaErrorCode === ERROR_CODES.CREATOR_COUNTRY_BLOCKED;\n\n if (!this.data.isCountryError) {\n notificationsService.showError(NOTIFICATION_LVL4.DEFAULT_ERROR);\n }\n\n throw err;\n } finally {\n this.isLoading = false;\n }\n }\n\n public *fetchKeys() {\n try {\n const {\n data: { keys },\n } = yield publicApiService.fetchBenefitKeys(this.invitationStore.id);\n\n this.data.keys = keys;\n } catch {\n notificationsService.showError(NOTIFICATION_LVL4.DEFAULT_ERROR);\n }\n }\n\n public *fetchStatus() {\n try {\n this.isLoading = true;\n\n const { data } = yield publicApiService.fetchBenefitStatus(\n this.invitationStore.id\n );\n\n this.benefit = {\n ...this.benefit,\n benefitStatus: data.benefitStatus,\n };\n } catch {\n notificationsService.showError(NOTIFICATION_LVL4.DEFAULT_ERROR);\n } finally {\n this.isLoading = false;\n }\n }\n\n public *updatePlatform(data: BenefitPlatformData) {\n try {\n this.isLoading = true;\n\n ({ data: this.benefit } = yield publicApiService.updateBenefitPlatform(\n this.invitationStore.id,\n data\n ));\n } finally {\n this.isLoading = false;\n }\n }\n\n public updateBenefit(benefit: Benefit) {\n this.benefit = benefit;\n }\n}\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { BenefitPlatforms, PlatformsWrapper, UpdateCTA } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { BenefitPlatformDialog } from \"domains/dialogs/benefits/benefit-platform/benefit-platform.dialog\";\nimport { useRootStore } from \"init/root-store\";\nimport { useBenefitContext } from \"../../benefit/context\";\n\nexport const BenefitPlatformsComponent: FC = observer(() => {\n const { dialogs } = useRootStore();\n const { benefit, updatePlatform, data } = useBenefitContext();\n const { t } = useTranslation();\n\n const {\n activePlatform,\n availablePlatformList,\n isPlatformUpdateAvailable,\n isPlatformsVisible,\n } = data;\n\n const onUpdateClick = async () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.benefitLocation,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.changePlatform\n );\n\n await dialogs.openDialog(BenefitPlatformDialog, {\n platforms: benefit.platforms,\n activePlatformId: activePlatform?.id,\n onSubmit: updatePlatform,\n });\n };\n\n return (\n \n {isPlatformsVisible && (\n \n \n \n )}\n\n {activePlatform && (\n \n \n \n )}\n\n {isPlatformUpdateAvailable && (\n \n {t(TRANSLATIONS.UPDATE_PLATFORMS)}\n \n )}\n \n );\n});\n","import { BENEFITS_TYPE } from \"api/services/public-service\";\n\nexport const TRANSLATIONS = {\n SOLD_OUT: \"label__sold-out\",\n PARTICIPATE_TO_RECEIVED: \"campaign__participate-to-received\",\n EARLY_ACCESS_OVER: \"campaign__early-access-over\",\n PARTICIPATE_TO_BOOK: \"campaign__participate-to-book\",\n PARTICIPATE_TO_ACCESS_DISCORD: \"campaign__participate-to-access-discord\",\n};\n\nexport const getNonAcceptedTranslation = (benefitType: BENEFITS_TYPE) => {\n if (benefitType === BENEFITS_TYPE.BOOKING_EVENT) {\n return TRANSLATIONS.PARTICIPATE_TO_BOOK;\n }\n\n if (benefitType === BENEFITS_TYPE.DISCORD) {\n return TRANSLATIONS.PARTICIPATE_TO_ACCESS_DISCORD;\n }\n\n return TRANSLATIONS.PARTICIPATE_TO_RECEIVED;\n};\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DeliveryStatusText } from \"../../styles\";\nimport { WarningWrapper, WarningIcon } from \"./styles\";\n\nimport { getNonAcceptedTranslation, TRANSLATIONS } from \"./constants\";\nimport { useInvitationContext } from \"../../../context\";\n\nexport const BenefitStatusComponent: FC = observer(({ children }) => {\n const {\n isSoldOut,\n isAccepted,\n isEarlyAccessEnd,\n benefit,\n } = useInvitationContext();\n const { t } = useTranslation();\n\n if (!isAccepted) {\n return (\n \n {t(getNonAcceptedTranslation(benefit.type.id))}\n \n );\n }\n\n if (isSoldOut) {\n return (\n \n \n {t(TRANSLATIONS.SOLD_OUT)}\n \n );\n }\n\n if (isEarlyAccessEnd) {\n return (\n \n \n {t(TRANSLATIONS.EARLY_ACCESS_OVER)}\n \n );\n }\n\n return children ? <>{children} : null;\n});\n","import React, { FC, useEffect, useState } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Trans } from \"react-i18next\";\n\nimport { BenefitsContent, DataWrapper } from \"./styles\";\nimport { DataName } from \"../../styles\";\nimport { BenefitIcon, DeliveryTypeWrapper } from \"../styles\";\n\nimport { BENEFIT_TYPE_COMPONENT } from \"./constants\";\nimport { BenefitStore } from \"../stores/benefit.store\";\nimport { BenefitContext } from \"./context\";\nimport { BenefitPlatformsComponent } from \"../components/platforms/benefit-platforms.component\";\nimport { Benefit, BENEFITS_TYPE } from \"api/services/public-service\";\nimport { useInvitationContext } from \"../../context\";\nimport { CountryBlockedComponent } from \"../components/country-blocked\";\nimport { ExtraFeedbackComponent } from \"../components/extra-feedback\";\nimport { BenefitStatusComponent } from \"./status/benefit-status.component\";\nimport { TRANSLATIONS } from \"./constants\";\n\ntype Props = {\n benefit: Benefit;\n};\n\nexport const BenefitComponent: FC = observer(({ benefit }) => {\n const invitationStore = useInvitationContext();\n\n const Component = BENEFIT_TYPE_COMPONENT[benefit.type.id];\n\n const [store] = useState(() => new BenefitStore(benefit, invitationStore));\n const { isCountryBlocked, displayName } = store.data;\n const { isSoldOut, formattedAvailableDate } = invitationStore;\n const icon =\n benefit.type.id === BENEFITS_TYPE.BOOKING_EVENT\n ? \"calendarEvent\"\n : \"openBox\";\n\n useEffect(() => {\n store.updateBenefit(benefit);\n }, [benefit, store]);\n\n return (\n \n \n \n\n \n {displayName}\n {!isSoldOut && }\n {formattedAvailableDate && (\n
    \n \n
    \n )}\n
    \n\n \n \n {Component && }\n \n \n\n {isCountryBlocked && }\n \n
    \n
    \n );\n});\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SectionTitle } from \"../../../styles\";\nimport { BenefitsList } from \"./styles\";\n\nimport { useInvitationContext } from \"../context\";\nimport { RewardComponent } from \"./conditional-reward\";\nimport { ExtraBenefitComponent } from \"./extra-reward\";\nimport { BenefitComponent } from \"./benefit\";\nimport { TRANSLATIONS } from \"./constants\";\n\nexport const BenefitsComponent: FC = observer(() => {\n const { benefit, reward, extraRewards } = useInvitationContext();\n const { t } = useTranslation();\n\n //temporal change\n const filteredExtraRewards = extraRewards.filter((r) => r.id !== 109);\n\n return (\n <>\n
    \n {t(TRANSLATIONS.BENEFITS)}\n\n \n
  • {benefit && }
  • \n\n {filteredExtraRewards.map((benefit) => (\n
  • \n \n
  • \n ))}\n
    \n
    \n\n {reward && }\n \n );\n});\n","import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { generatePath, useParams } from \"react-router-dom\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { BackLink, BackArrow } from \"domains/dashboard/styles\";\nimport {\n CampaignWrapper,\n PageBackgroundStyles,\n SectionsWrapper,\n} from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { urls } from \"navigation/book\";\nimport { ParametersType } from \"navigation/types\";\nimport { InvitationStore } from \"./invitation.store\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_PAGE_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { InvitationContext } from \"./context\";\nimport { DescriptionComponent } from \"./description/description.component\";\nimport { EmbargoComponent } from \"./embargo/embargo.component\";\nimport { GuidelinesComponent } from \"./guidelines/guidelines.component\";\nimport { FTCComponent } from \"./ftc/ftc.component\";\nimport { ResourcesComponent } from \"./resources/resources.component\";\nimport { AssistanceComponent } from \"./assistance/assistance.component\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport { NotAvailableComponent } from \"domains/dashboard/not-available\";\nimport { BenefitsComponent } from \"./benefits\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\n\nexport const InvitationPage = observer(() => {\n const { t } = useTranslation();\n const { programId } = useParams();\n const { invitationId } = useParams();\n const [action, isLoading] = useLoadingAction();\n\n const [store] = useState(() => new InvitationStore(Number(invitationId)));\n\n const { invitation, isContentAvailable, images } = store;\n\n useEffect(() => {\n action(async () => {\n await store.init();\n });\n }, [action, store]);\n\n useEffect(() => {\n if (!invitation?.activationName) {\n return;\n }\n\n analyticsService.sendPageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.dashboard,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.main,\n invitation.activationName\n );\n }, [invitation?.activationName]);\n\n const backLink = programId\n ? {\n url: generatePath(urls.program, {\n programId,\n }),\n translationsKey: TRANSLATIONS.BACK_TO_PROGRAM,\n }\n : {\n url: urls.campaigns,\n translationsKey: TRANSLATIONS.BACK_TO_CAMPAIGNS,\n };\n\n const isInitialized = store.isDataInitialized();\n\n return isContentAvailable ? (\n <>\n \n \n {t(backLink.translationsKey)}\n \n\n {isInitialized && (\n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n )}\n\n {isLoading && }\n \n ) : (\n \n );\n});\n","import styled from \"styled-components\";\n\nimport { InnerSectionContent } from \"../styles\";\n\nexport const SectionTitle = styled.h2`\n font: var(--font-subtitle-bold);\n color: var(--color-text-primary);\n\n margin-bottom: 0.8rem;\n`;\n\nexport const ContactUsContent = styled(InnerSectionContent)`\n display: flex;\n flex-direction: column;\n gap: 2rem;\n\n background-color: var(--color-background-3);\n`;\n","import styled from \"styled-components\";\n\nimport { LinkCSS } from \"domains/shared/styles\";\n\nimport { InternalLink } from \"domains/shared/components\";\n\nexport const AccordionsWrapper = styled.div`\n margin-bottom: 1rem;\n`;\n\nexport const FAQLink = styled(InternalLink)`\n font-size: 1.6rem;\n`;\n\nexport const ArabicLink = styled.a`\n ${LinkCSS};\n`;\n","export const TRANSLATIONS = {\n TITLE: \"assistance__faq__title\",\n SUMMARY_1: \"assistance__faq__summary-1\",\n DETAILS_1: \"assistance__faq__details-1\",\n SUMMARY_2: \"assistance__faq__summary-2\",\n DETAILS_2: \"assistance__faq__details-2\",\n SUMMARY_3: \"assistance__faq__summary-3\",\n DETAILS_3: \"assistance__faq__details-3\",\n SUMMARY_4: \"assistance__faq__summary-4\",\n DETAILS_4: \"assistance__faq__details-4\",\n SUMMARY_5: \"assistance__faq__summary-5\",\n DETAILS_5: \"assistance__faq__details-5\",\n SUMMARY_6: \"assistance__faq__summary-6\",\n DETAILS_6: \"assistance__faq__details-6\",\n SUMMARY_7: \"assistance__faq__summary-7\",\n DETAILS_7: \"assistance__faq__details-7\",\n SUMMARY_8: \"assistance__faq__summary-8\",\n DETAILS_8: \"assistance__faq__details-8\",\n SUMMARY_9: \"assistance__faq__summary-9\",\n DETAILS_9: \"assistance__faq__details-9\",\n SUMMARY_10: \"assistance__faq__summary-10\",\n DETAILS_10: \"assistance__faq__details-10\",\n SUMMARY_11: \"assistance__faq__summary-11\",\n DETAILS_11: \"assistance__faq__details-11\",\n FAQ_LINK: \"assistance__faq__complete-faq\",\n};\n","import styled from \"styled-components\";\nimport { Accordion, AccordionDetails } from \"@material-ui/core\";\n\nimport { Icon } from \"../icon\";\n\nexport const AccordionWrapper = styled(Accordion)`\n &.MuiAccordion-root {\n &::before {\n display: none;\n }\n\n &:not(:first-child)::after {\n content: \"\";\n position: absolute;\n top: -1px;\n height: 1px;\n right: 2.4rem;\n left: 2.4rem;\n\n box-shadow: var(--box-shadow-delimeter);\n }\n\n &&.Mui-expanded {\n margin: 0;\n }\n }\n\n padding: 0;\n\n && {\n background-color: var(--color-background-3);\n\n font: var(--font-body);\n color: var(--color-text-primary);\n }\n\n .MuiAccordionSummary-root {\n padding: 0;\n\n display: grid;\n grid-template-columns: 1fr 6rem;\n }\n\n .MuiAccordionSummary-content {\n display: flex;\n align-items: center;\n justify-content: space-between;\n\n margin: 0;\n\n font-weight: bold;\n\n padding: 2.2rem 2.4rem;\n\n &.Mui-expanded {\n margin: 0;\n }\n }\n\n .MuiAccordionDetails-root {\n padding: 0;\n\n display: block;\n }\n\n .MuiCollapse-wrapper {\n padding: 0 2.4rem 2.2rem 2.4rem;\n }\n\n .MuiAccordionSummary-expandIcon {\n padding: 0;\n width: 100%;\n height: 100%;\n }\n`;\n\nexport const AccordionArrow = styled(Icon).attrs(() => ({\n type: \"arrow\",\n}))`\n color: var(--color-text-clickable);\n`;\n\nexport const Details = styled(AccordionDetails)`\n p:not(:last-child) {\n margin-bottom: 1.6rem;\n }\n\n ol,\n ul {\n list-style: revert;\n margin: revert;\n padding: revert;\n }\n\n strong {\n font-weight: bold;\n }\n\n ol:last-child,\n ul:last-child {\n margin-bottom: 0;\n }\n`;\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\nimport { AccordionSummary } from \"@material-ui/core\";\n\nimport { AccordionArrow, AccordionWrapper, Details } from \"./styles\";\n\ntype Props = {\n summary: string | React.ReactElement;\n details: string | React.ReactElement;\n className?: string;\n};\n\nexport const AccordionComponent: FC = observer(\n ({ summary, details, className }) => {\n const { t } = useTranslation();\n\n return (\n \n }>\n {typeof summary === \"string\" ? t(summary) : summary}\n \n\n
    {typeof details === \"string\" ? t(details) : details}
    \n
    \n );\n }\n);\n","import React from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { SectionTitle } from \"../styles\";\nimport { AccordionsWrapper, ArabicLink, FAQLink } from \"./styles\";\nimport { SectionContent } from \"../../styles\";\n\nimport { ExternalLink } from \"domains/shared/components\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { urls } from \"navigation/book\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { AccordionComponent } from \"domains/shared/components/accordion\";\n\nexport const FaqComponent = () => {\n const { t } = useTranslation();\n\n const onOpenKeysDetails = () =>\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.commonIssues,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.helpActivateContent\n );\n\n const onOpenAccessCompleteFAQ = () =>\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.commonIssues,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.accessCompleteFAQ\n );\n\n const onOpenUbiAccount = () =>\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.commonIssues,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.goToAccountWebsite\n );\n\n return (\n
    \n {t(TRANSLATIONS.TITLE)}\n\n \n \n \n\n \n ),\n }}\n />\n }\n />\n\n \n ),\n }}\n />\n }\n />\n\n \n\n \n ),\n }}\n />\n }\n />\n\n \n\n \n\n \n\n \n\n \n\n \n \n\n \n {t(TRANSLATIONS.FAQ_LINK)}\n \n \n
    \n );\n};\n","export const TRANSLATIONS = {\n TITLE: \"assistance__title\",\n};\n","import styled from \"styled-components\";\n\nimport { TextEllipsisCSS } from \"domains/shared/styles\";\n\nimport { Dropdown } from \"domains/shared/components/dropdown\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { CTAExternalLink } from \"domains/shared/components\";\nimport { Button } from \"domains/shared/components/button\";\n\nexport const DropdownWrapper = styled.fieldset`\n display: flex;\n flex-direction: column;\n\n outline: none;\n border: none;\n\n padding: 0;\n margin: 0;\n`;\n\nexport const Topics = styled(Dropdown)`\n width: 35rem;\n\n ${BREAKPOINT.ls} {\n width: 100%;\n }\n`;\n\nexport const DropdownLabel = styled.label`\n margin-bottom: 0.4rem;\n`;\n\nexport const Subtitle = styled.h3`\n font: var(--font-body);\n\n margin-bottom: 1.6rem;\n`;\n\nexport const Description = styled.div`\n font: var(--font-body);\n`;\n\nexport const HelpWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 1rem;\n`;\n\nexport const ActionsWrapper = styled.div`\n display: flex;\n gap: 1.6rem;\n align-items: center;\n`;\n\nexport const DiscordWarning = styled.div`\n font: var(--font-body);\n color: var(--color-feedback-warning);\n`;\n\nexport const LinkText = styled.span`\n ${TextEllipsisCSS};\n`;\n\nexport const ContactLink = styled(CTAExternalLink)`\n overflow: hidden;\n gap: 0.6rem;\n flex-shrink: unset;\n\n ${BREAKPOINT.ls} {\n flex: 1 1 50%;\n }\n`;\n\nexport const DiscordCTA = styled(Button)`\n ${TextEllipsisCSS};\n\n ${BREAKPOINT.ls} {\n flex: 1 1 50%;\n }\n`;\n","import { TOPICS } from \"./types\";\n\nexport const TRANSLATIONS = {\n TITLE: \"assistance__contact_us__title\",\n SUBTITLE: \"assistance__contact_us__subtitle\",\n TOPICS_LABEL: \"assistance__contact_us__topics-label\",\n TOPICS_PLACEHOLDER: \"assistance__contact_us__topics-placeholder\",\n HELP_CENTER_LINK: \"assistance__contact_us__help-link\",\n TOPIC_CONNECTION_ISSUE: \"assistance__contact_us__topic-connection-issue\",\n TOPIC_PLATFORM_ISSUE: \"assistance__contact_us__topic-platform-issue\",\n TOPIC_KEY_ISSUE: \"assistance__contact_us__topic-keys-issue\",\n TOPIC_BUSINESS_ISSUE: \"assistance__contact_us__topic-business-issue\",\n TOPIC_CODE_ISSUE: \"assistance__contact_us__topic-code-issue\",\n DESCRIPTION_PLATFORM_ISSUE:\n \"assistance__contact_us__description-platform-issue\",\n DESCRIPTION_KEY_ISSUE: \"assistance__contact_us__description-keys-issue\",\n DESCRIPTION_BUSINESS_ISSUE:\n \"assistance__contact_us__description-business-issue\",\n DESCRIPTION_CODE_ISSUE: \"assistance__contact_us__topic-code-description\",\n DISCORD_LINKING_WARNING: \"assistance__contact_us__discord-linking-warning\",\n LINK_DISCORD: \"assistance__contact_us__discord-link\",\n OPEN_DISCORD: \"assistance__contact_us__discord-open\",\n DISCORD_LINK: \"assistance__contact_us__discord-cta\",\n};\n\nexport const DISCORD_SUPPORTED_TOPICS = [\n TOPICS.CONNECTION_ISSUE,\n TOPICS.PLATFORM_ISSUE,\n TOPICS.KEY_ISSUE,\n];\n","export enum SEARCH_PARAMS {\n LIMIT = \"limit\",\n PAGE = \"page\",\n}\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n ActionsWrapper,\n ContactLink,\n Description,\n DiscordCTA,\n DiscordWarning,\n HelpWrapper,\n LinkText,\n} from \"./styles\";\nimport { LinkIcon } from \"../../styles\";\n\nimport { DISCORD_SUPPORTED_TOPICS, TRANSLATIONS } from \"./constants\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { CommunicationTopic } from \"./types\";\nimport { useRootStore } from \"init/root-store\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\nimport { useLinkingUtils } from \"domains/shared/hooks/useLinkingUtils\";\nimport { CHANNEL_IDS } from \"api/services/public-service\";\n\ntype Props = {\n activeTopic: CommunicationTopic;\n};\n\nexport const TopicComponent: FC = observer(({ activeTopic }) => {\n const { t } = useTranslation();\n const { profile } = useRootStore();\n const { openAccountLinkingModal } = useLinkingUtils();\n\n const onHelpClick = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.contactUs,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.goHelpCenter\n );\n };\n\n const isDiscordActionVisible = DISCORD_SUPPORTED_TOPICS.includes(\n activeTopic.id\n );\n const isDiscordWarningMessageVisible =\n isDiscordActionVisible && !profile.discord;\n\n const onLinkingClick = async () => {\n await openAccountLinkingModal(CHANNEL_IDS.DISCORD);\n };\n\n return (\n \n {activeTopic.description && (\n {t(activeTopic.description)}\n )}\n\n \n \n {t(TRANSLATIONS.HELP_CENTER_LINK)}\n \n \n\n {isDiscordActionVisible && (\n <>\n {profile.discord && (\n \n {t(TRANSLATIONS.OPEN_DISCORD)}\n \n \n )}\n\n {!profile.discord && (\n \n {t(TRANSLATIONS.LINK_DISCORD)}\n \n )}\n \n )}\n \n\n {isDiscordWarningMessageVisible && (\n \n {t(TRANSLATIONS.DISCORD_LINKING_WARNING)}\n \n )}\n \n );\n});\n","import styled from \"styled-components\";\n\nimport { Textarea } from \"../texarea\";\n\nexport const MessageWrapper = styled(Textarea)`\n && {\n margin-bottom: 1.6rem;\n }\n\n width: 100%;\n`;\n","export const TRANSLATIONS = {\n PLACEHOLDER: \"revenue-support-form__placeholder\",\n SEND: \"button__send\",\n};\n","import React, { ChangeEvent, FC, FormEvent, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { MessageWrapper } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { Button } from \"../button\";\nimport { publicApiService } from \"api\";\nimport { useLoadingAction } from \"../../hooks/useLoadingAction\";\nimport { LoadingComponent } from \"../loading\";\nimport { NOTIFICATION_LVL4, notificationsService } from \"domains/notifications\";\n\ntype Props = {\n onSubmit?: (value: string) => void;\n};\n\nexport const RevenueSupportFormComponent: FC = ({ onSubmit }) => {\n const [issue, setIssue] = useState(\"\");\n\n const [fetch, isLoading] = useLoadingAction();\n const { t } = useTranslation();\n\n const onFormSubmit = (evt: FormEvent) => {\n evt.preventDefault();\n\n fetch(async () => {\n await publicApiService.revenueSupport(issue);\n await onSubmit?.(issue);\n\n notificationsService.showLevel4(\n NOTIFICATION_LVL4.REVENUE_FORM_SUBMIT_SUCCESS\n );\n setIssue(\"\");\n });\n };\n\n const onMessageChange = (evt: ChangeEvent) => {\n setIssue(evt.target.value);\n };\n\n const isSubmitDisabled = !issue.trim() || isLoading;\n\n return (\n
    \n \n\n
    \n \n
    \n \n );\n};\n","import React, { FC, useLayoutEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\nimport { useRootStore } from \"init/root-store\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { ContactUsContent } from \"../styles\";\nimport { SectionContent, SectionTitle } from \"domains/dashboard/styles\";\nimport { DropdownLabel, DropdownWrapper, Subtitle, Topics } from \"./styles\";\n\nimport { DropdownEvent } from \"domains/shared/components/dropdown/types\";\nimport { TRANSLATIONS } from \"./constants\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { TopicComponent } from \"./topic.component\";\nimport { LocationState, SECTION_ID } from \"navigation/types\";\nimport { RevenueSupportFormComponent } from \"domains/shared/components/revenue-support-form\";\nimport { CommunicationTopic, TOPICS } from \"./types\";\nimport { getIssuesTopics } from \"./utils\";\n\nexport const ContactUsComponent: FC = observer(() => {\n const { t } = useTranslation();\n const { state } = useLocation();\n const { profile } = useRootStore();\n\n const topics = useMemo(() => getIssuesTopics(!!profile.revenueSharing), [\n profile,\n ]);\n const options = useMemo(() => [...topics.values()], [topics]);\n\n const [activeTopic, setActiveTopic] = useState(\n topics.get(TOPICS.CONNECTION_ISSUE)!\n );\n\n const onDropdownClick = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.contactUs,\n ANALYTICS_CLICK_ATTRIBUTES.category.interaction,\n ANALYTICS_CLICK_ATTRIBUTES.action.contactTopics\n );\n };\n\n const onTopicSelect = (evt: DropdownEvent) => {\n const selectedTopicId = Number(evt.target.value);\n const topic = topics.get(selectedTopicId)!;\n\n setActiveTopic(topic);\n\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.contactUs,\n ANALYTICS_CLICK_ATTRIBUTES.category.interaction,\n ANALYTICS_CLICK_ATTRIBUTES.action.contactTopic + topic.analyticsKey\n );\n };\n\n useLayoutEffect(() => {\n if (state?.scrollInto !== SECTION_ID.CONTACT_US) {\n return;\n }\n\n setActiveTopic(topics.get(TOPICS.BUSINESS_ISSUE)!);\n }, [state?.scrollInto, topics]);\n\n return (\n
    \n \n {t(TRANSLATIONS.TITLE)}\n \n\n \n {t(TRANSLATIONS.SUBTITLE)}\n\n \n \n {t(TRANSLATIONS.TOPICS_LABEL)}\n\n \n \n\n {activeTopic?.id === TOPICS.CREATORS_CODE_ISSUE ? (\n \n ) : (\n \n )}\n \n \n
    \n );\n});\n","import { CommunicationTopic, TOPICS } from \"./types\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\nimport i18n from \"i18n\";\nimport { FALLBACK_LNG } from \"i18n/languages\";\nimport { TRANSLATIONS } from \"./constants\";\n\nexport const getIssuesTopics = (isCodeActive?: boolean) => {\n const topics: Map = new Map([\n [\n TOPICS.CONNECTION_ISSUE,\n {\n id: TOPICS.CONNECTION_ISSUE,\n link: EXTERNAL_LINKS.helpLink,\n get name() {\n return i18n.t(TRANSLATIONS.TOPIC_CONNECTION_ISSUE);\n },\n get analyticsKey() {\n return i18n.t(TRANSLATIONS.TOPIC_CONNECTION_ISSUE, {\n lng: FALLBACK_LNG,\n });\n },\n },\n ],\n [\n TOPICS.PLATFORM_ISSUE,\n {\n id: TOPICS.PLATFORM_ISSUE,\n link: EXTERNAL_LINKS.helpLink,\n get name() {\n return i18n.t(TRANSLATIONS.TOPIC_PLATFORM_ISSUE);\n },\n get analyticsKey() {\n return i18n.t(TRANSLATIONS.TOPIC_PLATFORM_ISSUE, {\n lng: FALLBACK_LNG,\n });\n },\n description: TRANSLATIONS.DESCRIPTION_PLATFORM_ISSUE,\n },\n ],\n [\n TOPICS.KEY_ISSUE,\n {\n id: TOPICS.KEY_ISSUE,\n link: EXTERNAL_LINKS.helpLink,\n get name() {\n return i18n.t(TRANSLATIONS.TOPIC_KEY_ISSUE);\n },\n get analyticsKey() {\n return i18n.t(TRANSLATIONS.TOPIC_KEY_ISSUE, {\n lng: FALLBACK_LNG,\n });\n },\n description: TRANSLATIONS.DESCRIPTION_KEY_ISSUE,\n },\n ],\n [\n TOPICS.BUSINESS_ISSUE,\n {\n id: TOPICS.BUSINESS_ISSUE,\n link: EXTERNAL_LINKS.helpLink,\n get name() {\n return i18n.t(TRANSLATIONS.TOPIC_BUSINESS_ISSUE);\n },\n get analyticsKey() {\n return i18n.t(TRANSLATIONS.TOPIC_BUSINESS_ISSUE, {\n lng: FALLBACK_LNG,\n });\n },\n description: TRANSLATIONS.DESCRIPTION_BUSINESS_ISSUE,\n },\n ],\n ]);\n\n if (isCodeActive) {\n topics.set(TOPICS.CREATORS_CODE_ISSUE, {\n id: TOPICS.CREATORS_CODE_ISSUE,\n get name() {\n return i18n.t(TRANSLATIONS.TOPIC_CODE_ISSUE);\n },\n get analyticsKey() {\n return i18n.t(TRANSLATIONS.TOPIC_CODE_ISSUE, {\n lng: FALLBACK_LNG,\n });\n },\n description: TRANSLATIONS.DESCRIPTION_CODE_ISSUE,\n });\n }\n\n return topics;\n};\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PageTitle } from \"../styles\";\n\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport { ANALYTICS_PAGE_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { FaqComponent } from \"./faq/faq.component\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { ContactUsComponent } from \"./contact-us/contact-us.component\";\n// import { ShareFeedbackSection } from \"./share-feedback/share-feedback.component\";\n\nexport const AssistancePage = () => {\n const { t } = useTranslation();\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.dashboard,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.assistance,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n return (\n <>\n
    \n {t(TRANSLATIONS.TITLE)}\n
    \n\n \n {/**/}\n \n \n );\n};\n","export const TRANSLATIONS = {\n TITLE: \"faq__title\",\n BACK: \"faq__back_link\",\n SETTINGS_TITLE: \"faq__settings__title\",\n SETTINGS_SUMMARY_3: \"faq__settings__summary-3\",\n SETTINGS_SUMMARY_4: \"faq__settings__summary-4\",\n SETTINGS_SUMMARY_5: \"faq__settings__summary-5\",\n SETTINGS_SUMMARY_6: \"faq__settings__summary-6\",\n SETTINGS_SUMMARY_7: \"faq__settings__summary-7\",\n SETTINGS_DETAILS_3: \"faq__settings__details-3\",\n SETTINGS_DETAILS_4: \"faq__settings__details-4\",\n SETTINGS_DETAILS_5: \"faq__settings__details-5\",\n SETTINGS_DETAILS_6: \"faq__settings__details-6\",\n SETTINGS_DETAILS_7: \"faq__settings__details-7\",\n PARTICIPATE_TITLE: \"faq__participation__title\",\n PARTICIPATION_SUMMARY_1: \"faq__participation__summary-1\",\n PARTICIPATION_SUMMARY_2: \"faq__participation__summary-2\",\n PARTICIPATION_SUMMARY_3: \"faq__participation__summary-3\",\n PARTICIPATION_SUMMARY_4: \"faq__participation__summary-4\",\n PARTICIPATION_SUMMARY_5: \"faq__participation__summary-5\",\n PARTICIPATION_SUMMARY_6: \"faq__participation__summary-6\",\n PARTICIPATION_SUMMARY_7: \"faq__participation__summary-7\",\n PARTICIPATION_SUMMARY_8: \"faq__participation__summary-8\",\n PARTICIPATION_DETAILS_1: \"faq__participation__details-1\",\n PARTICIPATION_DETAILS_2: \"faq__participation__details-2\",\n PARTICIPATION_DETAILS_3: \"faq__participation__details-3\",\n PARTICIPATION_DETAILS_4: \"faq__participation__details-4\",\n PARTICIPATION_DETAILS_5: \"faq__participation__details-5\",\n PARTICIPATION_DETAILS_6: \"faq__participation__details-6\",\n PARTICIPATION_DETAILS_7: \"faq__participation__details-7\",\n PARTICIPATION_DETAILS_8: \"faq__participation__details-8\",\n LEAVING_TITLE: \"faq__leaving__title\",\n LEAVING_SUMMARY_1: \"faq__leaving__summary-1\",\n LEAVING_SUMMARY_2: \"faq__leaving__summary-2\",\n LEAVING_DETAILS_1: \"faq__leaving__details-1\",\n LEAVING_DETAILS_2: \"faq__leaving__details-2\",\n PROGRAM_TITLE: \"faq__program__title\",\n PROGRAM_SUMMARY_1: \"faq__program__summary-1\",\n PROGRAM_SUMMARY_2: \"faq__program__summary-2\",\n PROGRAM_SUMMARY_3: \"faq__program__summary-3\",\n PROGRAM_SUMMARY_4: \"faq__program__summary-4\",\n PROGRAM_SUMMARY_5: \"faq__program__summary-5\",\n PROGRAM_DETAILS_1: \"faq__program__details-1\",\n PROGRAM_DETAILS_2: \"faq__program__details-2\",\n PROGRAM_DETAILS_3: \"faq__program__details-3\",\n PROGRAM_DETAILS_4: \"faq__program__details-4\",\n PROGRAM_DETAILS_5: \"faq__program__details-5\",\n};\n","import React from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport {\n SectionContent,\n SectionTitle,\n PageTitle,\n BackArrow,\n BackLink,\n} from \"../styles\";\nimport { ExternalLink, InternalLink } from \"domains/shared/components\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport {\n ANALYTICS_CLICK_ATTRIBUTES,\n ANALYTICS_PAGE_ATTRIBUTES,\n} from \"analytics/analytics-provider.constants\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { urls } from \"navigation/book\";\nimport { AccordionComponent } from \"domains/shared/components/accordion\";\nimport { LINKS } from \"domains/shared/components/ftc/constants\";\n\nexport const FAQPage = () => {\n const { t } = useTranslation();\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.faq,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.main,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n const onOpenCodeOfConduct = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.leaveProgram,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.codeOfConduct\n );\n };\n\n const onBackClick = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.faq,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.backToAssistance\n );\n };\n\n const onOpenTermsOfUse = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.leaveProgram,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.accessTermsOfUse\n );\n };\n\n const onOpenUbiAccount = () =>\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.settings,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.goToAccountWebsite\n );\n\n return (\n <>\n \n \n {t(TRANSLATIONS.BACK)}\n \n\n
    \n {t(TRANSLATIONS.TITLE)}\n
    \n\n
    \n {t(TRANSLATIONS.PROGRAM_TITLE)}\n\n \n \n\n \n\n \n\n \n\n \n \n
    \n\n
    \n {t(TRANSLATIONS.SETTINGS_TITLE)}\n\n \n \n\n \n ),\n }}\n />\n }\n />\n\n \n\n \n\n \n \n
    \n\n
    \n {t(TRANSLATIONS.PARTICIPATE_TITLE)}\n\n \n }\n />\n\n \n\n \n\n \n\n \n\n \n\n \n \n\n
      \n {LINKS.map((link, index) => (\n
    • \n {link.title}\n
    • \n ))}\n
    \n \n }\n />\n\n \n
    \n
    \n\n
    \n {t(TRANSLATIONS.LEAVING_TITLE)}\n\n \n \n ),\n globalCodeOfConductLink: (\n \n ),\n }}\n />\n }\n />\n\n \n \n
    \n \n );\n};\n","import styled from \"styled-components\";\n\nimport { ExternalLink } from \"domains/shared/components\";\n\nexport const PageTitle = styled.h1`\n font: var(--font-header-xlarge);\n color: var(--color-text-primary);\n margin: 0 0 4.8rem 0;\n`;\n\nexport const TermsWrapper = styled.div`\n font: var(--font-body);\n\n h2 {\n font: var(--font-subtitle-bold);\n\n margin-bottom: 1rem;\n }\n\n p:not(:last-child) {\n margin-bottom: 1rem;\n }\n\n section:not(:last-child) {\n margin-bottom: 2rem;\n }\n`;\n\nexport const Link = styled(ExternalLink)`\n display: inline;\n`;\n","export const TRANSLATIONS = {\n TITLE: \"terms__title\",\n BACK: \"faq__back_link\",\n TERMS_CONTENT: \"onboarding__terms__terms-and-conditions\",\n};\n","import React from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { urls } from \"navigation/book\";\n\nimport { BackArrow, BackLink, SectionContent } from \"../styles\";\nimport { TermsWrapper, PageTitle, Link } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport {\n ANALYTICS_CLICK_ATTRIBUTES,\n ANALYTICS_PAGE_ATTRIBUTES,\n} from \"analytics/analytics-provider.constants\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\n\nexport const TermsOfUsePage = () => {\n const { t } = useTranslation();\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.faq,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.termOfUse,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n const onBackClick = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.termsOfUse,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.backToAssistance\n );\n };\n\n return (\n <>\n \n \n {t(TRANSLATIONS.BACK)}\n \n\n {t(TRANSLATIONS.TITLE)}\n\n
    \n \n \n ,\n law: ,\n }}\n />\n \n \n
    \n \n );\n};\n","import styled from \"styled-components\";\n\nimport { SectionContent } from \"../../styles\";\n\nexport const HistoryContent = styled(SectionContent)`\n display: flex;\n flex-direction: column;\n gap: 3.2rem;\n`;\n\nexport const InvitationsList = styled.ul`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n\n &:empty {\n display: none;\n }\n`;\n\nexport const HistorySectionTitle = styled.h2`\n font: var(--font-header-large);\n`;\n","export const TRANSLATIONS = {\n BACK: \"campaign__back-to-campaigns\",\n PAGE_TITLE: \"campaigns-history__page__title\",\n SECTION_TITLE: \"campaigns-history__section-title\",\n};\n\nexport const LIMIT = 15;\n","import React, { FC } from \"react\";\n\nimport { InvitationsList } from \"./styles\";\n\nimport { AcceptedInvitationSkeleton } from \"../components/invitation-types/accepted\";\nimport { LIMIT } from \"./constants\";\n\ntype Props = {\n on?: boolean;\n};\n\nexport const InvitationListSkeleton: FC = ({ on, children }) =>\n on ? (\n \n {Array.from({ length: LIMIT }, (_, index) => (\n
  • \n \n
  • \n ))}\n
    \n ) : (\n <>{children}\n );\n","import styled from \"styled-components\";\nimport Pagination from \"@material-ui/lab/Pagination\";\n\nimport { FlexContentCenteringCSS, TextEllipsisCSS } from \"../../styles\";\n\nimport { BREAKPOINT } from \"../../constants/media-queries.constants\";\n\nexport const PaginationWrapper = styled(Pagination)`\n position: relative;\n\n display: flex;\n justify-content: center;\n\n &[data-disabled=\"true\"]::before {\n content: \"\";\n\n position: absolute;\n inset: 0;\n\n z-index: 1;\n }\n\n .MuiPagination-ul {\n gap: 0.8rem;\n }\n\n .MuiPagination-ul .MuiPaginationItem-ellipsis,\n .MuiPagination-ul .MuiButtonBase-root {\n width: 4.8rem;\n height: 4.8rem;\n padding: 0.4rem;\n\n margin: 0;\n\n font: var(--font-body);\n color: var(--color-text-primary);\n ${TextEllipsisCSS};\n\n opacity: 1;\n border-radius: 8px;\n background-color: #383838;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15);\n\n ${BREAKPOINT.ls} {\n width: 4.2rem;\n height: 4.2rem;\n }\n\n ${BREAKPOINT.ms} {\n width: 2.8rem;\n height: 2.8rem;\n }\n }\n\n .MuiTouchRipple-root {\n display: none;\n }\n\n .MuiPaginationItem-page:has(.MuiPaginationItem-icon) {\n line-height: 0;\n }\n\n .MuiPaginationItem-icon {\n margin: 0;\n\n font-size: 2rem;\n }\n\n .MuiPaginationItem-ellipsis {\n ${FlexContentCenteringCSS};\n }\n\n .MuiButtonBase-root {\n display: inline-block;\n\n &.Mui-selected:hover,\n &:is(:hover, :focus-visible) {\n background-color: #545454;\n }\n\n &:active {\n background-color: #1c1c1c;\n }\n\n &.Mui-selected.Mui-disabled,\n &.Mui-selected {\n color: var(--color-text-primary);\n\n opacity: 1;\n pointer-events: none;\n background-color: #707070;\n }\n }\n`;\n","import React, { FC } from \"react\";\n\nimport { PaginationWrapper } from \"./styles\";\n\nimport { useLaptopOrLess } from \"../../hooks/breakpoints\";\nimport {\n DEFAULT_PAGE,\n MOBILE_SIBLING_COUNT,\n WEB_SIBLING_COUNT,\n} from \"./constants\";\n\ntype Props = {\n totalPages: number;\n disabled?: boolean;\n currentPage?: number;\n defaultPage?: number;\n onChange?: (evt: React.ChangeEvent, page: number) => void;\n};\n\nexport const PaginationComponent: FC = ({\n totalPages,\n currentPage,\n onChange,\n disabled = false,\n defaultPage = DEFAULT_PAGE,\n}) => {\n const isLaptopOrLess = useLaptopOrLess();\n\n const siblingCount = isLaptopOrLess\n ? MOBILE_SIBLING_COUNT\n : WEB_SIBLING_COUNT;\n\n return (\n // Default disabled prop blocks scroll restoration\n \n );\n};\n","export const DEFAULT_PAGE = 1;\nexport const WEB_SIBLING_COUNT = 1;\nexport const MOBILE_SIBLING_COUNT = 0;\n","import { useEffect, useMemo, useState } from \"react\";\nimport { useHistory, useLocation } from \"react-router-dom\";\n\nimport { publicApiService } from \"api\";\nimport { INVITATION_TYPE, SortedInvitation } from \"../store/types\";\nimport { InvitationPreview } from \"api/services/public-service\";\nimport { urls } from \"navigation/book\";\nimport { LIMIT } from \"./constants\";\nimport { SEARCH_PARAMS } from \"./types\";\n\nconst INITIAL_STATE = {\n results: null,\n currentPage: 0,\n totalPages: 0,\n};\n\nexport const useInvitationHistory = () => {\n const { search } = useLocation();\n const history = useHistory();\n\n const query = useMemo(() => new URLSearchParams(search), [search]);\n\n const [invitationHistory, setInvitationHistory] = useState<{\n results: SortedInvitation[] | null;\n currentPage: number;\n totalPages: number;\n }>(INITIAL_STATE);\n\n const isInitialized = !!invitationHistory.results;\n\n const changePage = (page: number) => {\n query.set(SEARCH_PARAMS.PAGE, String(page));\n history.push({\n pathname: urls.campaignsHistory,\n search: query.toString(),\n state: { scrollSmooth: true },\n });\n };\n\n useEffect(() => {\n let isUnmount = false;\n\n (async () => {\n try {\n setInvitationHistory((state) => ({ ...state, results: null }));\n\n const params = new URLSearchParams(query);\n params.set(SEARCH_PARAMS.LIMIT, String(LIMIT));\n\n const { data } = await publicApiService.fetchInvitationsHistory(params);\n\n const results: SortedInvitation[] = data.results\n .map((it) => ({ ...it, sortedType: INVITATION_TYPE.ENDED }))\n .sort((a, b) => b.endDate.localeCompare(a.endDate));\n\n if (isUnmount) {\n return;\n }\n\n setInvitationHistory({ ...data, results });\n } catch {\n setInvitationHistory(INITIAL_STATE);\n }\n })();\n\n return () => {\n isUnmount = true;\n };\n }, [query]);\n\n return {\n invitationHistory,\n isInitialized,\n changePage,\n };\n};\n","export enum CODE_TABS {\n MAIN,\n EARNING,\n}\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { BackArrow, BackLink, PageTitle } from \"../../styles\";\nimport { HistoryContent, HistorySectionTitle, InvitationsList } from \"./styles\";\n\nimport { urls } from \"navigation/book\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { AcceptedInvitationComponent } from \"../components/invitation-types/accepted\";\nimport { InvitationListSkeleton } from \"./invitation-list.skeleton\";\nimport { PaginationComponent } from \"domains/shared/components/pagination\";\nimport { useInvitationHistory } from \"./useInvitationHistory\";\n\nexport const InvitationHistoryPage = observer(() => {\n const { t } = useTranslation();\n const {\n invitationHistory,\n isInitialized,\n changePage,\n } = useInvitationHistory();\n\n const onPageChange = (_: unknown, page: number) => {\n changePage(page);\n };\n\n const { results, totalPages, currentPage } = invitationHistory;\n\n return (\n <>\n \n \n {t(TRANSLATIONS.BACK)}\n \n\n
    \n {t(TRANSLATIONS.PAGE_TITLE)}\n
    \n\n \n \n {t(TRANSLATIONS.SECTION_TITLE, {\n amount: results?.length || 0,\n })}\n \n\n \n \n {results?.map((invitation) => (\n
  • \n \n
  • \n ))}\n
    \n
    \n
    \n\n {totalPages ? (\n \n ) : null}\n \n );\n});\n","export const TRANSLATIONS = {\n BACK: \"campaign__back-to-campaigns\",\n PROGRAM_NAME: \"program__name\",\n NOT_AVAILABLE: \"program__not-available__description\",\n};\n","import styled from \"styled-components\";\n\nimport { SectionContent } from \"../../styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const ProgramDetailsWrapper = styled.div`\n display: grid;\n grid-gap: 1.6rem;\n\n grid-template-columns: 1fr 1fr;\n\n ${BREAKPOINT.tm} {\n grid-template-columns: 1fr;\n }\n`;\n\nexport const Header = styled.header`\n display: flex;\n flex-direction: column;\n gap: 0.8rem;\n`;\n\nexport const WelcomeMessage = styled.div`\n font: var(--font-title-bold);\n color: var(--color-text-primary);\n\n ${BREAKPOINT.tm} {\n font: var(--font-subtitle);\n }\n`;\n\nexport const ProgramContent = styled(SectionContent)`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n flex: 1 1 50%;\n\n ${BREAKPOINT.tm} {\n grid-column: 1 / span 2;\n }\n\n h2 {\n font: var(--font-subtitle-bold);\n }\n`;\n\nexport const SectionTitle = styled.h2`\n font: var(--font-title-bold);\n\n margin-bottom: 1.6rem;\n`;\n","import styled from \"styled-components\";\n\nimport { ExternalLink } from \"domains/shared/components\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const Subtitle = styled.h3`\n font: var(--font-body-bold);\n\n margin-bottom: 0.8rem;\n`;\n\nexport const WebsiteLink = styled(ExternalLink)`\n display: inline-flex;\n gap: 0.5em;\n\n font: var(--font-body);\n`;\n\nexport const SocialLink = styled.a.attrs(() => ({\n target: \"_blank\",\n}))`\n color: var(--color-text-primary);\n font-size: 2rem;\n text-decoration: none;\n\n &:hover {\n color: var(--color-text-clickable);\n }\n\n &:active {\n color: var(--color-text-clickable-pressed);\n }\n\n ${BREAKPOINT.ml} {\n font-size: 3rem;\n }\n`;\n\nexport const SocialNetworkWrapper = styled.ul`\n display: flex;\n flex-wrap: wrap;\n gap: 1.6rem;\n`;\n","export const TRANSLATIONS = {\n SEE: \"program__about__see\",\n FOLLOW: \"program__about__follow\",\n WEBSITE: \"program__about__website\",\n};\n","import { PROGRAM_TYPE } from \"domains/programs/types\";\n\nexport const getProgramPageTranslations = (id: PROGRAM_TYPE) => {\n switch (id) {\n case PROGRAM_TYPE.UF2023:\n return {\n welcomeMessage: \"program__uf2023-welcome-message\",\n faq: \"program__faq__uf2023\",\n mediaKitTitle: \"program__media-kit__event-title\",\n mediaKitDescription: \"program__media-kit__event-description\",\n aboutTitle: \"program__about__event-title\",\n };\n\n case PROGRAM_TYPE.RC:\n return {\n welcomeMessage: \"program__rc-welcome-message\",\n faq: \"program__faq__rc-faq\",\n mediaKitTitle: \"program__media-kit__title\",\n mediaKitDescription: \"program__media-kit__description\",\n aboutTitle: \"program__about__title\",\n };\n\n case PROGRAM_TYPE.R6:\n return {\n welcomeMessage: \"program__r6-welcome-message\",\n faq: \"program__faq__r6-faq\",\n mediaKitTitle: \"program__media-kit__title\",\n mediaKitDescription: \"program__media-kit__description\",\n aboutTitle: \"program__about__title\",\n };\n\n case PROGRAM_TYPE.XDefiant:\n return {\n welcomeMessage: \"program__xdefiant-welcome-message\",\n faq: \"program__faq__xdefiant-faq\",\n mediaKitTitle: \"program__media-kit__title\",\n mediaKitDescription: \"program__media-kit__description\",\n aboutTitle: \"program__about__title\",\n };\n\n case PROGRAM_TYPE.CREW:\n return {\n welcomeMessage: \"program__crew-welcome-message\",\n faq: null,\n mediaKitTitle: \"program__media-kit__title\",\n mediaKitDescription: \"program__media-kit__description\",\n aboutTitle: \"program__about__title\",\n };\n\n case PROGRAM_TYPE.SKULL_AND_BONES:\n return {\n welcomeMessage: \"program__s&b-welcome-message\",\n faq: null,\n mediaKitTitle: \"program__media-kit__title\",\n mediaKitDescription: \"program__media-kit__description\",\n aboutTitle: \"program__about__title\",\n };\n\n default:\n return null;\n }\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ProgramContent } from \"../styles\";\nimport {\n SocialLink,\n SocialNetworkWrapper,\n Subtitle,\n WebsiteLink,\n} from \"./styles\";\nimport { LinkIcon } from \"domains/dashboard/styles\";\n\nimport { CHANNELS_ICONS_BY_ID, Icon } from \"domains/shared/components/icon\";\nimport { ProgramProps } from \"../type\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { getProgramPageTranslations } from \"../utils\";\n\nexport const AboutComponent: FC = ({ program }) => {\n const { t } = useTranslation();\n\n const { name, website, socialNetworks } = program;\n const translations = getProgramPageTranslations(program.id);\n\n return (\n \n {translations?.aboutTitle && (\n

    {t(translations.aboutTitle, { name })}

    \n )}\n\n
    \n {t(TRANSLATIONS.SEE)}\n\n \n {t(TRANSLATIONS.WEBSITE, { name })}\n \n \n
    \n\n {socialNetworks?.length && (\n
    \n {t(TRANSLATIONS.FOLLOW, { name })}\n\n \n {socialNetworks.map((socialNetwork) => (\n
  • \n \n \n \n
  • \n ))}\n
    \n
    \n )}\n
    \n );\n};\n","import styled from \"styled-components\";\n\nimport { CTAExternalLink } from \"domains/shared/components\";\n\nexport const Description = styled.div`\n font: var(--font-body);\n color: var(--color-text-primary);\n`;\n\nexport const DownloadCTA = styled(CTAExternalLink)`\n align-items: center;\n gap: 1rem;\n\n font-size: 1.4rem;\n`;\n","export const TRANSLATIONS = {\n DOWNLOAD: \"button__download\",\n DOWNLOAD__DISABLED: \"program__media-kit__download-disabled\",\n DOWNLOAD_NAME: \"program__media-kit__download-name\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ProgramContent } from \"../styles\";\nimport { Description, DownloadCTA } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { Icon } from \"domains/shared/components/icon\";\nimport { ProgramProps } from \"../type\";\nimport { getProgramPageTranslations } from \"../utils\";\n\nexport const MediaKitComponent: FC = ({ program }) => {\n const { t } = useTranslation();\n\n const isDisabled = !program.mediaKit;\n const { name } = program;\n const translations = getProgramPageTranslations(program.id);\n\n return (\n \n {translations?.mediaKitTitle &&

    {t(translations.mediaKitTitle)}

    }\n\n {translations?.mediaKitDescription && (\n \n {t(translations.mediaKitDescription, {\n name,\n })}\n \n )}\n\n
    \n {isDisabled ? (\n \n \n {t(TRANSLATIONS.DOWNLOAD__DISABLED)}\n \n ) : (\n \n \n {t(TRANSLATIONS.DOWNLOAD)}\n \n )}\n
    \n
    \n );\n};\n","import styled from \"styled-components\";\n\nimport { SectionTitle } from \"../styles\";\n\nimport { InternalLink } from \"domains/shared/components\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const CampaignsSection = styled.section`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n`;\n\nexport const CampaignsHeader = styled.header`\n display: flex;\n justify-content: space-between;\n gap: 1rem;\n\n ${SectionTitle} {\n margin-bottom: 0;\n }\n\n ${BREAKPOINT.tm} {\n font: var(--font-subtitle-bold);\n }\n`;\n\nexport const HistoryLink = styled(InternalLink)`\n font: var(--font-subtitle-bold);\n text-align: right;\n`;\n","export const TRANSLATIONS = {\n SECTION_TITLE: \"program__campaigns__title\",\n NEW_TITLE: \"program__campaigns__new-invitations-title\",\n HISTORY_LINK: \"program__campaigns__history-link\",\n};\n","export const TRANSLATIONS = {\n NEW_TITLE: \"program__campaigns__new-invitations-title\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SectionContent, SectionTitle } from \"domains/dashboard/styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { EmptyInvitationsSection } from \"domains/dashboard/campaigns/components/empty-invitation-section\";\nimport { SortedInvitation } from \"domains/dashboard/campaigns/store/types\";\nimport { InvitationPreview } from \"api/services/public-service\";\nimport {\n AvailableInvitationListComponent,\n AvailableInvitationListSkeleton,\n} from \"../../../components/available-invitation-list\";\n\ntype Props = {\n invitations: SortedInvitation[];\n isLoading?: boolean;\n};\n\nexport const AvailableInvitationsComponent: FC = ({\n invitations = [],\n isLoading,\n}) => {\n const { t } = useTranslation();\n\n return (\n \n \n {t(TRANSLATIONS.NEW_TITLE, {\n amount: invitations.length,\n })}\n \n\n \n {invitations.length ? (\n \n ) : (\n \n )}\n \n \n );\n};\n","import styled from \"styled-components\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const OngoingCampaigns = styled.div`\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 1.6rem;\n\n ${BREAKPOINT.tm} {\n grid-template-columns: 1fr;\n }\n`;\n","export const TRANSLATIONS = {\n ON_GOING_TITLE: \"program__campaigns__on-going-title\",\n};\n","import React, { FC } from \"react\";\n\nimport { OngoingCampaigns } from \"./styles\";\n\nimport { AcceptedInvitationSkeleton } from \"domains/dashboard/campaigns/components/invitation-types/accepted\";\n\ntype Props = {\n on?: boolean;\n};\n\nexport const InvitationListSkeleton: FC = ({ on, children }) =>\n on ? (\n \n \n \n \n ) : (\n <>{children}\n );\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SectionContent, SectionTitle } from \"domains/dashboard/styles\";\nimport { OngoingCampaigns } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { InvitationListSkeleton } from \"./invitation-list.skeleton\";\nimport { AcceptedInvitationComponent } from \"domains/dashboard/campaigns/components/invitation-types/accepted\";\nimport { EmptyInvitationsSection } from \"domains/dashboard/campaigns/components/empty-invitation-section\";\nimport { SortedInvitation } from \"domains/dashboard/campaigns/store/types\";\nimport { InvitationPreview } from \"api/services/public-service\";\n\ntype Props = {\n invitations: SortedInvitation[];\n isLoading?: boolean;\n};\n\nexport const ActiveInvitationsComponent: FC = ({\n invitations,\n isLoading,\n}) => {\n const { t } = useTranslation();\n\n return (\n \n \n {t(TRANSLATIONS.ON_GOING_TITLE, {\n amount: invitations.length,\n })}\n \n\n \n {invitations?.length ? (\n \n {invitations.map((invitation) => (\n \n ))}\n \n ) : (\n \n )}\n \n \n );\n};\n","import React, { FC, useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { CampaignsHeader, CampaignsSection, HistoryLink } from \"./styles\";\nimport { SectionTitle } from \"../styles\";\n\nimport { urls } from \"navigation/book\";\nimport {\n InvitationPreview,\n publicApiService,\n} from \"api/services/public-service\";\nimport { ProgramProps } from \"../type\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { AvailableInvitationsComponent } from \"./available/available-invitations.component\";\nimport { ActiveInvitationsComponent } from \"./active/active-invitations.component\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\nimport { sortInvitationPreviewByType } from \"domains/dashboard/campaigns/store/utils\";\nimport { SortedInvitations } from \"../../store/types\";\n\nexport const CampaignsComponent: FC = ({ program }) => {\n const { t } = useTranslation();\n const [invitations, setInvitations] = useState<\n SortedInvitations\n >({\n available: [],\n active: [],\n past: [],\n });\n const [fetch, isLoading] = useLoadingAction(true);\n\n useEffect(() => {\n fetch(async () => {\n const { data } = await publicApiService.fetchProgramInvitations(\n program.id,\n true\n );\n const sortedInvitation = sortInvitationPreviewByType(data.publications);\n\n setInvitations(sortedInvitation);\n });\n }, [fetch, program.id]);\n\n return (\n \n \n {t(TRANSLATIONS.SECTION_TITLE)}\n\n \n {t(TRANSLATIONS.HISTORY_LINK)}\n \n \n\n \n \n \n );\n};\n","export const TRANSLATIONS = {\n FAQ: \"program__faq__title\",\n};\n","import React, { FC, useLayoutEffect, useState } from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { SectionContent } from \"domains/dashboard/styles\";\nimport { SectionTitle } from \"../styles\";\n\nimport { ExternalLink } from \"domains/shared/components\";\nimport { ProgramProps } from \"../type\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { AccordionComponent } from \"domains/shared/components/accordion\";\nimport { getProgramPageTranslations } from \"../utils\";\nimport { FAQContent } from \"./types\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\n\nexport const FAQComponent: FC = ({ program }) => {\n const { t } = useTranslation();\n const [faq, setFAQ] = useState(null);\n\n const translations = getProgramPageTranslations(program.id);\n\n useLayoutEffect(() => {\n if (!translations?.faq) {\n return;\n }\n\n const templateElement = document.createElement(\"template\");\n templateElement.innerHTML = t(translations.faq);\n\n const sections = templateElement.content.querySelectorAll(\"section\");\n const content: FAQContent = [];\n\n sections.forEach((section) => {\n const summary = section.querySelector(\"header\")?.textContent;\n const details = section.querySelector(\":scope > div\")?.innerHTML;\n\n // Non-breaking white space character ( ) is not parsed by i18n,\n // we need manually replace html tag with unicode\n const parsedDetails = details?.replaceAll(\" \", \"\\u00a0\");\n\n if (summary && parsedDetails) {\n content.push({\n summary,\n details: (\n \n ),\n }}\n />\n ),\n });\n }\n });\n\n setFAQ(content);\n }, [translations?.faq, t]);\n\n return faq ? (\n
    \n {t(TRANSLATIONS.FAQ)}\n\n \n {faq.map((content, index) => (\n \n ))}\n \n
    \n ) : null;\n};\n","import styled from \"styled-components\";\n\nimport { SectionContent } from \"../../../styles\";\n\nexport const AgendaSection = styled(SectionContent).attrs(() => ({\n as: \"section\",\n}))`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n\n h2 {\n font: var(--font-subtitle-bold);\n }\n`;\n\nexport const EventList = styled.ul`\n display: flex;\n flex-direction: column;\n gap: 0.8rem;\n`;\n","export const TRANSLATIONS = {\n TITLE: \"program__agenda__title\",\n};\n","import styled, { css } from \"styled-components\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport { Button } from \"domains/shared/components/button\";\n\nexport const DateSwitcherWrapper = styled.div`\n display: flex;\n align-items: center;\n gap: 0.8rem;\n`;\n\nexport const ArrowCTA = styled(Button).attrs(() => ({\n kind: \"icon\",\n}))`\n color: var(--color-text-clickable);\n\n &:hover {\n color: var(--color-text-clickable-hover);\n }\n\n &:active {\n color: var(--color-text-clickable-pressed);\n }\n\n width: 2.4rem;\n height: 2.4rem;\n`;\n\nexport const ArrowIcon = styled(Icon).attrs(() => ({\n type: \"arrow\",\n}))<{ direction: \"prev\" | \"next\" }>`\n transform: rotate(90deg);\n\n ${(props) =>\n props.direction === \"next\" &&\n css`\n transform: rotate(-90deg);\n `}\n`;\n\nexport const DateTime = styled.time`\n font: var(--font-subtitle-bold);\n`;\n","import React, { FC } from \"react\";\n\nimport { ArrowCTA, ArrowIcon, DateSwitcherWrapper, DateTime } from \"./styles\";\n\ntype Props = {\n date?: string;\n onPrevClick: () => void;\n onNextClick: () => void;\n};\n\nexport const DateSwitcherComponent: FC = ({\n date = new Date().toISOString(),\n onNextClick,\n onPrevClick,\n}) => {\n return (\n \n \n \n \n\n {date}\n\n \n \n \n \n );\n};\n","import styled from \"styled-components\";\n\nimport { ExternalLink } from \"domains/shared/components\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const EventDate = styled.time`\n position: relative;\n\n font: var(--font-body-bold);\n\n display: flex;\n align-items: center;\n\n padding-right: 2.4rem;\n flex: 0 0 min(12rem, 50%);\n\n &::after {\n position: absolute;\n right: -1px;\n\n content: \"\";\n\n width: 1px;\n height: 100%;\n\n box-shadow: var(--box-shadow-delimeter);\n }\n\n ${BREAKPOINT.tm} {\n padding-right: 1.6rem;\n }\n`;\n\nexport const EventBlock = styled.li`\n background-color: var(--color-background-3);\n border-radius: 8px;\n\n padding: 1.6rem;\n\n display: flex;\n gap: 2.4rem;\n\n min-height: 8rem;\n\n ${BREAKPOINT.tm} {\n gap: 1.6rem;\n }\n`;\n\nexport const DetailsWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-grow: 1;\n gap: 2.4rem;\n\n font: var(--font-body);\n\n ${BREAKPOINT.tm} {\n align-items: unset;\n justify-content: center;\n flex-direction: column;\n gap: 0.5rem;\n }\n`;\n\nexport const DetailsLink = styled(ExternalLink)`\n flex-shrink: 0;\n gap: 0.5em;\n\n font: var(--font-body-bold);\n`;\n\nexport const EventName = styled.div`\n overflow-wrap: anywhere;\n`;\n\nexport const SkeletonWrapper = styled(EventBlock)`\n .wrapper {\n flex-grow: 1;\n max-width: 10rem;\n }\n\n .text-line {\n height: 2rem;\n width: 100%;\n }\n\n .text-line--1 {\n max-width: 25rem;\n }\n\n .text-line--2 {\n max-width: 5rem;\n }\n`;\n","export const TRANSLATIONS = {\n EVENT_DETAILS: \"program__agenda__details\",\n NO_DATE: \"program__agenda__no-date\",\n NO_NAME: \"program__agenda__no-name\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n DetailsLink,\n DetailsWrapper,\n EventBlock,\n EventDate,\n EventName,\n} from \"./styles\";\nimport { LinkIcon } from \"domains/dashboard/styles\";\n\nimport {\n DAY_MONTH_YEAR_FORMAT,\n getFormattedDate,\n} from \"domains/shared/utils/dates\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { ProgramEvent } from \"api/services/public-service\";\n\ntype Props = {\n programEvent: ProgramEvent;\n};\n\nexport const EventComponent: FC = ({ programEvent }) => {\n const { t } = useTranslation();\n const date = getFormattedDate(programEvent.eventDate, DAY_MONTH_YEAR_FORMAT);\n\n return (\n \n {date}\n\n \n {programEvent.name}\n\n {programEvent.url && (\n \n {t(TRANSLATIONS.EVENT_DETAILS)}\n \n \n )}\n \n \n );\n};\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DetailsWrapper, EventBlock, EventDate } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\n\nexport const EmptyEventComponent = () => {\n const { t } = useTranslation();\n\n return (\n \n {t(TRANSLATIONS.NO_DATE)}\n\n \n
    {t(TRANSLATIONS.NO_NAME)}
    \n
    \n
    \n );\n};\n","import React from \"react\";\n\nimport { DetailsWrapper, EventDate, SkeletonWrapper } from \"./styles\";\n\nimport { SkeletonPlaceholder } from \"domains/shared/components\";\n\nexport const EventSkeleton = () => (\n \n \n \n \n\n \n \n \n \n \n);\n","import React, { FC } from \"react\";\n\nimport { EventList } from \"./styles\";\n\nimport { EventSkeleton } from \"./event/event.skeleton\";\n\ntype Props = {\n on?: boolean;\n};\n\nexport const EventListSkeleton: FC = ({ on, children }) =>\n on ? (\n \n \n \n ) : (\n <>{children}\n );\n","import React, { FC, useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport dayjs from \"dayjs\";\nimport _ from \"lodash\";\n\nimport { AgendaSection, EventList } from \"./styles\";\n\nimport { ProgramProps } from \"../type\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { DateSwitcherComponent } from \"domains/shared/components/date-switcher\";\nimport {\n getFormattedDate,\n MONTH_YEAR_FORMAT,\n} from \"domains/shared/utils/dates\";\nimport { publicApiService } from \"api\";\nimport { ProgramEvent } from \"api/services/public-service\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\nimport { EventComponent } from \"./event/event.component\";\nimport { EmptyEventComponent } from \"./event/empty-event.component\";\nimport { EventListSkeleton } from \"./event-list.skeleton\";\n\nexport const AgendaComponent: FC = ({ program }) => {\n const { t } = useTranslation();\n const [events, setEvents] = useState([]);\n const [date, setDate] = useState(new Date().toString());\n const [fetch, isLoading] = useLoadingAction(true);\n\n const monthEvents = useMemo(\n () =>\n events.filter((programEvent) =>\n dayjs(programEvent.eventDate).isSame(date, \"month\")\n ),\n [date, events]\n );\n\n const onDateChange = (value: number) => () => {\n const newDate = dayjs(date).add(value, \"month\").toISOString();\n\n setDate(newDate);\n };\n\n useEffect(() => {\n fetch(async () => {\n const { data } = await publicApiService.fetchProgramAgenda(program.id);\n const sortedData = _.sortBy(data.events, \"eventDate\");\n\n setEvents(sortedData);\n });\n }, [program.id, fetch]);\n\n const formattedDate = getFormattedDate(date, MONTH_YEAR_FORMAT);\n\n return (\n \n

    {t(TRANSLATIONS.TITLE)}

    \n\n \n\n \n {monthEvents.length ? (\n \n {monthEvents.map((programEvent, index) => (\n \n ))}\n \n ) : (\n \n )}\n \n
    \n );\n};\n","import styled from \"styled-components\";\n\nimport { SectionContent } from \"domains/dashboard/styles\";\n\nimport { InternalLink } from \"domains/shared/components\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const NewsSection = styled(SectionContent).attrs(() => ({\n as: \"section\",\n}))`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n\n h2 {\n font: var(--font-subtitle-bold);\n }\n`;\n\nexport const ProgramNewsWrapper = styled.div`\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 2.6rem;\n\n color: var(--color-text-primary);\n\n ${BREAKPOINT.tm} {\n grid-template-columns: 1fr;\n }\n`;\n\nexport const SeeAllLink = styled(InternalLink)`\n font: var(--font-body-bold);\n\n margin-left: auto;\n`;\n\nexport const EmptyTitle = styled.h3`\n font: var(--font-body);\n`;\n\nexport const Header = styled.header`\n display: flex;\n justify-content: space-between;\n gap: 1.6rem;\n`;\n","export const TRANSLATIONS = {\n TITLE: \"program__news__title\",\n SEE_ALL_LINK: \"program__news__see-all-link\",\n NO_NEWS: \"program__news__no-news\",\n};\n","import styled from \"styled-components\";\n\nimport { LazyImageComponent } from \"domains/shared/components/lazy-image\";\nimport { Link } from \"react-router-dom\";\n\nexport const ArticleLink = styled(Link)`\n display: block;\n\n text-decoration: none;\n`;\n\nexport const HighlightsItem = styled.article`\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n\n overflow: hidden;\n height: 100%;\n\n border-radius: 8px 8px 0 0;\n\n font: var(--font-caption);\n color: var(--color-text-primary);\n`;\n\nexport const ImgContainer = styled(LazyImageComponent)`\n flex-shrink: 0;\n aspect-ratio: 16 / 9;\n`;\n\nexport const Description = styled.div`\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n gap: 0.8rem;\n\n padding: 2.4rem 1.6rem;\n\n font: var(--font-caption);\n background-color: var(--color-background-3);\n`;\n\nexport const Header = styled.header`\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 0.6rem;\n\n div:nth-child(2) {\n color: var(--color-text-tertiary);\n\n padding-left: 0.6rem;\n border-left: 1px solid currentColor;\n }\n`;\n\nexport const Subtitle = styled.h3`\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n\n overflow: hidden;\n text-overflow: ellipsis;\n\n font: var(--font-body-bold);\n`;\n\nexport const Date = styled.time`\n font: var(--font-caption);\n color: var(--color-text-tertiary);\n`;\n\nexport const SkeletonWrapper = styled(HighlightsItem)`\n .image {\n flex-shrink: 0;\n aspect-ratio: 16 / 9;\n }\n\n .text-line {\n height: 1.2rem;\n width: 100%;\n }\n\n .text-line--1 {\n max-width: 60%;\n }\n\n .text-line--2 {\n height: 1.6rem;\n max-width: 100%;\n }\n\n .text-line--3 {\n max-width: 35%;\n }\n`;\n","import { generatePath } from \"react-router-dom\";\n\nimport placeholder from \"assets/placeholders/swirl.svg\";\n\nimport { News, PlacementName } from \"api/services/ubi-service/types\";\nimport { urls } from \"navigation/book\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport {\n DAY_MONTH_YEAR_FORMAT,\n getFormattedDate,\n getLocalISODate,\n} from \"domains/shared/utils/dates\";\n\nexport const useNewsArticle = (placementName: PlacementName, article: News) => {\n const articlePlacement = article.placements.find(\n (placement) => placement.name === placementName\n );\n const path = generatePath(urls.article, { articleId: article.newsId });\n const formattedDate = getFormattedDate(\n article.publishedAt,\n DAY_MONTH_YEAR_FORMAT\n );\n const tags = article.tags.map((tag) => tag.name).join(\", \");\n const localDate = getLocalISODate(article.publishedAt);\n\n const onArticleClick = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n placementName,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.goToNews\n );\n };\n\n const mediaUrl = articlePlacement?.mediaURL || placeholder;\n const content = article.localization.content;\n\n return {\n path,\n onArticleClick,\n formattedDate,\n tags,\n mediaUrl,\n content,\n localDate,\n };\n};\n","import React, { FC } from \"react\";\n\nimport {\n HighlightsItem,\n ImgContainer,\n Date,\n Description,\n Subtitle,\n Header,\n ArticleLink,\n} from \"./styles\";\n\nimport { News } from \"api/services/ubi-service/types\";\nimport { BRAND_PROGRAM_PLACEMENT } from \"domains/shared/constants/news\";\n\nimport { useNewsArticle } from \"domains/dashboard/news/hooks/useNewsArticle\";\n\ntype Props = {\n article: News;\n};\n\nexport const ProgramNewsArticleComponent: FC = ({ article }) => {\n const {\n path,\n onArticleClick,\n mediaUrl,\n formattedDate,\n localDate,\n tags,\n } = useNewsArticle(BRAND_PROGRAM_PLACEMENT, article);\n\n return (\n \n \n \n\n \n {tags.length ? (\n
    \n
    {tags}
    \n
    \n ) : null}\n\n {article.localization.title}\n {formattedDate}\n
    \n
    \n
    \n );\n};\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { EmptyTitle } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\n\nexport const EmptyListComponent = () => {\n const { t } = useTranslation();\n\n return (\n
    \n {t(TRANSLATIONS.NO_NEWS)}\n
    \n );\n};\n","import React from \"react\";\n\nimport { Description, SkeletonWrapper } from \"./styles\";\n\nimport { SkeletonPlaceholder } from \"domains/shared/components\";\n\nexport const ProgramNewsArticleSkeleton = () => (\n \n \n\n \n \n \n \n \n \n);\n","import React, { FC } from \"react\";\n\nimport { ProgramNewsWrapper } from \"./styles\";\nimport { ProgramNewsArticleSkeleton } from \"./article/program-news-article.skeleton\";\n\ntype Props = {\n on?: boolean;\n};\n\nexport const NewsProgramSkeleton: FC = ({ on, children }) => (\n \n {on\n ? Array.from({ length: 3 }, (_, index) => (\n \n ))\n : children}\n \n);\n","import React, { FC, useEffect, useState } from \"react\";\nimport i18n from \"i18next\";\nimport { useTranslation } from \"react-i18next\";\nimport { useRootStore } from \"init/root-store\";\n\nimport { Header, NewsSection, SeeAllLink } from \"./styles\";\n\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\nimport { ubiApiService } from \"api/services/ubi-service\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { BRAND_PROGRAM_PLACEMENT } from \"domains/shared/constants/news\";\nimport { News } from \"api/services/ubi-service/types\";\nimport { ProgramDetails } from \"api/services/public-service\";\nimport { ProgramNewsArticleComponent } from \"./article/program-news-article.component\";\nimport { urls } from \"navigation/book\";\nimport { EmptyListComponent } from \"./empty-list.component\";\nimport { NewsProgramSkeleton } from \"./news-list.component\";\nimport { MAX_BRAND_PROGRAM_NEWS } from \"../../../news/store/constants\";\n\ntype Props = {\n program: ProgramDetails;\n};\n\nexport const ProgramNewsComponent: FC = ({ program }) => {\n const { t } = useTranslation();\n const { session, ipLocation } = useRootStore();\n\n const [news, setNews] = useState([]);\n const [fetch, isLoading] = useLoadingAction(true);\n\n const { name, tagName } = program;\n\n useEffect(() => {\n fetch(async () => {\n if (!session.uPlayProfile || !tagName) {\n return;\n }\n\n const { data } = await ubiApiService.fetchNews({\n profileId: session.uPlayProfile,\n localeCode: i18n.language,\n countryCode: ipLocation.data?.countryCode || \"\",\n tag: tagName,\n placements: [BRAND_PROGRAM_PLACEMENT],\n });\n\n setNews(data.news);\n });\n }, [fetch, ipLocation.data?.countryCode, session.uPlayProfile, tagName]);\n\n return (\n \n
    \n

    \n {t(TRANSLATIONS.TITLE, {\n name,\n })}\n

    \n\n {t(TRANSLATIONS.SEE_ALL_LINK)}\n
    \n\n \n {news.length ? (\n <>\n {[...news].splice(0, MAX_BRAND_PROGRAM_NEWS).map((article) => (\n \n ))}\n \n ) : (\n \n )}\n \n
    \n );\n};\n","import styled from \"styled-components\";\n\nexport const Description = styled.div`\n font: var(--font-body);\n\n margin-bottom: 1.6rem;\n`;\n","export const TRANSLATIONS = {\n LEAVE: \"button__leave-brand-program\",\n TITLE: \"program__leave__title\",\n DESCRIPTIONS: \"program__leave__description\",\n};\n","import styled from \"styled-components\";\n\nimport { DialogDescription, DialogTitle } from \"../../styles\";\n\nexport const Description = styled(DialogDescription)`\n p:not(:last-child) {\n margin-bottom: 1.6rem;\n }\n`;\n\nexport const Title = styled(DialogTitle)`\n margin-bottom: 1.6rem;\n`;\n","export const TRANSLATIONS = {\n LEAVE_TITLE: \"dialog__leave-brand-program__details-title\",\n LEAVE_DESCRIPTION_1: \"dialog__leave-brand-program__details-description-1\",\n LEAVE_DESCRIPTION_2: \"dialog__leave-brand-program__details-description-2\",\n CANCEL: \"button__cancel\",\n LEAVE: \"button__leave\",\n};\n","export const TRANSLATIONS = {\n TITLE: \"dialog__program-left-feedback__title\",\n DESCRIPTION: \"dialog__program-left-feedback__description\",\n CLOSE: \"button__close\",\n};\n","import React, { FC } from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport Dialog from \"rc-dialog\";\n\nimport { Title } from \"../join/styles\";\nimport {\n CloseIcon,\n DialogActions,\n DialogCloseButton,\n DialogContent,\n DialogDescription,\n} from \"../../styles\";\n\nimport { InternalLink } from \"domains/shared/components\";\nimport { urls } from \"navigation/book\";\nimport { SECTION_ID } from \"navigation/types\";\nimport { Button } from \"domains/shared/components/button\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { DialogProps } from \"../../types\";\n\ntype Props = {\n programName: string;\n} & DialogProps;\n\nexport const ProgramFeedbackDialog: FC = ({\n onClose,\n programName,\n ...props\n}) => {\n const { t } = useTranslation();\n\n return (\n \n \n \n \n\n \n {t(TRANSLATIONS.TITLE, { programName })}\n\n \n \n ),\n }}\n />\n \n \n\n \n \n \n \n );\n};\n","import React, { FC } from \"react\";\nimport Dialog from \"rc-dialog\";\nimport { useHistory } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n CloseIcon,\n DialogActions,\n DialogCloseButton,\n DialogContent,\n} from \"../../styles\";\nimport { Title, Description } from \"./styles\";\n\nimport { DialogProps } from \"../../types\";\nimport { BrandProgram } from \"api/services/public-service\";\nimport { useRootStore } from \"init/root-store\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { urls } from \"navigation/book\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { Button } from \"domains/shared/components/button\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport { ProgramFeedbackDialog } from \"../feedback/program-feedback.dialog\";\n\ntype Props = {\n brandProgram: BrandProgram;\n} & DialogProps;\n\nexport const LeaveProgramDialog: FC = ({ brandProgram, ...props }) => {\n const { dialogs, profile } = useRootStore();\n const [fetch, isLoading] = useLoadingAction();\n const { replace } = useHistory();\n const { t } = useTranslation();\n\n const { name: programName, id: programId } = brandProgram;\n\n const onSubmit = async () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n programName,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.confirmLeave\n );\n\n fetch(async () => {\n await profile.leaveBrandProgram(programId);\n replace(urls.campaigns);\n await dialogs.openDialog(ProgramFeedbackDialog, {\n programName: programName,\n });\n });\n };\n\n return (\n \n \n \n \n\n \n {t(TRANSLATIONS.LEAVE_TITLE, { programName })}\n\n \n

    {t(TRANSLATIONS.LEAVE_DESCRIPTION_1, { programName })}

    \n

    {t(TRANSLATIONS.LEAVE_DESCRIPTION_2)}

    \n
    \n
    \n\n \n \n\n \n \n\n {isLoading && }\n
    \n );\n};\n","import React, { FC } from \"react\";\nimport { useRootStore } from \"init/root-store\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { Description } from \"./styles\";\nimport { SectionContent } from \"domains/dashboard/styles\";\nimport { SectionTitle } from \"../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { LeaveProgramDialog } from \"domains/dialogs/brand-program/leave/leave-program.dialog\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { Button } from \"domains/shared/components/button\";\nimport { ProgramProps } from \"../type\";\n\nexport const LeaveComponent: FC = observer(({ program }) => {\n const { t } = useTranslation();\n const { dialogs } = useRootStore();\n\n const handleLeave = async () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n program.name,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.leaveBrandProgram\n );\n\n await dialogs.openDialog(LeaveProgramDialog, {\n brandProgram: program,\n });\n };\n\n return (\n
    \n \n {t(TRANSLATIONS.TITLE, {\n name: program.name,\n })}\n \n\n \n {t(TRANSLATIONS.DESCRIPTIONS)}\n \n \n
    \n );\n});\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Header, ProgramDetailsWrapper, WelcomeMessage } from \"./styles\";\nimport { PageTitle } from \"../../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\n\nimport { AboutComponent } from \"./about\";\nimport { MediaKitComponent } from \"./media-kit\";\nimport { CampaignsComponent } from \"./campaigns\";\nimport { ProgramProps } from \"./type\";\nimport { FAQComponent } from \"./faq\";\nimport { AgendaComponent } from \"./agenda\";\nimport { ProgramNewsComponent } from \"./news\";\nimport { getProgramPageTranslations } from \"./utils\";\nimport { LeaveComponent } from \"./leave/leave.component\";\n\nexport const ProgramComponent: FC = ({ program }) => {\n const { t } = useTranslation();\n\n const translations = getProgramPageTranslations(program.id);\n const { name } = program;\n\n return (\n <>\n
    \n {t(TRANSLATIONS.PROGRAM_NAME, { name })}\n\n {translations?.welcomeMessage && (\n {t(translations.welcomeMessage)}\n )}\n
    \n\n \n \n \n \n\n \n {program.config.news && }\n {program.config.agenda && }\n {program.config.faq && }\n \n \n );\n};\n","import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom\";\n\nimport { BackArrow, BackLink } from \"../../styles\";\n\nimport { urls } from \"navigation/book\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport { ProgramComponent } from \"./program.component\";\nimport { publicApiService } from \"api\";\nimport { ProgramDetails } from \"api/services/public-service\";\nimport { ParametersType } from \"navigation/types\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\n\nexport const ProgramPage = () => {\n const { t } = useTranslation();\n const { programId } = useParams();\n const [fetch, isLoading] = useLoadingAction(true);\n const [program, setProgram] = useState(null);\n\n useEffect(() => {\n if (!programId) {\n return;\n }\n\n fetch(async () => {\n const { data } = await publicApiService.fetchBrandProgram(\n Number(programId)\n );\n\n setProgram(data);\n });\n }, [fetch, programId]);\n\n return (\n <>\n \n \n {t(TRANSLATIONS.BACK)}\n \n\n {program && }\n {isLoading && }\n \n );\n};\n","import React, { useLayoutEffect } from \"react\";\nimport { Route, Switch, useParams } from \"react-router-dom\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { ProgramPage } from \"./program.page\";\nimport { urls } from \"navigation/book\";\nimport { ParametersType } from \"navigation/types\";\nimport { themeService } from \"domains/theme/theme.service\";\nimport { InvitationPage } from \"../invitation/invitation.page\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { NotAvailableComponent } from \"domains/dashboard/not-available\";\nimport { PROGRAM_TYPE } from \"../../../programs/types\";\n\nexport const ProgramRouters = observer(() => {\n const { profile } = useRootStore();\n const { programId } = useParams();\n const { t } = useTranslation();\n\n const activeProgram = profile.data?.brandPrograms\n .filter((program) => program.id !== PROGRAM_TYPE.XDefiant)\n .find((program) => program.id === Number(programId));\n\n useLayoutEffect(() => {\n if (!activeProgram) {\n return;\n }\n\n const { applyTheme, resetTheme } = themeService;\n\n applyTheme(activeProgram.id);\n\n return resetTheme;\n }, [activeProgram]);\n\n return activeProgram ? (\n \n \n \n \n ) : (\n \n );\n});\n","export const TRANSLATIONS = {\n BACK: \"news__back\",\n};\n","import styled from \"styled-components\";\n\nimport { BackgroundGlassCSS } from \"domains/shared/styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { LottieIcon } from \"domains/shared/components\";\n\nexport const ContentWrapper = styled.div`\n display: flex;\n\n width: 100%;\n height: 100%;\n\n ${BREAKPOINT.ml} {\n align-items: flex-start;\n }\n`;\n\nexport const WarningContent = styled.div`\n padding: 2.4rem;\n border-radius: 5px;\n background-color: var(--color-background-glass-1);\n box-shadow: inset 1px 1px 1px 0 var(--color-stroke-1),\n 1px 1px 0 0 var(--color-stroke-2);\n\n ${BackgroundGlassCSS};\n\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 1.6rem;\n\n width: 100%;\n max-width: 50rem;\n\n margin: auto;\n\n ${BREAKPOINT.ml} {\n margin: 0;\n }\n`;\n\nexport const Description = styled.div`\n font: var(--font-body);\n color: var(--color-text-primary);\n text-align: center;\n\n & > :not(:last-child) {\n margin-bottom: 2rem;\n }\n`;\n\nexport const WarningIcon = styled(LottieIcon)`\n width: 7rem;\n height: 7rem;\n`;\n","export const TRANSLATIONS = {\n DESCRIPTION: \"news-article__not-available__description\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n Description,\n WarningIcon,\n ContentWrapper,\n WarningContent,\n} from \"./styles\";\n\nimport warning from \"assets/animations/warning.json\";\n\nimport { TRANSLATIONS } from \"./constants\";\n\nexport const NotAvailableComponent: FC = () => {\n const { t } = useTranslation();\n\n return (\n \n \n \n\n {t(TRANSLATIONS.DESCRIPTION)}\n \n \n );\n};\n","import styled from \"styled-components\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { LazyImageComponent } from \"domains/shared/components/lazy-image\";\n\nexport const Header = styled.header`\n display: flex;\n flex-direction: column;\n gap: 0.8rem;\n\n font: var(--font-caption);\n color: var(--color-text-primary);\n\n margin-bottom: 4.6rem;\n`;\n\nexport const TagsWrapper = styled.div`\n display: flex;\n gap: 0.8rem;\n\n div:nth-child(2) {\n color: var(--color-text-tertiary);\n\n padding-left: 0.6rem;\n border-left: 1px solid currentColor;\n }\n`;\n\nexport const Title = styled.h2`\n font: var(--font-header-xlarge);\n`;\n\nexport const Published = styled.time`\n color: var(--color-text-tertiary);\n`;\n\nexport const MainImage = styled(LazyImageComponent)`\n width: 100%;\n aspect-ratio: 16 / 9;\n\n margin-bottom: 3.6rem;\n\n border-radius: 5px;\n`;\n\nexport const Description = styled.div`\n color: var(--color-text-primary);\n font: var(--font-body);\n line-height: normal;\n\n ul,\n ol {\n list-style: revert;\n padding: revert;\n }\n\n iframe {\n display: block;\n\n margin: auto;\n\n width: 100%;\n aspect-ratio: 16 / 9;\n\n ${BREAKPOINT.ml} {\n width: 100%;\n }\n }\n\n img {\n width: 100%;\n height: 100%;\n\n object-fit: contain;\n }\n\n blockquote {\n margin: 0 auto;\n\n width: 80%;\n padding: 2.4rem;\n\n border-radius: 5px;\n background: var(--color-background-4);\n\n ${BREAKPOINT.ml} {\n padding: 1.6rem;\n }\n }\n`;\n\nexport const ImgWrapper = styled.div`\n aspect-ratio: 16 / 9;\n overflow: hidden;\n\n border-radius: 5px;\n`;\n","const RECOURSE_TAG_ATTRIBUTES = [\"src\", \"href\", \"xlink:href\"];\n\nexport const isMaliciousAttribute = (name: string, value: string) => {\n const formattedValue = value.replaceAll(\" \", \"\").toLowerCase();\n\n const isEvent = name.startsWith(\"on\");\n const isMalicious =\n RECOURSE_TAG_ATTRIBUTES.includes(formattedValue) &&\n (formattedValue.includes(\"javascript\") ||\n formattedValue.includes(\"data:text/html\"));\n\n return isMalicious || isEvent;\n};\n\nexport const sanitizeHTMLTags = (htmlString: string) => {\n const template = document.createElement(\"template\");\n template.innerHTML = htmlString;\n\n const tags = template.content.querySelectorAll(\":scope *\");\n\n for (const tag of tags) {\n if (tag.tagName === \"script\") {\n tag.remove();\n continue;\n }\n\n if (tag.tagName === \"IFRAME\") {\n tag.removeAttribute(\"width\");\n tag.removeAttribute(\"height\");\n tag.removeAttribute(\"style\");\n }\n\n const attributes = [...tag.attributes];\n\n for (const { name, value } of attributes) {\n if (isMaliciousAttribute(name, value)) {\n tag.removeAttribute(name);\n }\n }\n }\n\n return template.innerHTML;\n};\n","import React from \"react\";\nimport parse, { domToReact, Element as ParseElement } from \"html-react-parser\";\n\nimport { ImgWrapper } from \"./styles\";\n\nimport { ExternalLink } from \"domains/shared/components\";\nimport { sanitizeHTMLTags } from \"domains/shared/utils/parser\";\n\nexport const parseHTMLString = (content: string) => {\n const sanitizedHTMLString = sanitizeHTMLTags(content);\n\n return parse(sanitizedHTMLString, {\n replace: (node) => {\n if (node instanceof ParseElement && node.name === \"img\") {\n return (\n \n \"article\n \n );\n }\n\n if (node instanceof ParseElement && node.name === \"a\") {\n return (\n \n {domToReact(node.children)}\n \n );\n }\n },\n });\n};\n","import React, { FC } from \"react\";\n\nimport {\n Description,\n Header,\n MainImage,\n Published,\n TagsWrapper,\n Title,\n} from \"./styles\";\nimport { SectionContent } from \"domains/dashboard/styles\";\n\nimport { News } from \"api/services/ubi-service/types\";\nimport { useNewsArticle } from \"../../hooks/useNewsArticle\";\nimport { parseHTMLString } from \"./utils\";\nimport { NEWS_DETAILS_PLACEMENT } from \"domains/shared/constants/news\";\n\ntype Props = {\n article: News;\n};\n\nexport const ArticleComponent: FC = ({ article }) => {\n const { mediaUrl, formattedDate, localDate, tags, content } = useNewsArticle(\n NEWS_DETAILS_PLACEMENT,\n article\n );\n\n const parsedContent = parseHTMLString(content);\n\n return (\n \n
    \n {tags.length ? (\n \n
    {tags}
    \n {/*
    {article.newsType}
    */}\n
    \n ) : null}\n\n {article.localization.title}\n {formattedDate}\n
    \n\n \n\n {parsedContent}\n
    \n );\n};\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { BackArrow, BackLink } from \"../../styles\";\n\nimport { urls } from \"navigation/book\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\n\nimport {\n ANALYTICS_CLICK_ATTRIBUTES,\n ANALYTICS_PAGE_ATTRIBUTES,\n} from \"analytics/analytics-provider.constants\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { useParams } from \"react-router-dom\";\nimport { ParametersType } from \"navigation/types\";\nimport { NotAvailableComponent } from \"./not-available/not-available.component\";\nimport { ArticleComponent } from \"./article/article.component\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport { useRootStore } from \"init/root-store\";\n\nexport const NewsArticlePage = observer(() => {\n const { t } = useTranslation();\n const { articleId } = useParams();\n const { news } = useRootStore();\n\n const { getArticle, isNewsInitialized } = news;\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.news,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.newsDetails,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n const onBackClick = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.page,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.backToNews\n );\n };\n\n if (!isNewsInitialized) {\n return ;\n }\n\n const article = articleId ? getArticle(articleId) : null;\n\n return article ? (\n <>\n \n \n {t(TRANSLATIONS.BACK)}\n \n\n \n \n ) : (\n \n );\n});\n","export const TRANSLATIONS = {\n TITLE: \"news__title\",\n BACK: \"news__back\",\n HIGHLIGHTS_TITLE: \"news__highlights__title\",\n LATEST_NEWS_TITLE: \"news__latest-news__title\",\n};\n","import styled from \"styled-components\";\n\nimport { SectionContent, SectionTitle } from \"domains/dashboard/styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { DropdownMultiple } from \"domains/shared/components/dropdown\";\n\nexport const NewsContent = styled(SectionContent)`\n ${BREAKPOINT.mm} {\n padding: 0;\n\n background-color: transparent;\n box-shadow: none;\n }\n`;\n\nexport const NewsList = styled.ul`\n display: flex;\n flex-direction: column;\n gap: 1.6rem;\n\n &:not(:last-child) {\n margin-bottom: 1.6rem;\n }\n`;\n\nexport const TitleWrapper = styled.header`\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n\n margin-bottom: 1.6rem;\n\n ${BREAKPOINT.ml} {\n flex-direction: column;\n align-items: flex-start;\n }\n`;\n\nexport const StyledTitle = styled(SectionTitle)`\n && {\n margin-bottom: 0;\n\n ${BREAKPOINT.ml} {\n margin-bottom: 1.6rem;\n }\n }\n`;\n\nexport const StyledDropdown = styled(DropdownMultiple)`\n width: 20rem;\n`;\n","import styled from \"styled-components\";\n\nimport { FlexContentCenteringCSS } from \"domains/shared/styles\";\n\nimport { LazyImageComponent } from \"domains/shared/components/lazy-image\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const ArticleWrapper = styled.article`\n display: flex;\n gap: 2.4rem;\n align-items: center;\n\n position: relative;\n\n padding: 2.4rem;\n\n border-radius: 5px;\n background-color: var(--color-background-3);\n\n ${BREAKPOINT.tm} {\n padding: 1.6rem;\n gap: 1.6rem;\n }\n`;\n\nexport const Poster = styled(LazyImageComponent)`\n width: 11rem;\n height: 14.4rem;\n flex-shrink: 0;\n\n border-radius: 5px;\n\n img {\n object-fit: cover;\n }\n`;\n\nexport const DetailsWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 0.8rem;\n flex-grow: 1;\n\n color: var(--color-text-primary);\n`;\n\nexport const Title = styled.h2`\n font: var(--font-subtitle-bold);\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n\n overflow: hidden;\n text-overflow: ellipsis;\n\n ${BREAKPOINT.mm} {\n font: var(--font-body-bold);\n }\n`;\n\nexport const Date = styled.time`\n font: var(--font-caption);\n color: var(--color-text-tertiary);\n`;\n\nexport const Tags = styled.div`\n font: var(--font-caption);\n\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 0.6rem;\n\n div:nth-child(2) {\n color: var(--color-text-tertiary);\n\n padding-left: 0.6rem;\n border-left: 1px solid currentColor;\n }\n`;\n\nexport const IconWrapper = styled.div`\n ${FlexContentCenteringCSS};\n\n width: 4rem;\n height: 4rem;\n flex-shrink: 0;\n\n transform: rotate(-90deg);\n\n font-size: 1.6rem;\n color: var(--link-color);\n\n ${BREAKPOINT.tm} {\n flex-shrink: 1;\n }\n\n ${BREAKPOINT.mm} {\n display: none;\n }\n`;\n\nexport const SkeletonWrapper = styled(ArticleWrapper)`\n .image {\n width: 11rem;\n height: 14.4rem;\n flex-shrink: 0;\n\n border-radius: 5px;\n }\n\n .text-line {\n height: 1.2rem;\n width: 100%;\n }\n\n .text-line--1 {\n max-width: 10rem;\n }\n\n .text-line--2 {\n height: 1.6rem;\n max-width: 30rem;\n }\n\n .text-line--3 {\n max-width: 35%;\n }\n`;\n","import styled from \"styled-components\";\nimport { Link } from \"react-router-dom\";\n\nexport const ArticleLink = styled(Link)`\n --link-color: var(--color-text-clickable);\n\n display: block;\n\n text-decoration: none;\n\n &:hover {\n --link-color: var(--color-text-clickable-hover);\n }\n\n &:active {\n --link-color: var(--color-text-clickable-pressed);\n }\n`;\n","import React, { FC } from \"react\";\n\nimport {\n ArticleWrapper,\n Date,\n DetailsWrapper,\n IconWrapper,\n Poster,\n Tags,\n Title,\n} from \"./styles\";\nimport { ArticleLink } from \"../../styles\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport { News } from \"api/services/ubi-service/types\";\nimport { useNewsArticle } from \"../../hooks/useNewsArticle\";\nimport { LATEST_NEWS_PLACEMENT } from \"domains/shared/constants/news\";\n\ntype Props = {\n article: News;\n};\n\nexport const LatestArticleComponent: FC = ({ article }) => {\n const {\n path,\n onArticleClick,\n mediaUrl,\n formattedDate,\n localDate,\n tags,\n } = useNewsArticle(LATEST_NEWS_PLACEMENT, article);\n\n return (\n \n \n \n\n \n {tags.length ? (\n \n {tags}\n {/*
    {article.newsType}
    */}\n
    \n ) : null}\n\n {article.localization.title}\n {formattedDate}\n
    \n\n \n \n \n
    \n
    \n );\n};\n","export const TRANSLATIONS = {\n LATEST_NEWS_TITLE: \"news__latest-news__title\",\n SHOW_MORE: \"news__latest-news__cta-more\",\n FILTER_PLACEHOLDER: \"news__latest-news__filter-placeholder\",\n};\n","import React, { FC } from \"react\";\n\nimport { SkeletonWrapper, DetailsWrapper } from \"./styles\";\n\nimport { SkeletonPlaceholder } from \"domains/shared/components\";\n\nexport const LatestArticleSkeleton: FC = () => (\n \n \n\n \n \n \n \n \n \n);\n","import React, { FC } from \"react\";\n\nimport { NewsContent, NewsList } from \"./styles\";\n\nimport { LatestArticleSkeleton } from \"./article/latest-article.skeleton\";\nimport { LATEST_NEWS_COUNT } from \"../store/constants\";\n\ntype Props = {\n on?: boolean;\n};\n\nexport const NewsListSkeleton: FC = ({ on, children }) => (\n \n {on ? (\n \n {Array.from({ length: LATEST_NEWS_COUNT }, (_, index) => (\n
  • \n \n
  • \n ))}\n
    \n ) : (\n children\n )}\n
    \n);\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { TitleWrapper, StyledDropdown, StyledTitle, NewsList } from \"./styles\";\nimport { ShowMoreCTA } from \"domains/shared/components\";\n\nimport { LatestArticleComponent } from \"./article/latest-article.component\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { NewsListSkeleton } from \"./news-list.component\";\nimport { DropdownEvent } from \"domains/shared/components/dropdown/types\";\nimport { useRootStore } from \"init/root-store\";\n\nexport const LatestNewsComponent: FC = observer(() => {\n const { t } = useTranslation();\n const { news } = useRootStore();\n\n const {\n showMoreLatestNews,\n isPossibleToShowMore,\n visibleLatestNews,\n selectedTags,\n setSelectedTag,\n isNewsInitialized,\n tagsSearchOptions,\n } = news;\n\n const onSearchByTags = (event: DropdownEvent) => {\n setSelectedTag(event.target.value as string[]);\n };\n\n return (\n
    \n \n {t(TRANSLATIONS.LATEST_NEWS_TITLE)}\n \n \n\n \n <>\n \n {visibleLatestNews.map((article) => (\n
  • \n \n
  • \n ))}\n
    \n\n {isPossibleToShowMore && (\n \n {t(TRANSLATIONS.SHOW_MORE)}\n \n )}\n \n
    \n
    \n );\n});\n","import styled from \"styled-components\";\n\nimport { LazyImageComponent } from \"domains/shared/components/lazy-image\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const MainNewsWrapper = styled.article`\n display: flex;\n align-items: flex-end;\n\n position: relative;\n isolation: isolate;\n\n width: 100%;\n aspect-ratio: 16 / 9;\n padding: 4.8rem;\n overflow: hidden;\n\n border-radius: 8px 8px 0 0;\n\n color: var(--color-text-primary);\n\n &::after {\n content: \"\";\n position: absolute;\n width: 100%;\n height: 100%;\n inset: 0;\n background: linear-gradient(to top, #1b1b1b 5%, #1b1b1b00 100%) no-repeat\n center / cover;\n }\n\n ${BREAKPOINT.tm} {\n padding: 2.4rem;\n }\n`;\n\nexport const BackgroundCover = styled(LazyImageComponent)`\n width: 100%;\n height: 100%;\n\n position: absolute;\n inset: 0;\n`;\n\nexport const Description = styled.div`\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n gap: 0.8rem;\n\n z-index: 1;\n`;\n\nexport const Tags = styled.div`\n font: var(--font-caption);\n\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 0.6rem;\n\n div:nth-child(2) {\n color: var(--color-text-tertiary);\n\n padding-left: 0.6rem;\n border-left: 1px solid currentColor;\n }\n`;\n\nexport const Title = styled.h2`\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n overflow: hidden;\n\n font: var(--font-header-xlarge);\n\n ${BREAKPOINT.tm} {\n font: var(--font-title-bold);\n -webkit-line-clamp: 2;\n }\n`;\n\nexport const Date = styled.time`\n font: var(--font-caption);\n color: var(--color-text-tertiary);\n`;\n\nexport const SkeletonWrapper = styled(MainNewsWrapper)`\n .text-line {\n height: 1.2rem;\n width: 100%;\n }\n\n .text-line--1 {\n max-width: 15rem;\n }\n\n .text-line--2 {\n height: 2.4rem;\n max-width: 40rem;\n }\n\n .text-line--3 {\n max-width: 10rem;\n }\n`;\n","import React, { FC } from \"react\";\n\nimport { SkeletonWrapper, Description, BackgroundCover } from \"./styles\";\n\nimport { SkeletonPlaceholder } from \"domains/shared/components\";\n\nimport fallbackPoster from \"assets/placeholders/swirl.svg\";\n\ntype Props = {\n on: boolean;\n};\n\nexport const MainArticleSkeleton: FC = ({ on, children }) =>\n on ? (\n \n \n\n \n \n \n \n \n \n ) : (\n <>{children}\n );\n","import React, { FC } from \"react\";\n\nimport {\n BackgroundCover,\n Date,\n Description,\n MainNewsWrapper,\n Title,\n Tags,\n} from \"./styles\";\nimport { ArticleLink } from \"../../styles\";\n\nimport { News } from \"api/services/ubi-service/types\";\nimport { useNewsArticle } from \"../../hooks/useNewsArticle\";\nimport { MAIN_NEWS_PLACEMENT } from \"domains/shared/constants/news\";\n\ntype Props = {\n article: News;\n};\n\nexport const MainArticleComponent: FC = ({ article }) => {\n const {\n path,\n onArticleClick,\n mediaUrl,\n formattedDate,\n localDate,\n tags,\n } = useNewsArticle(MAIN_NEWS_PLACEMENT, article);\n\n return (\n \n \n \n\n \n {tags.length ? (\n \n {tags}\n {/*
    {article.newsType}
    */}\n
    \n ) : null}\n\n {article.localization.title}\n {formattedDate}\n
    \n
    \n
    \n );\n};\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { MainArticleSkeleton } from \"./article/main-article.skeleton\";\nimport { MainArticleComponent } from \"./article/main-article.component\";\nimport { useRootStore } from \"init/root-store\";\n\nexport const MainNewsComponent: FC = observer(() => {\n const { news } = useRootStore();\n\n const { mainNews, isNewsInitialized } = news;\n\n return (\n
    \n \n {mainNews ? : null}\n \n
    \n );\n});\n","export const TRANSLATIONS = {\n HIGHLIGHTS_TITLE: \"news__highlights__title\",\n};\n","import styled from \"styled-components\";\n\nexport const HighlightsList = styled.ul`\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));\n\n gap: 2.6rem 3.2rem;\n\n color: var(--color-text-primary);\n\n li {\n display: contents;\n }\n`;\n","import styled from \"styled-components\";\n\nimport { LazyImageComponent } from \"domains/shared/components/lazy-image\";\n\nexport const HighlightsItem = styled.article`\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n\n overflow: hidden;\n height: 100%;\n\n border-radius: 8px 8px 0 0;\n\n font: var(--font-caption);\n color: var(--color-text-primary);\n`;\n\nexport const ImgContainer = styled(LazyImageComponent)`\n flex-shrink: 0;\n aspect-ratio: 16 / 9;\n`;\n\nexport const Description = styled.div`\n display: flex;\n flex-grow: 1;\n flex-direction: column;\n gap: 0.8rem;\n\n padding: 2.4rem 1.6rem;\n\n font: var(--font-caption);\n background-color: var(--color-background-3);\n`;\n\nexport const Tags = styled.div`\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 0.6rem;\n\n div:nth-child(2) {\n color: var(--color-text-tertiary);\n\n padding-left: 0.6rem;\n border-left: 1px solid currentColor;\n }\n`;\n\nexport const Title = styled.h2`\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n\n overflow: hidden;\n text-overflow: ellipsis;\n\n font: var(--font-body-bold);\n`;\n\nexport const Date = styled.time`\n font: var(--font-caption);\n color: var(--color-text-tertiary);\n`;\n\nexport const SkeletonWrapper = styled(HighlightsItem)`\n .image {\n flex-shrink: 0;\n aspect-ratio: 16 / 9;\n }\n\n .text-line {\n height: 1.2rem;\n width: 100%;\n }\n\n .text-line--1 {\n max-width: 60%;\n }\n\n .text-line--2 {\n height: 1.6rem;\n max-width: 100%;\n }\n\n .text-line--3 {\n max-width: 35%;\n }\n`;\n","import React from \"react\";\n\nimport { Description, SkeletonWrapper } from \"./styles\";\n\nimport { SkeletonPlaceholder } from \"domains/shared/components\";\n\nexport const HighlightArticleSkeleton = () => (\n \n \n\n \n \n \n \n \n \n);\n","import React, { FC } from \"react\";\n\nimport { HighlightsList } from \"./styles\";\nimport { HighlightArticleSkeleton } from \"./article/highlight-article.skeleton\";\n\ntype Props = {\n on?: boolean;\n};\n\nexport const HighlightsListSkeleton: FC = ({ on, children }) => (\n \n {on\n ? Array.from({ length: 3 }, (_, index) => (\n
  • \n \n
  • \n ))\n : children}\n
    \n);\n","import React, { FC } from \"react\";\n\nimport {\n HighlightsItem,\n ImgContainer,\n Date,\n Description,\n Tags,\n Title,\n} from \"./styles\";\nimport { ArticleLink } from \"../../styles\";\n\nimport { News } from \"api/services/ubi-service/types\";\nimport { useNewsArticle } from \"../../hooks/useNewsArticle\";\nimport { HIGHLIGHTS_NEWS_PLACEMENT } from \"domains/shared/constants/news\";\n\ntype Props = {\n article: News;\n};\n\nexport const HighlightArticleComponent: FC = ({ article }) => {\n const {\n path,\n onArticleClick,\n mediaUrl,\n formattedDate,\n tags,\n localDate,\n } = useNewsArticle(HIGHLIGHTS_NEWS_PLACEMENT, article);\n\n return (\n \n \n \n\n \n {tags.length ? (\n \n {tags}\n {/*
    {article.newsType}
    */}\n
    \n ) : null}\n\n {article.localization.title}\n {formattedDate}\n
    \n
    \n
    \n );\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { SectionTitle } from \"../../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { HighlightsListSkeleton } from \"./highlights-list.component\";\nimport { HighlightArticleComponent } from \"./article/highlight-article.component\";\nimport { useRootStore } from \"init/root-store\";\n\nexport const HighlightsNewsComponent: FC = observer(() => {\n const { t } = useTranslation();\n const { news } = useRootStore();\n\n const { isNewsInitialized, highlights } = news;\n\n return (\n
    \n {t(TRANSLATIONS.HIGHLIGHTS_TITLE)}\n\n \n {highlights.map((article) => (\n
  • \n \n
  • \n ))}\n
    \n
    \n );\n});\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PageTitle } from \"../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport { ANALYTICS_PAGE_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { LatestNewsComponent } from \"./latest/latest-news.component\";\nimport { MainNewsComponent } from \"./main/main-news.component\";\nimport { HighlightsNewsComponent } from \"./highlights/highlights-news.component\";\n\nexport const NewsPage = () => {\n const { t } = useTranslation();\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.news,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.main,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n return (\n <>\n
    \n {t(TRANSLATIONS.TITLE)}\n
    \n\n \n \n \n \n );\n};\n","import React, { useEffect } from \"react\";\nimport { Route, Switch } from \"react-router-dom\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { NewsArticlePage } from \"./article-page/news-article.page\";\nimport { urls } from \"navigation/book\";\nimport { NewsPage } from \"./news.page\";\nimport { useRootStore } from \"init/root-store\";\n\nexport const NewsRouters = observer(() => {\n const { news } = useRootStore();\n\n useEffect(() => {\n news.fetchNews();\n }, [news]);\n\n return (\n \n \n \n \n );\n});\n","import styled from \"styled-components\";\n\nimport { PageTitle } from \"../styles\";\n\nexport const CreatorCodeTitle = styled(PageTitle)`\n margin-bottom: 0.8rem;\n`;\n\nexport const HeaderDescription = styled.div`\n font: var(--font-subtitle-bold);\n color: var(--color-text-primary);\n\n max-width: max-content;\n padding: 0 1.2rem;\n\n border-width: 0 1px 0 1px;\n border-color: var(--color-stroke-3);\n border-style: solid;\n`;\n","import { CODE_TABS } from \"./types\";\n\nexport const TRANSLATIONS = {\n TITLE: \"creators-code__page-title\",\n SUBTITLE: \"creators-code__page-subtitle\",\n NOT_AVAILABLE: \"creators-code__page-not-available\",\n};\n\nexport const TABS = [\n {\n id: CODE_TABS.MAIN,\n name: \"creators-code__page-tabs__code\",\n },\n {\n id: CODE_TABS.EARNING,\n name: \"creators-code__page-tabs__earning\",\n },\n];\n","import { ChannelType, ProfileChannel } from \"api/services/public-service\";\n\nexport type ChannelDataType = ChannelType & {\n data?: ProfileChannel;\n};\n\nexport enum PAYMENT_STEPS {\n IQ_LINKING = 1,\n PAYMENT_DATA = 2,\n CODE = 3,\n}\n","import styled from \"styled-components\";\n\nimport { InnerSectionContent } from \"domains/dashboard/styles\";\nimport { FlexContentCenteringCSS } from \"domains/shared/styles\";\n\nimport { Icon } from \"domains/shared/components/icon\";\n\nexport const LockedContent = styled(InnerSectionContent)`\n ${FlexContentCenteringCSS};\n flex-direction: column;\n gap: 1.6rem;\n`;\n\nexport const LockerIcon = styled(Icon).attrs(() => ({\n type: \"closedLock\",\n}))`\n font-size: 5.6rem;\n`;\n\nexport const Description = styled.div`\n font: var(--font-subtitle-bold);\n text-align: center;\n`;\n","import styled from \"styled-components\";\n\nimport { LockedOverlayComponent } from \"../../locked-content\";\n\nexport const LockedContentWrapper = styled.div`\n flex-grow: 1;\n padding: 1.6rem;\n`;\n\nexport const LockedContent = styled(LockedOverlayComponent)`\n min-height: 38.8rem;\n`;\n","import React, { FC, ReactElement } from \"react\";\n\nimport { LockedContent, Description, LockerIcon } from \"./styles\";\n\ntype Props = {\n className?: string;\n description: string | ReactElement;\n};\n\nexport const LockedOverlayComponent: FC = ({\n description,\n className,\n}) => (\n \n \n {description}\n \n);\n","export const TRANSLATIONS = {\n TITLE: \"creators-code__code__title\",\n PROFILE_REQUIRED: \"creators-code__code__profile-required\",\n};\n","import styled, { css } from \"styled-components\";\n\nimport { FlexContentCenteringCSS } from \"domains/shared/styles\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { Button } from \"domains/shared/components/button\";\n\nexport const GeneralContentSectionCSS = css`\n padding: 2.4rem 1.6rem;\n\n border-radius: 8px;\n background-color: var(--color-background-3);\n`;\n\nexport const DescriptionSection = styled.section`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 1.6rem;\n\n ${GeneralContentSectionCSS};\n\n ${BREAKPOINT.tm} {\n flex-direction: column;\n }\n`;\n\nexport const ContentWrapper = styled.div`\n display: grid;\n grid-template-columns: 1fr 24rem;\n gap: 1.6rem;\n\n flex-grow: 1;\n padding: 1.6rem;\n\n ${BREAKPOINT.tm} {\n grid-template-columns: 1fr;\n }\n`;\n\nexport const DescriptionTitle = styled.h3`\n font: var(--font-subtitle-bold);\n\n margin-bottom: 2.4rem;\n`;\n\nexport const DescriptionText = styled.p`\n font: var(--font-body);\n`;\n\nexport const StatusSection = styled.section`\n display: flex;\n align-items: center;\n\n ${GeneralContentSectionCSS};\n\n ${BREAKPOINT.tm} {\n order: -1;\n }\n`;\n\nexport const StatusContent = styled.div<{ isValid?: boolean }>`\n display: flex;\n flex-grow: 1;\n gap: 0.8rem;\n\n color: var(--color-feedback-warning);\n\n ${(props) =>\n props.isValid &&\n css`\n color: var(--color-feedback-positive);\n `}\n`;\n\nexport const StatusTitle = styled.h4`\n font: var(--font-subtitle-bold);\n color: var(--color-text-primary);\n\n margin-bottom: 0.4rem;\n`;\n\nexport const StatusIcon = styled(Icon)`\n font-size: 2rem;\n`;\n\nexport const StatusText = styled.p`\n font: var(--font-body);\n`;\n\nexport const ActionCTA = styled(Button)`\n min-width: fit-content;\n max-width: 100%;\n\n ${BREAKPOINT.tm} {\n width: 100%;\n }\n`;\n\nexport const StepContentWrapper = styled.div<{\n step: number;\n isValid?: boolean;\n}>`\n display: flex;\n\n overflow: hidden;\n border-radius: 8px;\n\n background-color: var(--color-background-glass-1);\n\n ${BREAKPOINT.tm} {\n flex-direction: column;\n }\n\n &::before {\n ${(props) =>\n css`\n content: \"${props.step}\";\n `}\n\n font-size: 2.4rem;\n font-weight: bold;\n font-family: \"Roboto\", sans-serif;\n color: rgba(255, 255, 255, 0.2);\n\n flex-shrink: 0;\n width: 3.2rem;\n\n ${FlexContentCenteringCSS};\n background-color: var(--color-notification-warning);\n\n ${BREAKPOINT.tm} {\n width: 100%;\n }\n\n ${(props) =>\n props.isValid &&\n css`\n background-color: var(--color-notification-positive);\n `}\n }\n`;\n\nexport const DisclaimerMessage = styled.div<{\n feedback?: \"negative\" | \"positive\" | \"warning\";\n}>`\n font: var(--font-body-bold);\n\n ${(props) => {\n switch (props.feedback) {\n case \"negative\":\n return css`\n color: var(--color-feedback-negative);\n `;\n\n case \"warning\":\n return css`\n color: var(--color-feedback-warning);\n `;\n\n case \"positive\":\n return css`\n color: var(--color-feedback-positive);\n `;\n\n default:\n return null;\n }\n }}\n`;\n","export enum KEY_STEP_TIME {\n FIRST = 0,\n SECOND = 55,\n THIRD = 125,\n}\n","import styled, { css } from \"styled-components\";\n\nimport { GeneralContentSectionCSS } from \"../../styles\";\n\nimport { Button } from \"domains/shared/components/button\";\n\nexport const ContentSection = styled.section`\n ${GeneralContentSectionCSS};\n`;\n\nexport const CodeWrapper = styled.div`\n display: flex;\n align-items: center;\n gap: 1.2rem;\n\n margin-bottom: 2.4rem;\n`;\n\nexport const Code = styled.div<{ isActive?: boolean }>`\n padding: 0.8rem 1.6rem;\n\n font: var(--font-body-bold);\n overflow-wrap: anywhere;\n color: var(--color-text-secondary);\n\n border-radius: 8px;\n background: var(--color-background-2);\n border: 1px solid var(--color-feedback-warning);\n\n user-select: none;\n\n ${(props) =>\n props.isActive &&\n css`\n color: var(--color-text-primary);\n\n border: 1px solid var(--color-feedback-positive);\n\n user-select: auto;\n `}\n`;\n\nexport const CopyCTA = styled(Button)`\n color: var(--color-text-clickable);\n font-size: 2.4rem;\n`;\n","export const TRANSLATIONS = {\n CODE_TITLE: \"creators-code__code__code-title\",\n STATUS_PENDING: \"creators-code__code__description-pending\",\n STATUS_VALID: \"creators-code__code__description-valid\",\n DISABLED_TOOLTIP: \"creators-code__code__disabled-tooltip\",\n};\n","export const copyTextToBuffer = async (\n text: string,\n onSuccess?: () => void,\n onError?: () => void\n) => {\n if (navigator.clipboard) {\n try {\n await navigator.clipboard.writeText(text);\n await onSuccess?.();\n } catch {\n await onError?.();\n }\n } else {\n const textArea = document.createElement(\"textarea\");\n textArea.value = text;\n\n textArea.style.position = \"absolute\";\n textArea.style.opacity = \"0\";\n\n document.body.prepend(textArea);\n textArea.select();\n\n try {\n document.execCommand(\"copy\");\n await onSuccess?.();\n } catch {\n await onError?.();\n } finally {\n textArea.remove();\n }\n }\n};\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { DescriptionTitle, DisclaimerMessage } from \"../../styles\";\nimport { Code, CodeWrapper, CopyCTA, ContentSection } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { Icon } from \"domains/shared/components/icon\";\nimport { useRootStore } from \"init/root-store\";\nimport { copyTextToBuffer } from \"domains/shared/utils/clipboard\";\nimport { NOTIFICATION_LVL4, notificationsService } from \"domains/notifications\";\nimport { Tooltip } from \"domains/shared/components/tooltip\";\n\nexport const DescriptionComponent = observer(() => {\n const { profile } = useRootStore();\n const { t } = useTranslation();\n\n const { revenueSharing, isCodeActive } = profile;\n\n if (!revenueSharing) {\n return null;\n }\n\n const { code } = revenueSharing;\n\n const onCopyClick = async () => {\n await copyTextToBuffer(\n code,\n () => notificationsService.showLevel4(NOTIFICATION_LVL4.COPY_SUCCESS),\n () => notificationsService.showError(NOTIFICATION_LVL4.COPY_ERROR)\n );\n };\n\n return (\n \n {t(TRANSLATIONS.CODE_TITLE)}\n\n \n {isCodeActive ? (\n {code}\n ) : (\n \n {code}\n \n )}\n\n \n \n \n \n\n \n {t(\n isCodeActive ? TRANSLATIONS.STATUS_VALID : TRANSLATIONS.STATUS_PENDING\n )}\n \n \n );\n});\n","import styled from \"styled-components\";\n\nimport { StatusSection } from \"../../styles\";\n\nexport const CodeStatusSection = styled(StatusSection)`\n grid-row: span 2;\n`;\n","export const TRANSLATIONS = {\n TITLE: \"creators-code__code__status-title\",\n STATUS_PENDING: \"creators-code__code__status-pending\",\n STATUS_VALID: \"creators-code__code__status-valid\",\n};\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n StatusContent,\n StatusIcon,\n StatusText,\n StatusTitle,\n} from \"../../styles\";\nimport { CodeStatusSection } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useRootStore } from \"init/root-store\";\n\nexport const StatusComponent = observer(() => {\n const { t } = useTranslation();\n const { profile } = useRootStore();\n\n const { isCodeActive } = profile;\n\n return (\n \n \n \n\n
    \n {t(TRANSLATIONS.TITLE)}\n \n {t(\n isCodeActive\n ? TRANSLATIONS.STATUS_VALID\n : TRANSLATIONS.STATUS_PENDING\n )}\n \n
    \n
    \n
    \n );\n});\n","export const TRANSLATIONS = {\n DESCRIPTION: \"creators-code__code__edit-description\",\n REQUEST: \"button__request-changes\",\n};\n","import styled, { css } from \"styled-components\";\n\nimport { DialogContent } from \"../../styles\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport { InputComponent } from \"domains/shared/components/input\";\n\nexport const FormContent = styled(DialogContent)`\n display: flex;\n flex-direction: column;\n gap: 2.4rem;\n`;\n\nexport const WarningWrapper = styled.div`\n display: flex;\n gap: 0.8rem;\n\n font: var(--font-caption);\n color: var(--color-feedback-warning);\n`;\n\nexport const WarningIcon = styled(Icon)`\n font-size: 1.6rem;\n`;\n\nexport const CodeInput = styled(InputComponent)<{ isValid?: boolean }>`\n width: 100%;\n\n ${(props) =>\n !props.isValid &&\n css`\n --egg-surface-active: var(--color-feedback-negative);\n `}\n`;\n\nexport const InputWrapper = styled.div`\n padding: 1.6rem;\n\n border-radius: 8px;\n background-color: var(--color-background-4);\n`;\n\nexport const RulesTitle = styled.h3`\n font: var(--font-body-bold);\n\n margin-bottom: 1rem;\n`;\n\nexport const Rules = styled.ul`\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n`;\n","export const TRANSLATIONS = {\n RULE_1: \"dialog__edit-creator-code__rule-1\",\n RULE_2: \"dialog__edit-creator-code__rule-2\",\n RULE_3: \"dialog__edit-creator-code__rule-3\",\n RULE_4: \"dialog__edit-creator-code__rule-4\",\n RULES_TITLE: \"dialog__edit-creator-code__rules-title\",\n TITLE: \"dialog__edit-creator-code__title\",\n CODE_PLACEHOLDER: \"dialog__edit-creator-code__code-placeholder\",\n CODE_LABEL: \"dialog__edit-creator-code__code-label\",\n SUBMIT: \"button__send\",\n WARNING: \"dialog__edit-creator-code__warning\",\n};\n\nexport const VALIDATION_DELAY = 1000;\n","export default __webpack_public_path__ + \"static/media/error.cb541ce1.svg\";","export default __webpack_public_path__ + \"static/media/loading.b5fb7cf5.svg\";","import styled, { css, keyframes } from \"styled-components\";\n\nimport checked from \"domains/shared/components/icon/icons/checked.svg\";\nimport error from \"domains/shared/components/icon/icons/error.svg\";\nimport loading from \"domains/shared/components/icon/icons/loading.svg\";\n\nconst Rollin = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n`;\n\nexport const Rule = styled.li<{\n isValid?: boolean | null;\n}>`\n display: flex;\n align-items: center;\n gap: 0.8rem;\n\n font: var(--font-body);\n\n &::before {\n content: \"\";\n\n width: 1.4rem;\n height: 1.4rem;\n\n border-radius: 50%;\n\n background-color: var(--color-background-1);\n }\n\n mask-size: cover;\n mask-repeat: no-repeat;\n mask-position: center;\n\n${({ isValid }) => {\n if (isValid === undefined) {\n return null;\n }\n\n if (isValid === null) {\n return css`\n &::before {\n mask-image: url(${loading});\n background-color: var(--color-background-1);\n\n animation-name: ${Rollin};\n animation-duration: 1s;\n animation-iteration-count: infinite;\n }\n `;\n }\n\n return isValid\n ? css`\n &::before {\n background-color: var(--color-feedback-positive);\n mask-image: url(${checked});\n }\n `\n : css`\n &:before {\n background-color: var(--color-feedback-negative);\n mask-image: url(${error});\n }\n `;\n}}}\n`;\n","import React, { FC } from \"react\";\n\nimport { Rule } from \"./styles\";\n\ntype Props = {\n isValid?: boolean | null;\n};\n\nexport const RuleComponent: FC = ({ children, isValid }) => (\n {children}\n);\n","import React, { FC, FormEvent, useEffect, useState } from \"react\";\nimport Dialog from \"rc-dialog\";\n\nimport {\n CloseIcon,\n DialogActions,\n DialogCloseButton,\n DialogTitle,\n} from \"../../styles\";\nimport {\n CodeInput,\n FormContent,\n InputWrapper,\n Rules,\n RulesTitle,\n WarningIcon,\n WarningWrapper,\n} from \"./styles\";\n\nimport { DialogProps } from \"../../types\";\nimport { Button } from \"domains/shared/components/button\";\nimport {\n CODE_MAX_LENGTH,\n CODE_MIN_LENGTH,\n CREATOR_CODE_PATTERN,\n isCreatorCodeLengthValid,\n} from \"domains/shared/validators\";\nimport { useTranslation } from \"react-i18next\";\nimport { TRANSLATIONS, VALIDATION_DELAY } from \"./constants\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport { publicApiService } from \"api\";\nimport { NOTIFICATION_LVL4, notificationsService } from \"domains/notifications\";\nimport { RuleComponent } from \"./rule\";\n\ntype Props = {\n initialCode: string;\n} & DialogProps;\n\nexport const CodeEditingDialog: FC = ({\n onClose,\n initialCode,\n ...props\n}) => {\n const { t } = useTranslation();\n const [fetch, isLoading] = useLoadingAction();\n\n const [code, setCode] = useState(initialCode);\n const [isCodeUnique, setIsCodeUnique] = useState(null);\n\n const onCodeChange = (value: string) => {\n setCode(value);\n };\n\n const onSubmit = async (evt: FormEvent) => {\n evt.preventDefault();\n\n fetch(async () => {\n try {\n await publicApiService.updateCreatorCode(code);\n props.onSubmit();\n } catch {\n notificationsService.showError(NOTIFICATION_LVL4.DEFAULT_ERROR);\n }\n });\n };\n\n const isCodeTheSame = code === initialCode;\n const isLengthValid = isCreatorCodeLengthValid(code);\n const isPatternValid = CREATOR_CODE_PATTERN.test(code);\n\n useEffect(() => {\n if (isCodeTheSame) {\n setIsCodeUnique(true);\n return;\n }\n\n setIsCodeUnique(null);\n\n const checkValidation = setTimeout(async () => {\n try {\n await publicApiService.isCreatorCodeValid(code);\n setIsCodeUnique(true);\n } catch (error) {\n notificationsService.showError(NOTIFICATION_LVL4.CODE_NOT_UNIQUE);\n setIsCodeUnique(false);\n }\n }, VALIDATION_DELAY);\n\n return () => {\n clearTimeout(checkValidation);\n };\n }, [code, isCodeTheSame]);\n\n const isInputValid = isPatternValid && isLengthValid;\n const isSubmitAvailable = isInputValid && !isCodeTheSame && isCodeUnique;\n\n return (\n \n \n \n \n\n \n {t(TRANSLATIONS.TITLE)}\n\n \n \n \n\n
    \n {t(TRANSLATIONS.RULES_TITLE)}\n\n \n \n {t(TRANSLATIONS.RULE_1, {\n min: CODE_MIN_LENGTH,\n max: CODE_MAX_LENGTH,\n })}\n \n \n {t(TRANSLATIONS.RULE_2)}\n \n \n {t(TRANSLATIONS.RULE_3)}\n \n {t(TRANSLATIONS.RULE_4)}\n \n
    \n\n \n \n
    {t(TRANSLATIONS.WARNING)}
    \n
    \n \n\n \n \n {t(TRANSLATIONS.SUBMIT)}\n \n \n\n {isLoading && }\n
    \n );\n};\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ActionCTA, DescriptionSection, DescriptionText } from \"../../styles\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { useRootStore } from \"init/root-store\";\nimport { CodeEditingDialog } from \"domains/dialogs/revenue-sharing/code-editing/code-editing.dialog\";\n\nexport const CodeEditComponent = observer(() => {\n const { t } = useTranslation();\n const { dialogs, profile } = useRootStore();\n\n const onRequestClick = async () => {\n if (!profile.revenueSharing) {\n return;\n }\n\n await dialogs.openDialog(CodeEditingDialog, {\n initialCode: profile.revenueSharing.code,\n });\n };\n\n return (\n \n {t(TRANSLATIONS.DESCRIPTION)}\n \n {t(TRANSLATIONS.REQUEST)}\n \n \n );\n});\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { SectionTitle } from \"../../../styles\";\nimport { LockedContent, LockedContentWrapper } from \"./styles\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { PAYMENT_STEPS } from \"domains/profile/types\";\nimport { ContentWrapper, StepContentWrapper } from \"../styles\";\nimport { DescriptionComponent } from \"./description\";\nimport { StatusComponent } from \"./status\";\nimport { CodeEditComponent } from \"./code-edit\";\n\nexport const CodeComponent = observer(() => {\n const { profile } = useRootStore();\n const { t } = useTranslation();\n\n const { paymentDetails, isCodeActive } = profile;\n const { isAccountActive } = paymentDetails;\n\n return (\n
    \n {t(TRANSLATIONS.TITLE)}\n\n \n {isAccountActive ? (\n \n \n \n \n \n ) : (\n \n }\n />\n \n )}\n \n
    \n );\n});\n","import styled, { css } from \"styled-components\";\n\nimport { LinkCSS } from \"domains/shared/styles\";\n\nimport { Icon } from \"domains/shared/components/icon\";\n\nexport const AccordionWrapper = styled.div`\n margin-bottom: 1.6rem;\n`;\n\nexport const EmailLink = styled.a`\n ${LinkCSS};\n`;\n\nexport const CTAArrow = styled(Icon)<{ isOpen: boolean }>`\n font-size: 1rem;\n\n transition: 0.2s rotate;\n\n ${(props) =>\n props.isOpen &&\n css`\n rotate: 180deg;\n `}\n`;\n","export const TRANSLATIONS = {\n TITLE: \"creators-code__faq__title\",\n SHOW_MORE: \"creators-code__faq__cta-show-more\",\n SHOW_LESS: \"creators-code__faq__cta-show-less\",\n};\n\nexport const QUESTIONS = new Map([\n [\"creators-code__faq__summary-1\", \"creators-code__faq__details-1\"],\n [\"creators-code__faq__summary-2\", \"creators-code__faq__details-2\"],\n [\"creators-code__faq__summary-3\", \"creators-code__faq__details-3\"],\n [\"creators-code__faq__summary-4\", \"creators-code__faq__details-4\"],\n [\"creators-code__faq__summary-5\", \"creators-code__faq__details-5\"],\n [\"creators-code__faq__summary-23\", \"creators-code__faq__details-23\"],\n [\"creators-code__faq__summary-6\", \"creators-code__faq__details-6\"],\n [\"creators-code__faq__summary-7\", \"creators-code__faq__details-7\"],\n [\"creators-code__faq__summary-8\", \"creators-code__faq__details-8\"],\n [\"creators-code__faq__summary-9\", \"creators-code__faq__details-9\"],\n [\"creators-code__faq__summary-10\", \"creators-code__faq__details-10\"],\n [\"creators-code__faq__summary-11\", \"creators-code__faq__details-11\"],\n [\"creators-code__faq__summary-12\", \"creators-code__faq__details-12\"],\n [\"creators-code__faq__summary-13\", \"creators-code__faq__details-13\"],\n [\"creators-code__faq__summary-14\", \"creators-code__faq__details-14\"],\n [\"creators-code__faq__summary-15\", \"creators-code__faq__details-15\"],\n [\"creators-code__faq__summary-24\", \"creators-code__faq__details-24\"],\n [\"creators-code__faq__summary-16\", \"creators-code__faq__details-16\"],\n [\"creators-code__faq__summary-17\", \"creators-code__faq__details-17\"],\n [\"creators-code__faq__summary-18\", \"creators-code__faq__details-18\"],\n [\"creators-code__faq__summary-19\", \"creators-code__faq__details-19\"],\n [\"creators-code__faq__summary-20\", \"creators-code__faq__details-20\"],\n [\"creators-code__faq__summary-21\", \"creators-code__faq__details-21\"],\n [\"creators-code__faq__summary-22\", \"creators-code__faq__details-22\"],\n]);\n\nexport const MIN_VISIBLE_QUESTIONS = 3;\n","import React, { useState } from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { SectionContent, SectionTitle } from \"../../../styles\";\nimport { AccordionWrapper, CTAArrow, EmailLink } from \"./styles\";\n\nimport { ExternalLink, ShowMoreCTA } from \"domains/shared/components\";\nimport { MIN_VISIBLE_QUESTIONS, QUESTIONS, TRANSLATIONS } from \"./constants\";\nimport { AccordionComponent } from \"domains/shared/components/accordion\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\n\nexport const FaqComponent = () => {\n const { t } = useTranslation();\n\n const [isFullVersion, setIsFullVersion] = useState(false);\n\n const questions = isFullVersion\n ? [...QUESTIONS.entries()]\n : [...QUESTIONS.entries()].slice(0, MIN_VISIBLE_QUESTIONS);\n\n const onShowMoreClick = () => setIsFullVersion((state) => !state);\n\n return (\n
    \n {t(TRANSLATIONS.TITLE)}\n\n \n \n {questions.map(([summary, details]) => (\n \n ),\n eCFRLink: ,\n FTCDisclosureLink: (\n \n ),\n FTCGuideLink: (\n \n ),\n FTCReviewLink: (\n \n ),\n }}\n />\n }\n />\n ))}\n \n\n \n \n {t(isFullVersion ? TRANSLATIONS.SHOW_LESS : TRANSLATIONS.SHOW_MORE)}\n \n \n \n \n
    \n );\n};\n","export const TRANSLATIONS = {\n TITLE: \"creators-code__contact-us__title\",\n DESCRIPTION: \"creators-code__contact-us__description\",\n};\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SectionTitle, SectionContent } from \"../../../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { RevenueSupportFormComponent } from \"domains/shared/components/revenue-support-form\";\nimport { AccordionComponent } from \"domains/shared/components/accordion\";\n\nexport const ContactUsComponent = () => {\n const { t } = useTranslation();\n\n return (\n
    \n {t(TRANSLATIONS.TITLE)}\n\n \n }\n />\n \n
    \n );\n};\n","import styled from \"styled-components\";\n\nexport const Title = styled.h2`\n font: var(--font-title-bold);\n text-align: center;\n\n margin-bottom: 2.4rem;\n`;\n\nexport const Subtitle = styled.div`\n font: var(--font-body);\n text-align: center;\n`;\n","export const TRANSLATIONS = {\n TITLE: \"dialog__creators-code__welcome__title\",\n SUBTITLE: \"dialog__creators-code__welcome__subtitle\",\n CTA_START: \"dialog__creators-code__welcome__cta-start\",\n};\n","export const INITIAL_STEP = 0;\n\nexport const DESCRIPTION_APPEARS_TIME = 200;\n\nexport const DESCRIPTIONS = [\n \"dialog__creators-code__welcome__description-1\",\n \"dialog__creators-code__welcome__description-2\",\n \"dialog__creators-code__welcome__description-3\",\n];\n","import styled from \"styled-components\";\nimport Lottie from \"react-lottie-player\";\nimport { CSSTransition } from \"react-transition-group\";\n\nimport { DESCRIPTION_APPEARS_TIME } from \"./constants\";\n\nexport const LottieImage = styled(Lottie).attrs(() => ({\n play: true,\n loop: true,\n}))<{ animationData: Record }>`\n width: 21rem;\n height: 18rem;\n\n margin: auto;\n`;\n\nexport const TransitionWrapper = styled(CSSTransition)`\n transition: opacity ${DESCRIPTION_APPEARS_TIME}ms;\n\n &.fade-enter,\n &.fade-exit-active {\n opacity: 0;\n }\n\n &.fade-enter-active,\n &.fade-exit {\n opacity: 1;\n }\n`;\n\nexport const Description = styled.div`\n font: var(--font-subtitle-bold);\n text-align: center;\n`;\n","import React, { useState } from \"react\";\nimport { SwitchTransition } from \"react-transition-group\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Description, LottieImage, TransitionWrapper } from \"./styles\";\n\nimport revenue from \"assets/animations/revenue.json\";\n\nimport {\n INITIAL_STEP,\n DESCRIPTIONS,\n DESCRIPTION_APPEARS_TIME,\n} from \"./constants\";\nimport { BMEnterFrameEvent } from \"domains/shared/types/lottie\";\nimport { KEY_STEP_TIME } from \"./types\";\n\nexport const AnimatedFlowComponent = () => {\n const { t } = useTranslation();\n\n const [activeStep, setActiveStep] = useState(INITIAL_STEP);\n\n const onEnterFrame = (data: BMEnterFrameEvent) => {\n const frameTime = Math.floor(data.currentTime);\n\n switch (frameTime) {\n case KEY_STEP_TIME.FIRST:\n setActiveStep(0);\n break;\n\n case KEY_STEP_TIME.SECOND:\n setActiveStep(1);\n break;\n\n case KEY_STEP_TIME.THIRD:\n setActiveStep(2);\n break;\n }\n };\n\n return (\n
    \n \n\n \n \n {t(DESCRIPTIONS[activeStep])}\n \n \n
    \n );\n};\n","import React, { FC } from \"react\";\nimport Dialog from \"rc-dialog\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n CloseIcon,\n DialogActions,\n DialogCloseButton,\n DialogContent,\n} from \"../../styles\";\n\nimport { DialogProps } from \"domains/dialogs/types\";\nimport { Subtitle, Title } from \"./styles\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { AnimatedFlowComponent } from \"./animated-flow\";\nimport { Button } from \"domains/shared/components/button\";\nimport { useRootStore } from \"init/root-store\";\n\nexport const OnboardingDialog: FC = observer((props) => {\n const { profile } = useRootStore();\n const { t } = useTranslation();\n\n const { paymentDetails } = profile;\n\n const onSubmit = () => {\n paymentDetails.confirmOnboarding();\n props.onSubmit();\n };\n\n return (\n \n \n \n \n\n \n \n <Trans\n i18nKey={TRANSLATIONS.TITLE}\n values={{\n firstName: profile.userDetails?.firstName,\n }}\n />\n \n\n {t(TRANSLATIONS.SUBTITLE)}\n\n \n \n\n \n \n \n \n );\n});\n","export const TRANSLATIONS = {\n TITLE: \"creators-code__payment-info__title\",\n};\n","export const TRANSLATIONS = {\n REQUEST_LINK: \"button__request-link\",\n REQUEST_SUCCESS: \"creators-code__payment-info__request-success\",\n MANAGE: \"button__manage\",\n TITLE: \"creators-code__payment-info__description-title\",\n STATUS_PENDING: \"creators-code__payment-info__description-status-pending\",\n STATUS_VALID: \"creators-code__payment-info__description-status-valid\",\n};\n","import styled from \"styled-components\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { CTAExternalLink } from \"domains/shared/components\";\nimport { Icon } from \"../../../../../shared/components/icon\";\n\nexport const PaymentAppLink = styled(CTAExternalLink)`\n display: inline-flex;\n gap: 1rem;\n align-items: center;\n\n ${BREAKPOINT.tm} {\n width: 100%;\n }\n`;\n\nexport const RequestSent = styled.div`\n padding: 0.8rem;\n flex-shrink: 0;\n\n display: flex;\n gap: 0.8rem;\n align-items: center;\n\n color: var(--color-feedback-positive);\n font: var(--font-body-bold);\n\n border-radius: 8px;\n background-color: var(--color-background-4);\n\n ${BREAKPOINT.tm} {\n width: 100%;\n }\n`;\n\nexport const RequestSuccessIcon = styled(Icon)`\n font-size: 2rem;\n`;\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PaymentAppLink, RequestSent, RequestSuccessIcon } from \"./styles\";\nimport { ActionCTA } from \"../../styles\";\n\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { Icon } from \"domains/shared/components/icon\";\nimport { LoadingComponent } from \"domains/shared/components/loading\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\nimport { useRootStore } from \"init/root-store\";\n\nexport const ActionComponent = observer(() => {\n const [fetch, isLoading] = useLoadingAction();\n const { profile } = useRootStore();\n const { t } = useTranslation();\n\n const { paymentDetails, isCodeActive } = profile;\n const { isEmailRequestDatePassed, isAccountActive } = paymentDetails;\n\n if (!isAccountActive) {\n return {t(TRANSLATIONS.REQUEST_LINK)};\n }\n\n if (isCodeActive) {\n return (\n \n {t(TRANSLATIONS.MANAGE)}\n \n \n );\n }\n\n if (!isEmailRequestDatePassed) {\n return (\n \n \n
    {t(TRANSLATIONS.REQUEST_SUCCESS)}
    \n
    \n );\n }\n\n const onRequestEmailClick = async () => {\n fetch(async () => {\n await paymentDetails.sendPaymentEmail();\n });\n };\n\n return (\n \n \n {t(TRANSLATIONS.REQUEST_LINK)}\n \n \n );\n});\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n DescriptionText,\n DescriptionTitle,\n DescriptionSection,\n} from \"../../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { ActionComponent } from \"./action.component\";\n\nexport const DescriptionComponent = observer(() => {\n const { t } = useTranslation();\n\n return (\n \n
    \n {t(TRANSLATIONS.TITLE)}\n {t(TRANSLATIONS.STATUS_PENDING)}\n
    \n\n \n
    \n );\n});\n","export const TRANSLATIONS = {\n TITLE: \"creators-code__payment-info__status-title\",\n STATUS_PENDING: \"creators-code__payment-info__status-pending\",\n STATUS_VALID: \"creators-code__payment-info__status-valid\",\n};\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n StatusContent,\n StatusIcon,\n StatusText,\n StatusTitle,\n StatusSection,\n} from \"../../styles\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { TRANSLATIONS } from \"./constants\";\n\nexport const StatusComponent = observer(() => {\n const { profile } = useRootStore();\n const { t } = useTranslation();\n\n const isValid = profile.paymentDetails.isPayable;\n\n return (\n \n \n \n\n
    \n {t(TRANSLATIONS.TITLE)}\n \n {t(\n isValid ? TRANSLATIONS.STATUS_VALID : TRANSLATIONS.STATUS_PENDING\n )}\n \n
    \n
    \n
    \n );\n});\n","import styled from \"styled-components\";\n\nimport { DisclaimerMessage } from \"../../styles\";\n\nimport { Icon } from \"domains/shared/components/icon\";\n\nexport const WarningIcon = styled(Icon)`\n font-size: 1.4rem;\n`;\n\nexport const WarningWrapper = styled(DisclaimerMessage)`\n display: flex;\n gap: 0.5rem;\n\n grid-column: 1 / -1;\n`;\n","export const TRANSLATIONS = {\n WARNING: \"creators-code__payment-info__email-warning\",\n};\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { WarningIcon, WarningWrapper } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\n\nexport const WarningComponent = () => {\n const { t } = useTranslation();\n\n return (\n \n \n
    {t(TRANSLATIONS.WARNING)}
    \n
    \n );\n};\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SectionTitle } from \"domains/dashboard/styles\";\nimport { ContentWrapper, StepContentWrapper } from \"../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { PAYMENT_STEPS } from \"domains/profile/types\";\nimport { DescriptionComponent } from \"./description\";\nimport { StatusComponent } from \"./status\";\nimport { useRootStore } from \"init/root-store\";\nimport { WarningComponent } from \"./warning\";\n\nexport const PaymentInformationComponent = observer(() => {\n const { profile } = useRootStore();\n const { t } = useTranslation();\n\n const { paymentDetails, isCodeActive } = profile;\n const {\n isPayable,\n isEmailRequestDatePassed,\n isAccountActive,\n } = paymentDetails;\n const isWarningAvailable =\n isAccountActive && !isPayable && !isCodeActive && !isEmailRequestDatePassed;\n\n return (\n
    \n {t(TRANSLATIONS.TITLE)}\n\n \n \n \n \n {isWarningAvailable && }\n \n \n
    \n );\n});\n","export const TRANSLATIONS = {\n TITLE: \"creators-code__iq-account__status-title\",\n STATUS_PENDING: \"creators-code__iq-account__status-pending\",\n STATUS_VALID: \"creators-code__iq-account__status-valid\",\n};\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n StatusContent,\n StatusIcon,\n StatusText,\n StatusTitle,\n StatusSection,\n} from \"../../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useRootStore } from \"init/root-store\";\n\nexport const StatusComponent = observer(() => {\n const { t } = useTranslation();\n const { profile } = useRootStore();\n\n const { paymentDetails } = profile;\n const { isAccountActive } = paymentDetails;\n\n return (\n \n \n \n\n
    \n {t(TRANSLATIONS.TITLE)}\n \n {t(\n isAccountActive\n ? TRANSLATIONS.STATUS_VALID\n : TRANSLATIONS.STATUS_PENDING\n )}\n \n
    \n
    \n
    \n );\n});\n","export const TRANSLATIONS = {\n ACTIVATE: \"button__activate\",\n TITLE: \"creators-code__iq-account__description-title\",\n STATUS_PENDING: \"creators-code__iq-account__description-status-pending\",\n STATUS_VALID: \"creators-code__iq-account__description-status-valid\",\n};\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ActionCTA,\n DescriptionText,\n DescriptionTitle,\n DescriptionSection,\n} from \"../../styles\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\nimport { LoadingComponent } from \"domains/shared/components/loading\";\n\ntype Props = {\n isTimerOver: boolean;\n};\n\nexport const DescriptionComponent: FC = observer(({ isTimerOver }) => {\n const { profile } = useRootStore();\n const { t } = useTranslation();\n const [fetch, isLoading] = useLoadingAction();\n\n const { paymentDetails } = profile;\n const { isAccountActive } = paymentDetails;\n\n const onActivateClick = () => {\n fetch(async () => {\n paymentDetails.createCreatorIQProfile();\n });\n };\n\n return (\n \n
    \n {t(TRANSLATIONS.TITLE)}\n \n {t(\n isAccountActive\n ? TRANSLATIONS.STATUS_VALID\n : TRANSLATIONS.STATUS_PENDING\n )}\n \n
    \n\n {!isAccountActive && (\n \n \n {t(TRANSLATIONS.ACTIVATE)}\n \n \n )}\n
    \n );\n});\n","export const TRANSLATIONS = {\n TITLE: \"creators-code__iq-account__title\",\n};\n","import styled from \"styled-components\";\n\nimport { DisclaimerMessage } from \"../../styles\";\n\nimport { Icon } from \"domains/shared/components/icon\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const ErrorWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.8rem;\n\n grid-column: 1 / -1;\n\n ${BREAKPOINT.tm} {\n flex-direction: column;\n align-items: normal;\n }\n`;\n\nexport const ErrorDescription = styled(DisclaimerMessage)`\n display: flex;\n align-items: center;\n gap: 0.5rem;\n`;\n\nexport const ErrorIcon = styled(Icon)`\n font-size: 1.6rem;\n`;\n\nexport const TimerWrapper = styled.div`\n display: flex;\n align-items: center;\n gap: 0.5rem;\n flex-shrink: 0;\n\n font: var(--font-caption-bold);\n color: var(--color-text-primary);\n`;\n\nexport const TimerIcon = styled(Icon)`\n font-size: 1.6rem;\n`;\n","export const TRANSLATIONS = {\n ERROR_DESCRIPTION: \"creators-code__iq-account__error-description\",\n TIMER: \"creators-code__iq-account__timer\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n ErrorDescription,\n ErrorIcon,\n ErrorWrapper,\n TimerIcon,\n TimerWrapper,\n} from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport dayjs from \"dayjs\";\n\ntype Props = {\n remainingTime: number;\n};\n\nexport const ErrorComponent: FC = observer(({ remainingTime }) => {\n const { t } = useTranslation();\n const visibleTime = dayjs\n .duration(remainingTime, \"milliseconds\")\n .format(\"mm:ss\");\n\n return (\n \n \n \n
    {t(TRANSLATIONS.ERROR_DESCRIPTION)}
    \n
    \n\n \n \n \n {t(TRANSLATIONS.TIMER, {\n minutes: visibleTime,\n })}\n \n \n
    \n );\n});\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SectionTitle } from \"domains/dashboard/styles\";\nimport { ContentWrapper, StepContentWrapper } from \"../styles\";\n\nimport { PAYMENT_STEPS } from \"domains/profile/types\";\nimport { StatusComponent } from \"./status\";\nimport { DescriptionComponent } from \"./description\";\nimport { useRootStore } from \"init/root-store\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { useAccountLinkTimer } from \"./description/useAccountLinkTimer\";\nimport { ErrorComponent } from \"./error\";\n\nexport const CreateIQComponent = observer(() => {\n const { profile } = useRootStore();\n const { t } = useTranslation();\n const { isTimerOver, remainingTime } = useAccountLinkTimer();\n\n const { paymentDetails } = profile;\n const { isAccountActive } = paymentDetails;\n const isErrorAvailable = !isAccountActive && !isTimerOver;\n\n return (\n
    \n {t(TRANSLATIONS.TITLE)}\n\n \n \n \n \n {isErrorAvailable && }\n \n \n
    \n );\n});\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { useRootStore } from \"init/root-store\";\n\nconst STEP_MS = 1000;\n\nexport const useAccountLinkTimer = () => {\n const { profile } = useRootStore();\n\n const { paymentDetails } = profile;\n const { isAccountCallAvailable, remainingAccountCallTime } = paymentDetails;\n\n const [remainingTime, setRemainingTime] = useState(0);\n const timer = useRef>();\n\n const isTimerOver = remainingTime <= 0;\n\n useEffect(() => {\n setRemainingTime(remainingAccountCallTime);\n }, [remainingAccountCallTime]);\n\n useEffect(() => {\n if (isAccountCallAvailable || isTimerOver) {\n return;\n }\n\n timer.current = setTimeout(() => {\n setRemainingTime(Math.max(remainingTime - STEP_MS, 0));\n }, STEP_MS);\n\n return () => clearTimeout(timer.current);\n }, [isAccountCallAvailable, remainingTime, isTimerOver]);\n\n return { isTimerOver, remainingTime };\n};\n","import styled from \"styled-components\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const RatesList = styled.ul`\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n grid-gap: 1.6rem;\n\n li {\n display: contents;\n }\n\n ${BREAKPOINT.ls} {\n grid-template-columns: repeat(2, 1fr);\n }\n`;\n","export const TRANSLATIONS = {\n TITLE: \"creators-code__rates__title\",\n};\n\nexport const MOBILE_SLIDES_TO_SHOW = 1;\n","import styled, { css } from \"styled-components\";\n\nexport const RateWrapper = styled.article<{ cover: string }>`\n min-height: 15.4rem;\n padding: 1.6rem;\n\n border-radius: 8px;\n box-shadow: inset 0 0 0 1px var(--color-stroke-1);\n\n ${(props) => css`\n background: linear-gradient(to right, #1b1b1b 30%, #1b1b1b00) no-repeat\n center / cover,\n url(${props.cover}) no-repeat top right / cover;\n `}\n\n display: flex;\n flex-direction: column;\n gap: 0.2rem;\n\n font: var(--font-body);\n`;\n\nexport const Description = styled.div`\n margin-bottom: auto;\n`;\n\nexport const Title = styled.h2`\n font: var(--font-title-bold);\n`;\n","export default __webpack_public_path__ + \"static/media/xDefiant.e819d029.png\";","export default __webpack_public_path__ + \"static/media/default.33068745.png\";","import { RATE_TYPE } from \"api/services/public-service\";\n\nimport XDefiant from \"assets/rates/xDefiant.png\";\nimport Default from \"assets/rates/default.png\";\n\nconst RatesMap: Record = {\n [RATE_TYPE.XDEFIANT]: XDefiant,\n [RATE_TYPE.UBISOFT]: Default,\n};\n\nexport const getRateImage = (rateType: RATE_TYPE) =>\n RatesMap[rateType] ?? Default;\n","export const TRANSLATIONS = {\n END_DATE: \"creators-code__rates__end-date\",\n};\n","import React, { FC } from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { Description, RateWrapper, Title } from \"./styles\";\n\nimport { PaymentRate, RATE_MODEL } from \"api/services/public-service\";\nimport { getRateImage } from \"./utils\";\nimport { DAY_MONTH_FORMAT, getFormattedDate } from \"domains/shared/utils/dates\";\nimport { TRANSLATIONS } from \"./constants\";\n\ntype Props = {\n rate: PaymentRate;\n};\n\nexport const RateComponent: FC = ({ rate }) => {\n const { i18n } = useTranslation();\n\n const cover = getRateImage(rate.type.id);\n const date = rate.endDate\n ? getFormattedDate(rate.endDate, DAY_MONTH_FORMAT)\n : null;\n const thresholdVC = rate.thresholdVC\n ? new Intl.NumberFormat(i18n.language).format(rate.thresholdVC)\n : null;\n\n return (\n \n {rate.title}\n\n \n {rate.model.id === RATE_MODEL.STORE ? (\n <>{rate.percentageRate}%\n ) : (\n <>\n {thresholdVC} = {rate.thresholdAmount} ({rate.currency})\n \n )}\n \n\n {date && (\n \n )}\n \n );\n};\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SectionTitle } from \"../../../styles\";\nimport { RatesList } from \"./styles\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { MOBILE_SLIDES_TO_SHOW, TRANSLATIONS } from \"./constants\";\nimport { RateComponent } from \"./rate/rate.component\";\nimport { SliderComponent } from \"domains/shared/components/slider\";\nimport { useTabletOrLess } from \"domains/shared/hooks/breakpoints\";\n\nexport const RatesComponent = observer(() => {\n const { profile } = useRootStore();\n const { t } = useTranslation();\n const isTabletOrLess = useTabletOrLess();\n\n const { paymentDetails, isCodeActive } = profile;\n const { rates } = paymentDetails;\n\n if (!isCodeActive || !rates.length) {\n return null;\n }\n\n return (\n
    \n \n {t(TRANSLATIONS.TITLE, { amount: rates.length })}\n \n\n {isTabletOrLess ? (\n \n {rates.map((rate) => (\n \n ))}\n \n ) : (\n \n {rates.map((rate) => (\n
  • \n \n
  • \n ))}\n
    \n )}\n
    \n );\n});\n","import styled from \"styled-components\";\n\nimport { InnerSectionContent } from \"../../../styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { Button } from \"domains/shared/components/button\";\n\nexport const ContentSection = styled.section`\n display: flex;\n flex-direction: column;\n gap: 3.2rem;\n`;\n\nexport const TransactionsWrapper = styled.dl`\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(28rem, 1fr));\n gap: 1.6rem;\n\n &:not(:last-child) {\n padding-bottom: 2.4rem;\n margin-bottom: 2.4rem;\n\n border-bottom: 1px solid var(--color-background-4);\n }\n`;\n\nexport const ContentBlock = styled.div`\n padding: 1.6rem;\n\n border-radius: 8px;\n background-color: var(--color-background-3);\n\n & > dt {\n font: var(--font-title-bold);\n }\n\n & > dd {\n font: var(--font-caption-bold);\n }\n`;\n\nexport const Title = styled.h2`\n color: var(--color-text-primary);\n font: var(--font-subtitle-bold);\n`;\n\nexport const Tips = styled.ul`\n font: var(--font-caption);\n color: var(--color-text-secondary);\n\n list-style: unset;\n margin-left: 1.6rem;\n`;\n\nexport const EmptyContent = styled(InnerSectionContent)`\n display: flex;\n align-items: center;\n gap: 2.4rem;\n\n background-color: var(--color-background-3);\n`;\n\nexport const DownloadCTAWrapper = styled.div`\n display: flex;\n align-items: center;\n gap: 1rem;\n`;\n\nexport const DownloadCTA = styled(Button)`\n display: flex;\n align-items: center;\n gap: 0.6rem;\n`;\n\nexport const TimeWrapper = styled.div`\n text-align: right;\n margin-bottom: 1.2rem;\n\n time {\n font: var(--font-caption-bold);\n }\n\n ${BREAKPOINT.tm} {\n text-align: unset;\n }\n`;\n","export const TRANSLATIONS = {\n TITLE: \"creators-code__earning__title\",\n LAST_UPDATE: \"creators-code__earning__last-update\",\n EMPTY_TEXT: \"creators-code__earning__empty-text\",\n TOTAL_EARNED: \"creators-code__earning__total-earned\",\n AMOUNT_PAID: \"creators-code__earning__amount-paid\",\n TOTAL_SALES: \"creators-code__earning__total-sales\",\n COMISSION_AMOUNT_APPROVED:\n \"creators-code__earning__comission-amount-approved\",\n COMISSION_AMOUNT_PENDING: \"creators-code__earning__comission-amount-pending\",\n COMISSION_AMOUNT_DECLINED:\n \"creators-code__earning__comission-amount-declined\",\n TRANSACTIONS_APPROVED: \"creators-code__earning__transactions-approved\",\n TRANSACTIONS_PENDING: \"creators-code__earning__transactions-pending\",\n TRANSACTIONS_DECLINED: \"creators-code__earning__transaction-declined\",\n TIPS_1: \"creators-code__earning__tip-1\",\n TIPS_2: \"creators-code__earning__tip-2\",\n DOWNLOAD_DETAILS: \"button__download-details\",\n};\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { SectionIcon } from \"../../../styles\";\nimport { EmptyContent, Title } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\n\nexport const EmptyStatComponent = () => {\n const { t } = useTranslation();\n\n return (\n
    \n {t(TRANSLATIONS.TITLE)}\n\n \n \n
    {t(TRANSLATIONS.EMPTY_TEXT)}
    \n
    \n
    \n );\n};\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ContentBlock,\n TransactionsWrapper,\n Tips,\n DownloadCTAWrapper,\n DownloadCTA,\n ContentSection,\n TimeWrapper,\n Title,\n} from \"./styles\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { getFormattedDate } from \"domains/shared/utils/dates\";\nimport { EmptyStatComponent } from \"./empty-stat.component\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { Icon } from \"domains/shared/components/icon\";\n\nexport const EarningsComponent = observer(() => {\n const { profile } = useRootStore();\n const { t } = useTranslation();\n\n const { paymentDetails } = profile;\n const { transactions, downloadTransactions } = paymentDetails;\n\n if (!transactions) {\n return ;\n }\n\n const lastUpdateDate = getFormattedDate(transactions.updatedDate);\n const currency = transactions.commissionCurrency ?? \"-\";\n\n const onDowloadClick = async () => {\n await downloadTransactions();\n };\n\n return (\n \n {t(TRANSLATIONS.TITLE)}\n\n
    \n \n \n \n\n \n \n
    {`${currency} ${transactions.commission ?? \"-\"}`}
    \n
    {t(TRANSLATIONS.TOTAL_EARNED)}
    \n
    \n\n \n
    {`${currency} ${transactions.amountPaid ?? \"-\"}`}
    \n
    {t(TRANSLATIONS.AMOUNT_PAID)}
    \n
    \n\n \n
    {`${currency} ${transactions.saleAmount ?? \"-\"}`}
    \n
    {t(TRANSLATIONS.TOTAL_SALES)}
    \n
    \n\n \n
    {`${currency} ${\n transactions.comissionAmountApproved ?? \"-\"\n }`}
    \n
    {t(TRANSLATIONS.COMISSION_AMOUNT_APPROVED)}
    \n
    \n\n \n
    {`${currency} ${\n transactions.comissionAmountPending ?? \"-\"\n }`}
    \n
    {t(TRANSLATIONS.COMISSION_AMOUNT_PENDING)}
    \n
    \n\n \n
    {`${currency} ${\n transactions.comissionAmountDeclined ?? \"-\"\n }`}
    \n
    {t(TRANSLATIONS.COMISSION_AMOUNT_DECLINED)}
    \n
    \n
    \n\n \n \n
    {transactions.transactionAmountApproved ?? \"-\"}
    \n
    {t(TRANSLATIONS.TRANSACTIONS_APPROVED)}
    \n
    \n\n \n
    {transactions.transactionAmountPending ?? \"-\"}
    \n
    {t(TRANSLATIONS.TRANSACTIONS_PENDING)}
    \n
    \n\n \n
    {transactions.transactionAmountDeclined ?? \"-\"}
    \n
    {t(TRANSLATIONS.TRANSACTIONS_DECLINED)}
    \n
    \n
    \n
    \n\n \n \n {t(TRANSLATIONS.DOWNLOAD_DETAILS)}\n \n \n \n\n \n
  • {t(TRANSLATIONS.TIPS_1)}
  • \n
  • {t(TRANSLATIONS.TIPS_2)}
  • \n
    \n
    \n );\n});\n","import styled, { css } from \"styled-components\";\n\nimport { TextEllipsisCSS } from \"domains/shared/styles\";\nimport { SectionContent } from \"../../styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const TabContentWrapper = styled(SectionContent)`\n padding: 0;\n`;\n\nexport const ChildrenWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 4.6rem;\n\n padding: 2.4rem;\n\n ${BREAKPOINT.ml} {\n padding: 1.6rem;\n }\n`;\n\nexport const TabsWrapper = styled.div`\n display: flex;\n`;\n\nexport const TabCTA = styled.button<{ active: boolean }>`\n border: none;\n cursor: pointer;\n\n flex: 1 0 50%;\n padding: 1.2rem 1.6rem;\n\n ${TextEllipsisCSS};\n font: var(--font-body);\n color: var(--color-text-cta-primary);\n\n background: var(--color-background-4);\n\n will-change: background;\n transition: background 0.3s;\n\n ${(props) =>\n props.active\n ? css`\n background: none;\n `\n : css`\n &:hover {\n background: var(--color-background-3);\n }\n `}\n\n &:first-child {\n border-radius: 5px 0 0 0;\n }\n\n &:last-child {\n border-radius: 0 5px 0 0;\n }\n`;\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n TabsWrapper,\n TabCTA,\n TabContentWrapper,\n ChildrenWrapper,\n} from \"./styles\";\n\ntype Props = {\n tabs: Array<{\n id: number;\n name: string;\n }>;\n activeTab: number;\n onChange: (id: number) => void;\n};\n\nexport const TabsComponent: FC = ({\n children,\n tabs,\n onChange,\n activeTab,\n}) => {\n const { t } = useTranslation();\n\n const onTabClick = (id: number) => () => {\n onChange(id);\n };\n\n return (\n \n \n {tabs.map((tab) => (\n \n {t(tab.name)}\n \n ))}\n \n\n \n {React.Children.toArray(children)[activeTab]}\n \n \n );\n};\n","import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { CreatorCodeTitle, HeaderDescription } from \"./styles\";\n\nimport { TABS, TRANSLATIONS } from \"./constants\";\nimport { useRootStore } from \"init/root-store\";\nimport { CodeComponent } from \"./settings/code/code.component\";\nimport { FaqComponent } from \"./settings/faq/faq.component\";\nimport { ContactUsComponent } from \"./settings/contact-us/contact-us.component\";\nimport { OnboardingDialog } from \"domains/dialogs/revenue-sharing/onboarding/onboarding.dialog\";\nimport { PaymentInformationComponent } from \"./settings/payment-information/payment-information.component\";\nimport { CreateIQComponent } from \"./settings/iq-account/create-iq.component\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport { NotAvailableComponent } from \"domains/dashboard/not-available\";\nimport { NOTIFICATION_LVL4, notificationsService } from \"domains/notifications\";\nimport { RatesComponent } from \"./transactions/rates/rates.component\";\nimport { EarningsComponent } from \"./transactions/earnings/earnings.component\";\nimport { TabsComponent } from \"./tabs\";\nimport { CODE_TABS } from \"./types\";\n\nexport const CreatorsCodePage = observer(() => {\n const { t } = useTranslation();\n const { dialogs, profile } = useRootStore();\n const [activeTab, setActiveTab] = useState(CODE_TABS.MAIN);\n\n const { paymentDetails } = profile;\n const { isDataLoading, isInitialized } = paymentDetails;\n\n useEffect(() => {\n paymentDetails.init();\n }, [paymentDetails]);\n\n useEffect(() => {\n (async () => {\n if (!isInitialized) {\n return;\n }\n\n if (!paymentDetails.isOnboardingPassed) {\n await dialogs.openDialog(OnboardingDialog);\n notificationsService.showLevel4(\n NOTIFICATION_LVL4.WELCOME_REVENUE_NOTIFICATION\n );\n }\n })();\n }, [isInitialized, dialogs, paymentDetails, t]);\n\n if (isDataLoading) {\n return ;\n }\n\n if (!isInitialized) {\n return (\n \n );\n }\n\n const onTabClick = (id: CODE_TABS) => {\n setActiveTab(id);\n };\n\n return (\n <>\n
    \n {t(TRANSLATIONS.TITLE)}\n {t(TRANSLATIONS.SUBTITLE)}\n
    \n\n \n <>\n \n \n \n \n <>\n \n \n \n \n\n {activeTab === CODE_TABS.MAIN && (\n <>\n \n \n \n )}\n \n );\n});\n","import styled from \"styled-components\";\n\nimport { Icon } from \"domains/shared/components/icon\";\n\nexport const Banner = styled.div`\n display: flex;\n gap: 0.8rem;\n justify-content: center;\n align-items: center;\n\n padding: 2.4rem;\n\n font: var(--font-body-bold);\n\n background-color: var(--color-notification-warning);\n`;\n\nexport const WarningIcon = styled(Icon)`\n font-size: 2rem;\n color: var(--color-feedback-warning);\n`;\n","export const TRANSLATIONS = {\n DESCRIPTION: \"banner__primary-channel-changed__description\",\n RELINK: \"button__relink\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Banner, WarningIcon } from \"../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useLinkingUtils } from \"domains/shared/hooks/useLinkingUtils\";\nimport { CHANNEL_IDS } from \"api/services/public-service\";\nimport { EditButton } from \"domains/shared/components\";\nimport { LoadingComponent } from \"domains/shared/components/loading\";\nimport { useLinkingContext } from \"../../linking/useLinkingContext\";\n\ntype Props = {\n channelId?: CHANNEL_IDS;\n};\n\nexport const PrimaryChannelChangedBanner: FC = ({ channelId }) => {\n const { t } = useTranslation();\n const { openAccountLinkingModal } = useLinkingUtils();\n const { isLinkingLoading } = useLinkingContext();\n\n const onRelinkClick = async () => {\n switch (channelId) {\n case CHANNEL_IDS.YOUTUBE:\n case CHANNEL_IDS.TWITCH: {\n await openAccountLinkingModal(channelId);\n break;\n }\n }\n };\n\n return (\n \n \n
    {t(TRANSLATIONS.DESCRIPTION)}
    \n\n \n \n {t(TRANSLATIONS.RELINK)}\n \n \n
    \n );\n};\n","export const TRANSLATIONS = {\n DESCRIPTION: \"banner__account-channel-changed__description\",\n RELINK: \"button__relink\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Banner, WarningIcon } from \"../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { CHANNEL_IDS } from \"api/services/public-service\";\nimport { CHANNELS_NAME } from \"domains/shared/constants/channels\";\nimport { useLinkingUtils } from \"domains/shared/hooks/useLinkingUtils\";\nimport { useLinkingContext } from \"../../linking/useLinkingContext\";\nimport { LoadingComponent } from \"domains/shared/components/loading\";\nimport { EditButton } from \"domains/shared/components\";\n\ntype Props = {\n channelId: CHANNEL_IDS;\n};\n\nexport const AccountChannelChangedBanner: FC = ({ channelId }) => {\n const { t } = useTranslation();\n const { openAccountLinkingModal } = useLinkingUtils();\n const { isLinkingLoading } = useLinkingContext();\n\n const onRelinkClick = async () => {\n switch (channelId) {\n case CHANNEL_IDS.YOUTUBE:\n case CHANNEL_IDS.DISCORD:\n case CHANNEL_IDS.TWITCH: {\n await openAccountLinkingModal(channelId);\n break;\n }\n }\n };\n\n const channel = CHANNELS_NAME[channelId];\n\n return (\n \n \n
    \n {t(TRANSLATIONS.DESCRIPTION, {\n channel,\n })}\n
    \n\n \n \n {t(TRANSLATIONS.RELINK)}\n \n \n
    \n );\n};\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { PrimaryChannelChangedBanner } from \"./primary-channel-changed\";\nimport { AccountChannelChangedBanner } from \"./account-channel-changed\";\nimport { useRootStore } from \"init/root-store\";\n\nexport const BannerComponent: FC = observer(() => {\n const { profile } = useRootStore();\n\n const {\n primaryChannelId,\n changedUbiAccounts,\n isPrimaryChannelInvalid,\n } = profile;\n\n if (isPrimaryChannelInvalid) {\n return ;\n }\n\n if (changedUbiAccounts.length) {\n return (\n \n );\n }\n\n return null;\n});\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { useLinkingReactions } from \"./useLinkingReactions\";\nimport { LinkingContext } from \"./useLinkingContext\";\n\nexport const LinkingProvider: FC = observer(({ children }) => {\n const { isLinkingLoading } = useLinkingReactions();\n\n return (\n \n {children}\n \n );\n});\n","import { useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { CHANNEL_IDS } from \"api/services/public-service\";\nimport { useRootStore } from \"init/root-store\";\nimport { useLinkingUtils } from \"domains/shared/hooks/useLinkingUtils\";\nimport { globalErrorService } from \"domains/global-errors/global-error.service\";\nimport { useLoadingAction } from \"domains/shared/hooks/useLoadingAction\";\nimport { oAuthService } from \"api/services/oauth\";\nimport {\n CHANNEL_NOTIFICATIONS,\n notificationsService,\n} from \"domains/notifications\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_CLICK_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport {\n CHANNELS_NAME,\n OAUTH_CHANNEL_PROVIDER,\n} from \"domains/shared/constants/channels\";\n\nexport const useLinkingReactions = () => {\n const { session, profile } = useRootStore();\n const [fetch, isLinkingLoading] = useLoadingAction();\n const { getYouTubeData } = useLinkingUtils();\n const { registerLinkingReaction } = useLinkingUtils();\n const { t } = useTranslation();\n\n useEffect(() => {\n const { primaryChannelId } = profile;\n\n const showError = (channelId: CHANNEL_IDS) => {\n const text = t(CHANNEL_NOTIFICATIONS.CHANNEL_DATA_MISSING, {\n channelName: CHANNELS_NAME[channelId],\n });\n\n notificationsService.showError(text);\n };\n\n const showSuccess = (channelId: CHANNEL_IDS) => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n CHANNELS_NAME[channelId] +\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.channelPopup,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.save\n );\n notificationsService.showLevel4(CHANNEL_NOTIFICATIONS.NEW_CHANNEL_ADDED);\n };\n\n const linkAccount = async (typeId: CHANNEL_IDS) => {\n await session.fetchProfiles();\n\n const account = session.getAccountData(typeId);\n\n if (!account) {\n showError(typeId);\n return;\n }\n\n const { nameOnPlatform: username } = account;\n const isMain = primaryChannelId === typeId;\n const data = {\n typeId,\n username,\n isMain,\n };\n\n fetch(async () => {\n await profile.addChannel(data);\n showSuccess(typeId);\n });\n };\n\n const onYouTubeLinked = async () => {\n await session.fetchProfiles();\n\n const url = (await getYouTubeData())?.url;\n const typeId = CHANNEL_IDS.YOUTUBE;\n\n if (!url) {\n showError(typeId);\n return;\n }\n\n globalErrorService.isYouTubeTokenValid = true;\n\n const isMain = primaryChannelId === typeId;\n const data = {\n typeId,\n url,\n isMain,\n };\n\n fetch(async () => {\n await profile.addChannel(data);\n showSuccess(typeId);\n });\n };\n\n const linkOAuth = async (typeId: CHANNEL_IDS) => {\n const provider = OAUTH_CHANNEL_PROVIDER[typeId];\n\n const { username } = await oAuthService.getProviderUserInfo(provider);\n\n if (!username) {\n showError(typeId);\n return;\n }\n\n const isMain = primaryChannelId === typeId;\n const data = {\n typeId,\n username,\n isMain,\n };\n\n fetch(async () => {\n profile.addChannel(data);\n showSuccess(typeId);\n });\n };\n\n const disposer = registerLinkingReaction({\n onYouTubeLinked,\n onTiKToKLinked: () => linkOAuth(CHANNEL_IDS.TIKTOK),\n onInstagramLinked: () => linkOAuth(CHANNEL_IDS.INSTAGRAM),\n onTwitchLinked: () => linkAccount(CHANNEL_IDS.TWITCH),\n onDiscordLinked: () => linkAccount(CHANNEL_IDS.DISCORD),\n });\n\n return () => disposer();\n }, [fetch, getYouTubeData, profile, registerLinkingReaction, session, t]);\n\n return {\n isLinkingLoading,\n };\n};\n","import React, { FC, useEffect } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Route, Switch } from \"react-router-dom\";\n\nimport {\n DashboardLayout,\n PageContentWrapper,\n PageContentLimits,\n BannersSection,\n} from \"./styles\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { DashboardMenu } from \"domains/dashboard/navigation\";\nimport { urls } from \"navigation/book\";\nimport { NotificationsCenterPage } from \"./notifications-center/notifications-center.page\";\nimport { SettingsPage } from \"./settings/settings.page\";\nimport { CampaignsPage } from \"./campaigns/root/campaigns.page\";\nimport { InvitationPage } from \"./campaigns/invitation/invitation.page\";\nimport { AssistancePage } from \"./assistance/assistance.page\";\nimport { FAQPage } from \"./faq/faq.page\";\nimport { TermsOfUsePage } from \"./terms-of-use/terms-of-use.page\";\nimport { InvitationHistoryPage } from \"./campaigns/history/invitation-history.page\";\nimport { ProgramRouters } from \"./campaigns/program/program-routers\";\nimport { NewsRouters } from \"./news/news-routers\";\nimport { CreatorsCodePage } from \"./creators-code/creators-code.page\";\nimport { PrivateRoute } from \"../../navigation/private-router\";\nimport { BannerComponent } from \"./banners/banner.component\";\nimport { LinkingProvider } from \"./linking/linking.provider\";\n\nexport const DashboardComponent: FC = observer(() => {\n const { notifications, profile } = useRootStore();\n\n const { restrictions } = profile;\n\n useEffect(() => {\n notifications.init();\n\n return notifications.stopNotify;\n }, [notifications]);\n\n return (\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n});\n","import styled from \"styled-components\";\n\nimport { MainLayout } from \"domains/shared/layout/main.layout\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const OnboardingLayout = styled(MainLayout)`\n padding: 3.2rem 1.6rem;\n\n display: flex;\n justify-content: center;\n align-items: flex-start;\n`;\n\nexport const ControlsWrapper = styled.div`\n display: flex;\n justify-content: center;\n gap: 2.4rem;\n\n & > * {\n flex: 1 1 50%;\n }\n\n ${BREAKPOINT.ls} {\n box-shadow: 0 -2px 4px 0 var(--color-stroke-2);\n background: var(--color-background-4);\n\n width: 100%;\n padding: 1.6rem 2.8rem;\n\n position: sticky;\n bottom: 0;\n }\n`;\n","import { createContext, useContext } from \"react\";\n\nimport { OnboardingStore } from \"./onboarding.store\";\n\nexport const OnboardingContext = createContext(null);\n\nexport const useOnboardingContext = () => useContext(OnboardingContext)!;\n","import { makeAutoObservable } from \"mobx\";\n\nimport { addDifference } from \"domains/shared/utils/array\";\nimport { rootStore } from \"init/root-store\";\nimport { publicApiService } from \"api\";\nimport { OnboardingData } from \"../../../api/services/public-service\";\n\nexport class OnboardingStore {\n public games: number[] = [];\n public programs: number[] = [];\n public tags: number[] = [];\n public platforms: number[] = [];\n\n public isWelcomeMessageActive = true;\n public isAgreementAccepted = false;\n public isLoading = false;\n\n public constructor() {\n makeAutoObservable(this, {}, { autoBind: true });\n }\n\n public get groupedTags() {\n return [...rootStore.metadata.groupedTags];\n }\n\n public getGroupTagsIds(groupId: number): number[] {\n return rootStore.metadata.groupedTags.get(groupId)?.map((t) => t.id) ?? [];\n }\n\n public get referralProgram() {\n const { profile } = rootStore;\n\n return profile.data?.referral || null;\n }\n\n public get isGamesValid() {\n return !!this.games.length;\n }\n\n public get isPlatformsValid() {\n return !!this.platforms.length;\n }\n\n public toggleAgreementAccepted() {\n this.isAgreementAccepted = !this.isAgreementAccepted;\n }\n\n public setWelcomeMessageActive(value: boolean) {\n this.isWelcomeMessageActive = value;\n }\n\n public updateGames(id: number) {\n this.games = addDifference(id, this.games);\n }\n\n public updatePrograms(id: number) {\n this.programs = addDifference(id, this.programs);\n }\n\n public updateTags(id: number) {\n this.tags = addDifference(id, this.tags);\n }\n\n public updatePlatforms(id: number) {\n this.platforms = addDifference(id, this.platforms);\n }\n\n public *submitOnboardingData() {\n const { profile } = rootStore;\n\n try {\n this.isLoading = true;\n\n const data: OnboardingData = {\n platforms: this.platforms,\n games: this.games,\n programs: this.programs,\n tags: this.tags,\n };\n\n yield publicApiService.completeOnboarding(data);\n yield profile.fetchProfileData();\n } finally {\n this.isLoading = false;\n }\n }\n}\n","import styled from \"styled-components\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { BreadcrumbsComponent } from \"domains/shared/components/breadcrumbs\";\n\nexport const ContentWrapper = styled.div`\n max-width: 80rem;\n width: 100%;\n\n position: relative;\n`;\n\nexport const StepDescription = styled.p`\n font: var(--font-subtitle);\n text-align: center;\n\n margin-bottom: 2.4rem;\n`;\n\nexport const StepTitle = styled.h2`\n font: var(--font-title-bold);\n text-align: center;\n\n margin-bottom: 1.2rem;\n`;\n\nexport const StepContent = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n flex-grow: 1;\n overflow: auto;\n\n &:not(:last-child) {\n margin-bottom: 3.6rem;\n }\n`;\n\nexport const StepWrapper = styled.div`\n overflow: auto;\n padding: 3.6rem;\n\n color: var(--color-text-primary);\n\n background: var(--color-background-3);\n box-shadow: 1px 1px 0 var(--color-stroke-2),\n inset 1px 1px 0.05px var(--color-stroke-1);\n border-radius: 8px;\n\n ${BREAKPOINT.ls} {\n padding: 2.4rem 1.6rem;\n }\n`;\n\nexport const Breadcrumbs = styled(BreadcrumbsComponent)`\n margin-bottom: 3.6rem;\n`;\n","import styled from \"styled-components\";\n\nimport { ExternalLink } from \"domains/shared/components\";\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const TermsWrapper = styled.div`\n display: flex;\n flex-direction: column;\n\n max-height: 37.6rem;\n flex-grow: 1;\n overflow: auto;\n\n ${BREAKPOINT.ls} {\n max-height: unset;\n }\n`;\n\nexport const TermsText = styled.div`\n flex-grow: 1;\n overflow: auto;\n padding: 2.4rem;\n\n border-radius: 5px;\n background-color: var(--color-background-2);\n\n margin-bottom: 2.4rem;\n\n font: var(--font-body);\n word-break: break-word;\n\n ${BREAKPOINT.mm} {\n margin-bottom: 1.2rem;\n }\n\n ${BREAKPOINT.mm} {\n padding: 1.2rem;\n }\n\n h2 {\n font: var(--font-subtitle-bold);\n\n margin-bottom: 1rem;\n }\n\n p:not(:last-child) {\n margin-bottom: 1rem;\n }\n\n section:not(:last-child) {\n margin-bottom: 2rem;\n }\n`;\n\nexport const Link = styled(ExternalLink)`\n display: inline;\n`;\n","export const TRANSLATIONS = {\n TERMS_TITLE: \"onboarding__terms__title\",\n TERMS_DESCRIPTION: \"onboarding__terms__description\",\n TERMS_AND_CONDITIONS: \"onboarding__terms__terms-and-conditions\",\n TERMS_OF_USE_CHECKBOX: \"onboarding__terms__checkbox-label\",\n CONTINUE: \"button__continue\",\n};\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { ControlsWrapper } from \"./styles\";\n\nimport { NavigationControlsComponent } from \"domains/shared/components/navigation-control\";\n\nexport const NavigationComponent = observer(({ children }) => (\n \n {children}\n \n));\n","import React, { FC } from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { StepContent, StepDescription, StepTitle } from \"../styles\";\nimport { TermsText, TermsWrapper, Link } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useScrollBottom } from \"domains/shared/hooks/useScrollBottom\";\nimport { useOnboardingContext } from \"../../context\";\nimport { Button } from \"domains/shared/components/button\";\nimport { CheckboxComponent } from \"domains/shared/components/checkbox\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\nimport { StepProps } from \"../types\";\nimport { NavigationComponent } from \"../../navigation.component\";\n\nexport const TermsStepComponent: FC = observer(({ onContinue }) => {\n const { t } = useTranslation();\n const {\n toggleAgreementAccepted,\n isAgreementAccepted,\n } = useOnboardingContext();\n const { isBottom, scrollRef } = useScrollBottom();\n\n return (\n <>\n \n {t(TRANSLATIONS.TERMS_TITLE)}\n {t(TRANSLATIONS.TERMS_DESCRIPTION)}\n\n \n \n ,\n law: ,\n }}\n />\n \n\n \n \n \n\n \n \n \n \n );\n});\n","import { useEffect, useState } from \"react\";\nimport { debounce } from \"lodash\";\nimport { useResizeDetector } from \"react-resize-detector\";\n\nconst DEBOUNCE_TIME = 250;\nconst INITIAL_GAP = 5;\n\nexport const useScrollBottom = (\n debounceTime = DEBOUNCE_TIME,\n gap = INITIAL_GAP\n) => {\n const [isBottom, setIsBottom] = useState(false);\n const { ref: scrollRef, height } = useResizeDetector();\n\n useEffect(() => {\n const el = scrollRef?.current;\n\n if (el?.scrollHeight === el?.clientHeight) {\n setIsBottom(true);\n return;\n }\n\n const onScroll = debounce(() => {\n if (el && !isBottom) {\n const isScrolledDown =\n Math.floor(el.scrollHeight - el.scrollTop - el.clientHeight) <= gap;\n\n setIsBottom(isScrolledDown);\n }\n }, debounceTime);\n\n el?.addEventListener(\"scroll\", onScroll);\n\n return () => {\n el?.removeEventListener(\"scroll\", onScroll);\n };\n }, [setIsBottom, isBottom, debounceTime, gap, height, scrollRef]);\n\n return { isBottom, scrollRef };\n};\n","import styled from \"styled-components\";\n\nimport { StepDescription } from \"../styles\";\n\nexport const Description = styled(StepDescription)`\n font: var(--font-subtitle);\n\n p:not(:last-child) {\n margin-bottom: 2.4rem;\n }\n`;\n","export const TRANSLATIONS = {\n INFORMATION_TITLE: \"onboarding__information__title\",\n INFORMATION_DESCRIPTION_1: \"onboarding__information__description-1\",\n INFORMATION_DESCRIPTION_2: \"onboarding__information__description-2\",\n CONTINUE: \"button__continue\",\n BACK: \"button__back\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { StepContent, StepTitle } from \"../styles\";\nimport { Description } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useOnboardingContext } from \"../../context\";\nimport { Button } from \"domains/shared/components/button\";\nimport { StepProps } from \"../types\";\nimport { NavigationComponent } from \"../../navigation.component\";\n\nexport const InformationStepComponent: FC = observer(\n ({ onBack }) => {\n const { t } = useTranslation();\n const { submitOnboardingData } = useOnboardingContext();\n\n return (\n <>\n \n {t(TRANSLATIONS.INFORMATION_TITLE)}\n\n \n

    {t(TRANSLATIONS.INFORMATION_DESCRIPTION_1)}

    \n

    {t(TRANSLATIONS.INFORMATION_DESCRIPTION_2)}

    \n
    \n
    \n\n \n \n\n \n \n \n );\n }\n);\n","import styled from \"styled-components\";\n\nexport const PolicyText = styled.article`\n flex-grow: 1;\n overflow: auto;\n padding: 1.6rem 2.4rem;\n\n border-radius: 8px;\n background-color: var(--color-background-4);\n\n font: var(--font-body);\n word-break: break-word;\n\n h2 {\n font: var(--font-body-bold);\n margin-bottom: 2rem;\n }\n`;\n","export const TRANSLATIONS = {\n CONTINUE: \"button__continue\",\n BACK: \"button__back\",\n POLICY_TITLE: \"onboarding__policy__title\",\n POLICY_DESCRIPTION: \"onboarding__policy__description\",\n POLICY_TEXT: \"onboarding__policy__text\",\n};\n","import React, { FC } from \"react\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { StepContent, StepDescription, StepTitle } from \"../styles\";\nimport { PolicyText } from \"./styles\";\n\nimport { Button } from \"domains/shared/components/button\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { StepProps } from \"../types\";\nimport { NavigationComponent } from \"../../navigation.component\";\n\nexport const PolicyStepComponent: FC = observer(\n ({ onBack, onContinue }) => {\n const { t } = useTranslation();\n\n return (\n <>\n \n {t(TRANSLATIONS.POLICY_TITLE)}\n \n {t(TRANSLATIONS.POLICY_DESCRIPTION)}\n \n\n \n \n \n \n\n \n \n\n \n \n \n );\n }\n);\n","import styled from \"styled-components\";\n\nimport { StepDescription, StepTitle } from \"../styles\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\n\nexport const Title = styled(StepTitle)`\n text-align: unset;\n`;\n\nexport const Description = styled(StepDescription)`\n text-align: unset;\n`;\n\nexport const SectionWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 2.4rem;\n\n background-color: var(--color-background-2);\n border-radius: 8px;\n border: 1px solid var(--color-stroke-7);\n\n padding: 2.4rem;\n overflow: auto;\n max-height: 37.6rem;\n\n ${BREAKPOINT.ls} {\n max-height: unset;\n padding: 0;\n\n background-color: unset;\n border-radius: unset;\n border: none;\n }\n`;\n\nexport const ContentSection = styled.section`\n padding: 2.4rem;\n\n border-radius: 8px;\n border: 1px solid var(--color-stroke-7);\n background-color: var(--color-background-3);\n\n ${BREAKPOINT.ls} {\n padding: 1.6rem;\n }\n`;\n\nexport const ContentTitle = styled.h3`\n font: var(--font-subtitle-bold);\n\n margin-bottom: 2.4rem;\n`;\n\nexport const GroupTitle = styled.h4`\n margin-bottom: 1.6rem;\n\n font: var(--font-body-bold);\n`;\n\nexport const GroupWrapper = styled.div`\n &:not(:last-child) {\n margin-bottom: 1.6rem;\n }\n`;\n","export const TRANSLATIONS = {\n CONTINUE: \"button__continue\",\n BACK: \"button__back\",\n TITLE: \"onboarding__profile__title\",\n DESCRIPTION: \"onboarding__profile__description\",\n};\n","import styled from \"styled-components\";\n\nexport const PlatformsList = styled.ul`\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));\n grid-gap: 1.6rem;\n\n li {\n display: contents;\n }\n`;\n","export const TRANSLATIONS = {\n TITLE: \"onboarding__profile__platforms-title\",\n};\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ContentSection, ContentTitle } from \"../styles\";\nimport { PlatformsList } from \"./styles\";\n\nimport { useOnboardingContext } from \"../../../context\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { GamePlatformCard } from \"domains/shared/components/cards/game-platform\";\nimport { useRootStore } from \"init/root-store\";\n\nexport const PlatformsComponent = observer(() => {\n const { updatePlatforms, platforms } = useOnboardingContext();\n const { metadata } = useRootStore();\n const { t } = useTranslation();\n\n const { availablePlatforms } = metadata;\n\n const onPlatformClick = (id: number) => () => {\n updatePlatforms(id);\n };\n\n return (\n \n {t(TRANSLATIONS.TITLE)}\n\n \n {availablePlatforms.map((platform) => (\n
  • \n \n
  • \n ))}\n
    \n
    \n );\n});\n","import styled from \"styled-components\";\n\nexport const TagsList = styled.ul`\n display: flex;\n flex-wrap: wrap;\n gap: 1.2rem;\n\n li {\n display: contents;\n }\n`;\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { TagType } from \"api/services/public-service\";\nimport { TagCard } from \"domains/shared/components/cards/tag\";\nimport { useOnboardingContext } from \"../../../context\";\nimport { getMaxGroupTags, MAX_TAGS } from \"domains/profile/constants\";\n\ntype Props = {\n tag: TagType;\n};\n\nexport const TagComponent: FC = observer(({ tag }) => {\n const { updateTags, tags, getGroupTagsIds } = useOnboardingContext();\n\n const selectedGroupTags = tags.filter((selectedTag) =>\n getGroupTagsIds(tag.group.id).includes(selectedTag)\n );\n\n const isActive = tags.includes(tag.id);\n const maxTags = getMaxGroupTags(tag.group.id);\n const isGroupDisabled = selectedGroupTags.length >= maxTags;\n const isDisabled = !isActive && (tags.length === MAX_TAGS || isGroupDisabled);\n\n const onCardClick = () => {\n updateTags(tag.id);\n };\n\n return (\n \n );\n});\n","export const TRANSLATIONS = {\n TITLE: \"onboarding__profile__tags-title\",\n GROUP_MAX: \"dialog__tags__group-max\",\n};\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { TagsList } from \"./styles\";\nimport {\n ContentTitle,\n ContentSection,\n GroupTitle,\n GroupWrapper,\n} from \"../styles\";\n\nimport { TagComponent } from \"./tag.component\";\nimport { useOnboardingContext } from \"../../../context\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { getMaxGroupTags } from \"domains/profile/constants\";\n\nexport const TagsComponent: FC = observer(() => {\n const { groupedTags } = useOnboardingContext();\n const { t } = useTranslation();\n\n return (\n \n {t(TRANSLATIONS.TITLE)}\n\n {groupedTags.map(([groupId, groupTags]) => (\n \n \n {groupTags[0].group.name}{\" \"}\n \n {t(TRANSLATIONS.GROUP_MAX, { value: getMaxGroupTags(groupId) })}\n \n \n\n \n {groupTags.map((tag) => (\n
  • \n \n
  • \n ))}\n
    \n
    \n ))}\n
    \n );\n});\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { StepContent } from \"../styles\";\nimport { SectionWrapper, Title, Description } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { Button } from \"domains/shared/components/button\";\nimport { useOnboardingContext } from \"../../context\";\nimport { StepProps } from \"../types\";\nimport { NavigationComponent } from \"../../navigation.component\";\nimport { PlatformsComponent } from \"./platforms/platforms.component\";\nimport { TagsComponent } from \"./tags/tags.component\";\n\nexport const ProfileStepComponent: FC = observer(\n ({ onBack, onContinue }) => {\n const { t } = useTranslation();\n const { isPlatformsValid } = useOnboardingContext();\n\n return (\n <>\n \n {t(TRANSLATIONS.TITLE)}\n {t(TRANSLATIONS.DESCRIPTION)}\n\n \n \n \n \n \n\n \n \n\n \n \n \n );\n }\n);\n","import styled from \"styled-components\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { StepDescription, StepTitle } from \"../styles\";\n\nexport const Title = styled(StepTitle)`\n text-align: unset;\n`;\n\nexport const Description = styled(StepDescription)`\n text-align: unset;\n`;\n\nexport const SectionWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 2.4rem;\n\n background-color: var(--color-background-2);\n border-radius: 8px;\n border: 1px solid var(--color-stroke-7);\n\n padding: 2.4rem;\n overflow: auto;\n max-height: 37.6rem;\n\n ${BREAKPOINT.ls} {\n max-height: unset;\n padding: 0;\n\n background-color: unset;\n border-radius: unset;\n border: none;\n }\n`;\n\nexport const ContentSection = styled.section`\n padding: 2.4rem;\n\n border-radius: 8px;\n border: 1px solid var(--color-stroke-7);\n background-color: var(--color-background-3);\n\n ${BREAKPOINT.ls} {\n padding: 1.6rem;\n }\n`;\n\nexport const ContentTitle = styled.h3`\n font: var(--font-subtitle-bold);\n\n margin-bottom: 0.6rem;\n`;\n\nexport const ContentDescription = styled.p`\n font: var(--font-body);\n\n margin-bottom: 2.4rem;\n`;\n","export const TRANSLATIONS = {\n CONTINUE: \"button__continue\",\n BACK: \"button__back\",\n TITLE: \"onboarding__experience__title\",\n DESCRIPTION: \"onboarding__experience__description\",\n};\n","import styled from \"styled-components\";\n\nexport const GamesList = styled.ul`\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));\n grid-gap: 1.6rem;\n\n li {\n display: contents;\n }\n`;\n","export const TRANSLATIONS = {\n TITLE: \"onboarding__experience__games-title\",\n DESCRIPTION: \"onboarding__experience__games-description\",\n};\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { GamesList } from \"./styles\";\nimport { ContentTitle, ContentSection, ContentDescription } from \"../styles\";\n\nimport { useOnboardingContext } from \"../../../context\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { useRootStore } from \"init/root-store\";\nimport { FranchiseCard } from \"domains/shared/components/cards/franchise\";\n\nexport const GamesComponent: FC = observer(() => {\n const { updateGames, games } = useOnboardingContext();\n const { metadata } = useRootStore();\n const { t } = useTranslation();\n\n const onGameClick = (id: number) => () => {\n updateGames(id);\n };\n\n return (\n \n {t(TRANSLATIONS.TITLE)}\n {t(TRANSLATIONS.DESCRIPTION)}\n\n \n {metadata.games.map((game) => (\n
  • \n \n
  • \n ))}\n
    \n
    \n );\n});\n","import styled from \"styled-components\";\n\nexport const PlatformsList = styled.ul`\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));\n grid-gap: 1.6rem;\n\n li {\n display: contents;\n }\n`;\n","export const TRANSLATIONS = {\n TITLE: \"onboarding__experience__programs-title\",\n DESCRIPTION: \"onboarding__experience__programs-description\",\n};\n","import styled from \"styled-components\";\n\nimport {\n Caption,\n ComponentWrapper,\n Content,\n HiddenCheckbox,\n CheckedLabel,\n} from \"../styles\";\n\nimport { MEDIA_QUERIES } from \"domains/shared/constants/media-queries.constants\";\n\nexport const ProgramContent = styled(Content)`\n isolation: isolate;\n\n overflow: hidden;\n aspect-ratio: 1 / 1;\n\n margin-bottom: 0.4rem;\n`;\n\nexport const ProgramLogo = styled.img`\n position: absolute;\n\n width: 100%;\n height: 100%;\n\n object-fit: cover;\n`;\n\nexport const ProgramCover = styled.img`\n position: absolute;\n width: 100%;\n height: 100%;\n\n object-fit: cover;\n\n z-index: -1;\n\n filter: brightness(0.6);\n opacity: 0;\n transition: 0.2s opacity;\n`;\n\nexport const ProgramWrapper = styled(ComponentWrapper)`\n &[data-disabled=\"true\"] {\n opacity: 0.5;\n }\n\n ${HiddenCheckbox}:checked ~ ${ProgramContent} ${ProgramCover},\n &[data-readonly=\"true\"] ${ProgramCover} {\n opacity: 1;\n }\n\n &[data-readonly=\"true\"] ${Caption} {\n color: var(--color-text-primary);\n }\n\n ${MEDIA_QUERIES.isSupportHover} {\n &:not([data-readonly=\"true\"], [data-disabled=\"true\"]):hover {\n ${ProgramCover} {\n opacity: 1;\n }\n\n ${CheckedLabel} {\n visibility: visible;\n }\n }\n }\n`;\n","export default __webpack_public_path__ + \"static/media/r6.50d47752.png\";","export default __webpack_public_path__ + \"static/media/xd.9863bedf.png\";","export default __webpack_public_path__ + \"static/media/sb.2f14ae48.png\";","export default __webpack_public_path__ + \"static/media/rc.3a0e328f.png\";","export default __webpack_public_path__ + \"static/media/crew.5bbe2f91.png\";","import { PROGRAM_TYPE } from \"domains/programs/types\";\n\nimport r6Logo from \"assets/programs/logos/r6.png\";\nimport xdLogo from \"assets/programs/logos/xd.png\";\nimport sbLogo from \"assets/programs/logos/sb.png\";\nimport rcLogo from \"assets/programs/logos/rc.png\";\nimport crewLogo from \"assets/programs/logos/crew.png\";\n\nimport r6Cover from \"assets/programs/covers/r6.png\";\nimport xdCover from \"assets/programs/covers/xd.png\";\nimport sbCover from \"assets/programs/covers/sb.png\";\nimport rcCover from \"assets/programs/covers/rc.png\";\nimport crewCover from \"assets/programs/covers/crew.png\";\n\nexport const TRANSLATIONS = {\n JOIN: \"program-card__join\",\n JOINED: \"program-card__joined\",\n};\n\nexport const PROGRAM_ASSETS: Record = {\n [PROGRAM_TYPE.R6]: {\n logo: r6Logo,\n cover: r6Cover,\n },\n [PROGRAM_TYPE.XDefiant]: {\n logo: xdLogo,\n cover: xdCover,\n },\n [PROGRAM_TYPE.SKULL_AND_BONES]: {\n logo: sbLogo,\n cover: sbCover,\n },\n [PROGRAM_TYPE.RC]: {\n logo: rcLogo,\n cover: rcCover,\n },\n [PROGRAM_TYPE.CREW]: {\n logo: crewLogo,\n cover: crewCover,\n },\n};\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAVdSURBVHgB7drhVds6FMDxyzvvO7wJ4jfBy5uAMEHpBA0TwAakEwATFCaAToA7AWEC1AmaTuDq4qvkRnGwwyFOD/3/zhF2JFs2vrIsKxEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAjVVUdCN6nGNxxTF8E708M7Cimp6p2EVMh6MWe9CQG9TYutIv+GFMR07ErLmMa2fo0pllMYW9vL+idb+WF2ybon1h+bXVrvWO/fyybxvxjO2bhjlPoftro3PE/pXpj2Wd5R/6WHliQDiwNpQ5QGdPE0sg+a/55TN9jOoz7ncTlhdSNwm+jtLu/tvVTqRvroR1jEPf9GpcfrDwFbWbn82B5pdV7YGUzeWe2HmC7u/SuObKueRzXJ3Gpd+dTXC/jUoOuQdILrNtrgB+lDuKVVTVz22jZgT3Tb2L6V+pgaYD1zj6JZRN3Gue2vLHjTePyzs5P7/ihlQ8Fm8mft9mF/y3oOaYkAPBnsG6vyQ99fvouMa7fu/KzNfmTrJ6RbXPt8r5U6495Yduf2mfv1lIysG1HLu/SnddDqrfh/z6zsieXN87+r9t1+7+lv2Q30muNn/jwA5z/pJtj6U6PqRdeR9CX9jmvy9f3T8N57bv1wpbTrB4d5Gn9Ta9bH9x6Gjx+ky3qM8A6+r2zlOjdoaPh9AqVdB3NtjWEIPWF/iyLV6Bhdk7lmn3TdkWel53vT8sbVsuDtEtZfe0a2b7aCEpZXJOt6TPA+mryUZMsWq8aympAuwZ4fsHW0ImLib2W3WRlenH/19e3uDxq2DfV6xtRkS1VmlDRnuE+ZcZ6nydrZNWZW9dz2mqAe5noaJC37JWA6jMwXqTv0m4k3eTH1AYXdMXejfPtC1v6BtTU28zctoU9p/cb9k0O3frEGsLW7OoZnEv/dCmLQBx13Hck25GClDe+Isub2jM39RA6GTO2VDTUO0qDw20HV/0uAS5sqTNUwda7dtOHL5Qd2ChYu9BPsuE5VfUMW07zCvf5OUgxWGNpHlg1GUlP+gywXuw0W+Qvtl6gdCGDLAJctNSX7hjdd3/NNlqmz8XbDvXlCll0saUsRsuaP3DbhbRiz/ouQT6VnvQZYL3YT5YKywvZNnoR03O3ywg52PqxvL30xYh6tKQGsvxsvfcDvY5B3nrXnOyyi9Zg6nO2cHl+5FlU7b8A+dpSXkr9RYSmK9mMHjt1/0GWHx2+637uJfwrkgX5quW8etHra1JMJ/6zjWLnF0u/w5Xlu7qQl921lGudwY4zlc2lniHIcoDzhrcSZKm/Bl13p27a2F6t14kO+4I+/dMjW6aueFbVX//553PbQOs1QWtTNuSFNcfSBnZt5YWsvgc39TDBGnIvdtFFzwcrNt9b2Oc0femfpy8G2C5iKa+zrvt/bMgL0jBpYRM32iul6cZ85B0a6ppPuFQ9fD25iwD7Vq0XJ12QFKzSlXeZk257Did5QOff/2YXOv9lh/Y8M2tMPj+49Wm2/0uu3fptteVfmu7yDlb+dUF/bXFkU4fB8tq66Ly+3NC+XdKu/zwr0wv7YF8+PLj8fIrR1x+a1m2i43kwl2bHTP6OPp89s0aVD9je3K4CnFq5b72lW//mytu66VLW3zWp2x/L4lh3WbkfNAUr9930T7fu84fZ61HwwdWvJGV1QsMPrtKjKG94b6qPuejSls93gnZ1Vf2DuEG23TTbZ9BQV3D1BZevF+6wYRtPG8GjvsJU9Y8A85ktDd6l/ZJz6o5/98J5XcZtJ1lgNejHlsrs+P5/LGR5ahYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADv0C/U9bHM5m5cNAAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAUrSURBVHgB7dhtiBVVHMfx/91Ky7Ra08wshZ4sLJHMqAjDQiqtTGMLSSIC3yi9qiyJkOpNUhkUQZFg9SLIBUErwh5IQ6IwKXCtCAyf0Cx1NzPXp93x9+ecy56dnXt39+6yC/L9wI+ZOXPmeGfPnDNnNAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAM16WZfcrx7NgnXJO7vwdSnvWYacyQXkt65k2ZUO8ZnrWczN7UfcNZWty/FjBfY5UDiV1DiuXFNR7PqlzRHm8wt/tZFJvftY7D1gN6qwGpVLpM22eUTYqDTo+mdzEDG38fCkWHVAeVp2d1nP+u+5UlubKj8b2KiWvWt2j1r0XlfrkeITyQjfXnK+8o7/DHOsfp5Sn9Pf71AZa1nXk3qC0JE+dj9zrkvPpCF6gTI2ZptyShZH/ZlJnb9Z5BL+lDK+SYUndfcqoKnWHZFVGsI4nK8fiuR3Kgbh/UJmQq5uO4DKfhWbn6qUj+EZlSjlNTU0PJue2J+cmWh+cbX2QG7nTtFmjXBiL/lLmqc7vFS7fpnM/F5RvUltPaHuR4tNhKTl3lTKrQnsnGhsbv25oaCgfn6vMVNoq1P/KqlusDI37S5SblWeVkb7Vb/RRlVW53mchf33dp3pfFpxvV/nW8sGyZctaJk2aVD48oXO/WD/oUweX6SbGaLNJGRKLWpW5+pFbrDb7LHTwWdb5N86yCh3c2tra0tzcfE1S5Nd/bJVdW+mE7uc2bRbGwy26j9Uq+077iyxMwU/Gtr8vuLxJuVQZZaGTP/EHVm2stUHQLx0sB5UVynMWRtx51vGU77XeK0/9PkLak/JtyuaiC+rq6o7U19cfS4pOKKstvMOKHCoq1G/23/+6dcwc3/jrI+5/rjxi4f58VD9U0MQPSqPyvjLewoO2Sm3MtUHQLx2sTvQ/4lLdhI/cl2LxPOVilc3oZirrRPV9FF4RD/+1zlPserX1dJVr0/vxDlyo+seq1C8q9tXq7cnxkpi8Of5aUvtdHjifkrOwkvbXgD+svlBbb2FGGlA1d3DsiHt1M2+Xy7T/cpyuF8UiXwmvUdkCnfs/18RKlR9Jm7Twx/Cps/zua8pdMzsr+ExJvGJ9oLb93y0/oP5gbSyoNky5Ne4v1zV3F7Wl+92oc/dYWJf4KB5qg6CmDtYPH2vhnTvaV4a6mXfL57S/2FeaFj4xnE9j/g5ryDVzk3VvRe54YkwlH1nf+MJqStz/QvfS5dtT9+Gj8SflSsU/CR+t1Jiu/zYuGD+0jsXngKp1BPuTuSruj/dRpZv5Ozn/qoVvzcuSssnKBuv8Tk2V33k+kv0bdZ2vsuMnyXLrmd1JXZ8dTnVTf6UyNu7/plyeXF+4QNNvava1hXanxyKfdn9Mrtucq79W9f29fVeuqfx3e0vSRtE3fU1KhorUMf5J5NPrDmWchYfPj/0/PHZZ+BQbHfd9ZvlT8QfS1w4+Yv+w8AANV/ZbWF3vie2Mj9f5IPPXl6+4T8VzQ/Vg7LJ+0F+r6DOVryUmx61/NnlH+exytbI91vFR7591vyrzLYzo95SpFlb9/p8d3nm+EvdPrestdKjPeP4QjIv7++O+1/1HD9cH6uTt1keM4Cr8fRunZP++95Hr28PKBRZeAW2x3NccPpJ95a5LSv5/1iO0/U9b70RPSywfE6/17+TmeG5PvP64hRHsnezX7zYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnZ0GCV6K30QXewAAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAARhSURBVHgB7dpBaBxVHMfxf6SHgD3kkINgDjn00GIEwR4KDRjBQw89FAwotELAFAtWclDIwYCKgnrSEqQKFhEpVorQIqIlHgIRLNRbWxIwEKWFCi0kYCEFK8/fn3nBmu5/d3Z3ZumW7wf+zGb/O2/f7Lz35r2ZmAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwnpbRDcUmxfk98mrdzijHFTcXHiuVtn/M4ZGjLDuutnYrTilnFquJbxeOKIcWfijcVw4qLDfa9q/jZ8GBTLxxV/K2YVAwqrqX/8x5+Nt3vLUPbet2D3XHFhmJR8ZxiRPGe4h+Fn8Rvcr2ubtvvE0PbenqCvcdq84zi1MDAwC39vU+vryg+VHygWFE8qpjatut1ff5tAx4Gavg7FcNWgQHrAVXWh+F3rTN31XuPqoxxvX7ZOuPD+/VchypGrdesuLTMBvmjCh+t5oP8Zzqmizomn1TuapD/o69GLD+Q1Lmvcxk/pM6spWIydzhVYynX5/Mgv5Dzx4P8DcWQYncqJpuNTFk/UYUvp86NK4YVf6XOzFdQh3sdS8UJiuozmb9vKcifzPlmjf4x6xepOEGdupzLmEudm1DsTdXY6n2HgryfdB8tdqW4dz6Rihs+UYP7wirUi1n088H7fmNjxZq7kLfRtdevq6sW89n3on60aSuWZd26oPI2VN5MkD+v/B3lD1vj3/Z35a8qf0Cvx4IyvrR+kYrZ4LWgpR4sWcZTKTZmPZaKGzWR8dw7bwT5uVzGySC/ZhWruwf7veORBu/fsvI96pXg/RX1hivWgjcQbWase/59vl4/EOR/teIWq6/to2voGW/02kaN+4T1kxRPND4qub+PAJtBGW+ULCPqLe3a6n3LLfJfBflLOT+dYqPWL1TZkSYHsq9kGQeD/f3JUssbAamYfa+n7nkj84nTRJD3CZUvewZT3CCnc51+CfLnrJ+owrPBgfzWRhkLQRlnS+4/k6rxXS5vvkV+Msj7I1AfjZo1+loehdZ5DT4WvF/qoYEOeLcVDyMaOWXl+P4b1r0Tqo8/0nwxyH+ft68G+UVdv2+rjOjOl8+ua+nBtZzgVAzBow1SdxRnrJxoMuNLq0Ur5yWrQF4aHbHiWfV2txXnlN+r7XhQxFajPhLkF60mdfXgqeB9/zHe149hTfhM0k9iNHs+7WtNa0Hf4Y8ln7bunVd474rW874W99FqvzX+Pb2ufu32mfNoUMY7VpPKHzakYvKzbI1beyv+Xxt7rPghFoLP7NEJXmlRB7/Rf9OK/yDp1pNWNEw/pkGrng/fz1pNHrHqTVhnJ9f9pIP1O1NRb/mx1cnNXrBqTu5qXmv7aFLHyXX9c+fKpXjmW4YPZcN51tnIVMk6LKVqvJ7LW0v1qPzOVa1SsVbc7PBg13MZ0WM2X88OlajDSKrGZi5rf6pPpQ8WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABV+hdoJr5vi1uvWQAAAABJRU5ErkJggg==\"","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Caption, HiddenCheckbox, CheckedLabel, LabelIcon } from \"../styles\";\nimport {\n ProgramWrapper,\n ProgramCover,\n ProgramContent,\n ProgramLogo,\n} from \"./styles\";\n\nimport fallbackCover from \"assets/placeholders/swirl.svg\";\n\nimport { BrandProgram } from \"api/services/public-service\";\nimport { PROGRAM_ASSETS, TRANSLATIONS } from \"./constants\";\n\ntype Props = {\n program: BrandProgram;\n checked?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n onClick?: () => void;\n};\n\nexport const ProgramCard: FC = ({\n program,\n onClick,\n checked,\n disabled,\n readonly,\n}) => {\n const { t } = useTranslation();\n\n const assets = PROGRAM_ASSETS[program.id];\n const isCheckboxDisabled = readonly || disabled;\n\n return (\n \n \n\n \n \n \n\n \n \n {t(checked ? TRANSLATIONS.JOINED : TRANSLATIONS.JOIN)}\n \n \n\n {program.name}\n \n );\n};\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ContentDescription, ContentSection, ContentTitle } from \"../styles\";\nimport { PlatformsList } from \"./styles\";\n\nimport { useOnboardingContext } from \"../../../context\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { useRootStore } from \"init/root-store\";\nimport { ProgramCard } from \"domains/shared/components/cards/program\";\n\nexport const ProgramsComponent = observer(() => {\n const { updatePrograms, programs } = useOnboardingContext();\n const { metadata } = useRootStore();\n const { t } = useTranslation();\n\n const { classicPrograms } = metadata;\n\n const onProgramClick = (id: number) => () => {\n updatePrograms(id);\n };\n\n return (\n \n {t(TRANSLATIONS.TITLE)}\n {t(TRANSLATIONS.DESCRIPTION)}\n\n \n {classicPrograms.map((program) => (\n
  • \n \n
  • \n ))}\n
    \n
    \n );\n});\n","import { FC } from \"react\";\n\nimport { StepProps } from \"./types\";\nimport { TermsStepComponent } from \"./terms\";\nimport { InformationStepComponent } from \"./information\";\nimport { PolicyStepComponent } from \"./policy\";\nimport { ProfileStepComponent } from \"./profile\";\nimport { ExperienceStepComponent } from \"./experience\";\n\nexport const TRANSLATIONS = {\n TITLE_TERMS: \"onboarding__steps__terms\",\n TITLE_PROFILE: \"onboarding__steps__profile\",\n TITLE_EXPERIENCE: \"onboarding__steps__experience\",\n TITLE_DISCLOSURE: \"onboarding__steps__disclosure\",\n TITLE_CONFIDENTIALITY: \"onboarding__steps__confidentiality\",\n};\n\nexport const ONBOARDING_STEPS: {\n title: string;\n component: FC;\n}[] = [\n {\n title: TRANSLATIONS.TITLE_TERMS,\n component: TermsStepComponent,\n },\n {\n title: TRANSLATIONS.TITLE_PROFILE,\n component: ProfileStepComponent,\n },\n {\n title: TRANSLATIONS.TITLE_EXPERIENCE,\n component: ExperienceStepComponent,\n },\n {\n title: TRANSLATIONS.TITLE_DISCLOSURE,\n component: PolicyStepComponent,\n },\n {\n title: TRANSLATIONS.TITLE_CONFIDENTIALITY,\n component: InformationStepComponent,\n },\n];\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { StepContent } from \"../styles\";\nimport { SectionWrapper, Title, Description } from \"./styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { Button } from \"domains/shared/components/button\";\nimport { useOnboardingContext } from \"../../context\";\nimport { StepProps } from \"../types\";\nimport { NavigationComponent } from \"../../navigation.component\";\nimport { GamesComponent } from \"./games/games.component\";\nimport { ProgramsComponent } from \"./programs/programs.component\";\n\nexport const ExperienceStepComponent: FC = observer(\n ({ onBack, onContinue }) => {\n const { t } = useTranslation();\n const { isGamesValid } = useOnboardingContext();\n\n return (\n <>\n \n {t(TRANSLATIONS.TITLE)}\n {t(TRANSLATIONS.DESCRIPTION)}\n\n \n \n \n \n \n\n \n \n\n \n \n \n );\n }\n);\n","import React, { useLayoutEffect, useMemo } from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { Breadcrumbs, StepWrapper, ContentWrapper } from \"./styles\";\n\nimport { ONBOARDING_STEPS } from \"./constants\";\nimport { useStepper } from \"domains/shared/hooks/useStepper\";\nimport { scrollTop } from \"domains/shared/utils/document\";\n\nexport const OnboardingStepsComponent = observer(() => {\n const steps = useMemo(() => ONBOARDING_STEPS, []);\n\n const {\n ActiveStep: { component: ActiveComponent },\n nextStep,\n previousStep,\n setActiveIndex,\n activeIndex,\n } = useStepper(0, steps);\n\n useLayoutEffect(() => {\n scrollTop();\n }, [activeIndex]);\n\n return (\n \n \n\n \n \n \n \n );\n});\n","import styled from \"styled-components\";\n\nimport { BREAKPOINT } from \"domains/shared/constants/media-queries.constants\";\nimport { Button } from \"domains/shared/components/button\";\nimport { LottieIcon } from \"domains/shared/components\";\n\nexport const WelcomeContentWrapper = styled.div`\n overflow: auto;\n padding: 3.6rem;\n\n color: var(--color-text-primary);\n\n background: var(--color-background-3);\n box-shadow: 1px 1px 0 var(--color-stroke-2),\n inset 1px 1px 0.05px var(--color-stroke-1);\n border-radius: 8px;\n\n ${BREAKPOINT.ls} {\n padding: 2.4rem 1.6rem;\n }\n`;\n\nexport const LottieImage = styled(LottieIcon)`\n width: 9.6rem;\n\n align-self: center;\n\n margin-bottom: 3.6rem;\n\n ${BREAKPOINT.mm} {\n margin-bottom: 2.4rem;\n }\n`;\n\nexport const Content = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n margin-bottom: 3.6rem;\n`;\n\nexport const Title = styled.h2<{ center?: boolean; margin?: number }>`\n font: var(--font-title-bold);\n text-align: center;\n\n margin-bottom: 2.4rem;\n`;\n\nexport const AcceptCTA = styled(Button)`\n width: 100%;\n`;\n\nexport const ContentWrapper = styled.div`\n max-width: 80rem;\n width: 100%;\n\n align-self: center;\n\n position: relative;\n\n ${BREAKPOINT.ls} {\n align-self: unset;\n }\n`;\n","export const TRANSLATIONS = {\n WELCOME_TITLE: \"onboarding__welcome-title\",\n WELCOME_DESCRIPTION_1: \"onboarding__welcome-description-1\",\n WELCOME_DESCRIPTION_2: \"onboarding__welcome-description-2\",\n CONTINUE: \"button__continue\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { observer } from \"mobx-react-lite\";\n\nimport {\n AcceptCTA,\n Content,\n WelcomeContentWrapper,\n Title,\n LottieImage,\n ContentWrapper,\n} from \"./styles\";\n\nimport welcome from \"assets/animations/welcome.json\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { useOnboardingContext } from \"../context\";\nimport { NavigationComponent } from \"../navigation.component\";\nimport { StepDescription } from \"../steps/styles\";\n\nexport const WelcomeComponent: FC = observer(() => {\n const { t } = useTranslation();\n const { setWelcomeMessageActive } = useOnboardingContext();\n\n const onContinueClick = () => {\n setWelcomeMessageActive(false);\n };\n\n return (\n \n \n \n \n\n {t(TRANSLATIONS.WELCOME_TITLE)}\n\n \n

    {t(TRANSLATIONS.WELCOME_DESCRIPTION_1)}

    \n

    {t(TRANSLATIONS.WELCOME_DESCRIPTION_2)}

    \n
    \n
    \n\n \n \n {t(TRANSLATIONS.CONTINUE)}\n \n \n
    \n
    \n );\n});\n","import React, { FC, useLayoutEffect, useState } from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { OnboardingLayout } from \"./styles\";\n\nimport { OnboardingContext } from \"./context\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport { ANALYTICS_PAGE_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { FloatLogo } from \"domains/shared/components\";\nimport { themeService } from \"domains/theme/theme.service\";\nimport { OnboardingStore } from \"./onboarding.store\";\nimport { OnboardingStepsComponent } from \"./steps\";\nimport { WelcomeComponent } from \"./welcome\";\n\nexport const OnboardingComponent: FC = observer(() => {\n const [store] = useState(() => new OnboardingStore());\n\n const { isLoading, referralProgram, isWelcomeMessageActive } = store;\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.introduction,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.main,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n useLayoutEffect(() => {\n const { applyTheme, resetTheme } = themeService;\n\n if (!referralProgram) {\n return;\n }\n\n applyTheme(referralProgram.brandProgramId);\n\n return resetTheme;\n }, [referralProgram]);\n\n return (\n \n \n \n\n {isWelcomeMessageActive ? (\n \n ) : (\n \n )}\n\n {isLoading && }\n \n \n );\n});\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { DashboardComponent } from \"domains/dashboard/dashboard.component\";\nimport { OnboardingComponent } from \"./onboarding/onboarding.component\";\nimport { useRootStore } from \"init/root-store\";\n\nexport const DashboardPage: FC = observer(() => {\n const { profile } = useRootStore();\n\n return profile.isFirstConnectionFlowCompleted ? (\n \n ) : (\n \n );\n});\n","import React, { FC } from \"react\";\nimport { Redirect, Route, RouteProps } from \"react-router-dom\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { getDefaultProfileRoute } from \"./utils\";\n\ntype Props = {\n restricted?: boolean;\n} & RouteProps;\n\nexport const PublicRouter: FC = observer(\n ({ children, restricted = false, ...props }) => (\n \n restricted ? : children\n }\n />\n )\n);\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Description, LinkWrapper, WarningTitle } from \"../styles\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { CTALink } from \"domains/shared/components\";\nimport { getDefaultProfileRoute } from \"navigation/utils\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport { ANALYTICS_PAGE_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { AnimatedStatusLayout } from \"../animated-status.layout\";\n\nexport const NotFoundPage: FC = () => {\n const { t } = useTranslation();\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.error,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.main,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n return (\n \n {t(TRANSLATIONS.NOT_FOUND_TITLE)}\n\n \n

    {t(TRANSLATIONS.NOT_FOUND_WARNING)}

    \n

    {t(TRANSLATIONS.NOT_FOUND_DESCRIPTION)}

    \n
    \n\n \n \n {t(TRANSLATIONS.LINK_HOMEPAGE)}\n \n \n
    \n );\n};\n","export const TRANSLATIONS = {\n EMBARGOED_COUNTRY_TITLE: \"profile-error__embargoed-country__title\",\n EMBARGOED_COUNTRY_WARNING: \"profile-error__embargoed-country__warning\",\n EMBARGOED_COUNTRY_DESCRIPTION:\n \"profile-error__embargoed-country__description\",\n MINOR_TITLE: \"profile-error__minor__title\",\n MINOR_WARNING: \"profile-error__minor__warning\",\n LINK_HOMEPAGE: \"link__homepage\",\n SERVE_ERROR_TITLE: \"error-server__title\",\n ERROR_CODE: \"error-code\",\n WHITELIST_TITLE: \"profile-error__whitelist__title\",\n WHITELIST_DESCRIPTION: \"profile-error__whitelist__description\",\n WHITELIST_SUPPORT_LINK: \"profile-error__whitelist__link\",\n UNAVAILABLE_TITLE: \"error-unavailable__title\",\n UNAVAILABLE_DESCRIPTION: \"error-unavailable__description\",\n FORBIDDEN_TITLE: \"error-page__forbidden__title\",\n FORBIDDEN_DESCRIPTION: \"error-page__forbidden__description\",\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ErrorTitle, Description, LinkWrapper } from \"../styles\";\n\nimport { CTARedirectLink } from \"domains/shared/components\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\nimport { AnimatedStatusLayout } from \"../animated-status.layout\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport {\n ANALYTICS_CLICK_ATTRIBUTES,\n ANALYTICS_PAGE_ATTRIBUTES,\n} from \"analytics/analytics-provider.constants\";\nimport analyticsService from \"analytics/analytics-provider.service\";\n\nexport const UnavailablePage: FC = () => {\n const { t } = useTranslation();\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.error,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.main,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n const goUbiAnalytic = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.blockedCountry,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.goToUbi\n );\n };\n\n return (\n \n {t(TRANSLATIONS.UNAVAILABLE_TITLE)}\n\n {t(TRANSLATIONS.UNAVAILABLE_DESCRIPTION)}\n\n \n \n {t(TRANSLATIONS.LINK_HOMEPAGE)}\n \n \n \n );\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ErrorTitle, ErrorCode, LinkWrapper, Description } from \"../styles\";\nimport { CTARedirectLink } from \"../../shared/components\";\n\nimport { TRANSLATIONS } from \"./constants\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport { ANALYTICS_PAGE_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { AnimatedStatusLayout } from \"../animated-status.layout\";\nimport { globalErrorService } from \"domains/global-errors/global-error.service\";\nimport { getDefaultProfileRoute } from \"navigation/utils\";\n\nexport const ServerErrorPage: FC = () => {\n const { t } = useTranslation();\n const { status } = globalErrorService;\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.error,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.main,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n return (\n \n {t(TRANSLATIONS.SERVE_ERROR_TITLE)}\n\n \n \n {t(TRANSLATIONS.ERROR_CODE)} {status}\n \n \n\n \n \n {t(TRANSLATIONS.LINK_HOMEPAGE)}\n \n \n \n );\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ErrorTitle, Description, LinkWrapper } from \"../styles\";\n\nimport { CTARedirectLink } from \"domains/shared/components\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\nimport { AnimatedStatusLayout } from \"../animated-status.layout\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport {\n ANALYTICS_CLICK_ATTRIBUTES,\n ANALYTICS_PAGE_ATTRIBUTES,\n} from \"analytics/analytics-provider.constants\";\nimport analyticsService from \"analytics/analytics-provider.service\";\n\nexport const ForbiddenPage: FC = () => {\n const { t } = useTranslation();\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.error,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.main,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n const goUbiAnalytic = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.forbiddenAccess,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.goToUbi\n );\n };\n\n return (\n \n {t(TRANSLATIONS.FORBIDDEN_TITLE)}\n\n \n

    {t(TRANSLATIONS.FORBIDDEN_DESCRIPTION)}

    \n
    \n\n \n \n {t(TRANSLATIONS.LINK_HOMEPAGE)}\n \n \n
    \n );\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ErrorTitle, Description, LinkWrapper } from \"../styles\";\n\nimport { CTARedirectLink } from \"domains/shared/components\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport {\n ANALYTICS_CLICK_ATTRIBUTES,\n ANALYTICS_PAGE_ATTRIBUTES,\n} from \"analytics/analytics-provider.constants\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { AnimatedStatusLayout } from \"../animated-status.layout\";\n\nexport const EmbargoedCountryPage: FC = () => {\n const { t } = useTranslation();\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.error,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.main,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n const goHomePageAnalytic = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.embargo,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.goToUbi\n );\n };\n\n return (\n \n {t(TRANSLATIONS.EMBARGOED_COUNTRY_TITLE)}\n\n \n

    {t(TRANSLATIONS.EMBARGOED_COUNTRY_WARNING)}

    \n

    {t(TRANSLATIONS.EMBARGOED_COUNTRY_DESCRIPTION)}

    \n
    \n\n \n \n {t(TRANSLATIONS.LINK_HOMEPAGE)}\n \n \n
    \n );\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ErrorTitle, Description, LinkWrapper } from \"../styles\";\n\nimport { CTARedirectLink } from \"domains/shared/components\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport {\n ANALYTICS_CLICK_ATTRIBUTES,\n ANALYTICS_PAGE_ATTRIBUTES,\n} from \"analytics/analytics-provider.constants\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { AnimatedStatusLayout } from \"../animated-status.layout\";\n\nexport const MinorPage: FC = () => {\n const { t } = useTranslation();\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.error,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.main,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n const goHomePageAnalytic = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.minor,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.goToUbi\n );\n };\n\n return (\n \n {t(TRANSLATIONS.MINOR_TITLE)}\n\n \n

    {t(TRANSLATIONS.MINOR_WARNING)}

    \n
    \n\n \n \n {t(TRANSLATIONS.LINK_HOMEPAGE)}\n \n \n
    \n );\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Description, LinkWrapper, WarningTitle } from \"../styles\";\n\nimport { CTARedirectLink } from \"domains/shared/components\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport { ANALYTICS_PAGE_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { AnimatedStatusLayout } from \"../animated-status.layout\";\nimport { getDefaultProfileRoute } from \"navigation/utils\";\n\nexport const MaintenancePage: FC = () => {\n const { t } = useTranslation();\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.error,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.main,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n return (\n \n {t(TRANSLATIONS.MAINTENANCE_TITLE)}\n\n \n
    \n

    {t(TRANSLATIONS.MAINTENANCE_DESCRIPTION_1)}

    \n

    {t(TRANSLATIONS.MAINTENANCE_DESCRIPTION_2)}

    \n
    \n
    \n\n \n \n {t(TRANSLATIONS.LINK_HOMEPAGE)}\n \n \n
    \n );\n};\n","import React, { FC } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ErrorTitle, Description, LinkWrapper } from \"../styles\";\n\nimport { CTARedirectLink } from \"domains/shared/components\";\nimport { TRANSLATIONS } from \"./constants\";\nimport { EXTERNAL_LINKS } from \"navigation/external-links\";\nimport { usePageEvent } from \"analytics/hooks/usePageEventHook\";\nimport {\n ANALYTICS_CLICK_ATTRIBUTES,\n ANALYTICS_PAGE_ATTRIBUTES,\n} from \"analytics/analytics-provider.constants\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { AnimatedStatusLayout } from \"../animated-status.layout\";\n\nexport const WhitelistPage: FC = () => {\n const { t } = useTranslation();\n\n usePageEvent(\n ANALYTICS_PAGE_ATTRIBUTES.siteSection.error,\n ANALYTICS_PAGE_ATTRIBUTES.pageName.main,\n ANALYTICS_PAGE_ATTRIBUTES.siteSubSection.empty\n );\n\n const goHomePageAnalytic = () => {\n analyticsService.sendClickEvent(\n ANALYTICS_CLICK_ATTRIBUTES.location.page,\n ANALYTICS_CLICK_ATTRIBUTES.locationDetail.whitelist,\n ANALYTICS_CLICK_ATTRIBUTES.category.action,\n ANALYTICS_CLICK_ATTRIBUTES.action.goToUbi\n );\n };\n\n return (\n \n {t(TRANSLATIONS.WHITELIST_TITLE)}\n\n \n

    {t(TRANSLATIONS.WHITELIST_DESCRIPTION)}

    \n
    \n\n \n \n {t(TRANSLATIONS.LINK_HOMEPAGE)}\n \n \n
    \n );\n};\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { UnavailablePage } from \"../feedback/negative/unavailable.page\";\nimport { useRootStore } from \"init/root-store\";\nimport { globalErrorService } from \"./global-error.service\";\nimport { ServerErrorPage } from \"../feedback/negative/server-error.page\";\nimport { ERROR_CODES } from \"api\";\nimport { globalHTTPCancelToken } from \"api/config\";\nimport { ForbiddenPage } from \"../feedback/negative/forbidden.page\";\nimport { EmbargoedCountryPage } from \"../feedback/negative/embargoed-country.page\";\nimport { MinorPage } from \"../feedback/negative/minor.page\";\nimport { MaintenancePage } from \"../feedback/warnings/maintenance.page\";\nimport { WhitelistPage } from \"domains/feedback/negative/whitelist.page\";\n\nexport const GlobalErrorProvider: FC = observer(({ children }) => {\n const { ipLocation, dialogs } = useRootStore();\n const { blockedErrorCode, isServerError } = globalErrorService;\n\n if (ipLocation.isCountryBlocked || isServerError || blockedErrorCode) {\n globalHTTPCancelToken.cancel();\n dialogs.closeDialogs();\n }\n\n if (ipLocation.isCountryBlocked) {\n return ;\n }\n\n switch (blockedErrorCode) {\n case ERROR_CODES.FORBIDDEN:\n return ;\n case ERROR_CODES.CREATOR_COUNTRY_BLOCKED:\n return ;\n case ERROR_CODES.CREATOR_IS_MINOR:\n return ;\n case ERROR_CODES.MAINTENANCE:\n return ;\n case ERROR_CODES.ACCESS_DENIED:\n return ;\n }\n\n if (isServerError) {\n return ;\n }\n\n return <>{children};\n});\n","import React, { FC } from \"react\";\nimport { Route, Switch } from \"react-router-dom\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { urls } from \"./book\";\nimport { LoginPage } from \"domains/login\";\nimport { SignUpPage } from \"domains/sign-up/sign-up.page\";\nimport { PrivateRoute } from \"./private-router\";\nimport { StatusPage } from \"domains/feedback/profile\";\nimport { DashboardPage } from \"../domains/dashboard/dashboard.page\";\nimport { PublicRouter } from \"./public-router\";\nimport { useRootStore } from \"init/root-store\";\nimport { NotFoundPage } from \"domains/feedback/warnings/not-found.page\";\nimport { useLoginAnalyticEvent } from \"analytics/hooks/useLoginAnalyticEvent\";\nimport { GlobalErrorProvider } from \"domains/global-errors/global-error.provider\";\n\nexport const Routes: FC = observer(() => {\n const { profile, session } = useRootStore();\n const { isFormRestricted, isDashboardRestricted } = profile.restrictions;\n\n useLoginAnalyticEvent(session.ticket);\n\n return (\n \n \n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n );\n});\n","import { useLayoutEffect } from \"react\";\n\nimport analyticsService from \"../analytics-provider.service\";\nimport { ANALYTICS_ACCOUNT_ATTRIBUTES } from \"../analytics-provider.constants\";\nimport { SessionTicket } from \"domains/shared/services/overlay-service/types\";\n\nexport const useLoginAnalyticEvent = (ticket: SessionTicket | null) => {\n useLayoutEffect(() => {\n if (ticket) {\n analyticsService.sendAccountEvent(\n true,\n false,\n ANALYTICS_ACCOUNT_ATTRIBUTES.action.signedIn\n );\n }\n }, [ticket]);\n};\n","import React, { FC, useEffect } from \"react\";\n\nexport const DialogKeydownProvider: FC = ({ children }) => {\n useEffect(() => {\n const dialogRoot = document.querySelector(\".rc-dialog-root\");\n\n dialogRoot?.addEventListener(\"keydown\", (evt) => {\n if ((evt as KeyboardEvent).code === \"Escape\") {\n evt.preventDefault();\n }\n });\n }, []);\n\n return <>{children};\n};\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\n\nimport { DialogGlobalStyles } from \"./styles\";\n\nimport { useRootStore } from \"init/root-store\";\nimport { DialogActionsType } from \"./types\";\nimport { DialogKeydownProvider } from \"./dialog-keydown.provider\";\n\nexport const DialogsComponent = observer(() => {\n const { dialogs } = useRootStore();\n\n return (\n <>\n \n\n {dialogs.list.map(({ component: Component, props, id }) => (\n \n {\n props?.onClose?.();\n dialogs.closeDialog(DialogActionsType.CLOSE);\n }}\n onSubmit={async (data?: unknown) => {\n await props?.onSubmit?.(data);\n dialogs.closeDialog(DialogActionsType.SUBMIT, data);\n }}\n onCancel={() => {\n props?.onCancel?.();\n dialogs.closeDialog(DialogActionsType.CANCEL);\n }}\n maskAnimation=\"fade\"\n animation=\"zoom\"\n destroyOnClose\n visible\n />\n \n ))}\n \n );\n});\n","import { createGlobalStyle } from \"styled-components\";\n\nexport const HeaderGlobalStyles = createGlobalStyle`\n .global-navigation--default .ubisoft-overlay #overlay-container {\n width: auto;\n }\n \n .global-navigation--default.sponsalia {\n position: sticky;\n top: 0;\n \n z-index: 99;\n }\n`;\n","import { ENV } from \"domains/shared/types/env\";\n\nconst globalNavigationUAT =\n \"https://global-navigation-non-prod.s3.amazonaws.com/uat/1/global-navigation.js\";\nconst globalNavigationPROD =\n \"https://static-dm.akamaized.net/global-navigation-prod/prod/1/global-navigation.js\";\nconst globalNavigationCERT =\n \"https://global-navigation-non-prod.s3.amazonaws.com/cert/1/global-navigation.js\";\n\nexport const GLOBAL_NAVIGATION_URL = {\n [ENV.DEV]: globalNavigationUAT,\n [ENV.UAT]: globalNavigationUAT,\n [ENV.CERT]: globalNavigationCERT,\n [ENV.PROD]: globalNavigationPROD,\n} as const;\n","import { useEffect } from \"react\";\n\nimport { TicketResponse } from \"domains/shared/services/overlay-service/types\";\nimport { useRootStore } from \"init/root-store\";\nimport { initializedGlobalNavigationScript } from \"../utils\";\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { ANALYTICS_ACCOUNT_ATTRIBUTES } from \"analytics/analytics-provider.constants\";\nimport { getDefaultProfileRoute } from \"navigation/utils\";\nimport { appHistory } from \"navigation/app-history\";\n\nexport const useGlobalNavigator = () => {\n const { session } = useRootStore();\n\n useEffect(() => {\n const onConnect = async (action: string, _getTicket: TicketResponse) => {\n switch (action) {\n case \"init\": {\n await session.init();\n break;\n }\n\n case \"login\":\n case \"reInit\": {\n await session.init();\n appHistory.replace(getDefaultProfileRoute());\n break;\n }\n\n case \"logout\": {\n analyticsService.sendAccountEvent(\n false,\n true,\n ANALYTICS_ACCOUNT_ATTRIBUTES.action.signedOut\n );\n\n session?.clear();\n break;\n }\n }\n };\n\n initializedGlobalNavigationScript(onConnect);\n }, [session]);\n};\n","import { ConnectListener } from \"./types\";\nimport { GLOBAL_NAVIGATION_URL } from \"domains/global-header/constants\";\nimport { ENVIRONMENT } from \"domains/shared/constants/env\";\n\nexport const initializedGlobalNavigationScript = (\n onConnect: ConnectListener\n) => {\n const isExists = document.getElementById(\"global-navigation\");\n\n if (!isExists) {\n const script = document.createElement(\"script\");\n script.setAttribute(\"id\", \"global-navigation\");\n script.setAttribute(\"type\", \"text/javascript\");\n script.src = GLOBAL_NAVIGATION_URL[ENVIRONMENT];\n script.async = true;\n\n window.globalNavOverlayWidget = {};\n window.globalNavOverlayWidget.onConnect = onConnect;\n document.body.appendChild(script);\n }\n};\n","import React, { FC } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { HeaderGlobalStyles } from \"./styles\";\n\nimport { useGlobalNavigator } from \"./hooks/useGlobalNavigator\";\nimport { GLOBAL_CONFIG } from \"domains/shared/constants/app-config\";\n\nexport const GlobalHeader: FC = observer(() => {\n const { i18n } = useTranslation();\n\n useGlobalNavigator();\n\n return (\n <>\n \n\n \n \n );\n});\n","import React, { FC, useEffect, useState } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { useTranslation } from \"react-i18next\";\nimport { useLocation } from \"react-router-dom\";\n\nimport { removeLocale } from \"navigation/utils\";\nimport { OVERLAY_LANGUAGES } from \"i18n/languages\";\n\nexport const GlobalFooter: FC = observer(() => {\n const { pathname } = useLocation();\n const [url, setUrl] = useState(\"\");\n const { i18n } = useTranslation();\n\n useEffect(() => {\n const path = removeLocale(pathname);\n\n setUrl(`${window.location.origin}/{locale}${path}`);\n }, [pathname, setUrl]);\n\n return (\n \n );\n});\n","import React, { FC, useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useParams } from \"react-router-dom\";\n\nimport {\n COUNTRY_LANGUAGE,\n FALLBACK_LNG,\n SUPPORTED_LANGUAGES,\n} from \"./languages\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport { urls } from \"navigation/book\";\nimport { useRootStore } from \"init/root-store\";\nimport { appHistory } from \"navigation/app-history\";\nimport { ParametersType } from \"../navigation/types\";\n\nexport const LocaleProvider: FC = ({ children }) => {\n const { i18n, ready } = useTranslation();\n const { locale } = useParams();\n const { replace } = appHistory;\n const [isLocaleDefine, setIsLocaleDefine] = useState(false);\n const { ipLocation } = useRootStore();\n\n const isLocaleInitialized = ready && isLocaleDefine;\n\n useEffect(() => {\n (async () => {\n const { pathname, search } = window.location;\n\n if (isLocaleInitialized) {\n return;\n }\n\n if (locale) {\n const lowerCaseLocale = locale.toLowerCase();\n const supportedLng =\n SUPPORTED_LANGUAGES.find(\n (lng) => lng.toLowerCase() === lowerCaseLocale\n ) ?? FALLBACK_LNG;\n\n await i18n.changeLanguage(supportedLng);\n\n setIsLocaleDefine(true);\n\n if (supportedLng.toLowerCase() !== locale) {\n replace(pathname.replace(locale, supportedLng.toLowerCase()));\n }\n } else {\n const countryCode = ipLocation.data?.countryCode;\n const countryLng = countryCode && COUNTRY_LANGUAGE[countryCode];\n const supportedLng = countryLng\n ? SUPPORTED_LANGUAGES.find((lng) => lng === countryLng)\n : FALLBACK_LNG;\n\n await i18n.changeLanguage(supportedLng);\n\n setIsLocaleDefine(true);\n replace(`${urls.locale}${pathname}${search}`);\n }\n })();\n }, [i18n, ipLocation, isLocaleInitialized, locale, replace]);\n\n return isLocaleInitialized ? (\n <>{children}\n ) : (\n \n );\n};\n","import { useEffect } from \"react\";\n\nimport { isProductionLikeEnvironment } from \"../utils/environments\";\n\nexport const useGlobalErrorHandler = () => {\n useEffect(() => {\n const errorsHandler = (evt: PromiseRejectionEvent) => {\n if (isProductionLikeEnvironment()) {\n return;\n }\n\n console.group(\"Uncaught (in promise)\");\n console.log(evt.promise);\n console.log(evt.reason);\n console.groupEnd();\n };\n\n window.addEventListener(\"unhandledrejection\", errorsHandler);\n\n return () => {\n window.removeEventListener(\"unhandledrejection\", errorsHandler);\n };\n }, []);\n};\n","import { FC, useLayoutEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport analyticsService from \"analytics/analytics-provider.service\";\nimport { useRootStore } from \"init/root-store\";\nimport { isProductionEnvironment } from \"domains/shared/utils/environments\";\nimport { parseLang } from \"analytics/analytics-provider.utils\";\nimport {\n ANALYTICS_BRAND,\n ANALYTICS_GAME,\n ANALYTICS_SITE_NAME,\n ANALYTICS_SITE_TYPE,\n} from \"analytics/analytics-provider.constants\";\nimport { GLOBAL_CONFIG } from \"domains/shared/constants/app-config\";\nimport { ENV } from \"domains/shared/types/env\";\n\nexport const AnalyticProvider: FC = () => {\n const { i18n } = useTranslation();\n const { session } = useRootStore();\n\n useLayoutEffect(() => {\n const lang = parseLang(i18n.language);\n\n if (lang) {\n analyticsService.initAnalytics({\n applicationId: GLOBAL_CONFIG.APPLICATION_ID,\n analyticsBrand: ANALYTICS_BRAND,\n analyticsGame: ANALYTICS_GAME,\n genomeId: GLOBAL_CONFIG.GENOME_ID,\n envName: isProductionEnvironment() ? ENV.PROD : ENV.UAT,\n analyticsSiteName: ANALYTICS_SITE_NAME,\n analyticsSiteType: ANALYTICS_SITE_TYPE,\n ubisoftId: session.ticket?.userId || \"\",\n language: lang[0],\n country: lang[1],\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return null;\n};\n","import React, { FC } from \"react\";\nimport { Helmet } from \"react-helmet\";\nimport { observer } from \"mobx-react-lite\";\n\nconst TITLE = \"UCP\";\nconst DESCRIPTION = \"Welcome to The Ubisoft Creators Program.\";\n\n// metadata must be hosted on an accessible domain\nexport const HelmetComponent: FC = observer(() => (\n \n {/*X Meta Tags*/}\n \n \n \n \n \n \n \n \n\n {/*Facebook Meta Tags*/}\n \n \n \n \n \n \n \n \n \n));\n","import { useCallback, useLayoutEffect, useRef } from \"react\";\nimport { useHistory, useLocation } from \"react-router-dom\";\n\nimport { LocationState } from \"navigation/types\";\nimport { scrollTop } from \"domains/shared/utils/document\";\nimport { isIgnorePath } from \"./utils\";\n\n/**\n For usage, mark necessary element with id from SECTION_ID\n and add state scrollInto: SECTION_ID to the Link navigation component\n */\nexport const ScrollRestorationComponent = () => {\n const { state, pathname, search } = useLocation();\n const history = useHistory();\n\n const pages = useRef>(new Map());\n\n const scrollTo = useCallback(\n (key?: string) => {\n const el = state?.scrollInto && document.getElementById(state.scrollInto);\n\n if (el) {\n el.scrollIntoView();\n return;\n }\n\n const scrollPositionY = pages.current.get(key);\n\n if (scrollPositionY) {\n window.scrollTo(0, scrollPositionY);\n } else {\n scrollTop(state?.scrollSmooth);\n }\n },\n [state?.scrollSmooth, state?.scrollInto]\n );\n\n useLayoutEffect(() => {\n window.history.scrollRestoration = \"manual\";\n }, []);\n\n useLayoutEffect(() => {\n const { current } = pages;\n const isIgnored = isIgnorePath(pathname);\n\n if (history.action === \"POP\" && !isIgnored) {\n scrollTo(pathname);\n } else {\n scrollTo();\n }\n\n return () => {\n !isIgnored && current.set(pathname, window.scrollY);\n };\n }, [history.action, pathname, scrollTo, search]);\n\n return null;\n};\n","import { matchPath } from \"react-router-dom\";\n\nimport { urls } from \"navigation/book\";\n\nexport const isIgnorePath = (pathname: string) =>\n [\n urls.article,\n urls.invitation,\n urls.campaignsHistory,\n urls.program,\n urls.programCampaign,\n urls.creatorsCode,\n ].some((url) => matchPath(pathname, url));\n","import React, { FC, useEffect } from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { Route } from \"react-router-dom\";\n\nimport { AppLayout } from \"domains/shared/layout/styles\";\nimport { GlobalMUIStyles } from \"./domains/shared/styles\";\n\nimport \"react-toastify/dist/ReactToastify.css\";\n\nimport { Routes } from \"navigation\";\nimport { DialogsComponent } from \"domains/dialogs/dialogs.component\";\nimport { GlobalHeader } from \"domains/global-header\";\nimport { GlobalFooter } from \"domains/global-footer\";\nimport { useRootStore } from \"init/root-store\";\nimport { SpinnerComponent } from \"domains/shared/components/spinner\";\nimport { LocaleProvider } from \"i18n/locale-provider\";\nimport { localePath } from \"navigation/book\";\nimport { LoadingLayout } from \"domains/shared/layout/loading.layout\";\nimport { useGlobalErrorHandler } from \"domains/shared/hooks/useGlobalErrorHandler\";\nimport {\n ToastContainerDownComponent,\n ToastContainerUpComponent,\n} from \"./domains/notifications\";\nimport { useReferral } from \"./domains/shared/hooks/useReferral\";\nimport { AnalyticProvider } from \"analytics/analytics-provider.component\";\nimport { HelmetComponent } from \"./domains/shared/components/helmet\";\nimport { usePreventDefaultEscSafari } from \"domains/shared/hooks/usePreventDefaultEscSafari\";\nimport { ScrollRestorationComponent } from \"domains/shared/components/scroll-restoration/\";\n\nconst App: FC = observer(() => {\n const { session, ipLocation } = useRootStore();\n\n useGlobalErrorHandler();\n useReferral();\n usePreventDefaultEscSafari();\n\n useEffect(() => {\n ipLocation.fetchIpLocation();\n }, [ipLocation]);\n\n return (\n \n \n \n \n\n {ipLocation.isLoading ? (\n \n ) : (\n \n \n \n \n {session.isLoading ? : }\n \n \n\n \n \n \n \n \n \n )}\n \n );\n});\n\nexport default App;\n","import { useEffect } from \"react\";\nimport { useLocation } from \"react-router-dom\";\n\nimport { referralService } from \"domains/shared/services/referral/referral.service\";\n\nexport const useReferral = () => {\n const location = useLocation();\n\n useEffect(() => {\n const { search } = location;\n const referral = new URLSearchParams(search).get(\"referral\");\n\n if (referral) {\n referralService.setReferral(referral);\n }\n }, [location]);\n};\n","import { useEffect } from \"react\";\n\n// Prevent exit from fullscreen mode on Esc for Safari\nexport const usePreventDefaultEscSafari = () => {\n useEffect(() => {\n document.addEventListener(\"keydown\", (evt) => {\n if (evt.code === \"Escape\") {\n evt.preventDefault();\n }\n });\n });\n};\n","import { ReportHandler } from \"web-vitals\";\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler): void => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import(\"web-vitals\").then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React, { Suspense } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Router } from \"react-router\";\nimport utc from \"dayjs/plugin/utc\";\nimport duration from \"dayjs/plugin/duration\";\nimport dayjs from \"dayjs\";\n\nimport \"wicg-inert\";\n\nimport \"./styles/reset.css\";\nimport \"./styles/fonts.css\";\nimport \"./styles/vars.css\";\nimport \"./styles/default.css\";\n\nimport \"slick-carousel/slick/slick.css\";\nimport \"slick-carousel/slick/slick-theme.css\";\n\nimport App from \"./app\";\nimport reportWebVitals from \"./init/reportWebVitals\";\nimport \"./i18n\";\nimport { appHistory } from \"navigation/app-history\";\n\ndayjs.extend(utc);\ndayjs.extend(duration);\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n","export enum ACCOUNT_PROFILE_TYPES {\n UPLAY = \"uplay\",\n TWITCH = \"twitch\",\n GOOGLE = \"googleuser\",\n DISCORD = \"discord\",\n}\n\nexport const REDIRECT_SEARCH_PARAMS = {\n TOPIC: \"topic\",\n ERROR: \"error\",\n ERROR_MESSAGE: \"error_description\",\n};\n\nexport enum REDIRECT_TOPICS {\n LOGIN = \"LOGIN\",\n TWITCH = \"TWITCH\",\n YOUTUBE = \"YOUTUBE\",\n TIKTOK = \"TIKTOK\",\n INSTAGRAM = \"INSTAGRAM\",\n DISCORD = \"DISCORD\",\n}\n\nexport type AccountProfile = {\n profileId: string;\n userId: string;\n platformType: ACCOUNT_PROFILE_TYPES;\n idOnPlatform: string;\n nameOnPlatform: string;\n};\n\nexport interface ProfilesResponse {\n opId: string;\n payload: {\n profiles: AccountProfile[];\n };\n status: string;\n errorMessage: string;\n}\n\nexport interface TicketResponse {\n status: string;\n payload: {\n ticket: string;\n sessionId: string;\n userId: string;\n };\n}\n\nexport interface LogoutResponse {\n status: string;\n subscribe: (\n logoutResponse: (logoutResponse: LogoutResponse) => void\n ) => SDKSubscription;\n}\n\nexport interface SDKSubscription {\n unsubscribe: () => void;\n}\n\nexport interface WebOverlay {\n readonly getTicket: (arg: (arg: TicketResponse) => void) => void;\n readonly getProfiles: (arg: (arg: ProfilesResponse) => void) => void;\n readonly logout: () => LogoutResponse;\n readonly reInit: () => void;\n}\n\nexport interface SessionTicket {\n readonly sessionId: string;\n readonly ticket: string;\n readonly userId: string;\n}\n","import { ApplicationId, GenomeId } from \"../types/app-config\";\n\nexport const GLOBAL_CONFIG = {\n APPLICATION_ID: \"af2d3b10-036c-4b29-82a4-3ca25f8e4c6a\" as ApplicationId,\n GENOME_ID: \"1cd53287-7804-4bdf-b94d-6ff387e71ed0\" as GenomeId,\n LANGUAGE: \"en-US\",\n};\n","import URI from \"urijs\";\n\nimport { REDIRECT_SEARCH_PARAMS, REDIRECT_TOPICS } from \"./types\";\nimport { AUTH_URL_FILENAME } from \"domains/shared/constants/ubi-services.constants\";\nimport { ApplicationId, GenomeId } from \"../../types/app-config\";\n\nexport const transitionNextUrl = (\n applicationId: ApplicationId,\n genomeId: GenomeId,\n topicOfPostMessage: REDIRECT_TOPICS | null,\n error?: string\n) => {\n const sender =\n window.opener?.opener ||\n window.opener ||\n window.parent.parent ||\n window.parent;\n\n sender.postMessage(\n {\n topic: topicOfPostMessage,\n applicationId: applicationId,\n genomeId: genomeId,\n payload: \"\",\n error,\n },\n \"*\"\n );\n};\n\nconst GENERIC_NEXT_URL = new URI(origin).filename(AUTH_URL_FILENAME).href();\n\nexport const generateNextURL = (topic: REDIRECT_TOPICS) => {\n return `${GENERIC_NEXT_URL}?${REDIRECT_SEARCH_PARAMS.TOPIC}=${topic}`;\n};\n","export const AUTH_URL_FILENAME = \"auth-url.html\";\n"],"sourceRoot":""}