summaryrefslogtreecommitdiff
path: root/components/login/InvalidTokenPage.tsx
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-06-27 01:16:20 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-06-27 01:16:20 +0000
commite9897d416b3e7327bbd4d4aef887eee37751ae82 (patch)
treebd20ce6eadf9b21755bd7425492d2d31c7700a0e /components/login/InvalidTokenPage.tsx
parent3bf1952c1dad9d479bb8b22031b06a7434d37c37 (diff)
(대표님) 20250627 오전 10시 작업사항
Diffstat (limited to 'components/login/InvalidTokenPage.tsx')
-rw-r--r--components/login/InvalidTokenPage.tsx45
1 files changed, 45 insertions, 0 deletions
diff --git a/components/login/InvalidTokenPage.tsx b/components/login/InvalidTokenPage.tsx
new file mode 100644
index 00000000..da97a568
--- /dev/null
+++ b/components/login/InvalidTokenPage.tsx
@@ -0,0 +1,45 @@
+// app/[lng]/auth/reset-password/components/InvalidTokenPage.tsx
+
+import { Button } from '@/components/ui/button';
+import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
+import { XCircle } from 'lucide-react';
+import Link from 'next/link';
+
+interface Props {
+ expired: boolean;
+ error?: string;
+}
+
+export default function InvalidTokenPage({ expired, error }: Props) {
+ return (
+ <div className="min-h-screen flex items-center justify-center bg-gray-50 py-12 px-4 sm:px-6 lg:px-8">
+ <Card className="w-full max-w-md">
+ <CardHeader className="text-center">
+ <div className="mx-auto flex items-center justify-center w-12 h-12 rounded-full bg-red-100 mb-4">
+ <XCircle className="w-6 h-6 text-red-600" />
+ </div>
+ <CardTitle className="text-2xl">링크 오류</CardTitle>
+ <CardDescription>
+ {expired
+ ? '재설정 링크가 만료되었습니다. 새로운 재설정 요청을 해주세요.'
+ : error || '유효하지 않은 재설정 링크입니다.'}
+ </CardDescription>
+ </CardHeader>
+ <CardContent>
+ <div className="space-y-4">
+ <Link href="/auth/forgot-password">
+ <Button className="w-full">
+ 새로운 재설정 링크 요청
+ </Button>
+ </Link>
+ <Link href="/auth/login">
+ <Button variant="outline" className="w-full">
+ 로그인 페이지로 돌아가기
+ </Button>
+ </Link>
+ </div>
+ </CardContent>
+ </Card>
+ </div>
+ );
+} \ No newline at end of file