{"version":3,"file":"static/chunks/19561.be2eefca438151a8.js","mappings":"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","sources":["webpack://_N_E/./src/api/rank-status/queries/useRankStatusByUser/service.ts","webpack://_N_E/./src/api/rank-status/queries/useRankStatusByUser/index.ts","webpack://_N_E/./src/api/rank-status/index.ts","webpack://_N_E/./src/components/Home/V3/MainBanner/Renderer/V1/index.tsx","webpack://_N_E/./src/components/RankProgress/index.tsx","webpack://_N_E/./src/constants/authOptions.ts","webpack://_N_E/./src/components/Home/V3/MainBanner/Renderer/V1/styles.module.scss"],"sourcesContent":["import baseAPI from '@/api';\nimport { RankStatus } from '@/models/rank/status';\n\nexport async function getRankStatusByUser() {\n const response = await baseAPI.get<RankStatus>('/rank-status/me');\n\n return response.data;\n}\n","import { GenericError } from '@/models/generic-error';\nimport { RankStatus } from '@/models/rank/status';\nimport { AuthService } from '@/services/AuthService';\nimport { useQuery } from '@tanstack/react-query';\nimport { AxiosError } from 'axios';\nimport { RankQueryQueys } from '../../queryKeys';\nimport { UseRankStatusByUserProps } from './props';\nimport { getRankStatusByUser } from './service';\n\nexport function useRankStatusByUser(options?: UseRankStatusByUserProps) {\n const { enabled = true, refetchOnMount = true } = options || {};\n const { data, error, refetch, isPending, fetchStatus, isFetching } = useQuery<\n RankStatus,\n AxiosError<GenericError>\n >({\n queryKey: [RankQueryQueys.ByUser],\n queryFn: getRankStatusByUser,\n enabled: enabled && AuthService.isAuthorized(),\n staleTime: 5 * 60 * 1000,\n refetchOnMount,\n });\n\n return {\n rankStatus: data,\n error,\n refetch,\n isLoading: isPending && fetchStatus !== 'idle',\n isFetching,\n };\n}\n","export { useRankStatusByUser } from './queries/useRankStatusByUser';\n","import { useUserAccount } from '@/api/user/queries';\nimport { ErrorChip } from '@starsoft/common/components';\nimport useTranslation from 'next-translate/useTranslation';\nimport styles from './styles.module.scss';\n\nimport { useRankStatusByUser } from '@/api/rank-status';\nimport Link from '@/components/core/Link';\nimport RankProgress from '@/components/RankProgress';\nimport { authOptions } from '@/constants/authOptions';\nimport { ModalsKey } from '@/enums/modalsKey';\nimport { RankStatus } from '@/models/rank/status';\nimport { Button, IconButton, Image } from '@starsoft/common/components';\nimport { useRouter } from 'next/router';\n\nexport default function MainBannerContentRendererV1() {\n const { push } = useRouter();\n const { user, error, refetch, isAuthorized } = useUserAccount();\n const { isLoading, rankStatus, isFetching } = useRankStatusByUser({\n enabled: isAuthorized,\n refetchOnMount: 'always',\n });\n const { t } = useTranslation('common');\n\n function handleRoute(path: string) {\n push(path);\n }\n\n if (error) {\n <ErrorChip action={refetch} />;\n }\n\n if (!!user) {\n return (\n <div className={styles.container__rank__progress__container}>\n <RankProgress\n loading={isLoading || isFetching}\n rankStatus={rankStatus as RankStatus}\n />\n </div>\n );\n }\n\n return (\n <div className={styles.container__button__row}>\n <Link modal={ModalsKey.Register}>\n <Button isSmall>{t('register_button')}</Button>\n </Link>\n <div className={styles.container__row}>\n {authOptions.map(media => (\n <IconButton\n key={`media_button_${media.name}`}\n onClick={() => handleRoute(media.url)}\n >\n {(media.image && (\n <Image\n width={20}\n height={20}\n src={media.image}\n alt={`icon-image-media-${media.name}`}\n />\n )) || <i className={`fa-brands fa-${media.name}`} />}\n </IconButton>\n ))}\n </div>\n </div>\n );\n}\n","import dynamic from 'next/dynamic';\nimport { SettingLayoutComponentId } from '@starsoft/common/models';\nimport { RankProgressProps } from './props';\nimport useHomeHeroComponent from '@/hooks/theme/variants/useHomeHeroVariant';\n\nconst RankProgressV1 = dynamic(() => import('./V1'), {\n ssr: true,\n});\nconst RankProgressV2 = dynamic(() => import('./V2'), {\n ssr: true,\n});\n\nexport default function RankProgress(props: RankProgressProps): JSX.Element {\n const version: string = useHomeHeroComponent();\n\n switch (version?.toString()) {\n case SettingLayoutComponentId.HomeHeroV1.toString():\n return <RankProgressV1 {...props} />;\n case SettingLayoutComponentId.HomeHeroV2.toString():\n return <RankProgressV2 {...props} />;\n default:\n return <RankProgressV1 {...props} />;\n }\n}\n","import { Auth } from './auth';\n\nexport const authOptions: Auth[] = [\n {\n name: 'google',\n url: process.env.NEXT_PUBLIC_GOOGLE_OAUTH_URL as string,\n image: `${process.env.NEXT_PUBLIC_S3_BUCKET_BASE_URL}/artworks/google-icon.svg`,\n },\n {\n name: 'discord',\n url: process.env.NEXT_PUBLIC_DISCORD_OAUTH_URL as string,\n image: `${process.env.NEXT_PUBLIC_S3_BUCKET_BASE_URL}/artworks/discord-icon.svg`,\n },\n];\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container__button__row\":\"styles_container__button__row__wsez1\",\"container__row\":\"styles_container__row__e4sLh\",\"skeleton-animation\":\"styles_skeleton-animation__WJceD\"};"],"names":["getRankStatusByUser","response","baseAPI","get","data","useRankStatusByUser","options","enabled","refetchOnMount","error","refetch","isPending","fetchStatus","isFetching","useQuery","queryKey","RankQueryQueys","ByUser","queryFn","AuthService","isAuthorized","staleTime","rankStatus","isLoading","MainBannerContentRendererV1","push","useRouter","user","useUserAccount","t","useTranslation","ErrorChip","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","div","className","styles","RankProgress","loading","jsxs","Link","modal","ModalsKey","Register","Button","isSmall","authOptions","map","media","IconButton","onClick","url","image","Image","width","height","src","alt","concat","name","i","RankProgressV1","dynamic","Promise","all","__webpack_require__","e","then","bind","ssr","RankProgressV2","props","version","useHomeHeroComponent","toString","SettingLayoutComponentId","HomeHeroV1","HomeHeroV2","process","module","exports"],"sourceRoot":""}