{"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":""}