diff --git a/src/app/admin/users/page.tsx b/src/app/admin/users/page.tsx index 332703d..9dedaca 100644 --- a/src/app/admin/users/page.tsx +++ b/src/app/admin/users/page.tsx @@ -7,6 +7,7 @@ interface User { id: string; email: string; name: string; + phone?: string | null; familyId: string; familyName: string; createdAt: string; @@ -122,13 +123,17 @@ export default function AdminUsers() { const filteredUsers = users.filter((u) => u.email.toLowerCase().includes(search.toLowerCase()) || - (u.name || "").toLowerCase().includes(search.toLowerCase()) + (u.name || "").toLowerCase().includes(search.toLowerCase()) || + (u.phone || "").includes(search) ); const exportCSV = () => { - const headers = ["Email", "Name", "Family", "Created"]; - const rows = filteredUsers.map((u) => [u.email, u.name, u.familyName, u.createdAt]); - const csv = [headers, ...rows].map((row) => row.join(",")).join("\n"); + const headers = ["Email", "Name", "Phone", "Family", "Created"]; + const rows = filteredUsers.map((u) => [u.email, u.name, u.phone || "", u.familyName, u.createdAt]); + // Quote each cell so commas/empties don't shift columns + const csv = [headers, ...rows] + .map((row) => row.map((cell) => `"${String(cell ?? "").replace(/"/g, '""')}"`).join(",")) + .join("\n"); const blob = new Blob([csv], { type: "text/csv" }); const url = URL.createObjectURL(blob); const a = document.createElement("a"); @@ -206,7 +211,7 @@ export default function AdminUsers() { setSearch(e.target.value)} /> @@ -216,6 +221,7 @@ export default function AdminUsers() { User + Phone Family Password Joined @@ -229,6 +235,11 @@ export default function AdminUsers() { {user.name || user.email} {user.email} + + {user.phone + ? {user.phone} + : —} + {user.familyName || —}