"use client"; import { useQuery } from "@tanstack/react-query"; import { useTranslation } from "@turbostarter/i18n"; import { cn } from "@turbostarter/ui"; import { Avatar, AvatarFallback, AvatarImage, } from "@turbostarter/ui-web/avatar"; import { Badge } from "@turbostarter/ui-web/badge"; import { Icons } from "@turbostarter/ui-web/icons"; import { authClient } from "~/lib/auth/client"; import { admin } from "~/modules/admin/lib/api"; import { DashboardHeader, DashboardHeaderTitle, DashboardHeaderDescription, } from "~/modules/common/layout/dashboard/header"; import { Ban } from "./actions/ban"; import { Delete } from "./actions/delete"; import { Impersonate } from "./actions/impersonate"; interface UserHeaderProps { readonly id: string; } export const UserHeader = ({ id }: UserHeaderProps) => { const { t } = useTranslation("common"); const session = authClient.useSession(); const { data: user } = useQuery(admin.queries.users.get({ id })); return (
{user?.name} {user?.isAnonymous && ( {t("anonymous")} )} {user?.id === session.data?.user.id && ( {t("you")} )}
{user?.email} {user?.emailVerified ? t("verified") : t("unverified")}
); };