import { getUserProfile, User } from "@/lib/userAuth"; import { notFound } from "next/navigation"; import { format } from "date-fns"; import { zhCN } from "date-fns/locale"; import { LogoutButton } from "./LogoutButton"; import { numeric } from "yup-numeric"; import { getTranslations } from "next-intl/server"; import HeaderServer from "@/components/shell/HeaderServer"; const uidSchema = numeric().integer().min(0); interface SignupTimeProps { user: User; } const SignupTime: React.FC = ({ user }: SignupTimeProps) => { return (

于  {format(new Date(user.createdAt), "yyyy-MM-dd HH:mm:ss", { locale: zhCN })}  注册。

); }; export default async function ProfilePage({ params }: { params: Promise<{ uid: string }> }) { const { uid } = await params; const t = await getTranslations("profile_page"); let parsedUID: number; try { uidSchema.validate(uid); parsedUID = parseInt(uid); } catch (error) { return notFound(); } const user = await getUserProfile(parsedUID); if (!user) { return notFound(); } const displayName = user.nickname || user.username; const loggedIn = user.isLoggedIn; return ( <>

{displayName} UID{user.uid}

权限组:{t(`role.${user.role}`)}

{loggedIn && }
); }