diff --git a/src/app/auth/callback/page.tsx b/src/app/auth/callback/page.tsx index 54b603d..458492e 100644 --- a/src/app/auth/callback/page.tsx +++ b/src/app/auth/callback/page.tsx @@ -13,6 +13,7 @@ import { Loader2, AlertCircle, RefreshCcw } from "lucide-react" import { motion, AnimatePresence } from "framer-motion" import Link from "next/link" import { useI18n } from "@/shared/providers/locale-provider" +import type { AuthMeResponse } from "@/shared/types/api" function RedirectHandler() { const { t } = useI18n() @@ -46,7 +47,7 @@ function RedirectHandler() { hasCalledRef.current = true // 쿠키는 이미 Set-Cookie로 설정되어 있으므로, /auth/me로 사용자 식별 후 전체 정보 조회 - apiClient.get('/auth/me') + apiClient.get('/auth/me') .then(({ username }) => getUser(username)) .then((user) => { login(user) diff --git a/src/app/oauth2/redirect/page.tsx b/src/app/oauth2/redirect/page.tsx index 2128b14..c967aa3 100644 --- a/src/app/oauth2/redirect/page.tsx +++ b/src/app/oauth2/redirect/page.tsx @@ -13,6 +13,7 @@ import { Loader2, AlertCircle, RefreshCcw } from "lucide-react" import { motion, AnimatePresence } from "framer-motion" import Link from "next/link" import { useI18n } from "@/shared/providers/locale-provider" +import type { AuthMeResponse } from "@/shared/types/api" function RedirectHandler() { const { t } = useI18n() @@ -46,7 +47,7 @@ function RedirectHandler() { hasCalledRef.current = true // 쿠키는 이미 Set-Cookie로 설정되어 있으므로, /auth/me로 사용자 식별 후 전체 정보 조회 - apiClient.get('/auth/me') + apiClient.get('/auth/me') .then(({ username }) => getUser(username)) .then((user) => { login(user) diff --git a/src/app/ranking/page.tsx b/src/app/ranking/page.tsx index fe5087c..86382b4 100644 --- a/src/app/ranking/page.tsx +++ b/src/app/ranking/page.tsx @@ -4,7 +4,7 @@ import { useState, Suspense, useRef } from "react" import { useRouter, useSearchParams } from "next/navigation" import { LazyMotion, domAnimation, m } from "framer-motion" import { useRankingList } from "@/features/ranking/api/ranking-service" -import { Tier } from "@/shared/types/api" +import { Tier, TIER_VALUES } from "@/shared/types/api" import { getTierBadgeStyle, getTierDotColor } from "@/shared/constants/tier-styles" import { Avatar, AvatarFallback, AvatarImage } from "@/shared/components/avatar" import { Skeleton } from "@/shared/components/skeleton" @@ -15,10 +15,7 @@ import { ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight, Search, Crown, import { cn } from "@/shared/lib/utils" import { useI18n } from "@/shared/providers/locale-provider" -const TIERS: (Tier | 'ALL')[] = [ - 'ALL', 'CHALLENGER', 'MASTER', 'DIAMOND', 'EMERALD', - 'PLATINUM', 'GOLD', 'SILVER', 'BRONZE', 'IRON' -] +const TIER_FILTERS: ReadonlyArray = ['ALL', ...TIER_VALUES] // [Component] Toolbar function RankingToolbar({ @@ -32,7 +29,7 @@ function RankingToolbar({
- {TIERS.map((tier) => ( + {TIER_FILTERS.map((tier) => (