{"version":3,"file":"Cp96TmJc.js","sources":["../../../../constants/components/app-stories.ts","../../../../services/inAppStory/inAppStories.utils.ts","../../../../services/inAppStory/inAppStories.ts","../../../../node_modules/vuetify/lib/components/VSkeletonLoader/VSkeletonLoader.mjs","../../../../components/App/AppStories.vue"],"sourcesContent":["export const GROUP_1 = [\n 'belebey',\n 'beloretsk',\n 'eysk',\n 'zheleznogorsk',\n 'ishim',\n 'ishimbay',\n 'katavivan',\n 'krymsk',\n 'meleuz',\n 'mtsensk',\n 'michurinsk',\n 'neftekamsk',\n 'novouralsk',\n 'okt',\n 'pervouralsk',\n 'rodniki',\n 'salavat',\n 'slavyansk',\n 'tmz',\n 'uhta',\n]\n\nexport const GROUP_2 = [\n 'elektrostal',\n 'chita',\n 'cherkessk',\n 'chel',\n 'feodosia',\n 'ufa',\n 'ulyanovsk',\n '72',\n 'tomsk',\n 'tlt',\n 'temryuk',\n 'tambov',\n 'tavda',\n 'syzran',\n 'str',\n 'smolensk',\n 'simferopol',\n 'saratov',\n 'samara',\n 'rzn',\n 'rybinsk',\n 'don',\n 'rzhev',\n 'penza',\n 'orel',\n 'oren',\n 'obninsk',\n 'nvrsk',\n 'nmosk',\n 'nvkb',\n 'nf',\n 'michurinsk',\n 'mih',\n 'magnitka',\n 'lipetsk',\n 'kursk',\n 'krasnodar',\n 'kovrov',\n 'kirov',\n 'kineshma',\n 'kimry',\n 'kaluga',\n 'kaliningrad',\n 'iglino',\n 'zubovo',\n 'zarechny',\n 'evpatoria',\n 'dubna',\n 'gubkin',\n 'vladimir',\n 'vichuga',\n 'vn',\n 'bryansk',\n 'belgorod',\n]\n\nexport const GROUP_3 = [\n 'yar',\n 'uu',\n 'sykt',\n 'surgut',\n 'oskol',\n 'sochi',\n 'sevastopol',\n 'reutov',\n 'podolsk',\n 'omsk',\n 'kerch',\n 'kazan',\n 'irkutsk',\n 'dzhankoy',\n 'vl',\n]\n\nexport const GROUP_3_OLD = [\n 'schekino',\n 'shuya',\n '72',\n 'tula',\n 'tver',\n 'oskol',\n 'dubna',\n 'vrn',\n 'bryansk',\n]\n\nexport const GROUP_4_OLD = [\n 'himki',\n 'khanty',\n 'severomorsk',\n 'svb',\n 'murmansk',\n 'msk',\n 'korolev',\n 'ivanovo',\n 'zeya',\n 'amur',\n 'belogorsk',\n]\n\nexport const StoryGroups = {\n '1_category': GROUP_1,\n '2_category': GROUP_2,\n '3_category': GROUP_3,\n '3_category_old': GROUP_3,\n '4_category_old': GROUP_4_OLD,\n}\n\nexport const GROUP_RUSSIA = {\n value: 'Россия',\n key: 'RUS_cities',\n}\n\nexport const USER_STATUS_TAGS = {\n isAuth: 'is_auth', // авторизован\n oneOrder: '1_order', // помечен на беке как новый клиент, имеет один заказ\n old: 'old', // помечен на беке как постоянный клиент, имеет больше одного заказа\n empty: '0_order', // авторизован, orders count = 0\n}\n\nexport const USER_PLACEHOLDERS = {\n username: 'username',\n bonusCount: 'bonus_count',\n ordersCount: 'orders_count',\n usedBonusesCount: 'used_bonuses_count',\n}\n","/**\n * Получаем уникальный хэш пользователя для сторисов\n * @return machineId - идентификатор inAppStory\n */\nexport const getInAppStoriesId = () => {\n let machineId = localStorage.getItem('InAppStoriesId')\n\n if (!machineId) {\n machineId = crypto.randomUUID()\n localStorage.setItem('InAppStoriesId', machineId)\n }\n\n return machineId\n}\n","import { watch } from 'vue'\nimport { useRuntimeConfig } from '#app'\n\n/* Constants */\nimport {\n StoryGroups,\n GROUP_RUSSIA,\n USER_STATUS_TAGS,\n USER_PLACEHOLDERS,\n} from '@/constants/components/app-stories'\n\n/* Types */\nimport {\n StoryManagerConfig,\n StoryManager,\n} from '@/services/inAppStory/inAppStories.types'\n\n/* Stores */\nimport { useUserStore } from '@/store/user/user'\nimport { useCityStore } from '@/store/city/city'\n\n/* Services */\nimport { getInAppStoriesId } from '@/services/inAppStory/inAppStories.utils'\n\nconst SDK_URL = 'https://sdk.inappstory.com/v2.10.2/dist/js/IAS.js'\n\nexport const storyManagerConfig: StoryManagerConfig = {\n apiKey: '',\n userId: '', // usually - hash from real user identifier\n tags: [], // Array\n}\n\ntype PromiseReturn = {\n storyManager: StoryManager\n appearanceManager: any\n}\n\nconst getUserId = () => {\n const userStore = useUserStore()\n\n // Если авторизован - используем clientId\n if (userStore.info && userStore.info.clientId) {\n return userStore.info.clientId\n }\n\n // Если не автоизован - используем session\n return getInAppStoriesId() || 'default'\n}\n\nconst getUserName = () => {\n const userStore = useUserStore()\n\n // Если авторизован - используем fullName\n if (userStore.info && userStore.info.clientId) {\n return userStore.info.fullName\n }\n\n return ''\n}\n\nlet STORY_MANAGER: StoryManager | null = null\nlet APPEARANCE_MANAGER: any = null\n\nexport const injectStoriesScript = () => {\n if (!window) {\n console.warn('Ошибка загрузки InAppStories скрипта. Window не найден')\n return\n }\n\n // Уже загружен - сбрасываем и загружаем по новой\n if (window.IASReady) {\n document.querySelector('#ias-wjs')?.remove()\n APPEARANCE_MANAGER = null\n STORY_MANAGER = null\n delete window.IASReady\n }\n\n window.IASReady = (function (d, s, id) {\n const fjs = d.getElementsByTagName(s)[0]\n const st = window.IASReady || {}\n\n if (d.getElementById(id)) return st\n const js = d.createElement(s) as HTMLScriptElement\n js.id = id\n js.src = SDK_URL\n js.async = true\n fjs.parentNode?.insertBefore(js, fjs)\n st._e = []\n st.ready = function (f: any) {\n st._e.push(f)\n }\n return st\n })(document, 'script', 'ias-wjs')\n\n return new Promise((resolve) => {\n window.IASReady.ready(async () => {\n // Добавляем API_KEY\n const { IN_APP_STORIES_API_KEY } = useRuntimeConfig().public\n storyManagerConfig.apiKey = IN_APP_STORIES_API_KEY as string\n\n // Добавляем UserId\n const userId = getUserId()\n storyManagerConfig.userId = userId\n\n // Добавляем плейсхолдеры\n const placeholders = getStoriesPlaceholders()\n if (placeholders) {\n storyManagerConfig.placeholders = placeholders\n }\n\n // Добавляем теги для определения сторисов для города\n const tags = await getStoriesTags()\n storyManagerConfig.tags = tags\n\n // StoryManager singleton instance\n STORY_MANAGER = new window.IAS.StoryManager(\n storyManagerConfig,\n ) as StoryManager\n\n // AppearanceManager instance\n APPEARANCE_MANAGER = new window.IAS.AppearanceManager()\n\n // Добавляем watch на логин пользователя\n setWatcherClientId(STORY_MANAGER)\n\n resolve({\n storyManager: STORY_MANAGER,\n appearanceManager: APPEARANCE_MANAGER,\n })\n })\n })\n}\n\n// Изменяет userId для сторисов, если пользователь залогинился/разлогинился\nconst setWatcherClientId = (storyManager: StoryManager) => {\n const userStore = useUserStore()\n\n watch(\n () => userStore.info,\n () => {\n const userId = getUserId()\n storyManager.setUserId(userId)\n },\n )\n}\n\n// Добавляет теги для определения сторисов для города\nconst getStoriesTags = async () => {\n const cityStore = useCityStore()\n const cityDomainPrefix = cityStore.cityInfo.domain_prefix\n const countryName = cityStore.cityInfo.country?.name\n\n // Добавляем текущий город в теги\n const tags = [cityDomainPrefix]\n\n // Получаем список тэгов-категорий\n const storyGroups = await fetchStoryGroups()\n\n // Проверяем, входит ли город в категори.\n for (const groupTag of Object.keys(storyGroups)) {\n const cityList = storyGroups[groupTag as keyof typeof storyGroups]\n\n // Если город входит в категорию в список тэгов\n if (cityList.includes(cityDomainPrefix)) {\n tags.push(groupTag)\n }\n }\n\n // Доабвляем категорию для городов России\n if (countryName === GROUP_RUSSIA.value) {\n tags.push(GROUP_RUSSIA.key)\n }\n\n const userStore = useUserStore()\n const isAuthenticated = userStore.isAuthenticated\n\n if (!isAuthenticated) return tags\n\n // Теги только для авторизованного пользователя\n tags.push(USER_STATUS_TAGS.isAuth)\n\n const countOrders = userStore.statistics?.ordersCount\n\n if (countOrders === 0) {\n tags.push(USER_STATUS_TAGS.empty)\n return tags\n }\n\n if (countOrders === 1) {\n tags.push(USER_STATUS_TAGS.oneOrder)\n return tags\n }\n\n if (countOrders && countOrders > 1) {\n tags.push(USER_STATUS_TAGS.old)\n return tags\n }\n\n return tags\n}\n\nconst fetchStoryGroups = () => {\n // TODO тут будет запрос API для получения групп\n return StoryGroups\n}\n\nconst getStoriesPlaceholders = () => {\n const userStore = useUserStore()\n const isAuthenticated = userStore.isAuthenticated\n\n if (!isAuthenticated) return null\n\n const placeholders: Dict = {}\n\n const userName = getUserName()\n if (userName) {\n placeholders[USER_PLACEHOLDERS.username] = userName\n }\n\n const bonusCount = String(userStore.statistics?.bonus || 0)\n const ordersCount = String(userStore.statistics?.ordersCount || 0)\n const usedBonusesCount = String(userStore.statistics?.debited || 0)\n\n placeholders[USER_PLACEHOLDERS.bonusCount] = bonusCount\n placeholders[USER_PLACEHOLDERS.ordersCount] = ordersCount\n placeholders[USER_PLACEHOLDERS.usedBonusesCount] = usedBonusesCount\n\n return Object.keys(placeholders).length ? placeholders : null\n}\n\nexport const getDesktopStoriesOptions = () => {\n return {\n navigation: {\n showControls: true,\n controlsColor: '#2c2f39',\n },\n card: {\n title: {\n display: true,\n position: 'cardInsideBottom',\n textAlign: 'left',\n lineClamp: 3,\n color: '#fff',\n font: 'normal 800 14px/1.2 \"Raleways\", \"Raleways fallback\", verdana, sans-serif',\n },\n gap: 8,\n height: 178,\n variant: 'quad',\n border: {\n gradient: '#FF5044',\n width: 2,\n gap: 2,\n radius: 30,\n },\n opened: {\n border: {\n gradient: '#9EA7B6',\n width: 2,\n gap: 2,\n radius: 30,\n },\n },\n },\n sidePadding: 25,\n bottomPadding: 0,\n topPadding: 0,\n extraCss: `\n .stories-list-controls .control-left,\n .stories-list-controls .control-right {\n background-color: #fff;\n border-radius: 50%;\n box-shadow: 0 4px 5px rgba(65, 58, 91, 0.15);\n width: 0 !important;\n height: 0 !important;\n opacity: 0;\n transition: all 0.1s ease;\n }\n\n .stories-list-controls .control-left {\n left: 0 !important;\n }\n\n .stories-list-controls .control-right {\n right: 0 !important;\n }\n\n .stories-list-controls .control-left.active,\n .stories-list-controls .control-right.active {\n width: 40px !important;\n height: 40px !important;\n opacity: 1;\n }\n `, // Выносим кнопки для перелистывания в бок\n }\n}\n\nexport const getMobileStoriesOptions = (isMobile: boolean) => {\n return {\n navigation: {\n showControls: false,\n },\n card: {\n title: {\n display: true,\n position: 'cardInsideBottom',\n textAlign: 'left',\n lineClamp: 3,\n color: '#fff',\n font: '600 12px/normal \"Raleways\", \"Raleways fallback\", verdana, sans-serif',\n },\n gap: 8,\n height: 98,\n variant: 'quad',\n border: {\n gradient: '#FF5044',\n width: 2,\n gap: 2,\n radius: 15,\n },\n opened: {\n border: {\n gradient: '#9EA7B6',\n width: 2,\n gap: 2,\n radius: 15,\n },\n },\n },\n sidePadding: 0,\n bottomPadding: 0,\n topPadding: 0,\n extraCss: `\n .stories-list__viewport-inner {\n padding-right: ${isMobile ? 20 : 48}px;\n }\n\n .stories-slide__content {\n padding: 5px !important;\n }\n `, // Выносим кнопки для перелистывания в бок\n }\n}\n","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VSkeletonLoader.css\";\n\n// Composables\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { computed, toRef } from 'vue';\nimport { genericComponent, propsFactory, useRender, wrapInArray } from \"../../util/index.mjs\"; // Types\nexport const rootTypes = {\n actions: 'button@2',\n article: 'heading, paragraph',\n avatar: 'avatar',\n button: 'button',\n card: 'image, heading',\n 'card-avatar': 'image, list-item-avatar',\n chip: 'chip',\n 'date-picker': 'list-item, heading, divider, date-picker-options, date-picker-days, actions',\n 'date-picker-options': 'text, avatar@2',\n 'date-picker-days': 'avatar@28',\n divider: 'divider',\n heading: 'heading',\n image: 'image',\n 'list-item': 'text',\n 'list-item-avatar': 'avatar, text',\n 'list-item-two-line': 'sentences',\n 'list-item-avatar-two-line': 'avatar, sentences',\n 'list-item-three-line': 'paragraph',\n 'list-item-avatar-three-line': 'avatar, paragraph',\n ossein: 'ossein',\n paragraph: 'text@3',\n sentences: 'text@2',\n subtitle: 'text',\n table: 'table-heading, table-thead, table-tbody, table-tfoot',\n 'table-heading': 'chip, text',\n 'table-thead': 'heading@6',\n 'table-tbody': 'table-row-divider@6',\n 'table-row-divider': 'table-row, divider',\n 'table-row': 'text@6',\n 'table-tfoot': 'text@2, avatar@2',\n text: 'text'\n};\nfunction genBone(type) {\n let children = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return _createVNode(\"div\", {\n \"class\": ['v-skeleton-loader__bone', `v-skeleton-loader__${type}`]\n }, [children]);\n}\nfunction genBones(bone) {\n // e.g. 'text@3'\n const [type, length] = bone.split('@');\n\n // Generate a length array based upon\n // value after @ in the bone string\n return Array.from({\n length\n }).map(() => genStructure(type));\n}\nfunction genStructure(type) {\n let children = [];\n if (!type) return children;\n\n // TODO: figure out a better way to type this\n const bone = rootTypes[type];\n\n // End of recursion, do nothing\n /* eslint-disable-next-line no-empty, brace-style */\n if (type === bone) {}\n // Array of values - e.g. 'heading, paragraph, text@2'\n else if (type.includes(',')) return mapBones(type);\n // Array of values - e.g. 'paragraph@4'\n else if (type.includes('@')) return genBones(type);\n // Array of values - e.g. 'card@2'\n else if (bone.includes(',')) children = mapBones(bone);\n // Array of values - e.g. 'list-item@2'\n else if (bone.includes('@')) children = genBones(bone);\n // Single value - e.g. 'card-heading'\n else if (bone) children.push(genStructure(bone));\n return [genBone(type, children)];\n}\nfunction mapBones(bones) {\n // Remove spaces and return array of structures\n return bones.replace(/\\s/g, '').split(',').map(genStructure);\n}\nexport const makeVSkeletonLoaderProps = propsFactory({\n boilerplate: Boolean,\n color: String,\n loading: Boolean,\n loadingText: {\n type: String,\n default: '$vuetify.loading'\n },\n type: {\n type: [String, Array],\n default: 'ossein'\n },\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeThemeProps()\n}, 'VSkeletonLoader');\nexport const VSkeletonLoader = genericComponent()({\n name: 'VSkeletonLoader',\n props: makeVSkeletonLoaderProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(toRef(props, 'color'));\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n themeClasses\n } = provideTheme(props);\n const {\n t\n } = useLocale();\n const items = computed(() => genStructure(wrapInArray(props.type).join(',')));\n useRender(() => {\n const isLoading = !slots.default || props.loading;\n return _createVNode(\"div\", {\n \"class\": ['v-skeleton-loader', {\n 'v-skeleton-loader--boilerplate': props.boilerplate\n }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value],\n \"style\": [backgroundColorStyles.value, isLoading ? dimensionStyles.value : {}],\n \"aria-busy\": !props.boilerplate ? isLoading : undefined,\n \"aria-live\": !props.boilerplate ? 'polite' : undefined,\n \"aria-label\": !props.boilerplate ? t(props.loadingText) : undefined,\n \"role\": !props.boilerplate ? 'alert' : undefined\n }, [isLoading ? items.value : slots.default?.()]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VSkeletonLoader.mjs.map","\n\n\n\n\n"],"names":["GROUP_1","GROUP_2","GROUP_3","GROUP_4_OLD","StoryGroups","GROUP_RUSSIA","USER_STATUS_TAGS","USER_PLACEHOLDERS","getInAppStoriesId","machineId","SDK_URL","storyManagerConfig","getUserId","userStore","useUserStore","getUserName","STORY_MANAGER","APPEARANCE_MANAGER","injectStoriesScript","_a","d","s","id","fjs","st","js","f","resolve","IN_APP_STORIES_API_KEY","useRuntimeConfig","userId","placeholders","getStoriesPlaceholders","tags","getStoriesTags","setWatcherClientId","storyManager","watch","cityStore","useCityStore","cityDomainPrefix","countryName","storyGroups","fetchStoryGroups","groupTag","countOrders","_b","userName","bonusCount","ordersCount","usedBonusesCount","_c","getDesktopStoriesOptions","getMobileStoriesOptions","isMobile","rootTypes","genBone","type","children","_createVNode","genBones","bone","length","genStructure","mapBones","bones","makeVSkeletonLoaderProps","propsFactory","makeDimensionProps","makeElevationProps","makeThemeProps","VSkeletonLoader","genericComponent","props","_ref","slots","backgroundColorClasses","backgroundColorStyles","useBackgroundColor","toRef","dimensionStyles","useDimension","elevationClasses","useElevation","themeClasses","provideTheme","t","useLocale","items","computed","wrapInArray","useRender","isLoading","SUBSTRING_INCLUDE_LINK","isMobileOrTablet","useDevice","COUNT_SKELETON_STORIES","__props","onMounted","setStories","isLoadedStories","ref","storiesManagers","appearanceManager","setAppearanceManager","testApiKey","loaderContainer","handleLinkClick","storiesOptions","payload","src","includeSrc","navigateTo"],"mappings":";;mrBAAO,MAAMA,GAAU,CACrB,UACA,YACA,OACA,gBACA,QACA,WACA,YACA,SACA,SACA,UACA,aACA,aACA,aACA,MACA,cACA,UACA,UACA,YACA,MACA,MACF,EAEaC,GAAU,CACrB,cACA,QACA,YACA,OACA,WACA,MACA,YACA,KACA,QACA,MACA,UACA,SACA,QACA,SACA,MACA,WACA,aACA,UACA,SACA,MACA,UACA,MACA,QACA,QACA,OACA,OACA,UACA,QACA,QACA,OACA,KACA,aACA,MACA,WACA,UACA,QACA,YACA,SACA,QACA,WACA,QACA,SACA,cACA,SACA,SACA,WACA,YACA,QACA,SACA,WACA,UACA,KACA,UACA,UACF,EAEaC,EAAU,CACrB,MACA,KACA,OACA,SACA,QACA,QACA,aACA,SACA,UACA,OACA,QACA,QACA,UACA,WACA,IACF,EAcaC,GAAc,CACzB,QACA,SACA,cACA,MACA,WACA,MACA,UACA,UACA,OACA,OACA,WACF,EAEaC,GAAc,CACzB,aAAcJ,GACd,aAAcC,GACd,aAAcC,EACd,iBAAkBA,EAClB,iBAAkBC,EACpB,EAEaE,EAAe,CAC1B,MAAO,SACP,IAAK,YACP,EAEaC,EAAmB,CAC9B,OAAQ,UACR,SAAU,UACV,IAAK,MACL,MAAO,SACT,EAEaC,EAAoB,CAC/B,SAAU,WACV,WAAY,cACZ,YAAa,eACb,iBAAkB,oBACpB,ECjJaC,GAAoB,IAAM,CACjC,IAAAC,EAAY,aAAa,QAAQ,gBAAgB,EAErD,OAAKA,IACHA,EAAY,OAAO,aACN,aAAA,QAAQ,iBAAkBA,CAAS,GAG3CA,CACT,ECWMC,GAAU,oDAEHC,EAAyC,CACpD,OAAQ,GACR,OAAQ,GACR,KAAM,CAAC,CACT,EAOMC,EAAY,IAAM,CACtB,MAAMC,EAAYC,IAGlB,OAAID,EAAU,MAAQA,EAAU,KAAK,SAC5BA,EAAU,KAAK,SAIjBL,GAAuB,GAAA,SAChC,EAEMO,GAAc,IAAM,CACxB,MAAMF,EAAYC,IAGlB,OAAID,EAAU,MAAQA,EAAU,KAAK,SAC5BA,EAAU,KAAK,SAGjB,EACT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","debug_id":"b8018c0a-0cf1-5159-a1cf-889973d2c4ab"}