diff --git a/src/api/admin-auth.ts b/src/api/admin-auth.ts index 3df8488..de1e8e2 100644 --- a/src/api/admin-auth.ts +++ b/src/api/admin-auth.ts @@ -42,11 +42,3 @@ export async function postAdminLogin( export async function getAdminMe(): Promise { return adminRequest.get(`${API_V1_PREFIX}/admin/auth/me`); } - -/** `PUT /api/v1/admin/auth/me`(更新自身账号信息,需 Token) */ -export async function putAdminMe(body: { - nickname?: string; - password?: string; -}): Promise { - return adminRequest.put(`${API_V1_PREFIX}/admin/auth/me`, body); -} diff --git a/src/modules/account/account-settings-console.tsx b/src/modules/account/account-settings-console.tsx index be8ab9c..c621d63 100644 --- a/src/modules/account/account-settings-console.tsx +++ b/src/modules/account/account-settings-console.tsx @@ -5,7 +5,7 @@ import { useTranslation } from "react-i18next"; import { toast } from "sonner"; import { Loader2 } from "lucide-react"; -import { putAdminMe } from "@/api/admin-auth"; +import { putAdminUser } from "@/api/admin-users"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; @@ -35,9 +35,13 @@ export function AccountSettingsConsole() { toast.error(t("validation.required", { field: t("fields.nickname") })); return; } + if (!adminProfile) { + toast.error(t("actions.updateFailed")); + return; + } setLoading(true); try { - await putAdminMe({ nickname: nickname.trim() }); + await putAdminUser(adminProfile.id, { nickname: nickname.trim() }); toast.success(t("actions.updateSuccess")); void refreshAdminProfile(); } catch (err) { @@ -56,9 +60,13 @@ export function AccountSettingsConsole() { toast.error(t("validation.passwordMismatch")); return; } + if (!adminProfile) { + toast.error(t("actions.updateFailed")); + return; + } setLoading(true); try { - await putAdminMe({ password }); + await putAdminUser(adminProfile.id, { password }); toast.success(t("actions.updateSuccess")); setPassword(""); setConfirmPassword(""); diff --git a/src/modules/dashboard/dashboard-analytics-panel.tsx b/src/modules/dashboard/dashboard-analytics-panel.tsx index 4b5c6ad..05321a0 100644 --- a/src/modules/dashboard/dashboard-analytics-panel.tsx +++ b/src/modules/dashboard/dashboard-analytics-panel.tsx @@ -1,7 +1,7 @@ "use client"; import Link from "next/link"; -import { useCallback, useEffect, useMemo, useState, type ReactElement } from "react"; +import { useCallback, useEffect, useMemo, useState, type ReactElement, type ReactNode } from "react"; import { format, subDays } from "date-fns"; import { useTranslation } from "react-i18next"; import { BarChart3, Gift, TrendingUp, Wallet } from "lucide-react"; @@ -77,7 +77,7 @@ export function DashboardAnalyticsPanel({ }: { enabled: boolean; playOptions: { code: string; label: string }[]; -}): ReactElement { +}): ReactNode { const { t } = useTranslation(["dashboard", "common"]); const playLabel = useAdminPlayCodeLabel(); @@ -240,7 +240,7 @@ export function DashboardAnalyticsPanel({