diff --git a/apps/admin/dist.zip b/apps/admin/dist.zip index 18a8a68..86e5781 100644 Binary files a/apps/admin/dist.zip and b/apps/admin/dist.zip differ diff --git a/apps/admin/src/sections/user/family/family-detail-sheet.tsx b/apps/admin/src/sections/user/family/family-detail-sheet.tsx index 24ade79..4c81ae8 100644 --- a/apps/admin/src/sections/user/family/family-detail-sheet.tsx +++ b/apps/admin/src/sections/user/family/family-detail-sheet.tsx @@ -261,6 +261,11 @@ export function FamilyDetailSheet({ ID: {member.user_id} + {member.auth_type ? ( + + {member.auth_type} + + ) : null} {member.device_no ? ( @@ -268,7 +273,16 @@ export function FamilyDetailSheet({ ) : null} - {member.identifier} + {member.device_type ? ( + + {member.device_type} + + ) : null} + + {member.auth_type === "device" + ? member.device_no || member.identifier + : member.identifier} + {getFamilyRoleLabel(t, member.role_name)} diff --git a/apps/admin/src/sections/user/family/index.tsx b/apps/admin/src/sections/user/family/index.tsx index 14198b0..796a487 100644 --- a/apps/admin/src/sections/user/family/index.tsx +++ b/apps/admin/src/sections/user/family/index.tsx @@ -54,8 +54,19 @@ export default function FamilyManagement({ { accessorKey: "owner_identifier", header: t("owner", "Owner"), - cell: ({ row }) => - `${row.original.owner_identifier} (ID: ${row.original.owner_user_id})`, + cell: ({ row }) => ( +
+ {row.original.owner_auth_type ? ( + + {row.original.owner_auth_type} + + ) : null} + {row.original.owner_identifier} + + (ID: {row.original.owner_user_id}) + +
+ ), }, { accessorKey: "status", diff --git a/apps/admin/src/sections/user/index.tsx b/apps/admin/src/sections/user/index.tsx index ebcc18a..72af829 100644 --- a/apps/admin/src/sections/user/index.tsx +++ b/apps/admin/src/sections/user/index.tsx @@ -163,42 +163,30 @@ export default function User() { - + {t("orderList", "Order List")} - + {t("loginLogs", "Login Logs")} - + {t("balanceLogs", "Balance Logs")} {t("commissionLogs", "Commission Logs")} - + {t("giftLogs", "Gift Logs")} diff --git a/apps/admin/src/sections/user/user-detail.tsx b/apps/admin/src/sections/user/user-detail.tsx index 320feaf..7f530ca 100644 --- a/apps/admin/src/sections/user/user-detail.tsx +++ b/apps/admin/src/sections/user/user-detail.tsx @@ -12,7 +12,6 @@ import { getUserDetail, getUserSubscribeById, } from "@workspace/ui/services/admin/user"; -import { shortenDeviceIdentifier } from "@workspace/ui/utils/device"; import { formatBytes } from "@workspace/ui/utils/formatting"; import { useTranslation } from "react-i18next"; import { Display } from "@/components/display"; @@ -230,21 +229,29 @@ export function UserDetail({ id }: { id: number }) { if (!id) return "--"; - const emailMethod = data?.auth_methods.find((m) => m.auth_type === "email"); const firstMethod = data?.auth_methods[0]; - const rawIdentifier = - emailMethod?.auth_identifier || firstMethod?.auth_identifier || ""; - const isDevice = !emailMethod && firstMethod?.auth_type === "device"; - const identifier = isDevice - ? shortenDeviceIdentifier(rawIdentifier) - : rawIdentifier; + const isDevice = firstMethod?.auth_type === "device"; + const deviceNo = (data as any)?.user_devices?.[0]?.device_no; + const rawIdentifier = firstMethod?.auth_identifier || ""; + const identifier = isDevice ? deviceNo || rawIdentifier : rawIdentifier; return ( diff --git a/apps/admin/src/sections/user/user-subscription/index.tsx b/apps/admin/src/sections/user/user-subscription/index.tsx index bff7818..3723f6a 100644 --- a/apps/admin/src/sections/user/user-subscription/index.tsx +++ b/apps/admin/src/sections/user/user-subscription/index.tsx @@ -1,4 +1,4 @@ -import { Link } from "@tanstack/react-router"; +import { Link, useNavigate } from "@tanstack/react-router"; import { Alert, AlertDescription } from "@workspace/ui/components/alert"; import { Badge } from "@workspace/ui/components/badge"; import { Button } from "@workspace/ui/components/button"; @@ -42,6 +42,7 @@ export default function UserSubscription({ userId }: { userId: number }) { const [loading, setLoading] = useState(false); const ref = useRef(null); const [sharedInfo, setSharedInfo] = useState(null); + const navigate = useNavigate(); const request = useCallback( async (pagination: { page: number; size: number }) => { @@ -116,19 +117,23 @@ export default function UserSubscription({ userId }: { userId: number }) { - diff --git a/packages/ui/src/services/admin/typings.d.ts b/packages/ui/src/services/admin/typings.d.ts index 5261a87..47cb58f 100644 --- a/packages/ui/src/services/admin/typings.d.ts +++ b/packages/ui/src/services/admin/typings.d.ts @@ -2607,7 +2607,9 @@ declare namespace API { type FamilyMemberItem = { user_id: number; identifier: string; + auth_type: string; device_no: string; + device_type: string; role: number; role_name: string; status: number; @@ -2621,6 +2623,7 @@ declare namespace API { family_id: number; owner_user_id: number; owner_identifier: string; + owner_auth_type: string; status: string; active_member_count: number; max_members: number;