0.0.0.4
This commit is contained in:
+1657
-108
File diff suppressed because it is too large
Load Diff
@@ -4,8 +4,8 @@
|
||||
"dynamicRoutes": {},
|
||||
"notFoundRoutes": [],
|
||||
"preview": {
|
||||
"previewModeId": "5f7000d60965ef47cc77d49c0fa538f8",
|
||||
"previewModeSigningKey": "e86f602b0ffab111960d32ada420189fd7dd9c54d79f734f6be73a7669aeb95b",
|
||||
"previewModeEncryptionKey": "103e0c0aae488cdeb74a969e7524e77b5658e3a9c0ef2e25d870ab2d71b5c59f"
|
||||
"previewModeId": "66b77a62a14788397f15048aeae4a87f",
|
||||
"previewModeSigningKey": "0b865d49ac3b88a68dd62f1a3835348d03e0bafae420923c0c6724ac01212f61",
|
||||
"previewModeEncryptionKey": "2f37d9874b76647cba57e15bcb52862bb75824b7c11ad410bfbb157b131b8589"
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,10 +1,10 @@
|
||||
var R=require("../chunks/ssr/[turbopack]_runtime.js")("server/app/page.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__65ca0f36._.js")
|
||||
R.c("server/chunks/ssr/a0629__pnpm_6628f521._.js")
|
||||
R.c("server/chunks/ssr/4e98a_next_dist_8f7363a3._.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__c3bdb703._.js")
|
||||
R.c("server/chunks/ssr/4e98a_next_dist_0643e073._.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__7f148858._.js")
|
||||
R.c("server/chunks/ssr/4e98a_next_dist_client_components_builtin_global-error_196f2367.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__8ef2ad96._.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__64deeb28._.js")
|
||||
R.c("server/chunks/ssr/Documents_go-new_chinese-family-tree_app_loading_tsx_b1f283e0._.js")
|
||||
R.c("server/chunks/ssr/4e98a_next_dist_client_components_1ee43648._.js")
|
||||
R.c("server/chunks/ssr/4e98a_next_dist_client_components_builtin_forbidden_243a9611.js")
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1,9 @@
|
||||
{}
|
||||
{
|
||||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/echarts-for-react@3.0.5_echarts@6.0.0_react@19.2.0/node_modules/echarts-for-react/esm/index.js [app-client] (ecmascript, next/dynamic entry)": {
|
||||
"id": "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/echarts-for-react@3.0.5_echarts@6.0.0_react@19.2.0/node_modules/echarts-for-react/esm/index.js [app-client] (ecmascript, next/dynamic entry)",
|
||||
"files": [
|
||||
"static/chunks/a0629__pnpm_38e9b27f._.js",
|
||||
"static/chunks/6bb63_echarts-for-react_esm_index_f0245f4a.js"
|
||||
]
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -4,7 +4,7 @@ R.c("server/chunks/ssr/[root-of-the-server]__4a0f77db._.js")
|
||||
R.c("server/chunks/ssr/4e98a_next_dist_0643e073._.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__7f148858._.js")
|
||||
R.c("server/chunks/ssr/4e98a_next_dist_client_components_builtin_global-error_196f2367.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__8ef2ad96._.js")
|
||||
R.c("server/chunks/ssr/[root-of-the-server]__64deeb28._.js")
|
||||
R.c("server/chunks/ssr/Documents_go-new_chinese-family-tree_app_loading_tsx_b1f283e0._.js")
|
||||
R.c("server/chunks/ssr/4e98a_next_dist_client_components_1ee43648._.js")
|
||||
R.c("server/chunks/ssr/4e98a_next_dist_client_components_builtin_forbidden_243a9611.js")
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -397,9 +397,51 @@ var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$ch
|
||||
"use client";
|
||||
;
|
||||
;
|
||||
// 格式化日期显示(只显示年份)
|
||||
function formatYear(dateString) {
|
||||
if (!dateString) return '';
|
||||
const year = dateString.split('-')[0];
|
||||
return year;
|
||||
}
|
||||
function FamilyNode({ member, spouse, isRoot, onSelect }) {
|
||||
const [avatarBlobUrl, setAvatarBlobUrl] = useState(undefined);
|
||||
const [isLoading, setIsLoading] = useState(false);
|
||||
const birthYear = formatYear(member.birthDate);
|
||||
const deathYear = formatYear(member.deathDate);
|
||||
// 生卒年月显示文本
|
||||
const lifeSpan = birthYear ? deathYear ? `${birthYear}-${deathYear}` : `${birthYear}-` : '';
|
||||
// 加载上传的头像(如果存在)
|
||||
useEffect(()=>{
|
||||
let isMounted = true;
|
||||
let objectUrl;
|
||||
if (member?.avatarImageId) {
|
||||
setIsLoading(true);
|
||||
db.images.get(member.avatarImageId).then((image)=>{
|
||||
if (image && isMounted) {
|
||||
objectUrl = URL.createObjectURL(image.blob);
|
||||
setAvatarBlobUrl(objectUrl);
|
||||
setIsLoading(false);
|
||||
}
|
||||
}).catch(()=>{
|
||||
if (isMounted) {
|
||||
setIsLoading(false);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
setAvatarBlobUrl(undefined);
|
||||
setIsLoading(false);
|
||||
}
|
||||
return ()=>{
|
||||
isMounted = false;
|
||||
if (objectUrl) {
|
||||
URL.revokeObjectURL(objectUrl);
|
||||
}
|
||||
};
|
||||
}, [
|
||||
member?.avatarImageId
|
||||
]);
|
||||
return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$utils$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["cn"])("relative flex flex-col items-center gap-2 p-3 rounded-lg border-2 transition-all cursor-pointer hover:scale-105 shadow-sm w-32", isRoot ? "border-primary bg-primary/5" : "border-border bg-card", member.gender === "female" ? "rounded-full w-28 h-28 justify-center" : "rounded-lg"),
|
||||
className: (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$utils$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["cn"])("relative flex flex-col items-center gap-2 p-3 rounded-lg border-2 transition-all cursor-pointer hover:scale-105 shadow-sm w-32", isRoot ? "border-primary bg-primary/5" : "border-border bg-card"),
|
||||
onClick: ()=>onSelect?.(member),
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -410,41 +452,45 @@ function FamilyNode({ member, spouse, isRoot, onSelect }) {
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/family-node.tsx",
|
||||
lineNumber: 23,
|
||||
lineNumber: 74,
|
||||
columnNumber: 7
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "h-10 w-10 rounded-full bg-muted flex items-center justify-center text-muted-foreground overflow-hidden border border-border/50",
|
||||
children: member.avatarUrl ? /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("img", {
|
||||
src: member.avatarUrl || "/placeholder.svg",
|
||||
className: "h-12 w-12 rounded-full bg-muted flex items-center justify-center text-muted-foreground overflow-hidden border border-border/50",
|
||||
children: avatarBlobUrl ? /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("img", {
|
||||
src: avatarBlobUrl,
|
||||
alt: member.fullName,
|
||||
className: "h-full w-full object-cover"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/family-node.tsx",
|
||||
lineNumber: 29,
|
||||
lineNumber: 80,
|
||||
columnNumber: 11
|
||||
}, this) : /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
||||
className: "font-serif font-bold text-lg text-foreground/70",
|
||||
children: member.surname
|
||||
children: member.givenName
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/family-node.tsx",
|
||||
lineNumber: 35,
|
||||
lineNumber: 86,
|
||||
columnNumber: 11
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/family-node.tsx",
|
||||
lineNumber: 27,
|
||||
lineNumber: 78,
|
||||
columnNumber: 7
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "text-center",
|
||||
className: "text-center w-full",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "font-serif font-bold text-foreground leading-tight",
|
||||
children: member.givenName
|
||||
}, void 0, false, {
|
||||
children: [
|
||||
member.surname,
|
||||
" ",
|
||||
member.givenName
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/family-node.tsx",
|
||||
lineNumber: 40,
|
||||
lineNumber: 91,
|
||||
columnNumber: 9
|
||||
}, this),
|
||||
member.courtesyName && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -455,26 +501,34 @@ function FamilyNode({ member, spouse, isRoot, onSelect }) {
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/family-node.tsx",
|
||||
lineNumber: 42,
|
||||
lineNumber: 93,
|
||||
columnNumber: 11
|
||||
}, this),
|
||||
lifeSpan && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "text-[9px] text-muted-foreground/70 mt-1 font-mono",
|
||||
children: lifeSpan
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/family-node.tsx",
|
||||
lineNumber: 96,
|
||||
columnNumber: 11
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/family-node.tsx",
|
||||
lineNumber: 39,
|
||||
lineNumber: 90,
|
||||
columnNumber: 7
|
||||
}, this),
|
||||
member.lifeStatus === "deceased" && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
member.deathDate && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "absolute -top-1 -right-1 h-2 w-2 rounded-full bg-neutral-400 ring-2 ring-background"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/family-node.tsx",
|
||||
lineNumber: 47,
|
||||
lineNumber: 103,
|
||||
columnNumber: 9
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/family-node.tsx",
|
||||
lineNumber: 15,
|
||||
lineNumber: 67,
|
||||
columnNumber: 5
|
||||
}, this);
|
||||
}
|
||||
@@ -489,16 +543,118 @@ __turbopack_context__.s([
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js [app-ssr] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$tree$2f$family$2d$node$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/components/tree/family-node.tsx [app-ssr] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$context$2f$family$2d$context$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx [app-ssr] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (ecmascript)");
|
||||
"use client";
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
function TreeLayout({ rootId, onSelectMember }) {
|
||||
const { getMember } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$context$2f$family$2d$context$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useFamily"])();
|
||||
const { getMember, treeData } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$context$2f$family$2d$context$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useFamily"])();
|
||||
const root = getMember(rootId);
|
||||
const containerRef = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useRef"])(null);
|
||||
const [connections, setConnections] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])([]);
|
||||
const nodeRefs = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useRef"])(new Map());
|
||||
// 节点间距配置
|
||||
const HORIZONTAL_GAP = 32 // 2rem = 32px
|
||||
;
|
||||
const VERTICAL_GAP = 48 // 3rem = 48px
|
||||
;
|
||||
const CONNECTOR_HEIGHT = 48 // 连接线垂直高度
|
||||
;
|
||||
// 计算所有连线位置
|
||||
const calculateConnections = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useCallback"])(()=>{
|
||||
const newConnections = [];
|
||||
const containerRect = containerRef.current?.getBoundingClientRect();
|
||||
if (!containerRect) return;
|
||||
// 检查是否有足够的节点已注册
|
||||
if (nodeRefs.current.size === 0) return;
|
||||
nodeRefs.current.forEach((nodeElement, nodeId)=>{
|
||||
const member = getMember(nodeId);
|
||||
if (!member || !member.childrenIds || member.childrenIds.length === 0) return;
|
||||
const parentRect = nodeElement.getBoundingClientRect();
|
||||
const parentCenterX = parentRect.left + parentRect.width / 2 - containerRect.left;
|
||||
const parentBottomY = parentRect.bottom - containerRect.top;
|
||||
// 父节点到水平线的垂直连线
|
||||
const verticalLineY = parentBottomY + CONNECTOR_HEIGHT / 2;
|
||||
newConnections.push({
|
||||
from: {
|
||||
x: parentCenterX,
|
||||
y: parentBottomY
|
||||
},
|
||||
to: {
|
||||
x: parentCenterX,
|
||||
y: verticalLineY
|
||||
},
|
||||
type: 'vertical'
|
||||
});
|
||||
// 获取所有子节点的位置
|
||||
const childPositions = member.childrenIds.map((childId)=>{
|
||||
const childElement = nodeRefs.current.get(childId);
|
||||
if (!childElement) return null;
|
||||
const childRect = childElement.getBoundingClientRect();
|
||||
return {
|
||||
id: childId,
|
||||
centerX: childRect.left + childRect.width / 2 - containerRect.left,
|
||||
topY: childRect.top - containerRect.top
|
||||
};
|
||||
}).filter(Boolean);
|
||||
if (childPositions.length === 0) return;
|
||||
// 如果有多个子节点,绘制水平连线
|
||||
if (childPositions.length > 1) {
|
||||
const leftmostX = Math.min(...childPositions.map((p)=>p.centerX));
|
||||
const rightmostX = Math.max(...childPositions.map((p)=>p.centerX));
|
||||
newConnections.push({
|
||||
from: {
|
||||
x: leftmostX,
|
||||
y: verticalLineY
|
||||
},
|
||||
to: {
|
||||
x: rightmostX,
|
||||
y: verticalLineY
|
||||
},
|
||||
type: 'horizontal'
|
||||
});
|
||||
}
|
||||
// 每个子节点的垂直连线
|
||||
childPositions.forEach((child)=>{
|
||||
newConnections.push({
|
||||
from: {
|
||||
x: child.centerX,
|
||||
y: verticalLineY
|
||||
},
|
||||
to: {
|
||||
x: child.centerX,
|
||||
y: child.topY
|
||||
},
|
||||
type: 'vertical'
|
||||
});
|
||||
});
|
||||
});
|
||||
setConnections(newConnections);
|
||||
}, [
|
||||
getMember
|
||||
]);
|
||||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useEffect"])(()=>{
|
||||
// 多次尝试计算,确保 DOM 完全渲染
|
||||
const timers = [];
|
||||
timers.push(setTimeout(calculateConnections, 50));
|
||||
timers.push(setTimeout(calculateConnections, 150));
|
||||
timers.push(setTimeout(calculateConnections, 300));
|
||||
timers.push(setTimeout(calculateConnections, 500));
|
||||
// 监听窗口大小变化
|
||||
window.addEventListener('resize', calculateConnections);
|
||||
return ()=>{
|
||||
timers.forEach((timer)=>clearTimeout(timer));
|
||||
window.removeEventListener('resize', calculateConnections);
|
||||
};
|
||||
}, [
|
||||
calculateConnections,
|
||||
treeData
|
||||
]);
|
||||
if (!root) return null;
|
||||
// Recursive component to render the tree
|
||||
const TreeNode = ({ memberId })=>{
|
||||
// 递归渲染树节点
|
||||
const TreeNode = ({ memberId, isRoot = false })=>{
|
||||
const member = getMember(memberId);
|
||||
if (!member) return null;
|
||||
const hasChildren = member.childrenIds && member.childrenIds.length > 0;
|
||||
@@ -506,128 +662,121 @@ function TreeLayout({ rootId, onSelectMember }) {
|
||||
className: "flex flex-col items-center",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
ref: (el)=>{
|
||||
if (el) {
|
||||
nodeRefs.current.set(memberId, el);
|
||||
} else {
|
||||
nodeRefs.current.delete(memberId);
|
||||
}
|
||||
},
|
||||
className: "relative z-10",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$tree$2f$family$2d$node$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["FamilyNode"], {
|
||||
member: member,
|
||||
onSelect: onSelectMember
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 27,
|
||||
columnNumber: 11
|
||||
}, this),
|
||||
hasChildren && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "absolute top-full left-1/2 -translate-x-1/2 h-8 w-px bg-border"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 30,
|
||||
columnNumber: 27
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$tree$2f$family$2d$node$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["FamilyNode"], {
|
||||
member: member,
|
||||
onSelect: onSelectMember,
|
||||
isRoot: isRoot
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 135,
|
||||
columnNumber: 11
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 26,
|
||||
lineNumber: 125,
|
||||
columnNumber: 9
|
||||
}, this),
|
||||
hasChildren && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "flex items-start pt-8 relative",
|
||||
children: [
|
||||
member.childrenIds.length > 1 && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "absolute top-0 left-[50%] -translate-x-1/2 h-px bg-border w-[calc(100%-8rem)]"
|
||||
}, void 0, false, {
|
||||
className: "flex items-start relative",
|
||||
style: {
|
||||
marginTop: `${VERTICAL_GAP}px`,
|
||||
gap: `${HORIZONTAL_GAP}px`
|
||||
},
|
||||
children: member.childrenIds.map((childId)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(TreeNode, {
|
||||
memberId: childId
|
||||
}, childId, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 37,
|
||||
lineNumber: 148,
|
||||
columnNumber: 15
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "flex gap-8 relative",
|
||||
children: [
|
||||
member.childrenIds.length > 1 && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "absolute top-0 left-0 right-0 h-px bg-transparent"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 43,
|
||||
columnNumber: 17
|
||||
}, this),
|
||||
member.childrenIds.map((childId, index)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "flex flex-col items-center relative",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "h-8 w-px bg-border absolute -top-8 left-1/2 -translate-x-1/2"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 51,
|
||||
columnNumber: 19
|
||||
}, this),
|
||||
member.childrenIds.length > 1 && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Fragment"], {
|
||||
children: [
|
||||
index === 0 && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "absolute -top-8 right-0 w-1/2 h-px bg-border"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 56,
|
||||
columnNumber: 39
|
||||
}, this),
|
||||
index === member.childrenIds.length - 1 && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "absolute -top-8 left-0 w-1/2 h-px bg-border"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 58,
|
||||
columnNumber: 25
|
||||
}, this),
|
||||
index > 0 && index < member.childrenIds.length - 1 && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "absolute -top-8 left-0 w-full h-px bg-border"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 61,
|
||||
columnNumber: 25
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(TreeNode, {
|
||||
memberId: childId
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 66,
|
||||
columnNumber: 19
|
||||
}, this)
|
||||
]
|
||||
}, childId, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 49,
|
||||
columnNumber: 17
|
||||
}, this))
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 40,
|
||||
columnNumber: 13
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
}, this))
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 34,
|
||||
lineNumber: 140,
|
||||
columnNumber: 11
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 25,
|
||||
lineNumber: 123,
|
||||
columnNumber: 7
|
||||
}, this);
|
||||
};
|
||||
return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "p-12 min-w-fit",
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(TreeNode, {
|
||||
memberId: rootId
|
||||
}, void 0, false, {
|
||||
className: "relative",
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
ref: containerRef,
|
||||
className: "p-12 min-w-fit relative",
|
||||
style: {
|
||||
minHeight: '100%'
|
||||
},
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "absolute inset-0 pointer-events-none",
|
||||
style: {
|
||||
zIndex: 1
|
||||
},
|
||||
children: connections.map((conn, index)=>{
|
||||
const isHorizontal = conn.type === 'horizontal';
|
||||
const width = isHorizontal ? Math.abs(conn.to.x - conn.from.x) : 2;
|
||||
const height = isHorizontal ? 2 : Math.abs(conn.to.y - conn.from.y);
|
||||
const left = Math.min(conn.from.x, conn.to.x);
|
||||
const top = Math.min(conn.from.y, conn.to.y);
|
||||
// 跳过无效的连线(宽度或高度为0)
|
||||
if (width <= 0 || height <= 0) return null;
|
||||
return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "absolute bg-foreground/40 rounded-full",
|
||||
style: {
|
||||
left: `${left}px`,
|
||||
top: `${top}px`,
|
||||
width: `${width}px`,
|
||||
height: `${height}px`
|
||||
}
|
||||
}, index, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 172,
|
||||
columnNumber: 15
|
||||
}, this);
|
||||
})
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 160,
|
||||
columnNumber: 9
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "relative",
|
||||
style: {
|
||||
zIndex: 10
|
||||
},
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(TreeNode, {
|
||||
memberId: rootId,
|
||||
isRoot: true
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 188,
|
||||
columnNumber: 11
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 187,
|
||||
columnNumber: 9
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 78,
|
||||
lineNumber: 158,
|
||||
columnNumber: 7
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/tree/tree-layout.tsx",
|
||||
lineNumber: 77,
|
||||
lineNumber: 157,
|
||||
columnNumber: 5
|
||||
}, this);
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -498,12 +498,15 @@ var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$ch
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$avatar$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/components/ui/avatar.tsx [app-ssr] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/lib/db.ts [app-ssr] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$circle$2d$user$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__CircleUser$3e$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/circle-user.js [app-ssr] (ecmascript) <export default as CircleUser>");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$circle$2d$user$2d$round$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__CircleUserRound$3e$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/lucide-react@0.454.0_react@19.2.0/node_modules/lucide-react/dist/esm/icons/circle-user-round.js [app-ssr] (ecmascript) <export default as CircleUserRound>");
|
||||
"use client";
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
function AvatarDisplay({ imageId, fallbackUrl, fallbackText, className }) {
|
||||
;
|
||||
function AvatarDisplay({ imageId, fallbackUrl, fallbackText, gender, className }) {
|
||||
const [blobUrl, setBlobUrl] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])(undefined);
|
||||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useEffect"])(()=>{
|
||||
if (imageId) {
|
||||
@@ -520,28 +523,59 @@ function AvatarDisplay({ imageId, fallbackUrl, fallbackText, className }) {
|
||||
}, [
|
||||
imageId
|
||||
]);
|
||||
// 如果有头像,显示头像
|
||||
if (blobUrl) {
|
||||
return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$avatar$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Avatar"], {
|
||||
className: className,
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$avatar$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["AvatarImage"], {
|
||||
src: blobUrl
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/ui/avatar-display.tsx",
|
||||
lineNumber: 38,
|
||||
columnNumber: 9
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$avatar$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["AvatarFallback"], {
|
||||
className: "text-lg font-serif bg-muted",
|
||||
children: fallbackText
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/ui/avatar-display.tsx",
|
||||
lineNumber: 39,
|
||||
columnNumber: 9
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/ui/avatar-display.tsx",
|
||||
lineNumber: 37,
|
||||
columnNumber: 7
|
||||
}, this);
|
||||
}
|
||||
// 没有头像,显示性别图标
|
||||
return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$avatar$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Avatar"], {
|
||||
className: className,
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$avatar$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["AvatarImage"], {
|
||||
src: blobUrl || fallbackUrl || "/placeholder.svg"
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$avatar$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["AvatarFallback"], {
|
||||
className: "bg-muted flex items-center justify-center",
|
||||
children: gender === 'female' ? /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$circle$2d$user$2d$round$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__CircleUserRound$3e$__["CircleUserRound"], {
|
||||
className: "h-8 w-8 text-pink-400"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/ui/avatar-display.tsx",
|
||||
lineNumber: 33,
|
||||
columnNumber: 7
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$avatar$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["AvatarFallback"], {
|
||||
className: "text-lg font-serif bg-muted",
|
||||
children: fallbackText
|
||||
lineNumber: 49,
|
||||
columnNumber: 11
|
||||
}, this) : /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$circle$2d$user$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__CircleUser$3e$__["CircleUser"], {
|
||||
className: "h-8 w-8 text-blue-400"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/ui/avatar-display.tsx",
|
||||
lineNumber: 34,
|
||||
columnNumber: 7
|
||||
lineNumber: 51,
|
||||
columnNumber: 11
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/ui/avatar-display.tsx",
|
||||
lineNumber: 47,
|
||||
columnNumber: 7
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/ui/avatar-display.tsx",
|
||||
lineNumber: 32,
|
||||
lineNumber: 46,
|
||||
columnNumber: 5
|
||||
}, this);
|
||||
}
|
||||
@@ -887,6 +921,7 @@ var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$ch
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$site$2d$header$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/components/site-header.tsx [app-ssr] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$context$2f$family$2d$context$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx [app-ssr] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/navigation.js [app-ssr] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$input$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/components/ui/input.tsx [app-ssr] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$button$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/components/ui/button.tsx [app-ssr] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/components/ui/card.tsx [app-ssr] (ecmascript)");
|
||||
@@ -913,10 +948,20 @@ var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$ch
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
function MembersPage() {
|
||||
const { treeData, searchMembers } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$context$2f$family$2d$context$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useFamily"])();
|
||||
const { treeData, searchMembers, setHighlightedMemberId } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$context$2f$family$2d$context$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useFamily"])();
|
||||
const router = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useRouter"])();
|
||||
const [query, setQuery] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])("");
|
||||
const [showFilters, setShowFilters] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])(false);
|
||||
// 从 URL 参数读取搜索关键词
|
||||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useEffect"])(()=>{
|
||||
const params = new URLSearchParams(window.location.search);
|
||||
const searchParam = params.get('search');
|
||||
if (searchParam) {
|
||||
setQuery(searchParam);
|
||||
}
|
||||
}, []);
|
||||
// Filter States
|
||||
const [selectedSurname, setSelectedSurname] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])("all");
|
||||
const [selectedHome, setSelectedHome] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])("all");
|
||||
@@ -997,6 +1042,24 @@ function MembersPage() {
|
||||
statusFilter,
|
||||
generationRange
|
||||
]);
|
||||
// 按世代分组
|
||||
const membersByGeneration = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useMemo"])(()=>{
|
||||
const groups = new Map();
|
||||
filteredMembers.forEach((member)=>{
|
||||
const gen = member.generation;
|
||||
if (!groups.has(gen)) {
|
||||
groups.set(gen, []);
|
||||
}
|
||||
groups.get(gen).push(member);
|
||||
});
|
||||
// 转换为数组并排序
|
||||
return Array.from(groups.entries()).sort((a, b)=>a[0] - b[0]).map(([generation, members])=>({
|
||||
generation,
|
||||
members
|
||||
}));
|
||||
}, [
|
||||
filteredMembers
|
||||
]);
|
||||
const clearFilters = ()=>{
|
||||
setSelectedSurname("all");
|
||||
setSelectedHome("all");
|
||||
@@ -1013,7 +1076,7 @@ function MembersPage() {
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$site$2d$header$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["SiteHeader"], {}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 120,
|
||||
lineNumber: 152,
|
||||
columnNumber: 7
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("main", {
|
||||
@@ -1030,7 +1093,7 @@ function MembersPage() {
|
||||
children: "家族成员列表"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 124,
|
||||
lineNumber: 156,
|
||||
columnNumber: 13
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -1043,7 +1106,7 @@ function MembersPage() {
|
||||
className: "absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 127,
|
||||
lineNumber: 159,
|
||||
columnNumber: 17
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$input$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Input"], {
|
||||
@@ -1054,13 +1117,13 @@ function MembersPage() {
|
||||
onChange: (e)=>setQuery(e.target.value)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 128,
|
||||
lineNumber: 160,
|
||||
columnNumber: 17
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 126,
|
||||
lineNumber: 158,
|
||||
columnNumber: 15
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$button$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Button"], {
|
||||
@@ -1073,20 +1136,20 @@ function MembersPage() {
|
||||
className: "h-4 w-4"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 142,
|
||||
lineNumber: 174,
|
||||
columnNumber: 17
|
||||
}, this),
|
||||
activeFilterCount > 0 && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
||||
className: "absolute -top-1 -right-1 h-3 w-3 rounded-full bg-primary border-2 border-background"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 144,
|
||||
lineNumber: 176,
|
||||
columnNumber: 19
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 136,
|
||||
lineNumber: 168,
|
||||
columnNumber: 15
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$client$2f$app$2d$dir$2f$link$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"], {
|
||||
@@ -1098,31 +1161,31 @@ function MembersPage() {
|
||||
className: "h-4 w-4"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 149,
|
||||
lineNumber: 181,
|
||||
columnNumber: 19
|
||||
}, this),
|
||||
"新增成员"
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 148,
|
||||
lineNumber: 180,
|
||||
columnNumber: 17
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 147,
|
||||
lineNumber: 179,
|
||||
columnNumber: 15
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 125,
|
||||
lineNumber: 157,
|
||||
columnNumber: 13
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 123,
|
||||
lineNumber: 155,
|
||||
columnNumber: 11
|
||||
}, this),
|
||||
showFilters && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -1136,7 +1199,7 @@ function MembersPage() {
|
||||
children: "高级筛选"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 160,
|
||||
lineNumber: 192,
|
||||
columnNumber: 17
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$button$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Button"], {
|
||||
@@ -1149,20 +1212,20 @@ function MembersPage() {
|
||||
className: "mr-1 h-3 w-3"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 162,
|
||||
lineNumber: 194,
|
||||
columnNumber: 19
|
||||
}, this),
|
||||
" 重置筛选"
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 161,
|
||||
lineNumber: 193,
|
||||
columnNumber: 17
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 159,
|
||||
lineNumber: 191,
|
||||
columnNumber: 15
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -1176,7 +1239,7 @@ function MembersPage() {
|
||||
children: "姓氏 (Surname)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 167,
|
||||
lineNumber: 199,
|
||||
columnNumber: 19
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$select$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Select"], {
|
||||
@@ -1188,12 +1251,12 @@ function MembersPage() {
|
||||
placeholder: "全部"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 170,
|
||||
lineNumber: 202,
|
||||
columnNumber: 23
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 169,
|
||||
lineNumber: 201,
|
||||
columnNumber: 21
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$select$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["SelectContent"], {
|
||||
@@ -1203,7 +1266,7 @@ function MembersPage() {
|
||||
children: "全部 (All)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 173,
|
||||
lineNumber: 205,
|
||||
columnNumber: 23
|
||||
}, this),
|
||||
uniqueSurnames.map((s)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$select$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["SelectItem"], {
|
||||
@@ -1211,25 +1274,25 @@ function MembersPage() {
|
||||
children: s
|
||||
}, s, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 175,
|
||||
lineNumber: 207,
|
||||
columnNumber: 25
|
||||
}, this))
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 172,
|
||||
lineNumber: 204,
|
||||
columnNumber: 21
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 168,
|
||||
lineNumber: 200,
|
||||
columnNumber: 19
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 166,
|
||||
lineNumber: 198,
|
||||
columnNumber: 17
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -1240,7 +1303,7 @@ function MembersPage() {
|
||||
children: "籍贯 (Ancestral Home)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 184,
|
||||
lineNumber: 216,
|
||||
columnNumber: 19
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$select$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Select"], {
|
||||
@@ -1252,12 +1315,12 @@ function MembersPage() {
|
||||
placeholder: "全部"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 187,
|
||||
lineNumber: 219,
|
||||
columnNumber: 23
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 186,
|
||||
lineNumber: 218,
|
||||
columnNumber: 21
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$select$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["SelectContent"], {
|
||||
@@ -1267,7 +1330,7 @@ function MembersPage() {
|
||||
children: "全部 (All)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 190,
|
||||
lineNumber: 222,
|
||||
columnNumber: 23
|
||||
}, this),
|
||||
uniqueHomes.map((h)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$select$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["SelectItem"], {
|
||||
@@ -1275,25 +1338,25 @@ function MembersPage() {
|
||||
children: h
|
||||
}, h, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 192,
|
||||
lineNumber: 224,
|
||||
columnNumber: 25
|
||||
}, this))
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 189,
|
||||
lineNumber: 221,
|
||||
columnNumber: 21
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 185,
|
||||
lineNumber: 217,
|
||||
columnNumber: 19
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 183,
|
||||
lineNumber: 215,
|
||||
columnNumber: 17
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -1304,7 +1367,7 @@ function MembersPage() {
|
||||
children: "状态 (Status)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 201,
|
||||
lineNumber: 233,
|
||||
columnNumber: 19
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$select$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Select"], {
|
||||
@@ -1316,12 +1379,12 @@ function MembersPage() {
|
||||
placeholder: "全部"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 204,
|
||||
lineNumber: 236,
|
||||
columnNumber: 23
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 203,
|
||||
lineNumber: 235,
|
||||
columnNumber: 21
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$select$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["SelectContent"], {
|
||||
@@ -1331,7 +1394,7 @@ function MembersPage() {
|
||||
children: "全部 (All)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 207,
|
||||
lineNumber: 239,
|
||||
columnNumber: 23
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$select$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["SelectItem"], {
|
||||
@@ -1339,7 +1402,7 @@ function MembersPage() {
|
||||
children: "在世 (Living)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 208,
|
||||
lineNumber: 240,
|
||||
columnNumber: 23
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$select$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["SelectItem"], {
|
||||
@@ -1347,25 +1410,25 @@ function MembersPage() {
|
||||
children: "已故 (Deceased)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 209,
|
||||
lineNumber: 241,
|
||||
columnNumber: 23
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 206,
|
||||
lineNumber: 238,
|
||||
columnNumber: 21
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 202,
|
||||
lineNumber: 234,
|
||||
columnNumber: 19
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 200,
|
||||
lineNumber: 232,
|
||||
columnNumber: 17
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -1379,7 +1442,7 @@ function MembersPage() {
|
||||
children: "世系范围 (Generation)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 216,
|
||||
lineNumber: 248,
|
||||
columnNumber: 21
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
||||
@@ -1392,13 +1455,13 @@ function MembersPage() {
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 217,
|
||||
lineNumber: 249,
|
||||
columnNumber: 21
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 215,
|
||||
lineNumber: 247,
|
||||
columnNumber: 19
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$slider$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Slider"], {
|
||||
@@ -1414,181 +1477,254 @@ function MembersPage() {
|
||||
className: "py-4"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 221,
|
||||
lineNumber: 253,
|
||||
columnNumber: 19
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 214,
|
||||
lineNumber: 246,
|
||||
columnNumber: 17
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 165,
|
||||
lineNumber: 197,
|
||||
columnNumber: 15
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 158,
|
||||
lineNumber: 190,
|
||||
columnNumber: 13
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 122,
|
||||
lineNumber: 154,
|
||||
columnNumber: 9
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",
|
||||
children: filteredMembers.length === 0 ? /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "col-span-full text-center py-12 text-muted-foreground",
|
||||
children: "没有找到匹配的成员。"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 238,
|
||||
columnNumber: 13
|
||||
}, this) : filteredMembers.map((member)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$client$2f$app$2d$dir$2f$link$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"], {
|
||||
href: `/members/${member.id}`,
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Card"], {
|
||||
className: "hover:border-primary transition-colors cursor-pointer h-full",
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["CardContent"], {
|
||||
className: "p-6 flex items-start gap-4",
|
||||
filteredMembers.length === 0 ? /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "text-center py-12 text-muted-foreground",
|
||||
children: "没有找到匹配的成员。"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 269,
|
||||
columnNumber: 11
|
||||
}, this) : /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "space-y-8",
|
||||
children: membersByGeneration.map(({ generation, members })=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "flex items-center gap-3 mb-4",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$avatar$2d$display$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["AvatarDisplay"], {
|
||||
imageId: member.avatarImageId,
|
||||
fallbackUrl: member.avatarUrl,
|
||||
fallbackText: member.surname,
|
||||
className: "h-16 w-16 border-2 border-border"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 246,
|
||||
columnNumber: 21
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "flex-1 min-w-0",
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("h2", {
|
||||
className: "text-xl font-serif font-bold text-foreground",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "flex items-baseline justify-between",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("h3", {
|
||||
className: "text-xl font-bold font-serif truncate",
|
||||
children: [
|
||||
member.fullName,
|
||||
member.courtesyName && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
||||
className: "text-sm font-normal text-muted-foreground ml-2",
|
||||
children: [
|
||||
"字 ",
|
||||
member.courtesyName
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 257,
|
||||
columnNumber: 29
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 254,
|
||||
columnNumber: 25
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
||||
className: "text-xs font-mono bg-muted px-1.5 py-0.5 rounded text-muted-foreground whitespace-nowrap",
|
||||
children: [
|
||||
member.generation,
|
||||
"世"
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 262,
|
||||
columnNumber: 25
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 253,
|
||||
columnNumber: 23
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("p", {
|
||||
className: "text-sm text-muted-foreground mt-1 truncate",
|
||||
children: member.generationName ? `字辈: ${member.generationName}` : "未录入字辈"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 266,
|
||||
columnNumber: 23
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("p", {
|
||||
className: "text-sm text-muted-foreground truncate",
|
||||
children: member.ancestralHome || "籍贯未知"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 269,
|
||||
columnNumber: 23
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "mt-3 flex flex-wrap gap-1",
|
||||
children: [
|
||||
member.deathDate && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
||||
className: "text-[10px] bg-neutral-100 text-neutral-600 px-1.5 py-0.5 rounded border border-neutral-200",
|
||||
children: "已故"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 272,
|
||||
columnNumber: 27
|
||||
}, this),
|
||||
member.tags?.map((tag)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
||||
className: "text-[10px] bg-primary/10 text-primary px-1.5 py-0.5 rounded border border-primary/20",
|
||||
children: tag
|
||||
}, tag, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 277,
|
||||
columnNumber: 27
|
||||
}, this))
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 270,
|
||||
columnNumber: 23
|
||||
}, this)
|
||||
"第 ",
|
||||
generation,
|
||||
" 世"
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 252,
|
||||
columnNumber: 21
|
||||
lineNumber: 277,
|
||||
columnNumber: 19
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
||||
className: "text-sm text-muted-foreground",
|
||||
children: [
|
||||
"共 ",
|
||||
members.length,
|
||||
" 人"
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 278,
|
||||
columnNumber: 19
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "flex-1 h-px bg-border"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 279,
|
||||
columnNumber: 19
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 245,
|
||||
columnNumber: 19
|
||||
lineNumber: 276,
|
||||
columnNumber: 17
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4",
|
||||
children: members.map((member)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "relative group",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$client$2f$app$2d$dir$2f$link$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"], {
|
||||
href: `/members/${member.id}`,
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Card"], {
|
||||
className: "hover:border-primary transition-colors cursor-pointer h-full",
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["CardContent"], {
|
||||
className: "p-3 flex items-start gap-2.5",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$avatar$2d$display$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["AvatarDisplay"], {
|
||||
imageId: member.avatarImageId,
|
||||
fallbackUrl: member.avatarUrl,
|
||||
fallbackText: member.surname,
|
||||
gender: member.gender,
|
||||
className: "h-10 w-10 border border-border"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 287,
|
||||
columnNumber: 27
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "flex-1 min-w-0",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "flex items-baseline justify-between gap-1.5",
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("h3", {
|
||||
className: "text-base font-bold font-serif truncate",
|
||||
children: [
|
||||
member.fullName,
|
||||
member.courtesyName && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
||||
className: "text-[11px] font-normal text-muted-foreground ml-1",
|
||||
children: [
|
||||
"字 ",
|
||||
member.courtesyName
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 299,
|
||||
columnNumber: 35
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 296,
|
||||
columnNumber: 31
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 295,
|
||||
columnNumber: 29
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("p", {
|
||||
className: "text-[11px] text-muted-foreground mt-0.5 truncate",
|
||||
children: member.generationName ? `字辈: ${member.generationName}` : "未录入字辈"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 305,
|
||||
columnNumber: 29
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("p", {
|
||||
className: "text-[11px] text-muted-foreground truncate",
|
||||
children: member.ancestralHome || "籍贯未知"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 308,
|
||||
columnNumber: 29
|
||||
}, this),
|
||||
(member.deathDate || member.tags?.length) && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "mt-1.5 flex flex-wrap gap-1",
|
||||
children: [
|
||||
member.deathDate && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
||||
className: "text-[9px] bg-neutral-100 text-neutral-600 px-1 py-0.5 rounded border border-neutral-200",
|
||||
children: "已故"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 312,
|
||||
columnNumber: 35
|
||||
}, this),
|
||||
member.tags?.map((tag)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
||||
className: "text-[9px] bg-primary/10 text-primary px-1 py-0.5 rounded border border-primary/20",
|
||||
children: tag
|
||||
}, tag, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 317,
|
||||
columnNumber: 35
|
||||
}, this))
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 310,
|
||||
columnNumber: 31
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 294,
|
||||
columnNumber: 27
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 286,
|
||||
columnNumber: 25
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 285,
|
||||
columnNumber: 25
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 284,
|
||||
columnNumber: 23
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$button$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Button"], {
|
||||
size: "sm",
|
||||
variant: "ghost",
|
||||
className: "absolute top-2 right-2 opacity-0 group-hover:opacity-100 transition-opacity h-6 w-6 p-0",
|
||||
onClick: ()=>{
|
||||
setHighlightedMemberId(member.id);
|
||||
router.push('/tree');
|
||||
},
|
||||
title: "在族谱图中定位",
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$search$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__Search$3e$__["Search"], {
|
||||
className: "h-3 w-3"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 340,
|
||||
columnNumber: 23
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 330,
|
||||
columnNumber: 21
|
||||
}, this)
|
||||
]
|
||||
}, member.id, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 283,
|
||||
columnNumber: 21
|
||||
}, this))
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 281,
|
||||
columnNumber: 17
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 244,
|
||||
columnNumber: 17
|
||||
}, this)
|
||||
}, member.id, false, {
|
||||
]
|
||||
}, generation, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 243,
|
||||
lineNumber: 275,
|
||||
columnNumber: 15
|
||||
}, this))
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 236,
|
||||
columnNumber: 9
|
||||
lineNumber: 273,
|
||||
columnNumber: 11
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 121,
|
||||
lineNumber: 153,
|
||||
columnNumber: 7
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/members/page.tsx",
|
||||
lineNumber: 119,
|
||||
lineNumber: 151,
|
||||
columnNumber: 5
|
||||
}, this);
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -177,7 +177,7 @@ function SiteHeader() {
|
||||
return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("header", {
|
||||
className: "sticky top-0 z-50 w-full border-b border-border/40 bg-background/95 backdrop-blur supports-[backdrop-filter]:bg-background/60",
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "container flex h-16 items-center px-4",
|
||||
className: "container mx-auto flex h-16 items-center px-4",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "mr-8 flex items-center gap-2",
|
||||
@@ -581,34 +581,26 @@ var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$ch
|
||||
;
|
||||
;
|
||||
function SettingsPage() {
|
||||
const { treeData, addMember } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$context$2f$family$2d$context$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useFamily"])() // Actually need setTreeData but I didn't expose it directly. I should have.
|
||||
;
|
||||
// Wait, I didn't expose setTreeData in the context interface.
|
||||
// I need to update the context to allow full data replacement or add a "loadData" function.
|
||||
// Let me quickly check context/family-context.tsx
|
||||
// ... It has 'addMember', 'updateMember', 'deleteMember'. No 'loadData'.
|
||||
// I will assume I can update the context file first.
|
||||
const { treeData, loadData, resetData } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$context$2f$family$2d$context$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useFamily"])();
|
||||
const [importStatus, setImportStatus] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])("");
|
||||
const fileInputRef = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useRef"])(null);
|
||||
// Since I can't easily modify the context interface without a separate edit step which I should do properly,
|
||||
// I will modify the context file in this same block to add 'loadData'.
|
||||
return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "min-h-screen bg-background flex flex-col font-sans",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$site$2d$header$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["SiteHeader"], {}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 27,
|
||||
lineNumber: 18,
|
||||
columnNumber: 7
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("main", {
|
||||
className: "container py-8 px-4 md:px-6 flex-1 max-w-3xl",
|
||||
className: "container mx-auto py-8 px-4 md:px-6 flex-1 max-w-3xl",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("h1", {
|
||||
className: "text-3xl font-serif font-bold mb-8",
|
||||
children: "系统设置 (Settings)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 29,
|
||||
lineNumber: 20,
|
||||
columnNumber: 9
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -625,27 +617,27 @@ function SettingsPage() {
|
||||
className: "h-5 w-5"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 35,
|
||||
lineNumber: 26,
|
||||
columnNumber: 17
|
||||
}, this),
|
||||
" 数据备份 (Backup)"
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 34,
|
||||
lineNumber: 25,
|
||||
columnNumber: 15
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["CardDescription"], {
|
||||
children: "将家族数据导出为 JSON 文件进行本地保存。"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 37,
|
||||
lineNumber: 28,
|
||||
columnNumber: 15
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 33,
|
||||
lineNumber: 24,
|
||||
columnNumber: 13
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["CardContent"], {
|
||||
@@ -668,18 +660,18 @@ function SettingsPage() {
|
||||
children: "导出数据 (Export JSON)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 40,
|
||||
lineNumber: 31,
|
||||
columnNumber: 15
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 39,
|
||||
lineNumber: 30,
|
||||
columnNumber: 13
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 32,
|
||||
lineNumber: 23,
|
||||
columnNumber: 11
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Card"], {
|
||||
@@ -693,27 +685,27 @@ function SettingsPage() {
|
||||
className: "h-5 w-5"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 61,
|
||||
lineNumber: 52,
|
||||
columnNumber: 17
|
||||
}, this),
|
||||
" 数据恢复 (Restore)"
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 60,
|
||||
lineNumber: 51,
|
||||
columnNumber: 15
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["CardDescription"], {
|
||||
children: "从 JSON 备份文件恢复数据。注意:这将覆盖当前的所有数据。"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 63,
|
||||
lineNumber: 54,
|
||||
columnNumber: 15
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 59,
|
||||
lineNumber: 50,
|
||||
columnNumber: 13
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["CardContent"], {
|
||||
@@ -726,27 +718,27 @@ function SettingsPage() {
|
||||
className: "h-4 w-4"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 67,
|
||||
lineNumber: 58,
|
||||
columnNumber: 17
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$alert$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["AlertTitle"], {
|
||||
children: "警告"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 68,
|
||||
lineNumber: 59,
|
||||
columnNumber: 17
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$alert$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["AlertDescription"], {
|
||||
children: "导入操作不可撤销。建议在导入前先导出当前数据备份。"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 69,
|
||||
lineNumber: 60,
|
||||
columnNumber: 17
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 66,
|
||||
lineNumber: 57,
|
||||
columnNumber: 15
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -761,21 +753,19 @@ function SettingsPage() {
|
||||
const file = e.target.files?.[0];
|
||||
if (!file) return;
|
||||
const reader = new FileReader();
|
||||
reader.onload = (event)=>{
|
||||
reader.onload = async (event)=>{
|
||||
try {
|
||||
const json = JSON.parse(event.target?.result);
|
||||
if (json.members && json.rootId) {
|
||||
// Ideally call loadData(json) here
|
||||
// Since I'm in the component, I'll dispatch a custom event or use the context method I'm about to add
|
||||
const event = new CustomEvent("family-data-import", {
|
||||
detail: json
|
||||
});
|
||||
window.dispatchEvent(event);
|
||||
await loadData(json);
|
||||
setImportStatus("导入成功!");
|
||||
// Clear input so same file can be selected again if needed
|
||||
if (fileInputRef.current) fileInputRef.current.value = "";
|
||||
} else {
|
||||
setImportStatus("错误:无效的数据格式");
|
||||
}
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
setImportStatus("错误:无法解析文件");
|
||||
}
|
||||
};
|
||||
@@ -783,7 +773,7 @@ function SettingsPage() {
|
||||
}
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 73,
|
||||
lineNumber: 64,
|
||||
columnNumber: 17
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$button$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Button"], {
|
||||
@@ -792,7 +782,7 @@ function SettingsPage() {
|
||||
children: "选择文件..."
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 102,
|
||||
lineNumber: 93,
|
||||
columnNumber: 17
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
||||
@@ -800,25 +790,25 @@ function SettingsPage() {
|
||||
children: importStatus
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 105,
|
||||
lineNumber: 96,
|
||||
columnNumber: 17
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 72,
|
||||
lineNumber: 63,
|
||||
columnNumber: 15
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 65,
|
||||
lineNumber: 56,
|
||||
columnNumber: 13
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 58,
|
||||
lineNumber: 49,
|
||||
columnNumber: 11
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Card"], {
|
||||
@@ -832,70 +822,71 @@ function SettingsPage() {
|
||||
className: "h-5 w-5"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 113,
|
||||
lineNumber: 104,
|
||||
columnNumber: 17
|
||||
}, this),
|
||||
" 重置系统"
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 112,
|
||||
lineNumber: 103,
|
||||
columnNumber: 15
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["CardDescription"], {
|
||||
children: "清除所有数据并恢复到初始演示状态。"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 115,
|
||||
lineNumber: 106,
|
||||
columnNumber: 15
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 111,
|
||||
lineNumber: 102,
|
||||
columnNumber: 13
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["CardContent"], {
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$button$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Button"], {
|
||||
variant: "destructive",
|
||||
onClick: ()=>{
|
||||
onClick: async ()=>{
|
||||
if (confirm("确定要重置吗?所有更改将丢失。")) {
|
||||
window.location.reload(); // Simple way to reset state since it's in-memory
|
||||
await resetData();
|
||||
alert("数据已重置为演示状态。");
|
||||
}
|
||||
},
|
||||
children: "重置所有数据"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 118,
|
||||
lineNumber: 109,
|
||||
columnNumber: 15
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 117,
|
||||
lineNumber: 108,
|
||||
columnNumber: 13
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 110,
|
||||
lineNumber: 101,
|
||||
columnNumber: 11
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 31,
|
||||
lineNumber: 22,
|
||||
columnNumber: 9
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 28,
|
||||
lineNumber: 19,
|
||||
columnNumber: 7
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/settings/page.tsx",
|
||||
lineNumber: 26,
|
||||
lineNumber: 17,
|
||||
columnNumber: 5
|
||||
}, this);
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,813 @@
|
||||
module.exports = [
|
||||
"[externals]/next/dist/compiled/next-server/app-page-turbo.runtime.dev.js [external] (next/dist/compiled/next-server/app-page-turbo.runtime.dev.js, cjs)", ((__turbopack_context__, module, exports) => {
|
||||
|
||||
const mod = __turbopack_context__.x("next/dist/compiled/next-server/app-page-turbo.runtime.dev.js", () => require("next/dist/compiled/next-server/app-page-turbo.runtime.dev.js"));
|
||||
|
||||
module.exports = mod;
|
||||
}),
|
||||
"[externals]/next/dist/server/app-render/action-async-storage.external.js [external] (next/dist/server/app-render/action-async-storage.external.js, cjs)", ((__turbopack_context__, module, exports) => {
|
||||
|
||||
const mod = __turbopack_context__.x("next/dist/server/app-render/action-async-storage.external.js", () => require("next/dist/server/app-render/action-async-storage.external.js"));
|
||||
|
||||
module.exports = mod;
|
||||
}),
|
||||
"[externals]/next/dist/server/app-render/work-unit-async-storage.external.js [external] (next/dist/server/app-render/work-unit-async-storage.external.js, cjs)", ((__turbopack_context__, module, exports) => {
|
||||
|
||||
const mod = __turbopack_context__.x("next/dist/server/app-render/work-unit-async-storage.external.js", () => require("next/dist/server/app-render/work-unit-async-storage.external.js"));
|
||||
|
||||
module.exports = mod;
|
||||
}),
|
||||
"[externals]/next/dist/server/app-render/work-async-storage.external.js [external] (next/dist/server/app-render/work-async-storage.external.js, cjs)", ((__turbopack_context__, module, exports) => {
|
||||
|
||||
const mod = __turbopack_context__.x("next/dist/server/app-render/work-async-storage.external.js", () => require("next/dist/server/app-render/work-async-storage.external.js"));
|
||||
|
||||
module.exports = mod;
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/lib/mock-data.ts [app-ssr] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
__turbopack_context__.s([
|
||||
"mockFamilyData",
|
||||
()=>mockFamilyData
|
||||
]);
|
||||
// Helper to create a member quickly
|
||||
const createMember = (id, name, gender, generation, props = {})=>{
|
||||
const surname = "李";
|
||||
return {
|
||||
id,
|
||||
surname,
|
||||
givenName: name,
|
||||
fullName: surname + name,
|
||||
gender,
|
||||
generation,
|
||||
spouseIds: [],
|
||||
childrenIds: [],
|
||||
createdAt: new Date().toISOString(),
|
||||
updatedAt: new Date().toISOString(),
|
||||
...props
|
||||
};
|
||||
};
|
||||
const members = {
|
||||
// ========== 第一代 (曾祖父母辈,1920年代出生) ==========
|
||||
"1": createMember("1", "国强", "male", 1, {
|
||||
ancestralHome: "广东省广州市",
|
||||
bio: "李氏家族第一代,抗战时期参加革命工作,新中国成立后在政府部门工作,为人正直,深受敬重。",
|
||||
tags: [
|
||||
"革命干部",
|
||||
"始祖"
|
||||
],
|
||||
birthDate: "1925-03-15",
|
||||
deathDate: "2008-08-20",
|
||||
spouseIds: [
|
||||
"2"
|
||||
],
|
||||
childrenIds: [
|
||||
"3",
|
||||
"4",
|
||||
"5"
|
||||
]
|
||||
}),
|
||||
"2": createMember("2", "秀芳", "female", 1, {
|
||||
fullName: "王秀芳",
|
||||
surname: "王",
|
||||
givenName: "秀芳",
|
||||
ancestralHome: "广东省广州市",
|
||||
bio: "知识分子家庭出身,建国后在学校任教,相夫教子,育有三子。",
|
||||
birthDate: "1928-07-08",
|
||||
deathDate: "2015-12-10",
|
||||
spouseIds: [
|
||||
"1"
|
||||
],
|
||||
childrenIds: [
|
||||
"3",
|
||||
"4",
|
||||
"5"
|
||||
]
|
||||
}),
|
||||
// ========== 第二代 (祖父母辈,1950年代出生) ==========
|
||||
"3": createMember("3", "建华", "male", 2, {
|
||||
fatherId: "1",
|
||||
motherId: "2",
|
||||
ancestralHome: "广东省深圳市",
|
||||
birthPlace: "广东省深圳市",
|
||||
bio: "国强长子,改革开放后下海经商,迁往深圳创办家族企业,事业有成。",
|
||||
tags: [
|
||||
"企业家"
|
||||
],
|
||||
birthDate: "1952-05-20",
|
||||
deathDate: "2020-03-15",
|
||||
spouseIds: [
|
||||
"6"
|
||||
],
|
||||
childrenIds: [
|
||||
"9",
|
||||
"10"
|
||||
]
|
||||
}),
|
||||
"4": createMember("4", "建国", "male", 2, {
|
||||
fatherId: "1",
|
||||
motherId: "2",
|
||||
generationName: "建",
|
||||
rank: 2,
|
||||
bio: "次子,大学教授,追随教育事业迁往北京,从事教育工作四十余年,桃李满天下。",
|
||||
tags: [
|
||||
"教授",
|
||||
"次子"
|
||||
],
|
||||
birthDate: "1955-11-03",
|
||||
ancestralHome: "北京市",
|
||||
birthPlace: "北京市",
|
||||
spouseIds: [
|
||||
"7"
|
||||
],
|
||||
childrenIds: [
|
||||
"11",
|
||||
"12",
|
||||
"13"
|
||||
]
|
||||
}),
|
||||
"5": createMember("5", "建军", "male", 2, {
|
||||
fatherId: "1",
|
||||
motherId: "2",
|
||||
generationName: "建",
|
||||
rank: 3,
|
||||
bio: "三子,医生,支援西部建设迁往上海,从医三十余年,救死扶伤。",
|
||||
tags: [
|
||||
"医生",
|
||||
"三子"
|
||||
],
|
||||
birthDate: "1958-11-03",
|
||||
ancestralHome: "上海市",
|
||||
birthPlace: "上海市",
|
||||
spouseIds: [
|
||||
"8"
|
||||
],
|
||||
childrenIds: [
|
||||
"14"
|
||||
]
|
||||
}),
|
||||
// 第二代配偶
|
||||
"6": createMember("6", "丽华", "female", 2, {
|
||||
fullName: "陈丽华",
|
||||
surname: "陈",
|
||||
givenName: "丽华",
|
||||
ancestralHome: "广东省深圳市",
|
||||
bio: "建华之妻,企业管理者,协助丈夫打理家族企业。",
|
||||
birthDate: "1955-05-20",
|
||||
deathDate: "2021-11-05",
|
||||
spouseIds: [
|
||||
"3"
|
||||
],
|
||||
childrenIds: [
|
||||
"9",
|
||||
"10"
|
||||
]
|
||||
}),
|
||||
"7": createMember("7", "美玲", "female", 2, {
|
||||
fullName: "张美玲",
|
||||
surname: "张",
|
||||
givenName: "美玲",
|
||||
ancestralHome: "广东省广州市",
|
||||
bio: "建国之妻,中学教师,与丈夫志同道合,共同从事教育事业。",
|
||||
birthDate: "1957-01-15",
|
||||
spouseIds: [
|
||||
"4"
|
||||
],
|
||||
childrenIds: [
|
||||
"11",
|
||||
"12",
|
||||
"13"
|
||||
]
|
||||
}),
|
||||
"8": createMember("8", "雅琴", "female", 2, {
|
||||
fullName: "林雅琴",
|
||||
surname: "林",
|
||||
givenName: "雅琴",
|
||||
ancestralHome: "福建省厦门市",
|
||||
bio: "建军之妻,护士长,温柔贤惠,善于持家。",
|
||||
birthDate: "1960-08-10",
|
||||
spouseIds: [
|
||||
"5"
|
||||
],
|
||||
childrenIds: [
|
||||
"14"
|
||||
]
|
||||
}),
|
||||
// ========== 第三代 (父母辈,1980年代出生) ==========
|
||||
"9": createMember("9", "志远", "male", 3, {
|
||||
fatherId: "3",
|
||||
motherId: "6",
|
||||
generationName: "志",
|
||||
rank: 1,
|
||||
ancestralHome: "广东省深圳市",
|
||||
birthPlace: "广东省深圳市",
|
||||
bio: "建华长子,留学归国,接管家族企业,推动企业转型升级。",
|
||||
tags: [
|
||||
"企业家",
|
||||
"海归"
|
||||
],
|
||||
birthDate: "1980-03-08",
|
||||
phone: "13800138001",
|
||||
email: "zhiyuan.li@company.com",
|
||||
address: "广东省广州市天河区珠江新城XX路XX号",
|
||||
spouseIds: [
|
||||
"15"
|
||||
],
|
||||
childrenIds: [
|
||||
"17",
|
||||
"18"
|
||||
]
|
||||
}),
|
||||
"10": createMember("10", "志强", "male", 3, {
|
||||
fatherId: "3",
|
||||
motherId: "6",
|
||||
generationName: "志",
|
||||
rank: 2,
|
||||
ancestralHome: "北京市",
|
||||
birthPlace: "北京市",
|
||||
bio: "建华次子,互联网创业者,北上创业,创办科技公司。",
|
||||
tags: [
|
||||
"创业者",
|
||||
"科技"
|
||||
],
|
||||
birthDate: "1983-07-22",
|
||||
phone: "13900139002",
|
||||
email: "zhiqiang.li@techco.com",
|
||||
address: "北京市朝阳区望京SOHO",
|
||||
spouseIds: [
|
||||
"16"
|
||||
],
|
||||
childrenIds: [
|
||||
"19"
|
||||
]
|
||||
}),
|
||||
"11": createMember("11", "志明", "male", 3, {
|
||||
fatherId: "4",
|
||||
motherId: "7",
|
||||
generationName: "志",
|
||||
rank: 1,
|
||||
ancestralHome: "广东省广州市",
|
||||
birthPlace: "广东省广州市",
|
||||
bio: "建国长子,大学副教授,从北京返回广州从事教育研究工作。",
|
||||
tags: [
|
||||
"副教授",
|
||||
"学者"
|
||||
],
|
||||
birthDate: "1982-01-18",
|
||||
phone: "13700137003",
|
||||
telephone: "020-8888-8888",
|
||||
email: "zhiming.li@university.edu.cn",
|
||||
address: "广东省广州市海珠区大学城",
|
||||
spouseIds: [
|
||||
"20"
|
||||
],
|
||||
childrenIds: [
|
||||
"21",
|
||||
"22"
|
||||
]
|
||||
}),
|
||||
"12": createMember("12", "志文", "male", 3, {
|
||||
fatherId: "4",
|
||||
motherId: "7",
|
||||
generationName: "志",
|
||||
rank: 2,
|
||||
bio: "建国次子,作家,追求文学梦想迁往成都,出版多部文学作品。",
|
||||
tags: [
|
||||
"作家",
|
||||
"文学"
|
||||
],
|
||||
birthDate: "1985-09-12",
|
||||
ancestralHome: "四川省成都市",
|
||||
birthPlace: "四川省成都市",
|
||||
phone: "13600136004",
|
||||
email: "zhiwen.li@writer.com"
|
||||
}),
|
||||
"13": createMember("13", "志勇", "male", 3, {
|
||||
fatherId: "4",
|
||||
motherId: "7",
|
||||
generationName: "志",
|
||||
rank: 3,
|
||||
ancestralHome: "上海市",
|
||||
birthPlace: "上海市",
|
||||
bio: "建国三子,律师,从北京迁往上海,执业于知名律师事务所。",
|
||||
tags: [
|
||||
"律师"
|
||||
],
|
||||
birthDate: "1988-11-05",
|
||||
phone: "13500135005",
|
||||
email: "zhiyong.li@lawfirm.com",
|
||||
address: "上海市浦东新区陆家嘴金融中心"
|
||||
}),
|
||||
"14": createMember("14", "志诚", "male", 3, {
|
||||
fatherId: "5",
|
||||
motherId: "8",
|
||||
generationName: "志",
|
||||
rank: 1,
|
||||
ancestralHome: "广东省深圳市",
|
||||
birthPlace: "广东省深圳市",
|
||||
bio: "建军独子,医生,从上海迁往深圳,继承父业,在医院工作。",
|
||||
tags: [
|
||||
"医生"
|
||||
],
|
||||
birthDate: "1986-04-28",
|
||||
phone: "13400134006",
|
||||
telephone: "0755-6666-6666",
|
||||
email: "zhicheng.li@hospital.com",
|
||||
address: "广东省深圳市福田区人民医院",
|
||||
spouseIds: [
|
||||
"23"
|
||||
],
|
||||
childrenIds: [
|
||||
"24"
|
||||
]
|
||||
}),
|
||||
// 第三代配偶
|
||||
"15": createMember("15", "晓雯", "female", 3, {
|
||||
fullName: "赵晓雯",
|
||||
surname: "赵",
|
||||
givenName: "晓雯",
|
||||
ancestralHome: "上海市",
|
||||
bio: "志远之妻,金融行业从业者,MBA学位。",
|
||||
birthDate: "1982-06-15",
|
||||
spouseIds: [
|
||||
"9"
|
||||
],
|
||||
childrenIds: [
|
||||
"17",
|
||||
"18"
|
||||
]
|
||||
}),
|
||||
"16": createMember("16", "诗涵", "female", 3, {
|
||||
fullName: "刘诗涵",
|
||||
surname: "刘",
|
||||
givenName: "诗涵",
|
||||
ancestralHome: "北京市",
|
||||
bio: "志强之妻,设计师,从事品牌设计工作。",
|
||||
birthDate: "1985-10-08",
|
||||
spouseIds: [
|
||||
"10"
|
||||
],
|
||||
childrenIds: [
|
||||
"19"
|
||||
]
|
||||
}),
|
||||
"20": createMember("20", "雨欣", "female", 3, {
|
||||
fullName: "周雨欣",
|
||||
surname: "周",
|
||||
givenName: "雨欣",
|
||||
ancestralHome: "浙江省杭州市",
|
||||
bio: "志明之妻,中学教师,温柔贤淑。",
|
||||
birthDate: "1984-02-25",
|
||||
spouseIds: [
|
||||
"11"
|
||||
],
|
||||
childrenIds: [
|
||||
"21",
|
||||
"22"
|
||||
]
|
||||
}),
|
||||
"23": createMember("23", "婉婷", "female", 3, {
|
||||
fullName: "郑婉婷",
|
||||
surname: "郑",
|
||||
givenName: "婉婷",
|
||||
ancestralHome: "广东省广州市",
|
||||
bio: "志诚之妻,护士,在医院工作。",
|
||||
birthDate: "1988-12-03",
|
||||
spouseIds: [
|
||||
"14"
|
||||
],
|
||||
childrenIds: [
|
||||
"24"
|
||||
]
|
||||
}),
|
||||
// ========== 第四代 (子女辈,2010年代出生) ==========
|
||||
"17": createMember("17", "浩然", "male", 4, {
|
||||
fatherId: "9",
|
||||
motherId: "15",
|
||||
generationName: "浩",
|
||||
rank: 1,
|
||||
bio: "志远长子,在读高中生,成绩优异。",
|
||||
tags: [
|
||||
"学生"
|
||||
],
|
||||
birthDate: "2010-05-10"
|
||||
}),
|
||||
"18": createMember("18", "思琪", "female", 4, {
|
||||
fatherId: "9",
|
||||
motherId: "15",
|
||||
generationName: "思",
|
||||
rank: 2,
|
||||
bio: "志远次女,在读初中,喜欢绘画。",
|
||||
tags: [
|
||||
"学生"
|
||||
],
|
||||
birthDate: "2013-08-22"
|
||||
}),
|
||||
"19": createMember("19", "宇轩", "male", 4, {
|
||||
fatherId: "10",
|
||||
motherId: "16",
|
||||
generationName: "宇",
|
||||
rank: 1,
|
||||
bio: "志强独子,在读小学,对编程感兴趣。",
|
||||
tags: [
|
||||
"学生"
|
||||
],
|
||||
birthDate: "2015-11-18"
|
||||
}),
|
||||
"21": createMember("21", "梓涵", "female", 4, {
|
||||
fatherId: "11",
|
||||
motherId: "20",
|
||||
generationName: "梓",
|
||||
rank: 1,
|
||||
bio: "志明长女,在读大学,主修经济学。",
|
||||
tags: [
|
||||
"大学生"
|
||||
],
|
||||
birthDate: "2007-03-05"
|
||||
}),
|
||||
"22": createMember("22", "子轩", "male", 4, {
|
||||
fatherId: "11",
|
||||
motherId: "20",
|
||||
generationName: "子",
|
||||
rank: 2,
|
||||
bio: "志明次子,在读高中,擅长数学。",
|
||||
tags: [
|
||||
"学生"
|
||||
],
|
||||
birthDate: "2010-07-14"
|
||||
}),
|
||||
"24": createMember("24", "欣怡", "female", 4, {
|
||||
fatherId: "14",
|
||||
motherId: "23",
|
||||
generationName: "欣",
|
||||
rank: 1,
|
||||
bio: "志诚独女,在读初中,活泼可爱。",
|
||||
tags: [
|
||||
"学生"
|
||||
],
|
||||
birthDate: "2012-09-20"
|
||||
})
|
||||
};
|
||||
const mockFamilyData = {
|
||||
members,
|
||||
rootId: "1"
|
||||
};
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/lib/db.ts [app-ssr] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
__turbopack_context__.s([
|
||||
"FamilyTreeDB",
|
||||
()=>FamilyTreeDB,
|
||||
"db",
|
||||
()=>db
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$dexie$40$4$2e$2$2e$1$2f$node_modules$2f$dexie$2f$import$2d$wrapper$2e$mjs__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/dexie@4.2.1/node_modules/dexie/import-wrapper.mjs [app-ssr] (ecmascript)");
|
||||
;
|
||||
class FamilyTreeDB extends __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$dexie$40$4$2e$2$2e$1$2f$node_modules$2f$dexie$2f$import$2d$wrapper$2e$mjs__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"] {
|
||||
members;
|
||||
settings;
|
||||
images;
|
||||
constructor(){
|
||||
super("FamilyTreeDB");
|
||||
this.version(1).stores({
|
||||
members: "id, fullName, fatherId, motherId, [fatherId+motherId]",
|
||||
settings: "key",
|
||||
images: "id"
|
||||
});
|
||||
}
|
||||
}
|
||||
const db = new FamilyTreeDB();
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/lib/notifications.ts [app-ssr] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
__turbopack_context__.s([
|
||||
"checkTodayAnniversaries",
|
||||
()=>checkTodayAnniversaries,
|
||||
"checkUpcomingAnniversaries",
|
||||
()=>checkUpcomingAnniversaries,
|
||||
"notifyTodayAnniversaries",
|
||||
()=>notifyTodayAnniversaries,
|
||||
"requestNotificationPermission",
|
||||
()=>requestNotificationPermission,
|
||||
"sendNotification",
|
||||
()=>sendNotification,
|
||||
"setupDailyNotificationCheck",
|
||||
()=>setupDailyNotificationCheck
|
||||
]);
|
||||
async function requestNotificationPermission() {
|
||||
if (("TURBOPACK compile-time value", "undefined") === "undefined" || !("Notification" in window)) {
|
||||
console.warn("浏览器不支持通知");
|
||||
return false;
|
||||
}
|
||||
//TURBOPACK unreachable
|
||||
;
|
||||
}
|
||||
function sendNotification(title, options) {
|
||||
if (("TURBOPACK compile-time value", "undefined") === "undefined" || !("Notification" in window)) {
|
||||
return;
|
||||
}
|
||||
//TURBOPACK unreachable
|
||||
;
|
||||
}
|
||||
function checkTodayAnniversaries(members) {
|
||||
const today = new Date();
|
||||
const currentMonth = today.getMonth() + 1;
|
||||
const currentDay = today.getDate();
|
||||
const birthdays = [];
|
||||
const deathdays = [];
|
||||
members.forEach((member)=>{
|
||||
// 检查生日
|
||||
if (member.birthDate) {
|
||||
const birthDate = new Date(member.birthDate);
|
||||
if (birthDate.getMonth() + 1 === currentMonth && birthDate.getDate() === currentDay) {
|
||||
birthdays.push(member);
|
||||
}
|
||||
}
|
||||
// 检查忌日
|
||||
if (member.deathDate) {
|
||||
const deathDate = new Date(member.deathDate);
|
||||
if (deathDate.getMonth() + 1 === currentMonth && deathDate.getDate() === currentDay) {
|
||||
deathdays.push(member);
|
||||
}
|
||||
}
|
||||
});
|
||||
return {
|
||||
birthdays,
|
||||
deathdays
|
||||
};
|
||||
}
|
||||
function checkUpcomingAnniversaries(members, days = 7) {
|
||||
const today = new Date();
|
||||
const birthdays = [];
|
||||
const deathdays = [];
|
||||
members.forEach((member)=>{
|
||||
// 检查生日
|
||||
if (member.birthDate) {
|
||||
const birthDate = new Date(member.birthDate);
|
||||
const thisYearBirthday = new Date(today.getFullYear(), birthDate.getMonth(), birthDate.getDate());
|
||||
if (thisYearBirthday < today) {
|
||||
thisYearBirthday.setFullYear(today.getFullYear() + 1);
|
||||
}
|
||||
const daysUntil = Math.ceil((thisYearBirthday.getTime() - today.getTime()) / (1000 * 60 * 60 * 24));
|
||||
if (daysUntil > 0 && daysUntil <= days) {
|
||||
birthdays.push({
|
||||
member,
|
||||
daysUntil
|
||||
});
|
||||
}
|
||||
}
|
||||
// 检查忌日
|
||||
if (member.deathDate) {
|
||||
const deathDate = new Date(member.deathDate);
|
||||
const thisYearDeathday = new Date(today.getFullYear(), deathDate.getMonth(), deathDate.getDate());
|
||||
if (thisYearDeathday < today) {
|
||||
thisYearDeathday.setFullYear(today.getFullYear() + 1);
|
||||
}
|
||||
const daysUntil = Math.ceil((thisYearDeathday.getTime() - today.getTime()) / (1000 * 60 * 60 * 24));
|
||||
if (daysUntil > 0 && daysUntil <= days) {
|
||||
deathdays.push({
|
||||
member,
|
||||
daysUntil
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
return {
|
||||
birthdays,
|
||||
deathdays
|
||||
};
|
||||
}
|
||||
function notifyTodayAnniversaries(members) {
|
||||
const { birthdays, deathdays } = checkTodayAnniversaries(members);
|
||||
if (birthdays.length > 0) {
|
||||
const names = birthdays.map((m)=>m.fullName).join("、");
|
||||
sendNotification("🎂 今日生日提醒", {
|
||||
body: `今天是 ${names} 的生日!`,
|
||||
tag: "birthday-today"
|
||||
});
|
||||
}
|
||||
if (deathdays.length > 0) {
|
||||
const names = deathdays.map((m)=>m.fullName).join("、");
|
||||
sendNotification("🕯️ 今日忌日提醒", {
|
||||
body: `今天是 ${names} 的忌日,缅怀先人。`,
|
||||
tag: "deathday-today"
|
||||
});
|
||||
}
|
||||
}
|
||||
function setupDailyNotificationCheck(members) {
|
||||
if ("TURBOPACK compile-time truthy", 1) {
|
||||
return;
|
||||
}
|
||||
//TURBOPACK unreachable
|
||||
;
|
||||
// 检查是否已经在今天检查过
|
||||
const lastCheckDate = undefined;
|
||||
const today = undefined;
|
||||
}
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx [app-ssr] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
__turbopack_context__.s([
|
||||
"FamilyProvider",
|
||||
()=>FamilyProvider,
|
||||
"useFamily",
|
||||
()=>useFamily
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js [app-ssr] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$mock$2d$data$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/lib/mock-data.ts [app-ssr] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/lib/db.ts [app-ssr] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$dexie$2d$react$2d$hooks$40$4$2e$2$2e$0_$40$types$2b$react$40$19$2e$2$2e$6_dexie$40$4$2e$2$2e$1_react$40$19$2e$2$2e$0$2f$node_modules$2f$dexie$2d$react$2d$hooks$2f$dist$2f$dexie$2d$react$2d$hooks$2e$mjs__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/dexie-react-hooks@4.2.0_@types+react@19.2.6_dexie@4.2.1_react@19.2.0/node_modules/dexie-react-hooks/dist/dexie-react-hooks.mjs [app-ssr] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$notifications$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/lib/notifications.ts [app-ssr] (ecmascript)");
|
||||
"use client";
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
const FamilyContext = /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["createContext"])(undefined);
|
||||
function FamilyProvider({ children }) {
|
||||
const [searchResults, setSearchResults] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])([]);
|
||||
const [isInitialized, setIsInitialized] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])(false);
|
||||
const [highlightedMemberId, setHighlightedMemberId] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])(null);
|
||||
// Live query to get all members
|
||||
const members = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$dexie$2d$react$2d$hooks$40$4$2e$2$2e$0_$40$types$2b$react$40$19$2e$2$2e$6_dexie$40$4$2e$2$2e$1_react$40$19$2e$2$2e$0$2f$node_modules$2f$dexie$2d$react$2d$hooks$2f$dist$2f$dexie$2d$react$2d$hooks$2e$mjs__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useLiveQuery"])(()=>__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members.toArray());
|
||||
// Live query to get rootId
|
||||
const rootIdSetting = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$dexie$2d$react$2d$hooks$40$4$2e$2$2e$0_$40$types$2b$react$40$19$2e$2$2e$6_dexie$40$4$2e$2$2e$1_react$40$19$2e$2$2e$0$2f$node_modules$2f$dexie$2d$react$2d$hooks$2f$dist$2f$dexie$2d$react$2d$hooks$2e$mjs__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useLiveQuery"])(()=>__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].settings.get("rootId"));
|
||||
// Initialize DB with mock data if empty
|
||||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useEffect"])(()=>{
|
||||
const initDb = async ()=>{
|
||||
const count = await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members.count();
|
||||
if (count === 0) {
|
||||
await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].transaction("rw", __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].settings, async ()=>{
|
||||
await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members.bulkAdd(Object.values(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$mock$2d$data$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["mockFamilyData"].members));
|
||||
await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].settings.put({
|
||||
key: "rootId",
|
||||
value: __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$mock$2d$data$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["mockFamilyData"].rootId
|
||||
});
|
||||
});
|
||||
}
|
||||
setIsInitialized(true);
|
||||
};
|
||||
initDb();
|
||||
}, []);
|
||||
// 设置通知检查
|
||||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useEffect"])(()=>{
|
||||
if (isInitialized && members && members.length > 0) {
|
||||
// 检查通知权限并设置每日检查
|
||||
if ("Notification" in window && Notification.permission === "granted") {
|
||||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$notifications$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["setupDailyNotificationCheck"])(members);
|
||||
}
|
||||
}
|
||||
}, [
|
||||
isInitialized,
|
||||
members
|
||||
]);
|
||||
// Construct treeData from DB results
|
||||
const treeData = {
|
||||
rootId: rootIdSetting?.value || "",
|
||||
members: (members || []).reduce((acc, member)=>{
|
||||
acc[member.id] = member;
|
||||
return acc;
|
||||
}, {})
|
||||
};
|
||||
const getMember = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useCallback"])((id)=>{
|
||||
return treeData.members[id];
|
||||
}, [
|
||||
treeData
|
||||
]);
|
||||
const addMember = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useCallback"])(async (member)=>{
|
||||
await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].transaction("rw", __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members, async ()=>{
|
||||
// Add the member
|
||||
await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members.add(member);
|
||||
// Update relationships (Father)
|
||||
if (member.fatherId) {
|
||||
const father = await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members.get(member.fatherId);
|
||||
if (father && !father.childrenIds.includes(member.id)) {
|
||||
await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members.update(member.fatherId, {
|
||||
childrenIds: [
|
||||
...father.childrenIds,
|
||||
member.id
|
||||
]
|
||||
});
|
||||
}
|
||||
}
|
||||
// Update relationships (Mother)
|
||||
if (member.motherId) {
|
||||
const mother = await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members.get(member.motherId);
|
||||
if (mother && !mother.childrenIds.includes(member.id)) {
|
||||
await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members.update(member.motherId, {
|
||||
childrenIds: [
|
||||
...mother.childrenIds,
|
||||
member.id
|
||||
]
|
||||
});
|
||||
}
|
||||
}
|
||||
// Update relationships (Spouses)
|
||||
if (member.spouseIds && member.spouseIds.length > 0) {
|
||||
for (const spouseId of member.spouseIds){
|
||||
const spouse = await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members.get(spouseId);
|
||||
if (spouse && !spouse.spouseIds.includes(member.id)) {
|
||||
await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members.update(spouseId, {
|
||||
spouseIds: [
|
||||
...spouse.spouseIds,
|
||||
member.id
|
||||
]
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}, []);
|
||||
const updateMember = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useCallback"])(async (id, updates)=>{
|
||||
await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members.update(id, {
|
||||
...updates,
|
||||
updatedAt: new Date().toISOString()
|
||||
});
|
||||
}, []);
|
||||
const deleteMember = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useCallback"])(async (id)=>{
|
||||
await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].transaction("rw", __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].settings, async ()=>{
|
||||
// Remove from DB
|
||||
await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members.delete(id);
|
||||
// Note: In a real app, we should also remove references to this ID from other members'
|
||||
// childrenIds, spouseIds, etc. For now, we'll keep it simple as per the original implementation.
|
||||
// If we deleted the root, we might want to handle that, but for now let's leave it.
|
||||
});
|
||||
}, []);
|
||||
const loadData = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useCallback"])(async (data)=>{
|
||||
await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].transaction("rw", __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].settings, async ()=>{
|
||||
await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members.clear();
|
||||
await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members.bulkAdd(Object.values(data.members));
|
||||
await __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].settings.put({
|
||||
key: "rootId",
|
||||
value: data.rootId
|
||||
});
|
||||
});
|
||||
}, []);
|
||||
const resetData = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useCallback"])(async ()=>{
|
||||
await loadData(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$mock$2d$data$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["mockFamilyData"]);
|
||||
}, [
|
||||
loadData
|
||||
]);
|
||||
const searchMembers = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useCallback"])((query)=>{
|
||||
if (!query.trim()) {
|
||||
setSearchResults([]);
|
||||
return;
|
||||
}
|
||||
const lowerQuery = query.toLowerCase();
|
||||
// Perform search on the in-memory treeData for simplicity and speed
|
||||
// (Dexie also supports querying, but we already have the data loaded)
|
||||
const results = Object.values(treeData.members).filter((member)=>member.fullName.includes(lowerQuery) || member.givenName.includes(lowerQuery) || member.courtesyName?.includes(lowerQuery) || member.artName?.includes(lowerQuery));
|
||||
setSearchResults(results);
|
||||
}, [
|
||||
treeData
|
||||
]);
|
||||
// Listen for import events (legacy support for the file input in settings if needed,
|
||||
// but we should prefer using the context method)
|
||||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useEffect"])(()=>{
|
||||
const handleImport = (e)=>{
|
||||
loadData(e.detail);
|
||||
};
|
||||
window.addEventListener("family-data-import", handleImport);
|
||||
return ()=>window.removeEventListener("family-data-import", handleImport);
|
||||
}, [
|
||||
loadData
|
||||
]);
|
||||
return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(FamilyContext.Provider, {
|
||||
value: {
|
||||
treeData,
|
||||
getMember,
|
||||
addMember,
|
||||
updateMember,
|
||||
deleteMember,
|
||||
searchResults,
|
||||
searchMembers,
|
||||
loadData,
|
||||
resetData,
|
||||
isLoading: !isInitialized || !members,
|
||||
highlightedMemberId,
|
||||
setHighlightedMemberId
|
||||
},
|
||||
children: children
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx",
|
||||
lineNumber: 185,
|
||||
columnNumber: 5
|
||||
}, this);
|
||||
}
|
||||
function useFamily() {
|
||||
const context = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useContext"])(FamilyContext);
|
||||
if (context === undefined) {
|
||||
throw new Error("useFamily must be used within a FamilyProvider");
|
||||
}
|
||||
return context;
|
||||
}
|
||||
}),
|
||||
];
|
||||
|
||||
//# sourceMappingURL=%5Broot-of-the-server%5D__14bb5bad._.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -1673,43 +1673,155 @@ function MemberForm({ initialData, existingMembers = [], onSubmit, onCancel }) {
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Card"], {
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["CardHeader"], {
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["CardTitle"], {
|
||||
className: "flex items-center gap-2 text-lg font-serif",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$scroll$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__Scroll$3e$__["Scroll"], {
|
||||
className: "h-5 w-5"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 304,
|
||||
columnNumber: 15
|
||||
}, this),
|
||||
"生平事迹 (Biography)"
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 303,
|
||||
columnNumber: 13
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["CardTitle"], {
|
||||
className: "flex items-center gap-2 text-lg font-serif",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$user$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__User$3e$__["User"], {
|
||||
className: "h-5 w-5"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 304,
|
||||
columnNumber: 15
|
||||
}, this),
|
||||
"联系方式 (Contact Information)"
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 303,
|
||||
columnNumber: 13
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["CardDescription"], {
|
||||
children: "在世成员的联系方式"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 307,
|
||||
columnNumber: 13
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 302,
|
||||
columnNumber: 11
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["CardContent"], {
|
||||
className: "space-y-4",
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$textarea$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Textarea"], {
|
||||
className: "min-h-[200px]",
|
||||
placeholder: "记录生平事迹...",
|
||||
value: formData.bio || "",
|
||||
onChange: (e)=>handleChange("bio", e.target.value)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 309,
|
||||
columnNumber: 13
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
className: "grid grid-cols-1 md:grid-cols-2 gap-6",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "space-y-2",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$label$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Label"], {
|
||||
htmlFor: "phone",
|
||||
children: "手机号 (Mobile Phone)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 311,
|
||||
columnNumber: 15
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$input$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Input"], {
|
||||
id: "phone",
|
||||
type: "tel",
|
||||
value: formData.phone || "",
|
||||
onChange: (e)=>handleChange("phone", e.target.value),
|
||||
placeholder: "e.g. 13800138000"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 312,
|
||||
columnNumber: 15
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 310,
|
||||
columnNumber: 13
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "space-y-2",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$label$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Label"], {
|
||||
htmlFor: "telephone",
|
||||
children: "固定电话 (Telephone)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 321,
|
||||
columnNumber: 15
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$input$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Input"], {
|
||||
id: "telephone",
|
||||
type: "tel",
|
||||
value: formData.telephone || "",
|
||||
onChange: (e)=>handleChange("telephone", e.target.value),
|
||||
placeholder: "e.g. 0592-1234567"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 322,
|
||||
columnNumber: 15
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 320,
|
||||
columnNumber: 13
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "space-y-2",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$label$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Label"], {
|
||||
htmlFor: "email",
|
||||
children: "邮箱 (Email)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 331,
|
||||
columnNumber: 15
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$input$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Input"], {
|
||||
id: "email",
|
||||
type: "email",
|
||||
value: formData.email || "",
|
||||
onChange: (e)=>handleChange("email", e.target.value),
|
||||
placeholder: "e.g. example@email.com"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 332,
|
||||
columnNumber: 15
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 330,
|
||||
columnNumber: 13
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "space-y-2 md:col-span-2",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$label$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Label"], {
|
||||
htmlFor: "address",
|
||||
children: "现居地址 (Address)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 341,
|
||||
columnNumber: 15
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$input$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Input"], {
|
||||
id: "address",
|
||||
value: formData.address || "",
|
||||
onChange: (e)=>handleChange("address", e.target.value),
|
||||
placeholder: "e.g. 福建省厦门市思明区XX路XX号"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 342,
|
||||
columnNumber: 15
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 340,
|
||||
columnNumber: 13
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 308,
|
||||
lineNumber: 309,
|
||||
columnNumber: 11
|
||||
}, this)
|
||||
]
|
||||
@@ -1718,6 +1830,54 @@ function MemberForm({ initialData, existingMembers = [], onSubmit, onCancel }) {
|
||||
lineNumber: 301,
|
||||
columnNumber: 9
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Card"], {
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["CardHeader"], {
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["CardTitle"], {
|
||||
className: "flex items-center gap-2 text-lg font-serif",
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$lucide$2d$react$40$0$2e$454$2e$0_react$40$19$2e$2$2e$0$2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$scroll$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__Scroll$3e$__["Scroll"], {
|
||||
className: "h-5 w-5"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 356,
|
||||
columnNumber: 15
|
||||
}, this),
|
||||
"生平事迹 (Biography)"
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 355,
|
||||
columnNumber: 13
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 354,
|
||||
columnNumber: 11
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["CardContent"], {
|
||||
className: "space-y-4",
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$textarea$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Textarea"], {
|
||||
className: "min-h-[200px]",
|
||||
placeholder: "记录生平事迹...",
|
||||
value: formData.bio || "",
|
||||
onChange: (e)=>handleChange("bio", e.target.value)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 361,
|
||||
columnNumber: 13
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 360,
|
||||
columnNumber: 11
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 353,
|
||||
columnNumber: 9
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Card"], {
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["CardHeader"], {
|
||||
@@ -1728,19 +1888,19 @@ function MemberForm({ initialData, existingMembers = [], onSubmit, onCancel }) {
|
||||
className: "h-5 w-5"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 322,
|
||||
lineNumber: 374,
|
||||
columnNumber: 15
|
||||
}, this),
|
||||
"家庭关系 (Relationships)"
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 321,
|
||||
lineNumber: 373,
|
||||
columnNumber: 13
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 320,
|
||||
lineNumber: 372,
|
||||
columnNumber: 11
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$card$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["CardContent"], {
|
||||
@@ -1756,7 +1916,7 @@ function MemberForm({ initialData, existingMembers = [], onSubmit, onCancel }) {
|
||||
children: "父亲 (Father)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 329,
|
||||
lineNumber: 381,
|
||||
columnNumber: 17
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$select$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Select"], {
|
||||
@@ -1768,12 +1928,12 @@ function MemberForm({ initialData, existingMembers = [], onSubmit, onCancel }) {
|
||||
placeholder: "选择父亲 Select Father"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 335,
|
||||
lineNumber: 387,
|
||||
columnNumber: 21
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 334,
|
||||
lineNumber: 386,
|
||||
columnNumber: 19
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$select$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["SelectContent"], {
|
||||
@@ -1783,7 +1943,7 @@ function MemberForm({ initialData, existingMembers = [], onSubmit, onCancel }) {
|
||||
children: "无 (None)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 338,
|
||||
lineNumber: 390,
|
||||
columnNumber: 21
|
||||
}, this),
|
||||
potentialRelatives.filter((m)=>m.gender === "male").map((m)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$select$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["SelectItem"], {
|
||||
@@ -1796,25 +1956,25 @@ function MemberForm({ initialData, existingMembers = [], onSubmit, onCancel }) {
|
||||
]
|
||||
}, m.id, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 342,
|
||||
lineNumber: 394,
|
||||
columnNumber: 25
|
||||
}, this))
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 337,
|
||||
lineNumber: 389,
|
||||
columnNumber: 19
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 330,
|
||||
lineNumber: 382,
|
||||
columnNumber: 17
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 328,
|
||||
lineNumber: 380,
|
||||
columnNumber: 15
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -1825,7 +1985,7 @@ function MemberForm({ initialData, existingMembers = [], onSubmit, onCancel }) {
|
||||
children: "母亲 (Mother)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 351,
|
||||
lineNumber: 403,
|
||||
columnNumber: 17
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$select$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Select"], {
|
||||
@@ -1837,12 +1997,12 @@ function MemberForm({ initialData, existingMembers = [], onSubmit, onCancel }) {
|
||||
placeholder: "选择母亲 Select Mother"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 357,
|
||||
lineNumber: 409,
|
||||
columnNumber: 21
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 356,
|
||||
lineNumber: 408,
|
||||
columnNumber: 19
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$select$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["SelectContent"], {
|
||||
@@ -1852,7 +2012,7 @@ function MemberForm({ initialData, existingMembers = [], onSubmit, onCancel }) {
|
||||
children: "无 (None)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 360,
|
||||
lineNumber: 412,
|
||||
columnNumber: 21
|
||||
}, this),
|
||||
potentialRelatives.filter((m)=>m.gender === "female").map((m)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$select$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["SelectItem"], {
|
||||
@@ -1865,25 +2025,25 @@ function MemberForm({ initialData, existingMembers = [], onSubmit, onCancel }) {
|
||||
]
|
||||
}, m.id, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 364,
|
||||
lineNumber: 416,
|
||||
columnNumber: 25
|
||||
}, this))
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 359,
|
||||
lineNumber: 411,
|
||||
columnNumber: 19
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 352,
|
||||
lineNumber: 404,
|
||||
columnNumber: 17
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 350,
|
||||
lineNumber: 402,
|
||||
columnNumber: 15
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -1894,7 +2054,7 @@ function MemberForm({ initialData, existingMembers = [], onSubmit, onCancel }) {
|
||||
children: "配偶 (Spouse)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 373,
|
||||
lineNumber: 425,
|
||||
columnNumber: 17
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$select$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Select"], {
|
||||
@@ -1906,12 +2066,12 @@ function MemberForm({ initialData, existingMembers = [], onSubmit, onCancel }) {
|
||||
placeholder: "选择配偶 Select Spouse"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 376,
|
||||
lineNumber: 428,
|
||||
columnNumber: 21
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 375,
|
||||
lineNumber: 427,
|
||||
columnNumber: 19
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$select$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["SelectContent"], {
|
||||
@@ -1921,7 +2081,7 @@ function MemberForm({ initialData, existingMembers = [], onSubmit, onCancel }) {
|
||||
children: "无 (None)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 379,
|
||||
lineNumber: 431,
|
||||
columnNumber: 21
|
||||
}, this),
|
||||
potentialRelatives.filter((m)=>m.gender !== formData.gender) // Suggest opposite gender
|
||||
@@ -1935,42 +2095,42 @@ function MemberForm({ initialData, existingMembers = [], onSubmit, onCancel }) {
|
||||
]
|
||||
}, m.id, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 383,
|
||||
lineNumber: 435,
|
||||
columnNumber: 25
|
||||
}, this))
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 378,
|
||||
lineNumber: 430,
|
||||
columnNumber: 19
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 374,
|
||||
lineNumber: 426,
|
||||
columnNumber: 17
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 372,
|
||||
lineNumber: 424,
|
||||
columnNumber: 15
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 327,
|
||||
lineNumber: 379,
|
||||
columnNumber: 13
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 326,
|
||||
lineNumber: 378,
|
||||
columnNumber: 11
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 319,
|
||||
lineNumber: 371,
|
||||
columnNumber: 9
|
||||
}, this)
|
||||
]
|
||||
@@ -1989,7 +2149,7 @@ function MemberForm({ initialData, existingMembers = [], onSubmit, onCancel }) {
|
||||
children: "取消 (Cancel)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 396,
|
||||
lineNumber: 448,
|
||||
columnNumber: 9
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$ui$2f$button$2e$tsx__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Button"], {
|
||||
@@ -1998,13 +2158,13 @@ function MemberForm({ initialData, existingMembers = [], onSubmit, onCancel }) {
|
||||
children: "保存 (Save Member)"
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 399,
|
||||
lineNumber: 451,
|
||||
columnNumber: 9
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/components/members/member-form.tsx",
|
||||
lineNumber: 395,
|
||||
lineNumber: 447,
|
||||
columnNumber: 7
|
||||
}, this)
|
||||
]
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -48,74 +48,406 @@ const createMember = (id, name, gender, generation, props = {})=>{
|
||||
};
|
||||
};
|
||||
const members = {
|
||||
"1": createMember("1", "文德", "male", 1, {
|
||||
courtesyName: "博远",
|
||||
ancestralHome: "陇西",
|
||||
bio: "李氏入闽始祖,洪武年间迁居福建。",
|
||||
// ========== 第一代 (曾祖父母辈,1920年代出生) ==========
|
||||
"1": createMember("1", "国强", "male", 1, {
|
||||
ancestralHome: "广东省广州市",
|
||||
bio: "李氏家族第一代,抗战时期参加革命工作,新中国成立后在政府部门工作,为人正直,深受敬重。",
|
||||
tags: [
|
||||
"始祖",
|
||||
"进士"
|
||||
"革命干部",
|
||||
"始祖"
|
||||
],
|
||||
birthDate: "1350-01-01",
|
||||
deathDate: "1410-05-20"
|
||||
birthDate: "1925-03-15",
|
||||
deathDate: "2008-08-20",
|
||||
spouseIds: [
|
||||
"2"
|
||||
],
|
||||
childrenIds: [
|
||||
"3",
|
||||
"4",
|
||||
"5"
|
||||
]
|
||||
}),
|
||||
"2": createMember("2", "氏(王)", "female", 1, {
|
||||
fullName: "王氏",
|
||||
"2": createMember("2", "秀芳", "female", 1, {
|
||||
fullName: "王秀芳",
|
||||
surname: "王",
|
||||
givenName: "氏",
|
||||
givenName: "秀芳",
|
||||
ancestralHome: "广东省广州市",
|
||||
bio: "知识分子家庭出身,建国后在学校任教,相夫教子,育有三子。",
|
||||
birthDate: "1928-07-08",
|
||||
deathDate: "2015-12-10",
|
||||
spouseIds: [
|
||||
"1"
|
||||
],
|
||||
childrenIds: [
|
||||
"3",
|
||||
"4",
|
||||
"5"
|
||||
]
|
||||
}),
|
||||
// Generation 2
|
||||
"3": createMember("3", "世昌", "male", 2, {
|
||||
// ========== 第二代 (祖父母辈,1950年代出生) ==========
|
||||
"3": createMember("3", "建华", "male", 2, {
|
||||
fatherId: "1",
|
||||
motherId: "2",
|
||||
courtesyName: "继业"
|
||||
}),
|
||||
"4": createMember("4", "世盛", "male", 2, {
|
||||
fatherId: "1",
|
||||
motherId: "2",
|
||||
courtesyName: "继荣"
|
||||
}),
|
||||
// Generation 3
|
||||
"5": createMember("5", "宗仁", "male", 3, {
|
||||
fatherId: "3",
|
||||
generationName: "宗"
|
||||
}),
|
||||
"6": createMember("6", "宗义", "male", 3, {
|
||||
fatherId: "3",
|
||||
generationName: "宗"
|
||||
}),
|
||||
// Generation 24 (Modern)
|
||||
"100": createMember("100", "建国", "male", 23, {
|
||||
generationName: "建"
|
||||
}),
|
||||
"101": createMember("101", "明远", "male", 24, {
|
||||
fatherId: "100",
|
||||
generationName: "明",
|
||||
birthDate: "1985-06-15",
|
||||
ancestralHome: "广东省深圳市",
|
||||
birthPlace: "广东省深圳市",
|
||||
bio: "国强长子,改革开放后下海经商,迁往深圳创办家族企业,事业有成。",
|
||||
tags: [
|
||||
"户主"
|
||||
"企业家"
|
||||
],
|
||||
birthDate: "1952-05-20",
|
||||
deathDate: "2020-03-15",
|
||||
spouseIds: [
|
||||
"6"
|
||||
],
|
||||
childrenIds: [
|
||||
"9",
|
||||
"10"
|
||||
]
|
||||
}),
|
||||
"102": createMember("102", "子豪", "male", 25, {
|
||||
fatherId: "101",
|
||||
birthDate: "2015-09-01"
|
||||
"4": createMember("4", "建国", "male", 2, {
|
||||
fatherId: "1",
|
||||
motherId: "2",
|
||||
generationName: "建",
|
||||
rank: 2,
|
||||
bio: "次子,大学教授,追随教育事业迁往北京,从事教育工作四十余年,桃李满天下。",
|
||||
tags: [
|
||||
"教授",
|
||||
"次子"
|
||||
],
|
||||
birthDate: "1955-11-03",
|
||||
ancestralHome: "北京市",
|
||||
birthPlace: "北京市",
|
||||
spouseIds: [
|
||||
"7"
|
||||
],
|
||||
childrenIds: [
|
||||
"11",
|
||||
"12",
|
||||
"13"
|
||||
]
|
||||
}),
|
||||
"5": createMember("5", "建军", "male", 2, {
|
||||
fatherId: "1",
|
||||
motherId: "2",
|
||||
generationName: "建",
|
||||
rank: 3,
|
||||
bio: "三子,医生,支援西部建设迁往上海,从医三十余年,救死扶伤。",
|
||||
tags: [
|
||||
"医生",
|
||||
"三子"
|
||||
],
|
||||
birthDate: "1958-11-03",
|
||||
ancestralHome: "上海市",
|
||||
birthPlace: "上海市",
|
||||
spouseIds: [
|
||||
"8"
|
||||
],
|
||||
childrenIds: [
|
||||
"14"
|
||||
]
|
||||
}),
|
||||
// 第二代配偶
|
||||
"6": createMember("6", "丽华", "female", 2, {
|
||||
fullName: "陈丽华",
|
||||
surname: "陈",
|
||||
givenName: "丽华",
|
||||
ancestralHome: "广东省深圳市",
|
||||
bio: "建华之妻,企业管理者,协助丈夫打理家族企业。",
|
||||
birthDate: "1955-05-20",
|
||||
deathDate: "2021-11-05",
|
||||
spouseIds: [
|
||||
"3"
|
||||
],
|
||||
childrenIds: [
|
||||
"9",
|
||||
"10"
|
||||
]
|
||||
}),
|
||||
"7": createMember("7", "美玲", "female", 2, {
|
||||
fullName: "张美玲",
|
||||
surname: "张",
|
||||
givenName: "美玲",
|
||||
ancestralHome: "广东省广州市",
|
||||
bio: "建国之妻,中学教师,与丈夫志同道合,共同从事教育事业。",
|
||||
birthDate: "1957-01-15",
|
||||
spouseIds: [
|
||||
"4"
|
||||
],
|
||||
childrenIds: [
|
||||
"11",
|
||||
"12",
|
||||
"13"
|
||||
]
|
||||
}),
|
||||
"8": createMember("8", "雅琴", "female", 2, {
|
||||
fullName: "林雅琴",
|
||||
surname: "林",
|
||||
givenName: "雅琴",
|
||||
ancestralHome: "福建省厦门市",
|
||||
bio: "建军之妻,护士长,温柔贤惠,善于持家。",
|
||||
birthDate: "1960-08-10",
|
||||
spouseIds: [
|
||||
"5"
|
||||
],
|
||||
childrenIds: [
|
||||
"14"
|
||||
]
|
||||
}),
|
||||
// ========== 第三代 (父母辈,1980年代出生) ==========
|
||||
"9": createMember("9", "志远", "male", 3, {
|
||||
fatherId: "3",
|
||||
motherId: "6",
|
||||
generationName: "志",
|
||||
rank: 1,
|
||||
ancestralHome: "广东省深圳市",
|
||||
birthPlace: "广东省深圳市",
|
||||
bio: "建华长子,留学归国,接管家族企业,推动企业转型升级。",
|
||||
tags: [
|
||||
"企业家",
|
||||
"海归"
|
||||
],
|
||||
birthDate: "1980-03-08",
|
||||
phone: "13800138001",
|
||||
email: "zhiyuan.li@company.com",
|
||||
address: "广东省广州市天河区珠江新城XX路XX号",
|
||||
spouseIds: [
|
||||
"15"
|
||||
],
|
||||
childrenIds: [
|
||||
"17",
|
||||
"18"
|
||||
]
|
||||
}),
|
||||
"10": createMember("10", "志强", "male", 3, {
|
||||
fatherId: "3",
|
||||
motherId: "6",
|
||||
generationName: "志",
|
||||
rank: 2,
|
||||
ancestralHome: "北京市",
|
||||
birthPlace: "北京市",
|
||||
bio: "建华次子,互联网创业者,北上创业,创办科技公司。",
|
||||
tags: [
|
||||
"创业者",
|
||||
"科技"
|
||||
],
|
||||
birthDate: "1983-07-22",
|
||||
phone: "13900139002",
|
||||
email: "zhiqiang.li@techco.com",
|
||||
address: "北京市朝阳区望京SOHO",
|
||||
spouseIds: [
|
||||
"16"
|
||||
],
|
||||
childrenIds: [
|
||||
"19"
|
||||
]
|
||||
}),
|
||||
"11": createMember("11", "志明", "male", 3, {
|
||||
fatherId: "4",
|
||||
motherId: "7",
|
||||
generationName: "志",
|
||||
rank: 1,
|
||||
ancestralHome: "广东省广州市",
|
||||
birthPlace: "广东省广州市",
|
||||
bio: "建国长子,大学副教授,从北京返回广州从事教育研究工作。",
|
||||
tags: [
|
||||
"副教授",
|
||||
"学者"
|
||||
],
|
||||
birthDate: "1982-01-18",
|
||||
phone: "13700137003",
|
||||
telephone: "020-8888-8888",
|
||||
email: "zhiming.li@university.edu.cn",
|
||||
address: "广东省广州市海珠区大学城",
|
||||
spouseIds: [
|
||||
"20"
|
||||
],
|
||||
childrenIds: [
|
||||
"21",
|
||||
"22"
|
||||
]
|
||||
}),
|
||||
"12": createMember("12", "志文", "male", 3, {
|
||||
fatherId: "4",
|
||||
motherId: "7",
|
||||
generationName: "志",
|
||||
rank: 2,
|
||||
bio: "建国次子,作家,追求文学梦想迁往成都,出版多部文学作品。",
|
||||
tags: [
|
||||
"作家",
|
||||
"文学"
|
||||
],
|
||||
birthDate: "1985-09-12",
|
||||
ancestralHome: "四川省成都市",
|
||||
birthPlace: "四川省成都市",
|
||||
phone: "13600136004",
|
||||
email: "zhiwen.li@writer.com"
|
||||
}),
|
||||
"13": createMember("13", "志勇", "male", 3, {
|
||||
fatherId: "4",
|
||||
motherId: "7",
|
||||
generationName: "志",
|
||||
rank: 3,
|
||||
ancestralHome: "上海市",
|
||||
birthPlace: "上海市",
|
||||
bio: "建国三子,律师,从北京迁往上海,执业于知名律师事务所。",
|
||||
tags: [
|
||||
"律师"
|
||||
],
|
||||
birthDate: "1988-11-05",
|
||||
phone: "13500135005",
|
||||
email: "zhiyong.li@lawfirm.com",
|
||||
address: "上海市浦东新区陆家嘴金融中心"
|
||||
}),
|
||||
"14": createMember("14", "志诚", "male", 3, {
|
||||
fatherId: "5",
|
||||
motherId: "8",
|
||||
generationName: "志",
|
||||
rank: 1,
|
||||
ancestralHome: "广东省深圳市",
|
||||
birthPlace: "广东省深圳市",
|
||||
bio: "建军独子,医生,从上海迁往深圳,继承父业,在医院工作。",
|
||||
tags: [
|
||||
"医生"
|
||||
],
|
||||
birthDate: "1986-04-28",
|
||||
phone: "13400134006",
|
||||
telephone: "0755-6666-6666",
|
||||
email: "zhicheng.li@hospital.com",
|
||||
address: "广东省深圳市福田区人民医院",
|
||||
spouseIds: [
|
||||
"23"
|
||||
],
|
||||
childrenIds: [
|
||||
"24"
|
||||
]
|
||||
}),
|
||||
// 第三代配偶
|
||||
"15": createMember("15", "晓雯", "female", 3, {
|
||||
fullName: "赵晓雯",
|
||||
surname: "赵",
|
||||
givenName: "晓雯",
|
||||
ancestralHome: "上海市",
|
||||
bio: "志远之妻,金融行业从业者,MBA学位。",
|
||||
birthDate: "1982-06-15",
|
||||
spouseIds: [
|
||||
"9"
|
||||
],
|
||||
childrenIds: [
|
||||
"17",
|
||||
"18"
|
||||
]
|
||||
}),
|
||||
"16": createMember("16", "诗涵", "female", 3, {
|
||||
fullName: "刘诗涵",
|
||||
surname: "刘",
|
||||
givenName: "诗涵",
|
||||
ancestralHome: "北京市",
|
||||
bio: "志强之妻,设计师,从事品牌设计工作。",
|
||||
birthDate: "1985-10-08",
|
||||
spouseIds: [
|
||||
"10"
|
||||
],
|
||||
childrenIds: [
|
||||
"19"
|
||||
]
|
||||
}),
|
||||
"20": createMember("20", "雨欣", "female", 3, {
|
||||
fullName: "周雨欣",
|
||||
surname: "周",
|
||||
givenName: "雨欣",
|
||||
ancestralHome: "浙江省杭州市",
|
||||
bio: "志明之妻,中学教师,温柔贤淑。",
|
||||
birthDate: "1984-02-25",
|
||||
spouseIds: [
|
||||
"11"
|
||||
],
|
||||
childrenIds: [
|
||||
"21",
|
||||
"22"
|
||||
]
|
||||
}),
|
||||
"23": createMember("23", "婉婷", "female", 3, {
|
||||
fullName: "郑婉婷",
|
||||
surname: "郑",
|
||||
givenName: "婉婷",
|
||||
ancestralHome: "广东省广州市",
|
||||
bio: "志诚之妻,护士,在医院工作。",
|
||||
birthDate: "1988-12-03",
|
||||
spouseIds: [
|
||||
"14"
|
||||
],
|
||||
childrenIds: [
|
||||
"24"
|
||||
]
|
||||
}),
|
||||
// ========== 第四代 (子女辈,2010年代出生) ==========
|
||||
"17": createMember("17", "浩然", "male", 4, {
|
||||
fatherId: "9",
|
||||
motherId: "15",
|
||||
generationName: "浩",
|
||||
rank: 1,
|
||||
bio: "志远长子,在读高中生,成绩优异。",
|
||||
tags: [
|
||||
"学生"
|
||||
],
|
||||
birthDate: "2010-05-10"
|
||||
}),
|
||||
"18": createMember("18", "思琪", "female", 4, {
|
||||
fatherId: "9",
|
||||
motherId: "15",
|
||||
generationName: "思",
|
||||
rank: 2,
|
||||
bio: "志远次女,在读初中,喜欢绘画。",
|
||||
tags: [
|
||||
"学生"
|
||||
],
|
||||
birthDate: "2013-08-22"
|
||||
}),
|
||||
"19": createMember("19", "宇轩", "male", 4, {
|
||||
fatherId: "10",
|
||||
motherId: "16",
|
||||
generationName: "宇",
|
||||
rank: 1,
|
||||
bio: "志强独子,在读小学,对编程感兴趣。",
|
||||
tags: [
|
||||
"学生"
|
||||
],
|
||||
birthDate: "2015-11-18"
|
||||
}),
|
||||
"21": createMember("21", "梓涵", "female", 4, {
|
||||
fatherId: "11",
|
||||
motherId: "20",
|
||||
generationName: "梓",
|
||||
rank: 1,
|
||||
bio: "志明长女,在读大学,主修经济学。",
|
||||
tags: [
|
||||
"大学生"
|
||||
],
|
||||
birthDate: "2007-03-05"
|
||||
}),
|
||||
"22": createMember("22", "子轩", "male", 4, {
|
||||
fatherId: "11",
|
||||
motherId: "20",
|
||||
generationName: "子",
|
||||
rank: 2,
|
||||
bio: "志明次子,在读高中,擅长数学。",
|
||||
tags: [
|
||||
"学生"
|
||||
],
|
||||
birthDate: "2010-07-14"
|
||||
}),
|
||||
"24": createMember("24", "欣怡", "female", 4, {
|
||||
fatherId: "14",
|
||||
motherId: "23",
|
||||
generationName: "欣",
|
||||
rank: 1,
|
||||
bio: "志诚独女,在读初中,活泼可爱。",
|
||||
tags: [
|
||||
"学生"
|
||||
],
|
||||
birthDate: "2012-09-20"
|
||||
})
|
||||
};
|
||||
// Link relationships bi-directionally for the mock data
|
||||
members["1"].spouseIds = [
|
||||
"2"
|
||||
];
|
||||
members["1"].childrenIds = [
|
||||
"3",
|
||||
"4"
|
||||
];
|
||||
members["3"].childrenIds = [
|
||||
"5",
|
||||
"6"
|
||||
];
|
||||
const mockFamilyData = {
|
||||
members,
|
||||
rootId: "1"
|
||||
@@ -171,6 +503,7 @@ const FamilyContext = /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$proje
|
||||
function FamilyProvider({ children }) {
|
||||
const [searchResults, setSearchResults] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])([]);
|
||||
const [isInitialized, setIsInitialized] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])(false);
|
||||
const [highlightedMemberId, setHighlightedMemberId] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])(null);
|
||||
// Live query to get all members
|
||||
const members = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$dexie$2d$react$2d$hooks$40$4$2e$2$2e$0_$40$types$2b$react$40$19$2e$2$2e$6_dexie$40$4$2e$2$2e$1_react$40$19$2e$2$2e$0$2f$node_modules$2f$dexie$2d$react$2d$hooks$2f$dist$2f$dexie$2d$react$2d$hooks$2e$mjs__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useLiveQuery"])(()=>__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members.toArray());
|
||||
// Live query to get rootId
|
||||
@@ -314,12 +647,14 @@ function FamilyProvider({ children }) {
|
||||
searchMembers,
|
||||
loadData,
|
||||
resetData,
|
||||
isLoading: !isInitialized || !members
|
||||
isLoading: !isInitialized || !members,
|
||||
highlightedMemberId,
|
||||
setHighlightedMemberId
|
||||
},
|
||||
children: children
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx",
|
||||
lineNumber: 171,
|
||||
lineNumber: 175,
|
||||
columnNumber: 5
|
||||
}, this);
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,268 @@
|
||||
module.exports = [
|
||||
"[next]/internal/font/google/geist_a7695b8e.module.css [app-rsc] (css module)", ((__turbopack_context__) => {
|
||||
|
||||
__turbopack_context__.v({
|
||||
"className": "geist_a7695b8e-module__Entzca__className",
|
||||
});
|
||||
}),
|
||||
"[next]/internal/font/google/geist_a7695b8e.js [app-rsc] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
__turbopack_context__.s([
|
||||
"default",
|
||||
()=>__TURBOPACK__default__export__
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_a7695b8e$2e$module$2e$css__$5b$app$2d$rsc$5d$__$28$css__module$29$__ = __turbopack_context__.i("[next]/internal/font/google/geist_a7695b8e.module.css [app-rsc] (css module)");
|
||||
;
|
||||
const fontData = {
|
||||
className: __TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_a7695b8e$2e$module$2e$css__$5b$app$2d$rsc$5d$__$28$css__module$29$__["default"].className,
|
||||
style: {
|
||||
fontFamily: "'Geist', 'Geist Fallback'",
|
||||
fontStyle: "normal"
|
||||
}
|
||||
};
|
||||
if (__TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_a7695b8e$2e$module$2e$css__$5b$app$2d$rsc$5d$__$28$css__module$29$__["default"].variable != null) {
|
||||
fontData.variable = __TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_a7695b8e$2e$module$2e$css__$5b$app$2d$rsc$5d$__$28$css__module$29$__["default"].variable;
|
||||
}
|
||||
const __TURBOPACK__default__export__ = fontData;
|
||||
}),
|
||||
"[next]/internal/font/google/geist_mono_354fc78.module.css [app-rsc] (css module)", ((__turbopack_context__) => {
|
||||
|
||||
__turbopack_context__.v({
|
||||
"className": "geist_mono_354fc78-module__zrY5Sa__className",
|
||||
});
|
||||
}),
|
||||
"[next]/internal/font/google/geist_mono_354fc78.js [app-rsc] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
__turbopack_context__.s([
|
||||
"default",
|
||||
()=>__TURBOPACK__default__export__
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_mono_354fc78$2e$module$2e$css__$5b$app$2d$rsc$5d$__$28$css__module$29$__ = __turbopack_context__.i("[next]/internal/font/google/geist_mono_354fc78.module.css [app-rsc] (css module)");
|
||||
;
|
||||
const fontData = {
|
||||
className: __TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_mono_354fc78$2e$module$2e$css__$5b$app$2d$rsc$5d$__$28$css__module$29$__["default"].className,
|
||||
style: {
|
||||
fontFamily: "'Geist Mono', 'Geist Mono Fallback'",
|
||||
fontStyle: "normal"
|
||||
}
|
||||
};
|
||||
if (__TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_mono_354fc78$2e$module$2e$css__$5b$app$2d$rsc$5d$__$28$css__module$29$__["default"].variable != null) {
|
||||
fontData.variable = __TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_mono_354fc78$2e$module$2e$css__$5b$app$2d$rsc$5d$__$28$css__module$29$__["default"].variable;
|
||||
}
|
||||
const __TURBOPACK__default__export__ = fontData;
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx [app-rsc] (client reference proxy) <module evaluation>", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
// This file is generated by next-core EcmascriptClientReferenceModule.
|
||||
__turbopack_context__.s([
|
||||
"FamilyProvider",
|
||||
()=>FamilyProvider,
|
||||
"useFamily",
|
||||
()=>useFamily
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js [app-rsc] (ecmascript)");
|
||||
;
|
||||
const FamilyProvider = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["registerClientReference"])(function() {
|
||||
throw new Error("Attempted to call FamilyProvider() from the server but FamilyProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.");
|
||||
}, "[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx <module evaluation>", "FamilyProvider");
|
||||
const useFamily = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["registerClientReference"])(function() {
|
||||
throw new Error("Attempted to call useFamily() from the server but useFamily is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.");
|
||||
}, "[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx <module evaluation>", "useFamily");
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx [app-rsc] (client reference proxy)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
// This file is generated by next-core EcmascriptClientReferenceModule.
|
||||
__turbopack_context__.s([
|
||||
"FamilyProvider",
|
||||
()=>FamilyProvider,
|
||||
"useFamily",
|
||||
()=>useFamily
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js [app-rsc] (ecmascript)");
|
||||
;
|
||||
const FamilyProvider = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["registerClientReference"])(function() {
|
||||
throw new Error("Attempted to call FamilyProvider() from the server but FamilyProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.");
|
||||
}, "[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx", "FamilyProvider");
|
||||
const useFamily = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["registerClientReference"])(function() {
|
||||
throw new Error("Attempted to call useFamily() from the server but useFamily is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.");
|
||||
}, "[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx", "useFamily");
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx [app-rsc] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$context$2f$family$2d$context$2e$tsx__$5b$app$2d$rsc$5d$__$28$client__reference__proxy$29$__$3c$module__evaluation$3e$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx [app-rsc] (client reference proxy) <module evaluation>");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$context$2f$family$2d$context$2e$tsx__$5b$app$2d$rsc$5d$__$28$client__reference__proxy$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx [app-rsc] (client reference proxy)");
|
||||
;
|
||||
__turbopack_context__.n(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$context$2f$family$2d$context$2e$tsx__$5b$app$2d$rsc$5d$__$28$client__reference__proxy$29$__);
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/components/pwa/pwa-provider.tsx [app-rsc] (client reference proxy) <module evaluation>", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
// This file is generated by next-core EcmascriptClientReferenceModule.
|
||||
__turbopack_context__.s([
|
||||
"PWAProvider",
|
||||
()=>PWAProvider
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js [app-rsc] (ecmascript)");
|
||||
;
|
||||
const PWAProvider = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["registerClientReference"])(function() {
|
||||
throw new Error("Attempted to call PWAProvider() from the server but PWAProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.");
|
||||
}, "[project]/Documents/go-new/chinese-family-tree/components/pwa/pwa-provider.tsx <module evaluation>", "PWAProvider");
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/components/pwa/pwa-provider.tsx [app-rsc] (client reference proxy)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
// This file is generated by next-core EcmascriptClientReferenceModule.
|
||||
__turbopack_context__.s([
|
||||
"PWAProvider",
|
||||
()=>PWAProvider
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js [app-rsc] (ecmascript)");
|
||||
;
|
||||
const PWAProvider = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["registerClientReference"])(function() {
|
||||
throw new Error("Attempted to call PWAProvider() from the server but PWAProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.");
|
||||
}, "[project]/Documents/go-new/chinese-family-tree/components/pwa/pwa-provider.tsx", "PWAProvider");
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/components/pwa/pwa-provider.tsx [app-rsc] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$pwa$2f$pwa$2d$provider$2e$tsx__$5b$app$2d$rsc$5d$__$28$client__reference__proxy$29$__$3c$module__evaluation$3e$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/components/pwa/pwa-provider.tsx [app-rsc] (client reference proxy) <module evaluation>");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$pwa$2f$pwa$2d$provider$2e$tsx__$5b$app$2d$rsc$5d$__$28$client__reference__proxy$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/components/pwa/pwa-provider.tsx [app-rsc] (client reference proxy)");
|
||||
;
|
||||
__turbopack_context__.n(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$pwa$2f$pwa$2d$provider$2e$tsx__$5b$app$2d$rsc$5d$__$28$client__reference__proxy$29$__);
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/app/layout.tsx [app-rsc] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
__turbopack_context__.s([
|
||||
"default",
|
||||
()=>RootLayout,
|
||||
"metadata",
|
||||
()=>metadata
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js [app-rsc] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_a7695b8e$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[next]/internal/font/google/geist_a7695b8e.js [app-rsc] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$next$5d2f$internal$2f$font$2f$google$2f$geist_mono_354fc78$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[next]/internal/font/google/geist_mono_354fc78.js [app-rsc] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$vercel$2b$analytics$40$1$2e$5$2e$0_next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f40$vercel$2f$analytics$2f$dist$2f$next$2f$index$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@vercel+analytics@1.5.0_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__react@19.2.0/node_modules/@vercel/analytics/dist/next/index.mjs [app-rsc] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$context$2f$family$2d$context$2e$tsx__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx [app-rsc] (ecmascript)");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$pwa$2f$pwa$2d$provider$2e$tsx__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/components/pwa/pwa-provider.tsx [app-rsc] (ecmascript)");
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
const metadata = {
|
||||
title: "华夏谱 (HuaXiaPu) - 家族树管理系统",
|
||||
description: "现代中国家族树管理系统",
|
||||
generator: "v0.app",
|
||||
manifest: "/manifest.json",
|
||||
appleWebApp: {
|
||||
capable: true,
|
||||
statusBarStyle: "default",
|
||||
title: "华夏谱"
|
||||
},
|
||||
icons: {
|
||||
icon: [
|
||||
{
|
||||
url: "/icon-light-32x32.png",
|
||||
media: "(prefers-color-scheme: light)"
|
||||
},
|
||||
{
|
||||
url: "/icon-dark-32x32.png",
|
||||
media: "(prefers-color-scheme: dark)"
|
||||
},
|
||||
{
|
||||
url: "/icon.svg",
|
||||
type: "image/svg+xml"
|
||||
}
|
||||
],
|
||||
apple: "/apple-icon.png"
|
||||
}
|
||||
};
|
||||
function RootLayout({ children }) {
|
||||
return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("html", {
|
||||
lang: "zh-CN",
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])("body", {
|
||||
className: `font-sans antialiased`,
|
||||
children: [
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$context$2f$family$2d$context$2e$tsx__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["FamilyProvider"], {
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$components$2f$pwa$2f$pwa$2d$provider$2e$tsx__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["PWAProvider"], {
|
||||
children: children
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/layout.tsx",
|
||||
lineNumber: 50,
|
||||
columnNumber: 11
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/layout.tsx",
|
||||
lineNumber: 49,
|
||||
columnNumber: 9
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$vercel$2b$analytics$40$1$2e$5$2e$0_next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f40$vercel$2f$analytics$2f$dist$2f$next$2f$index$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["Analytics"], {}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/layout.tsx",
|
||||
lineNumber: 54,
|
||||
columnNumber: 9
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/layout.tsx",
|
||||
lineNumber: 48,
|
||||
columnNumber: 7
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/layout.tsx",
|
||||
lineNumber: 47,
|
||||
columnNumber: 5
|
||||
}, this);
|
||||
}
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js [app-rsc] (ecmascript)", ((__turbopack_context__, module, exports) => {
|
||||
"use strict";
|
||||
|
||||
module.exports = __turbopack_context__.r("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/module.compiled.js [app-rsc] (ecmascript)").vendored['react-rsc'].ReactJsxDevRuntime; //# sourceMappingURL=react-jsx-dev-runtime.js.map
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@vercel+analytics@1.5.0_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__react@19.2.0/node_modules/@vercel/analytics/dist/next/index.mjs [app-rsc] (client reference proxy) <module evaluation>", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
// This file is generated by next-core EcmascriptClientReferenceModule.
|
||||
__turbopack_context__.s([
|
||||
"Analytics",
|
||||
()=>Analytics
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js [app-rsc] (ecmascript)");
|
||||
;
|
||||
const Analytics = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["registerClientReference"])(function() {
|
||||
throw new Error("Attempted to call Analytics() from the server but Analytics is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.");
|
||||
}, "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@vercel+analytics@1.5.0_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__react@19.2.0/node_modules/@vercel/analytics/dist/next/index.mjs <module evaluation>", "Analytics");
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@vercel+analytics@1.5.0_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__react@19.2.0/node_modules/@vercel/analytics/dist/next/index.mjs [app-rsc] (client reference proxy)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
// This file is generated by next-core EcmascriptClientReferenceModule.
|
||||
__turbopack_context__.s([
|
||||
"Analytics",
|
||||
()=>Analytics
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js [app-rsc] (ecmascript)");
|
||||
;
|
||||
const Analytics = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["registerClientReference"])(function() {
|
||||
throw new Error("Attempted to call Analytics() from the server but Analytics is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.");
|
||||
}, "[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@vercel+analytics@1.5.0_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__react@19.2.0/node_modules/@vercel/analytics/dist/next/index.mjs", "Analytics");
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@vercel+analytics@1.5.0_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__react@19.2.0/node_modules/@vercel/analytics/dist/next/index.mjs [app-rsc] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$vercel$2b$analytics$40$1$2e$5$2e$0_next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f40$vercel$2f$analytics$2f$dist$2f$next$2f$index$2e$mjs__$5b$app$2d$rsc$5d$__$28$client__reference__proxy$29$__$3c$module__evaluation$3e$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@vercel+analytics@1.5.0_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__react@19.2.0/node_modules/@vercel/analytics/dist/next/index.mjs [app-rsc] (client reference proxy) <module evaluation>");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$vercel$2b$analytics$40$1$2e$5$2e$0_next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f40$vercel$2f$analytics$2f$dist$2f$next$2f$index$2e$mjs__$5b$app$2d$rsc$5d$__$28$client__reference__proxy$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/@vercel+analytics@1.5.0_next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0__react@19.2.0/node_modules/@vercel/analytics/dist/next/index.mjs [app-rsc] (client reference proxy)");
|
||||
;
|
||||
__turbopack_context__.n(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$vercel$2b$analytics$40$1$2e$5$2e$0_next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f40$vercel$2f$analytics$2f$dist$2f$next$2f$index$2e$mjs__$5b$app$2d$rsc$5d$__$28$client__reference__proxy$29$__);
|
||||
}),
|
||||
];
|
||||
|
||||
//# sourceMappingURL=%5Broot-of-the-server%5D__64deeb28._.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -123,6 +123,12 @@ const metadata = {
|
||||
title: "华夏谱 (HuaXiaPu) - 家族树管理系统",
|
||||
description: "现代中国家族树管理系统",
|
||||
generator: "v0.app",
|
||||
manifest: "/manifest.json",
|
||||
appleWebApp: {
|
||||
capable: true,
|
||||
statusBarStyle: "default",
|
||||
title: "华夏谱"
|
||||
},
|
||||
icons: {
|
||||
icon: [
|
||||
{
|
||||
@@ -151,23 +157,23 @@ function RootLayout({ children }) {
|
||||
children: children
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/layout.tsx",
|
||||
lineNumber: 42,
|
||||
lineNumber: 49,
|
||||
columnNumber: 9
|
||||
}, this),
|
||||
/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f40$vercel$2b$analytics$40$1$2e$5$2e$0_next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f40$vercel$2f$analytics$2f$dist$2f$next$2f$index$2e$mjs__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["Analytics"], {}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/layout.tsx",
|
||||
lineNumber: 43,
|
||||
lineNumber: 50,
|
||||
columnNumber: 9
|
||||
}, this)
|
||||
]
|
||||
}, void 0, true, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/layout.tsx",
|
||||
lineNumber: 41,
|
||||
lineNumber: 48,
|
||||
columnNumber: 7
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/app/layout.tsx",
|
||||
lineNumber: 40,
|
||||
lineNumber: 47,
|
||||
columnNumber: 5
|
||||
}, this);
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,58 @@
|
||||
module.exports = [
|
||||
"[externals]/next/dist/shared/lib/no-fallback-error.external.js [external] (next/dist/shared/lib/no-fallback-error.external.js, cjs)", ((__turbopack_context__, module, exports) => {
|
||||
|
||||
const mod = __turbopack_context__.x("next/dist/shared/lib/no-fallback-error.external.js", () => require("next/dist/shared/lib/no-fallback-error.external.js"));
|
||||
|
||||
module.exports = mod;
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/app/layout.tsx [app-rsc] (ecmascript, Next.js Server Component)", ((__turbopack_context__) => {
|
||||
|
||||
__turbopack_context__.n(__turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/app/layout.tsx [app-rsc] (ecmascript)"));
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/app/loading.tsx [app-rsc] (ecmascript, Next.js Server Component)", ((__turbopack_context__) => {
|
||||
|
||||
__turbopack_context__.n(__turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/app/loading.tsx [app-rsc] (ecmascript)"));
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/app/page.tsx [app-rsc] (client reference proxy) <module evaluation>", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
// This file is generated by next-core EcmascriptClientReferenceModule.
|
||||
__turbopack_context__.s([
|
||||
"default",
|
||||
()=>__TURBOPACK__default__export__
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js [app-rsc] (ecmascript)");
|
||||
;
|
||||
const __TURBOPACK__default__export__ = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["registerClientReference"])(function() {
|
||||
throw new Error("Attempted to call the default export of [project]/Documents/go-new/chinese-family-tree/app/page.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.");
|
||||
}, "[project]/Documents/go-new/chinese-family-tree/app/page.tsx <module evaluation>", "default");
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/app/page.tsx [app-rsc] (client reference proxy)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
// This file is generated by next-core EcmascriptClientReferenceModule.
|
||||
__turbopack_context__.s([
|
||||
"default",
|
||||
()=>__TURBOPACK__default__export__
|
||||
]);
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/next@16.0.3_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js [app-rsc] (ecmascript)");
|
||||
;
|
||||
const __TURBOPACK__default__export__ = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["registerClientReference"])(function() {
|
||||
throw new Error("Attempted to call the default export of [project]/Documents/go-new/chinese-family-tree/app/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.");
|
||||
}, "[project]/Documents/go-new/chinese-family-tree/app/page.tsx", "default");
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/app/page.tsx [app-rsc] (ecmascript)", ((__turbopack_context__) => {
|
||||
"use strict";
|
||||
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$app$2f$page$2e$tsx__$5b$app$2d$rsc$5d$__$28$client__reference__proxy$29$__$3c$module__evaluation$3e$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/app/page.tsx [app-rsc] (client reference proxy) <module evaluation>");
|
||||
var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$app$2f$page$2e$tsx__$5b$app$2d$rsc$5d$__$28$client__reference__proxy$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/app/page.tsx [app-rsc] (client reference proxy)");
|
||||
;
|
||||
__turbopack_context__.n(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$app$2f$page$2e$tsx__$5b$app$2d$rsc$5d$__$28$client__reference__proxy$29$__);
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/app/page.tsx [app-rsc] (ecmascript, Next.js Server Component)", ((__turbopack_context__) => {
|
||||
|
||||
__turbopack_context__.n(__turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/app/page.tsx [app-rsc] (ecmascript)"));
|
||||
}),
|
||||
];
|
||||
|
||||
//# sourceMappingURL=%5Broot-of-the-server%5D__c3bdb703._.js.map
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sections": [
|
||||
{"offset": {"line": 18, "column": 0}, "map": {"version":3,"sources":["file:///Users/freedak/Documents/go-new/chinese-family-tree/app/page.tsx/__nextjs-internal-proxy.mjs"],"sourcesContent":["// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport default registerClientReference(\n function() { throw new Error(\"Attempted to call the default export of [project]/Documents/go-new/chinese-family-tree/app/page.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/Documents/go-new/chinese-family-tree/app/page.tsx <module evaluation>\",\n \"default\",\n);\n"],"names":[],"mappings":"AAAA,uEAAuE;;;;;AACvE;;uCACe,IAAA,8bAAuB,EAClC;IAAa,MAAM,IAAI,MAAM;AAAqT,GAClV,mFACA","ignoreList":[0]}},
|
||||
{"offset": {"line": 32, "column": 0}, "map": {"version":3,"sources":["file:///Users/freedak/Documents/go-new/chinese-family-tree/app/page.tsx/__nextjs-internal-proxy.mjs"],"sourcesContent":["// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport default registerClientReference(\n function() { throw new Error(\"Attempted to call the default export of [project]/Documents/go-new/chinese-family-tree/app/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/Documents/go-new/chinese-family-tree/app/page.tsx\",\n \"default\",\n);\n"],"names":[],"mappings":"AAAA,uEAAuE;;;;;AACvE;;uCACe,IAAA,8bAAuB,EAClC;IAAa,MAAM,IAAI,MAAM;AAAiS,GAC9T,+DACA","ignoreList":[0]}},
|
||||
{"offset": {"line": 46, "column": 0}, "map": {"version":3,"sources":[],"names":[],"mappings":""}}]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user