diff --git a/src/app/admin/(dashboard)/_assets/coming-soon.svg b/src/app/admin/(dashboard)/_assets/coming-soon.svg new file mode 100644 index 0000000..12314d4 --- /dev/null +++ b/src/app/admin/(dashboard)/_assets/coming-soon.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/app/admin/(dashboard)/page.tsx b/src/app/admin/(dashboard)/page.tsx index 80200b0..b212b59 100644 --- a/src/app/admin/(dashboard)/page.tsx +++ b/src/app/admin/(dashboard)/page.tsx @@ -2,14 +2,24 @@ import Page from '@/components/page' import Image from 'next/image' import banner from './_assets/banner.webp' import {Card, CardContent, CardHeader, CardTitle} from '@/components/ui/card' -import {Button} from '@/components/ui/button' import {Tabs, TabsContent, TabsList, TabsTrigger} from '@/components/ui/tabs' +import soon from './_assets/coming-soon.svg' +import {getProfile} from '@/actions/auth' +import {format} from 'date-fns' +import {CheckCircleIcon, CircleAlertIcon, LinkIcon} from 'lucide-react' +import {Button} from '@/components/ui/button' +import RechargeModal from '@/components/composites/recharge' +import {merge} from '@/lib/utils' export type DashboardPageProps = {} export default async function DashboardPage(props: DashboardPageProps) { return ( - + {/* banner */}
{`banner @@ -24,22 +34,21 @@ export default async function DashboardPage(props: DashboardPageProps) { 短效动态套餐 - -
-

包时

-

- 套餐数量 - todo + +

+

包时

+

+ 当日可提取数量 + todo

-
-
-

包量

-

- 套餐数量 - todo +

+
+

包量

+

+ 剩余可提取数量 + todo

-
@@ -49,17 +58,20 @@ export default async function DashboardPage(props: DashboardPageProps) { 长效动态套餐 - - todo + + {`coming +

敬请期待

+ {/* 固定 */} 固定IP套餐 - - todo + + {`coming +

敬请期待

@@ -80,18 +92,89 @@ export default async function DashboardPage(props: DashboardPageProps) {
{/* 信息 */} - - - 个人中心 - - + {/* 通知 */} - 待办事项 + 通知 + + todo +
) } + +async function UserCenter() { + + const resp = await getProfile() + if (!resp.success) { + return ( +
+ 获取用户数据失败 +
+ ) + } + + const profile = resp.data + return ( + + +
+

{profile.phone}

+

{`最后登录:${format(profile.last_login, 'yyyy-MM-dd HH:mm')}`}

+
+
+ {profile.id_token + ? <> +
+ + 已实名 +
+
+ {profile.name} + {profile.id_no} +
+ + : <> + + + 未实名 + + + + } +
+
+

账户余额

+
+

¥{profile.balance}

+ +
+
+
+

快捷入口

+
+ + + +
+
+
+
+ ) +} diff --git a/src/app/globals.css b/src/app/globals.css index 8794b1c..cca9171 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -21,12 +21,15 @@ --done: oklch(0.65 0.16 145); --done-text: oklch(1 0 0); + --done-muted: oklch(0.965 0.024 145); --warn: oklch(0.72 0.16 55); --warn-text: oklch(1 0 0); + --warn-muted: oklch(0.965 0.024 55); --fail: oklch(0.65 0.16 25); --fail-text: oklch(1 0 0); + --fail-muted: oklch(0.965 0.024 25); --card: oklch(1 0 0); --card-text: oklch(0.25 0 0); @@ -71,12 +74,15 @@ --color-done: var(--done); --color-done-foreground: var(--done-text); + --color-done-muted: var(--done-muted); --color-warn: var(--warn); --color-warn-foreground: var(--warn-text); + --color-warn-muted: var(--warn-muted); --color-fail: var(--fail); --color-fail-foreground: var(--fail-text); + --color-fail-muted: var(--fail-muted); --color-card: var(--card); --color-card-foreground: var(--card-text);