0.0.0.4
This commit is contained in:
@@ -0,0 +1,262 @@
|
||||
/* [project]/Documents/go-new/chinese-family-tree/node_modules/.pnpm/react-image-crop@11.0.10_react@19.2.0/node_modules/react-image-crop/dist/ReactCrop.css [app-client] (css) */
|
||||
@keyframes marching-ants {
|
||||
0% {
|
||||
background-position: 0 0, 0 100%, 0 0, 100% 0;
|
||||
}
|
||||
|
||||
to {
|
||||
background-position: 20px 0, -20px 100%, 0 -20px, 100% 20px;
|
||||
}
|
||||
}
|
||||
|
||||
:root {
|
||||
--rc-drag-handle-size: 12px;
|
||||
--rc-drag-handle-mobile-size: 24px;
|
||||
--rc-drag-handle-bg-colour: #0003;
|
||||
--rc-drag-bar-size: 6px;
|
||||
--rc-border-color: #ffffffb3;
|
||||
--rc-focus-color: #08f;
|
||||
}
|
||||
|
||||
.ReactCrop {
|
||||
cursor: crosshair;
|
||||
max-width: 100%;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.ReactCrop *, .ReactCrop :before, .ReactCrop :after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.ReactCrop--disabled, .ReactCrop--locked {
|
||||
cursor: inherit;
|
||||
}
|
||||
|
||||
.ReactCrop__child-wrapper {
|
||||
max-height: inherit;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.ReactCrop__child-wrapper > img, .ReactCrop__child-wrapper > video {
|
||||
max-width: 100%;
|
||||
max-height: inherit;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper > img, .ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper > video, .ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection {
|
||||
touch-action: none;
|
||||
}
|
||||
|
||||
.ReactCrop__crop-mask {
|
||||
pointer-events: none;
|
||||
width: calc(100% + .5px);
|
||||
height: calc(100% + .5px);
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
}
|
||||
|
||||
.ReactCrop__crop-selection {
|
||||
cursor: move;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
transform: translateZ(0);
|
||||
}
|
||||
|
||||
.ReactCrop--disabled .ReactCrop__crop-selection {
|
||||
cursor: inherit;
|
||||
}
|
||||
|
||||
.ReactCrop--circular-crop .ReactCrop__crop-selection {
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.ReactCrop--circular-crop .ReactCrop__crop-selection:after {
|
||||
pointer-events: none;
|
||||
content: "";
|
||||
border: 1px solid var(--rc-border-color);
|
||||
opacity: .3;
|
||||
position: absolute;
|
||||
inset: -1px;
|
||||
}
|
||||
|
||||
.ReactCrop--no-animate .ReactCrop__crop-selection {
|
||||
outline: 1px dashed #fff;
|
||||
}
|
||||
|
||||
.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection) {
|
||||
color: #fff;
|
||||
background-image: linear-gradient(to right, #fff 50%, #444 50%), linear-gradient(to right, #fff 50%, #444 50%), linear-gradient(#fff 50%, #444 50%), linear-gradient(#fff 50%, #444 50%);
|
||||
background-position: 0 0, 0 100%, 0 0, 100% 0;
|
||||
background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
|
||||
background-size: 10px 1px, 10px 1px, 1px 10px, 1px 10px;
|
||||
animation: 1s linear infinite marching-ants;
|
||||
}
|
||||
|
||||
.ReactCrop__crop-selection:focus {
|
||||
outline: 2px solid var(--rc-focus-color);
|
||||
outline-offset: -1px;
|
||||
}
|
||||
|
||||
.ReactCrop--invisible-crop .ReactCrop__crop-mask, .ReactCrop--invisible-crop .ReactCrop__crop-selection {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.ReactCrop__rule-of-thirds-vt:before, .ReactCrop__rule-of-thirds-vt:after, .ReactCrop__rule-of-thirds-hz:before, .ReactCrop__rule-of-thirds-hz:after {
|
||||
content: "";
|
||||
background-color: #fff6;
|
||||
display: block;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.ReactCrop__rule-of-thirds-vt:before, .ReactCrop__rule-of-thirds-vt:after {
|
||||
width: 1px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.ReactCrop__rule-of-thirds-vt:before {
|
||||
left: 33.3333%;
|
||||
}
|
||||
|
||||
.ReactCrop__rule-of-thirds-vt:after {
|
||||
left: 66.6667%;
|
||||
}
|
||||
|
||||
.ReactCrop__rule-of-thirds-hz:before, .ReactCrop__rule-of-thirds-hz:after {
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
}
|
||||
|
||||
.ReactCrop__rule-of-thirds-hz:before {
|
||||
top: 33.3333%;
|
||||
}
|
||||
|
||||
.ReactCrop__rule-of-thirds-hz:after {
|
||||
top: 66.6667%;
|
||||
}
|
||||
|
||||
.ReactCrop__drag-handle {
|
||||
width: var(--rc-drag-handle-size);
|
||||
height: var(--rc-drag-handle-size);
|
||||
background-color: var(--rc-drag-handle-bg-colour);
|
||||
border: 1px solid var(--rc-border-color);
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.ReactCrop__drag-handle:focus {
|
||||
background: var(--rc-focus-color);
|
||||
}
|
||||
|
||||
.ReactCrop .ord-nw {
|
||||
cursor: nw-resize;
|
||||
top: 0;
|
||||
left: 0;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
.ReactCrop .ord-n {
|
||||
cursor: n-resize;
|
||||
top: 0;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
.ReactCrop .ord-ne {
|
||||
cursor: ne-resize;
|
||||
top: 0;
|
||||
right: 0;
|
||||
transform: translate(50%, -50%);
|
||||
}
|
||||
|
||||
.ReactCrop .ord-e {
|
||||
cursor: e-resize;
|
||||
top: 50%;
|
||||
right: 0;
|
||||
transform: translate(50%, -50%);
|
||||
}
|
||||
|
||||
.ReactCrop .ord-se {
|
||||
cursor: se-resize;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
transform: translate(50%, 50%);
|
||||
}
|
||||
|
||||
.ReactCrop .ord-s {
|
||||
cursor: s-resize;
|
||||
bottom: 0;
|
||||
left: 50%;
|
||||
transform: translate(-50%, 50%);
|
||||
}
|
||||
|
||||
.ReactCrop .ord-sw {
|
||||
cursor: sw-resize;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
transform: translate(-50%, 50%);
|
||||
}
|
||||
|
||||
.ReactCrop .ord-w {
|
||||
cursor: w-resize;
|
||||
top: 50%;
|
||||
left: 0;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
.ReactCrop__disabled .ReactCrop__drag-handle {
|
||||
cursor: inherit;
|
||||
}
|
||||
|
||||
.ReactCrop__drag-bar {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.ReactCrop__drag-bar.ord-n {
|
||||
width: 100%;
|
||||
height: var(--rc-drag-bar-size);
|
||||
top: 0;
|
||||
left: 0;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.ReactCrop__drag-bar.ord-e {
|
||||
width: var(--rc-drag-bar-size);
|
||||
height: 100%;
|
||||
top: 0;
|
||||
right: 0;
|
||||
transform: translate(50%);
|
||||
}
|
||||
|
||||
.ReactCrop__drag-bar.ord-s {
|
||||
width: 100%;
|
||||
height: var(--rc-drag-bar-size);
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
transform: translateY(50%);
|
||||
}
|
||||
|
||||
.ReactCrop__drag-bar.ord-w {
|
||||
width: var(--rc-drag-bar-size);
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
transform: translate(-50%);
|
||||
}
|
||||
|
||||
.ReactCrop--new-crop .ReactCrop__drag-bar, .ReactCrop--new-crop .ReactCrop__drag-handle, .ReactCrop--fixed-aspect .ReactCrop__drag-bar, .ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n, .ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e, .ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s, .ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media (pointer: coarse) {
|
||||
.ReactCrop .ord-n, .ReactCrop .ord-e, .ReactCrop .ord-s, .ReactCrop .ord-w {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.ReactCrop__drag-handle {
|
||||
width: var(--rc-drag-handle-mobile-size);
|
||||
height: var(--rc-drag-handle-mobile-size);
|
||||
}
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=4c051_react-image-crop_dist_ReactCrop_bde06fd8.css.map*/
|
||||
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,7 @@
|
||||
(globalThis.TURBOPACK_CHUNK_LISTS || (globalThis.TURBOPACK_CHUNK_LISTS = [])).push({
|
||||
script: typeof document === "object" ? document.currentScript : undefined,
|
||||
chunks: [
|
||||
"static/chunks/a0629__pnpm_38e9b27f._.js"
|
||||
],
|
||||
source: "dynamic"
|
||||
});
|
||||
@@ -0,0 +1,33 @@
|
||||
(globalThis.TURBOPACK_CHUNK_LISTS || (globalThis.TURBOPACK_CHUNK_LISTS = [])).push({
|
||||
script: typeof document === "object" ? document.currentScript : undefined,
|
||||
chunks: [
|
||||
"static/chunks/56139_zrender_lib_ce23e365._.js",
|
||||
"static/chunks/f639c_echarts_lib_util_d4941c19._.js",
|
||||
"static/chunks/f639c_echarts_lib_model_76b10339._.js",
|
||||
"static/chunks/f639c_echarts_lib_label_1eda581d._.js",
|
||||
"static/chunks/f639c_echarts_lib_core_d0657405._.js",
|
||||
"static/chunks/f639c_echarts_lib_scale_c4e1b6f8._.js",
|
||||
"static/chunks/f639c_echarts_lib_data_b614132d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_tooltip_6c6de848._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_axis_85c6ff97._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_axisPointer_98ac8b14._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_helper_7aa6326d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_dataZoom_e286f5bf._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_toolbox_521b5e37._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_marker_cd5e44e5._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_legend_f6ba321d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_visualMap_ee0662bf._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_a60fa07b._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_helper_d540efe4._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_line_ce4c6105._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_bar_5820a790._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_treemap_7a38bd49._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_graph_f9c2705e._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_1638f649._.js",
|
||||
"static/chunks/f639c_echarts_lib_coord_8d85a72c._.js",
|
||||
"static/chunks/f639c_echarts_lib_9cf6d13e._.js",
|
||||
"static/chunks/f639c_echarts_index_3085b4e8.js",
|
||||
"static/chunks/a0629__pnpm_0497c923._.js"
|
||||
],
|
||||
source: "dynamic"
|
||||
});
|
||||
@@ -0,0 +1,39 @@
|
||||
(globalThis.TURBOPACK || (globalThis.TURBOPACK = [])).push([typeof document === "object" ? document.currentScript : undefined,
|
||||
"[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, async loader)", ((__turbopack_context__) => {
|
||||
|
||||
__turbopack_context__.v((parentImport) => {
|
||||
return Promise.all([
|
||||
"static/chunks/56139_zrender_lib_ce23e365._.js",
|
||||
"static/chunks/f639c_echarts_lib_util_d4941c19._.js",
|
||||
"static/chunks/f639c_echarts_lib_model_76b10339._.js",
|
||||
"static/chunks/f639c_echarts_lib_label_1eda581d._.js",
|
||||
"static/chunks/f639c_echarts_lib_core_d0657405._.js",
|
||||
"static/chunks/f639c_echarts_lib_scale_c4e1b6f8._.js",
|
||||
"static/chunks/f639c_echarts_lib_data_b614132d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_tooltip_6c6de848._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_axis_85c6ff97._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_axisPointer_98ac8b14._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_helper_7aa6326d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_dataZoom_e286f5bf._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_toolbox_521b5e37._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_marker_cd5e44e5._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_legend_f6ba321d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_visualMap_ee0662bf._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_a60fa07b._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_helper_d540efe4._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_line_ce4c6105._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_bar_5820a790._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_treemap_7a38bd49._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_graph_f9c2705e._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_1638f649._.js",
|
||||
"static/chunks/f639c_echarts_lib_coord_8d85a72c._.js",
|
||||
"static/chunks/f639c_echarts_lib_9cf6d13e._.js",
|
||||
"static/chunks/f639c_echarts_index_3085b4e8.js",
|
||||
"static/chunks/a0629__pnpm_0497c923._.js",
|
||||
"static/chunks/6bb63_echarts-for-react_esm_index_0b10b3f7.js"
|
||||
].map((chunk) => __turbopack_context__.l(chunk))).then(() => {
|
||||
return parentImport("[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)");
|
||||
});
|
||||
});
|
||||
}),
|
||||
]);
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sections": []
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
(globalThis.TURBOPACK || (globalThis.TURBOPACK = [])).push([typeof document === "object" ? document.currentScript : undefined,
|
||||
"[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, async loader)", ((__turbopack_context__) => {
|
||||
|
||||
__turbopack_context__.v((parentImport) => {
|
||||
return Promise.all([
|
||||
"static/chunks/a0629__pnpm_38e9b27f._.js",
|
||||
"static/chunks/6bb63_echarts-for-react_esm_index_07ca71be.js"
|
||||
].map((chunk) => __turbopack_context__.l(chunk))).then(() => {
|
||||
return parentImport("[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)");
|
||||
});
|
||||
});
|
||||
}),
|
||||
]);
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sections": []
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
(globalThis.TURBOPACK || (globalThis.TURBOPACK = [])).push([typeof document === "object" ? document.currentScript : undefined,
|
||||
"[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, async loader)", ((__turbopack_context__) => {
|
||||
|
||||
__turbopack_context__.v((parentImport) => {
|
||||
return Promise.all([
|
||||
"static/chunks/a0629__pnpm_38e9b27f._.js",
|
||||
"static/chunks/6bb63_echarts-for-react_esm_index_f0245f4a.js"
|
||||
].map((chunk) => __turbopack_context__.l(chunk))).then(() => {
|
||||
return parentImport("[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)");
|
||||
});
|
||||
});
|
||||
}),
|
||||
]);
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sections": []
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
(globalThis.TURBOPACK_CHUNK_LISTS || (globalThis.TURBOPACK_CHUNK_LISTS = [])).push({
|
||||
script: typeof document === "object" ? document.currentScript : undefined,
|
||||
chunks: [
|
||||
"static/chunks/a0629__pnpm_38e9b27f._.js"
|
||||
],
|
||||
source: "dynamic"
|
||||
});
|
||||
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
@@ -547,13 +547,16 @@ 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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$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/compiled/react/index.js [app-client] (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$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/components/ui/avatar.tsx [app-client] (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$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/lib/db.ts [app-client] (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$client$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-client] (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$client$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-client] (ecmascript) <export default as CircleUserRound>");
|
||||
;
|
||||
var _s = __turbopack_context__.k.signature();
|
||||
"use client";
|
||||
;
|
||||
;
|
||||
;
|
||||
function AvatarDisplay({ imageId, fallbackUrl, fallbackText, className }) {
|
||||
;
|
||||
function AvatarDisplay({ imageId, fallbackUrl, fallbackText, gender, className }) {
|
||||
_s();
|
||||
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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"])({
|
||||
@@ -577,28 +580,59 @@ function AvatarDisplay({ imageId, fallbackUrl, fallbackText, className }) {
|
||||
}["AvatarDisplay.useEffect"], [
|
||||
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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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);
|
||||
}
|
||||
@@ -992,6 +1026,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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$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/compiled/react/index.js [app-client] (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$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/components/site-header.tsx [app-client] (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$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx [app-client] (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$client$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-client] (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$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/components/ui/input.tsx [app-client] (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$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/components/ui/button.tsx [app-client] (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$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/components/ui/card.tsx [app-client] (ecmascript)");
|
||||
@@ -1019,11 +1054,23 @@ var _s = __turbopack_context__.k.signature();
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
function MembersPage() {
|
||||
_s();
|
||||
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$client$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$client$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$client$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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"])({
|
||||
"MembersPage.useEffect": ()=>{
|
||||
const params = new URLSearchParams(window.location.search);
|
||||
const searchParam = params.get('search');
|
||||
if (searchParam) {
|
||||
setQuery(searchParam);
|
||||
}
|
||||
}
|
||||
}["MembersPage.useEffect"], []);
|
||||
// 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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useState"])("all");
|
||||
@@ -1128,6 +1175,32 @@ 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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"])({
|
||||
"MembersPage.useMemo[membersByGeneration]": ()=>{
|
||||
const groups = new Map();
|
||||
filteredMembers.forEach({
|
||||
"MembersPage.useMemo[membersByGeneration]": (member)=>{
|
||||
const gen = member.generation;
|
||||
if (!groups.has(gen)) {
|
||||
groups.set(gen, []);
|
||||
}
|
||||
groups.get(gen).push(member);
|
||||
}
|
||||
}["MembersPage.useMemo[membersByGeneration]"]);
|
||||
// 转换为数组并排序
|
||||
return Array.from(groups.entries()).sort({
|
||||
"MembersPage.useMemo[membersByGeneration]": (a, b)=>a[0] - b[0]
|
||||
}["MembersPage.useMemo[membersByGeneration]"]).map({
|
||||
"MembersPage.useMemo[membersByGeneration]": ([generation, members])=>({
|
||||
generation,
|
||||
members
|
||||
})
|
||||
}["MembersPage.useMemo[membersByGeneration]"]);
|
||||
}
|
||||
}["MembersPage.useMemo[membersByGeneration]"], [
|
||||
filteredMembers
|
||||
]);
|
||||
const clearFilters = ()=>{
|
||||
setSelectedSurname("all");
|
||||
setSelectedHome("all");
|
||||
@@ -1144,7 +1217,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("main", {
|
||||
@@ -1161,7 +1234,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -1174,7 +1247,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["Input"], {
|
||||
@@ -1185,13 +1258,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["Button"], {
|
||||
@@ -1204,20 +1277,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["default"], {
|
||||
@@ -1229,31 +1302,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -1267,7 +1340,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["Button"], {
|
||||
@@ -1280,20 +1353,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -1307,7 +1380,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["Select"], {
|
||||
@@ -1319,12 +1392,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["SelectContent"], {
|
||||
@@ -1334,7 +1407,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["SelectItem"], {
|
||||
@@ -1342,25 +1415,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -1371,7 +1444,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["Select"], {
|
||||
@@ -1383,12 +1456,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["SelectContent"], {
|
||||
@@ -1398,7 +1471,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["SelectItem"], {
|
||||
@@ -1406,25 +1479,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -1435,7 +1508,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["Select"], {
|
||||
@@ -1447,12 +1520,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["SelectContent"], {
|
||||
@@ -1462,7 +1535,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["SelectItem"], {
|
||||
@@ -1470,7 +1543,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["SelectItem"], {
|
||||
@@ -1478,25 +1551,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -1510,7 +1583,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
||||
@@ -1523,13 +1596,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["Slider"], {
|
||||
@@ -1545,187 +1618,261 @@ 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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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);
|
||||
}
|
||||
_s(MembersPage, "MXcRI0mRCqZEuv5t+yxSbXnTVPM=", false, function() {
|
||||
_s(MembersPage, "GIo5kDr+6J78ONa5dzO9v6i3Eho=", false, function() {
|
||||
return [
|
||||
__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$client$5d$__$28$ecmascript$29$__["useFamily"]
|
||||
__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$client$5d$__$28$ecmascript$29$__["useFamily"],
|
||||
__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$client$5d$__$28$ecmascript$29$__["useRouter"]
|
||||
];
|
||||
});
|
||||
_c = MembersPage;
|
||||
|
||||
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,875 @@
|
||||
(globalThis.TURBOPACK || (globalThis.TURBOPACK = [])).push([typeof document === "object" ? document.currentScript : undefined,
|
||||
"[project]/Documents/go-new/chinese-family-tree/lib/mock-data.ts [app-client] (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"
|
||||
};
|
||||
if (typeof globalThis.$RefreshHelpers$ === 'object' && globalThis.$RefreshHelpers !== null) {
|
||||
__turbopack_context__.k.registerExports(__turbopack_context__.m, globalThis.$RefreshHelpers$);
|
||||
}
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/lib/db.ts [app-client] (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$client$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-client] (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$client$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();
|
||||
if (typeof globalThis.$RefreshHelpers$ === 'object' && globalThis.$RefreshHelpers !== null) {
|
||||
__turbopack_context__.k.registerExports(__turbopack_context__.m, globalThis.$RefreshHelpers$);
|
||||
}
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/lib/notifications.ts [app-client] (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", "object") === "undefined" || !("Notification" in window)) {
|
||||
console.warn("浏览器不支持通知");
|
||||
return false;
|
||||
}
|
||||
if (Notification.permission === "granted") {
|
||||
return true;
|
||||
}
|
||||
if (Notification.permission !== "denied") {
|
||||
const permission = await Notification.requestPermission();
|
||||
return permission === "granted";
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function sendNotification(title, options) {
|
||||
if (("TURBOPACK compile-time value", "object") === "undefined" || !("Notification" in window)) {
|
||||
return;
|
||||
}
|
||||
if (Notification.permission === "granted") {
|
||||
new Notification(title, {
|
||||
icon: "/icon.svg",
|
||||
badge: "/icon.svg",
|
||||
...options
|
||||
});
|
||||
}
|
||||
}
|
||||
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 falsy", 0) //TURBOPACK unreachable
|
||||
;
|
||||
// 检查是否已经在今天检查过
|
||||
const lastCheckDate = localStorage.getItem("lastNotificationCheck");
|
||||
const today = new Date().toDateString();
|
||||
if (lastCheckDate !== today) {
|
||||
notifyTodayAnniversaries(members);
|
||||
localStorage.setItem("lastNotificationCheck", today);
|
||||
}
|
||||
// 设置每小时检查一次(防止用户长时间开着页面)
|
||||
setInterval(()=>{
|
||||
const currentDate = new Date().toDateString();
|
||||
const lastCheck = localStorage.getItem("lastNotificationCheck");
|
||||
if (lastCheck !== currentDate) {
|
||||
notifyTodayAnniversaries(members);
|
||||
localStorage.setItem("lastNotificationCheck", currentDate);
|
||||
}
|
||||
}, 60 * 60 * 1000); // 每小时检查一次
|
||||
}
|
||||
if (typeof globalThis.$RefreshHelpers$ === 'object' && globalThis.$RefreshHelpers !== null) {
|
||||
__turbopack_context__.k.registerExports(__turbopack_context__.m, globalThis.$RefreshHelpers$);
|
||||
}
|
||||
}),
|
||||
"[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx [app-client] (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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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/compiled/react/jsx-dev-runtime.js [app-client] (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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$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/compiled/react/index.js [app-client] (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$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/lib/mock-data.ts [app-client] (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$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/lib/db.ts [app-client] (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$client$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-client] (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$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/lib/notifications.ts [app-client] (ecmascript)");
|
||||
;
|
||||
var _s = __turbopack_context__.k.signature(), _s1 = __turbopack_context__.k.signature();
|
||||
"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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContext"])(undefined);
|
||||
function FamilyProvider({ children }) {
|
||||
_s();
|
||||
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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["useLiveQuery"])({
|
||||
"FamilyProvider.useLiveQuery[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$client$5d$__$28$ecmascript$29$__["db"].members.toArray()
|
||||
}["FamilyProvider.useLiveQuery[members]"]);
|
||||
// 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$client$5d$__$28$ecmascript$29$__["useLiveQuery"])({
|
||||
"FamilyProvider.useLiveQuery[rootIdSetting]": ()=>__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$client$5d$__$28$ecmascript$29$__["db"].settings.get("rootId")
|
||||
}["FamilyProvider.useLiveQuery[rootIdSetting]"]);
|
||||
// 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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"])({
|
||||
"FamilyProvider.useEffect": ()=>{
|
||||
const initDb = {
|
||||
"FamilyProvider.useEffect.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$client$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$client$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$client$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$client$5d$__$28$ecmascript$29$__["db"].settings, {
|
||||
"FamilyProvider.useEffect.initDb": 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$client$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$client$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$client$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$client$5d$__$28$ecmascript$29$__["mockFamilyData"].rootId
|
||||
});
|
||||
}
|
||||
}["FamilyProvider.useEffect.initDb"]);
|
||||
}
|
||||
setIsInitialized(true);
|
||||
}
|
||||
}["FamilyProvider.useEffect.initDb"];
|
||||
initDb();
|
||||
}
|
||||
}["FamilyProvider.useEffect"], []);
|
||||
// 设置通知检查
|
||||
(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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"])({
|
||||
"FamilyProvider.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$client$5d$__$28$ecmascript$29$__["setupDailyNotificationCheck"])(members);
|
||||
}
|
||||
}
|
||||
}
|
||||
}["FamilyProvider.useEffect"], [
|
||||
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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"])({
|
||||
"FamilyProvider.useCallback[getMember]": (id)=>{
|
||||
return treeData.members[id];
|
||||
}
|
||||
}["FamilyProvider.useCallback[getMember]"], [
|
||||
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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"])({
|
||||
"FamilyProvider.useCallback[addMember]": 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$client$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$client$5d$__$28$ecmascript$29$__["db"].members, {
|
||||
"FamilyProvider.useCallback[addMember]": 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$client$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$client$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$client$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$client$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$client$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$client$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$client$5d$__$28$ecmascript$29$__["db"].members.update(spouseId, {
|
||||
spouseIds: [
|
||||
...spouse.spouseIds,
|
||||
member.id
|
||||
]
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}["FamilyProvider.useCallback[addMember]"]);
|
||||
}
|
||||
}["FamilyProvider.useCallback[addMember]"], []);
|
||||
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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"])({
|
||||
"FamilyProvider.useCallback[updateMember]": 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$client$5d$__$28$ecmascript$29$__["db"].members.update(id, {
|
||||
...updates,
|
||||
updatedAt: new Date().toISOString()
|
||||
});
|
||||
}
|
||||
}["FamilyProvider.useCallback[updateMember]"], []);
|
||||
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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"])({
|
||||
"FamilyProvider.useCallback[deleteMember]": 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$client$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$client$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$client$5d$__$28$ecmascript$29$__["db"].settings, {
|
||||
"FamilyProvider.useCallback[deleteMember]": 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$client$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.
|
||||
}
|
||||
}["FamilyProvider.useCallback[deleteMember]"]);
|
||||
}
|
||||
}["FamilyProvider.useCallback[deleteMember]"], []);
|
||||
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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"])({
|
||||
"FamilyProvider.useCallback[loadData]": 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$client$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$client$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$client$5d$__$28$ecmascript$29$__["db"].settings, {
|
||||
"FamilyProvider.useCallback[loadData]": 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$client$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$client$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$client$5d$__$28$ecmascript$29$__["db"].settings.put({
|
||||
key: "rootId",
|
||||
value: data.rootId
|
||||
});
|
||||
}
|
||||
}["FamilyProvider.useCallback[loadData]"]);
|
||||
}
|
||||
}["FamilyProvider.useCallback[loadData]"], []);
|
||||
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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"])({
|
||||
"FamilyProvider.useCallback[resetData]": 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$client$5d$__$28$ecmascript$29$__["mockFamilyData"]);
|
||||
}
|
||||
}["FamilyProvider.useCallback[resetData]"], [
|
||||
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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"])({
|
||||
"FamilyProvider.useCallback[searchMembers]": (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({
|
||||
"FamilyProvider.useCallback[searchMembers].results": (member)=>member.fullName.includes(lowerQuery) || member.givenName.includes(lowerQuery) || member.courtesyName?.includes(lowerQuery) || member.artName?.includes(lowerQuery)
|
||||
}["FamilyProvider.useCallback[searchMembers].results"]);
|
||||
setSearchResults(results);
|
||||
}
|
||||
}["FamilyProvider.useCallback[searchMembers]"], [
|
||||
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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"])({
|
||||
"FamilyProvider.useEffect": ()=>{
|
||||
const handleImport = {
|
||||
"FamilyProvider.useEffect.handleImport": (e)=>{
|
||||
loadData(e.detail);
|
||||
}
|
||||
}["FamilyProvider.useEffect.handleImport"];
|
||||
window.addEventListener("family-data-import", handleImport);
|
||||
return ({
|
||||
"FamilyProvider.useEffect": ()=>window.removeEventListener("family-data-import", handleImport)
|
||||
})["FamilyProvider.useEffect"];
|
||||
}
|
||||
}["FamilyProvider.useEffect"], [
|
||||
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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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);
|
||||
}
|
||||
_s(FamilyProvider, "Z8JbHypIWB7xWhr4KfFw1q/vc28=", false, function() {
|
||||
return [
|
||||
__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$client$5d$__$28$ecmascript$29$__["useLiveQuery"],
|
||||
__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$client$5d$__$28$ecmascript$29$__["useLiveQuery"]
|
||||
];
|
||||
});
|
||||
_c = FamilyProvider;
|
||||
function useFamily() {
|
||||
_s1();
|
||||
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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useContext"])(FamilyContext);
|
||||
if (context === undefined) {
|
||||
throw new Error("useFamily must be used within a FamilyProvider");
|
||||
}
|
||||
return context;
|
||||
}
|
||||
_s1(useFamily, "b9L3QQ+jgeyIrH0NfHrJ8nn7VMU=");
|
||||
var _c;
|
||||
__turbopack_context__.k.register(_c, "FamilyProvider");
|
||||
if (typeof globalThis.$RefreshHelpers$ === 'object' && globalThis.$RefreshHelpers !== null) {
|
||||
__turbopack_context__.k.registerExports(__turbopack_context__.m, globalThis.$RefreshHelpers$);
|
||||
}
|
||||
}),
|
||||
]);
|
||||
|
||||
//# sourceMappingURL=Documents_go-new_chinese-family-tree_a6cc4283._.js.map
|
||||
File diff suppressed because one or more lines are too long
+506
-25
@@ -13,6 +13,15 @@
|
||||
--tw-space-y-reverse: 0;
|
||||
--tw-space-x-reverse: 0;
|
||||
--tw-border-style: solid;
|
||||
--tw-gradient-position: initial;
|
||||
--tw-gradient-from: #0000;
|
||||
--tw-gradient-via: #0000;
|
||||
--tw-gradient-to: #0000;
|
||||
--tw-gradient-stops: initial;
|
||||
--tw-gradient-via-stops: initial;
|
||||
--tw-gradient-from-position: 0%;
|
||||
--tw-gradient-via-position: 50%;
|
||||
--tw-gradient-to-position: 100%;
|
||||
--tw-leading: initial;
|
||||
--tw-font-weight: initial;
|
||||
--tw-tracking: initial;
|
||||
@@ -36,6 +45,19 @@
|
||||
--tw-ring-offset-color: #fff;
|
||||
--tw-ring-offset-shadow: 0 0 #0000;
|
||||
--tw-outline-style: solid;
|
||||
--tw-blur: initial;
|
||||
--tw-brightness: initial;
|
||||
--tw-contrast: initial;
|
||||
--tw-grayscale: initial;
|
||||
--tw-hue-rotate: initial;
|
||||
--tw-invert: initial;
|
||||
--tw-opacity: initial;
|
||||
--tw-saturate: initial;
|
||||
--tw-sepia: initial;
|
||||
--tw-drop-shadow: initial;
|
||||
--tw-drop-shadow-color: initial;
|
||||
--tw-drop-shadow-alpha: 100%;
|
||||
--tw-drop-shadow-size: initial;
|
||||
--tw-backdrop-blur: initial;
|
||||
--tw-backdrop-brightness: initial;
|
||||
--tw-backdrop-contrast: initial;
|
||||
@@ -76,6 +98,13 @@
|
||||
--color-red-300: #ffa3a3;
|
||||
--color-red-400: #ff6568;
|
||||
--color-red-600: #e40014;
|
||||
--color-yellow-50: #fefce8;
|
||||
--color-yellow-200: #fff085;
|
||||
--color-yellow-400: #fac800;
|
||||
--color-yellow-800: #874b00;
|
||||
--color-yellow-900: #733e0a;
|
||||
--color-blue-400: #54a2ff;
|
||||
--color-pink-400: #fb64b6;
|
||||
--color-neutral-50: #fafafa;
|
||||
--color-neutral-100: #f5f5f5;
|
||||
--color-neutral-200: #e5e5e5;
|
||||
@@ -90,6 +119,7 @@
|
||||
--container-sm: 24rem;
|
||||
--container-lg: 32rem;
|
||||
--container-xl: 36rem;
|
||||
--container-2xl: 42rem;
|
||||
--container-3xl: 48rem;
|
||||
--container-4xl: 56rem;
|
||||
--text-xs: .75rem;
|
||||
@@ -138,6 +168,13 @@
|
||||
--color-red-300: lab(76.5514% 36.422 15.5335);
|
||||
--color-red-400: lab(63.7053% 60.745 31.3109);
|
||||
--color-red-600: lab(48.4493% 77.4328 61.5452);
|
||||
--color-yellow-50: lab(98.6846% -1.79055 9.7766);
|
||||
--color-yellow-200: lab(94.3433% -5.00429 52.9663);
|
||||
--color-yellow-400: lab(83.2664% 8.65132 106.895);
|
||||
--color-yellow-800: lab(38.7484% 23.5833 51.4916);
|
||||
--color-yellow-900: lab(32.3865% 21.1273 38.5959);
|
||||
--color-blue-400: lab(65.0361% -1.42065 -56.9802);
|
||||
--color-pink-400: lab(64.5597% 64.3615 -12.7988);
|
||||
--color-neutral-50: lab(98.26% 0 0);
|
||||
--color-neutral-100: lab(96.52% -.0000298023 .0000119209);
|
||||
--color-neutral-200: lab(90.952% 0 -.0000119209);
|
||||
@@ -440,6 +477,10 @@
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.visible {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.sr-only {
|
||||
clip-path: inset(50%);
|
||||
white-space: nowrap;
|
||||
@@ -488,10 +529,6 @@
|
||||
top: calc(var(--spacing) * -3);
|
||||
}
|
||||
|
||||
.-top-8 {
|
||||
top: calc(var(--spacing) * -8);
|
||||
}
|
||||
|
||||
.-top-12 {
|
||||
top: calc(var(--spacing) * -12);
|
||||
}
|
||||
@@ -584,6 +621,10 @@
|
||||
bottom: calc(var(--spacing) * 0);
|
||||
}
|
||||
|
||||
.bottom-2 {
|
||||
bottom: calc(var(--spacing) * 2);
|
||||
}
|
||||
|
||||
.bottom-4 {
|
||||
bottom: calc(var(--spacing) * 4);
|
||||
}
|
||||
@@ -822,6 +863,10 @@
|
||||
margin-left: calc(var(--spacing) * 1);
|
||||
}
|
||||
|
||||
.ml-1\.5 {
|
||||
margin-left: calc(var(--spacing) * 1.5);
|
||||
}
|
||||
|
||||
.ml-2 {
|
||||
margin-left: calc(var(--spacing) * 2);
|
||||
}
|
||||
@@ -969,6 +1014,10 @@
|
||||
height: var(--cell-size);
|
||||
}
|
||||
|
||||
.h-0\.5 {
|
||||
height: calc(var(--spacing) * .5);
|
||||
}
|
||||
|
||||
.h-1\.5 {
|
||||
height: calc(var(--spacing) * 1.5);
|
||||
}
|
||||
@@ -1017,6 +1066,10 @@
|
||||
height: calc(var(--spacing) * 12);
|
||||
}
|
||||
|
||||
.h-14 {
|
||||
height: calc(var(--spacing) * 14);
|
||||
}
|
||||
|
||||
.h-16 {
|
||||
height: calc(var(--spacing) * 16);
|
||||
}
|
||||
@@ -1025,10 +1078,6 @@
|
||||
height: calc(var(--spacing) * 20);
|
||||
}
|
||||
|
||||
.h-28 {
|
||||
height: calc(var(--spacing) * 28);
|
||||
}
|
||||
|
||||
.h-32 {
|
||||
height: calc(var(--spacing) * 32);
|
||||
}
|
||||
@@ -1037,6 +1086,10 @@
|
||||
height: 1.15rem;
|
||||
}
|
||||
|
||||
.h-\[300px\] {
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
.h-\[400px\] {
|
||||
height: 400px;
|
||||
}
|
||||
@@ -1089,6 +1142,14 @@
|
||||
max-height: var(--radix-select-content-available-height);
|
||||
}
|
||||
|
||||
.max-h-\[60vh\] {
|
||||
max-height: 60vh;
|
||||
}
|
||||
|
||||
.max-h-\[70vh\] {
|
||||
max-height: 70vh;
|
||||
}
|
||||
|
||||
.max-h-\[300px\] {
|
||||
max-height: 300px;
|
||||
}
|
||||
@@ -1137,12 +1198,12 @@
|
||||
width: calc(var(--spacing) * 0);
|
||||
}
|
||||
|
||||
.w-1 {
|
||||
width: calc(var(--spacing) * 1);
|
||||
.w-0\.5 {
|
||||
width: calc(var(--spacing) * .5);
|
||||
}
|
||||
|
||||
.w-1\/2 {
|
||||
width: 50%;
|
||||
.w-1 {
|
||||
width: calc(var(--spacing) * 1);
|
||||
}
|
||||
|
||||
.w-2 {
|
||||
@@ -1173,6 +1234,10 @@
|
||||
width: calc(var(--spacing) * 6);
|
||||
}
|
||||
|
||||
.w-7 {
|
||||
width: calc(var(--spacing) * 7);
|
||||
}
|
||||
|
||||
.w-8 {
|
||||
width: calc(var(--spacing) * 8);
|
||||
}
|
||||
@@ -1189,6 +1254,10 @@
|
||||
width: calc(var(--spacing) * 12);
|
||||
}
|
||||
|
||||
.w-14 {
|
||||
width: calc(var(--spacing) * 14);
|
||||
}
|
||||
|
||||
.w-16 {
|
||||
width: calc(var(--spacing) * 16);
|
||||
}
|
||||
@@ -1197,10 +1266,6 @@
|
||||
width: calc(var(--spacing) * 20);
|
||||
}
|
||||
|
||||
.w-28 {
|
||||
width: calc(var(--spacing) * 28);
|
||||
}
|
||||
|
||||
.w-32 {
|
||||
width: calc(var(--spacing) * 32);
|
||||
}
|
||||
@@ -1217,10 +1282,6 @@
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.w-\[calc\(100\%-8rem\)\] {
|
||||
width: calc(100% - 8rem);
|
||||
}
|
||||
|
||||
.w-auto {
|
||||
width: auto;
|
||||
}
|
||||
@@ -1245,6 +1306,10 @@
|
||||
max-width: var(--skeleton-width);
|
||||
}
|
||||
|
||||
.max-w-2xl {
|
||||
max-width: var(--container-2xl);
|
||||
}
|
||||
|
||||
.max-w-3xl {
|
||||
max-width: var(--container-3xl);
|
||||
}
|
||||
@@ -1257,6 +1322,10 @@
|
||||
max-width: calc(100% - 2rem);
|
||||
}
|
||||
|
||||
.max-w-full {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.max-w-max {
|
||||
max-width: max-content;
|
||||
}
|
||||
@@ -1325,7 +1394,7 @@
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.shrink-0 {
|
||||
.flex-shrink-0, .shrink-0 {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
@@ -1377,6 +1446,10 @@
|
||||
transform-origin: var(--radix-tooltip-content-transform-origin);
|
||||
}
|
||||
|
||||
.origin-center {
|
||||
transform-origin: center;
|
||||
}
|
||||
|
||||
.-translate-x-1\/2 {
|
||||
--tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
|
||||
translate: var(--tw-translate-x) var(--tw-translate-y);
|
||||
@@ -1465,6 +1538,10 @@
|
||||
touch-action: none;
|
||||
}
|
||||
|
||||
.resize {
|
||||
resize: both;
|
||||
}
|
||||
|
||||
.resize-none {
|
||||
resize: none;
|
||||
}
|
||||
@@ -1611,6 +1688,12 @@
|
||||
margin-block-end: calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)));
|
||||
}
|
||||
|
||||
:where(.space-y-0\.5 > :not(:last-child)) {
|
||||
--tw-space-y-reverse: 0;
|
||||
margin-block-start: calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));
|
||||
margin-block-end: calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)));
|
||||
}
|
||||
|
||||
:where(.space-y-1 > :not(:last-child)) {
|
||||
--tw-space-y-reverse: 0;
|
||||
margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
|
||||
@@ -1766,6 +1849,11 @@
|
||||
border-width: 2px;
|
||||
}
|
||||
|
||||
.border-4 {
|
||||
border-style: var(--tw-border-style);
|
||||
border-width: 4px;
|
||||
}
|
||||
|
||||
.border-\[1\.5px\] {
|
||||
border-style: var(--tw-border-style);
|
||||
border-width: 1.5px;
|
||||
@@ -1801,6 +1889,11 @@
|
||||
border-left-width: 2px;
|
||||
}
|
||||
|
||||
.border-l-4 {
|
||||
border-left-style: var(--tw-border-style);
|
||||
border-left-width: 4px;
|
||||
}
|
||||
|
||||
.border-dashed {
|
||||
--tw-border-style: dashed;
|
||||
border-style: dashed;
|
||||
@@ -1843,6 +1936,16 @@
|
||||
}
|
||||
}
|
||||
|
||||
.border-border\/60 {
|
||||
border-color: var(--border);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.border-border\/60 {
|
||||
border-color: color-mix(in oklab, var(--border) 60%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.border-destructive {
|
||||
border-color: var(--destructive);
|
||||
}
|
||||
@@ -1897,6 +2000,10 @@
|
||||
border-color: #0000;
|
||||
}
|
||||
|
||||
.border-yellow-400 {
|
||||
border-color: var(--color-yellow-400);
|
||||
}
|
||||
|
||||
.border-t-transparent {
|
||||
border-top-color: #0000;
|
||||
}
|
||||
@@ -1917,6 +2024,16 @@
|
||||
background-color: var(--background);
|
||||
}
|
||||
|
||||
.bg-background\/50 {
|
||||
background-color: var(--background);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.bg-background\/50 {
|
||||
background-color: color-mix(in oklab, var(--background) 50%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.bg-background\/60 {
|
||||
background-color: var(--background);
|
||||
}
|
||||
@@ -2003,6 +2120,46 @@
|
||||
background-color: var(--foreground);
|
||||
}
|
||||
|
||||
.bg-foreground\/20 {
|
||||
background-color: var(--foreground);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.bg-foreground\/20 {
|
||||
background-color: color-mix(in oklab, var(--foreground) 20%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.bg-foreground\/25 {
|
||||
background-color: var(--foreground);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.bg-foreground\/25 {
|
||||
background-color: color-mix(in oklab, var(--foreground) 25%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.bg-foreground\/30 {
|
||||
background-color: var(--foreground);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.bg-foreground\/30 {
|
||||
background-color: color-mix(in oklab, var(--foreground) 30%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.bg-foreground\/40 {
|
||||
background-color: var(--foreground);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.bg-foreground\/40 {
|
||||
background-color: color-mix(in oklab, var(--foreground) 40%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.bg-input {
|
||||
background-color: var(--input);
|
||||
}
|
||||
@@ -2111,10 +2268,53 @@
|
||||
background-color: var(--color-white);
|
||||
}
|
||||
|
||||
.bg-yellow-50 {
|
||||
background-color: var(--color-yellow-50);
|
||||
}
|
||||
|
||||
.bg-gradient-to-br {
|
||||
--tw-gradient-position: to bottom right in oklab;
|
||||
background-image: linear-gradient(var(--tw-gradient-stops));
|
||||
}
|
||||
|
||||
.bg-\[url\(\'https\:\/\/www\.transparenttextures\.com\/patterns\/rice-paper\.png\'\)\] {
|
||||
background-image: url("https://www.transparenttextures.com/patterns/rice-paper.png");
|
||||
}
|
||||
|
||||
.from-primary\/5 {
|
||||
--tw-gradient-from: var(--primary);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.from-primary\/5 {
|
||||
--tw-gradient-from: color-mix(in oklab, var(--primary) 5%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.from-primary\/5 {
|
||||
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
||||
}
|
||||
|
||||
.via-background {
|
||||
--tw-gradient-via: var(--background);
|
||||
--tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
|
||||
--tw-gradient-stops: var(--tw-gradient-via-stops);
|
||||
}
|
||||
|
||||
.to-secondary\/5 {
|
||||
--tw-gradient-to: var(--secondary);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.to-secondary\/5 {
|
||||
--tw-gradient-to: color-mix(in oklab, var(--secondary) 5%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.to-secondary\/5 {
|
||||
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
||||
}
|
||||
|
||||
.bg-repeat {
|
||||
background-repeat: repeat;
|
||||
}
|
||||
@@ -2127,10 +2327,18 @@
|
||||
fill: var(--foreground);
|
||||
}
|
||||
|
||||
.fill-muted-foreground {
|
||||
fill: var(--muted-foreground);
|
||||
}
|
||||
|
||||
.fill-primary {
|
||||
fill: var(--primary);
|
||||
}
|
||||
|
||||
.object-contain {
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.object-cover {
|
||||
object-fit: cover;
|
||||
}
|
||||
@@ -2159,6 +2367,10 @@
|
||||
padding: calc(var(--spacing) * 6);
|
||||
}
|
||||
|
||||
.p-8 {
|
||||
padding: calc(var(--spacing) * 8);
|
||||
}
|
||||
|
||||
.p-12 {
|
||||
padding: calc(var(--spacing) * 12);
|
||||
}
|
||||
@@ -2255,14 +2467,14 @@
|
||||
padding-top: calc(var(--spacing) * 4);
|
||||
}
|
||||
|
||||
.pt-8 {
|
||||
padding-top: calc(var(--spacing) * 8);
|
||||
}
|
||||
|
||||
.pt-20 {
|
||||
padding-top: calc(var(--spacing) * 20);
|
||||
}
|
||||
|
||||
.pt-\[3\.75rem\] {
|
||||
padding-top: 3.75rem;
|
||||
}
|
||||
|
||||
.pr-1 {
|
||||
padding-right: calc(var(--spacing) * 1);
|
||||
}
|
||||
@@ -2404,10 +2616,18 @@
|
||||
font-size: .8rem;
|
||||
}
|
||||
|
||||
.text-\[9px\] {
|
||||
font-size: 9px;
|
||||
}
|
||||
|
||||
.text-\[10px\] {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.text-\[11px\] {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.leading-none {
|
||||
--tw-leading: 1;
|
||||
line-height: 1;
|
||||
@@ -2492,6 +2712,10 @@
|
||||
color: var(--background);
|
||||
}
|
||||
|
||||
.text-blue-400 {
|
||||
color: var(--color-blue-400);
|
||||
}
|
||||
|
||||
.text-card-foreground {
|
||||
color: var(--card-foreground);
|
||||
}
|
||||
@@ -2546,6 +2770,26 @@
|
||||
}
|
||||
}
|
||||
|
||||
.text-muted-foreground\/60 {
|
||||
color: var(--muted-foreground);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.text-muted-foreground\/60 {
|
||||
color: color-mix(in oklab, var(--muted-foreground) 60%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.text-muted-foreground\/70 {
|
||||
color: var(--muted-foreground);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.text-muted-foreground\/70 {
|
||||
color: color-mix(in oklab, var(--muted-foreground) 70%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.text-neutral-500 {
|
||||
color: var(--color-neutral-500);
|
||||
}
|
||||
@@ -2554,6 +2798,10 @@
|
||||
color: var(--color-neutral-600);
|
||||
}
|
||||
|
||||
.text-pink-400 {
|
||||
color: var(--color-pink-400);
|
||||
}
|
||||
|
||||
.text-popover-foreground {
|
||||
color: var(--popover-foreground);
|
||||
}
|
||||
@@ -2566,6 +2814,10 @@
|
||||
color: var(--primary-foreground);
|
||||
}
|
||||
|
||||
.text-red-400 {
|
||||
color: var(--color-red-400);
|
||||
}
|
||||
|
||||
.text-secondary-foreground {
|
||||
color: var(--secondary-foreground);
|
||||
}
|
||||
@@ -2614,6 +2866,10 @@
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.opacity-10 {
|
||||
opacity: .1;
|
||||
}
|
||||
|
||||
.opacity-20 {
|
||||
opacity: .2;
|
||||
}
|
||||
@@ -2622,6 +2878,10 @@
|
||||
opacity: .5;
|
||||
}
|
||||
|
||||
.opacity-60 {
|
||||
opacity: .6;
|
||||
}
|
||||
|
||||
.opacity-70 {
|
||||
opacity: .7;
|
||||
}
|
||||
@@ -2703,6 +2963,10 @@
|
||||
--tw-ring-color: var(--sidebar-ring);
|
||||
}
|
||||
|
||||
.ring-yellow-200 {
|
||||
--tw-ring-color: var(--color-yellow-200);
|
||||
}
|
||||
|
||||
.ring-offset-background {
|
||||
--tw-ring-offset-color: var(--background);
|
||||
}
|
||||
@@ -2724,6 +2988,10 @@
|
||||
outline-width: 1px;
|
||||
}
|
||||
|
||||
.filter {
|
||||
filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
|
||||
}
|
||||
|
||||
.backdrop-blur {
|
||||
--tw-backdrop-blur: blur(8px);
|
||||
-webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
|
||||
@@ -2849,6 +3117,10 @@
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.slide-in-from-bottom-5 {
|
||||
--tw-enter-translate-y: calc(.05 * 100%);
|
||||
}
|
||||
|
||||
.zoom-in-95 {
|
||||
--tw-enter-scale: .95;
|
||||
}
|
||||
@@ -2878,6 +3150,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.group-hover\:opacity-30:is(:where(.group):hover *) {
|
||||
opacity: .3;
|
||||
}
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.group-hover\:opacity-100:is(:where(.group):hover *) {
|
||||
opacity: 1;
|
||||
@@ -3300,6 +3578,24 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.hover\:bg-accent\/5:hover {
|
||||
background-color: var(--accent);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.hover\:bg-accent\/5:hover {
|
||||
background-color: color-mix(in oklab, var(--accent) 5%, transparent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.hover\:bg-background:hover {
|
||||
background-color: var(--background);
|
||||
}
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.hover\:bg-card:hover {
|
||||
background-color: var(--card);
|
||||
@@ -3324,6 +3620,18 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.hover\:bg-muted\/30:hover {
|
||||
background-color: var(--muted);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.hover\:bg-muted\/30:hover {
|
||||
background-color: color-mix(in oklab, var(--muted) 30%, transparent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.hover\:bg-muted\/50:hover {
|
||||
background-color: var(--muted);
|
||||
@@ -3426,6 +3734,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.hover\:opacity-90:hover {
|
||||
opacity: .9;
|
||||
}
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.hover\:opacity-100:hover {
|
||||
opacity: 1;
|
||||
@@ -4773,6 +5087,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 48rem) {
|
||||
.md\:col-span-2 {
|
||||
grid-column: span 2 / span 2;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 48rem) {
|
||||
.md\:ml-12 {
|
||||
margin-left: calc(var(--spacing) * 12);
|
||||
@@ -4932,6 +5252,24 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 64rem) {
|
||||
.lg\:col-span-3 {
|
||||
grid-column: span 3 / span 3;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 64rem) {
|
||||
.lg\:col-span-4 {
|
||||
grid-column: span 4 / span 4;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 64rem) {
|
||||
.lg\:col-span-5 {
|
||||
grid-column: span 5 / span 5;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 64rem) {
|
||||
.lg\:grid-cols-2 {
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
@@ -4950,6 +5288,18 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 64rem) {
|
||||
.lg\:grid-cols-12 {
|
||||
grid-template-columns: repeat(12, minmax(0, 1fr));
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 80rem) {
|
||||
.xl\:grid-cols-4 {
|
||||
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||
}
|
||||
}
|
||||
|
||||
@container field-group (min-width: 28rem) {
|
||||
.\@md\/field-group\:flex-row {
|
||||
flex-direction: row;
|
||||
@@ -5000,10 +5350,24 @@
|
||||
background-color: #0000;
|
||||
}
|
||||
|
||||
.dark\:bg-yellow-900\/20:is(.dark *) {
|
||||
background-color: #733e0a33;
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.dark\:bg-yellow-900\/20:is(.dark *) {
|
||||
background-color: color-mix(in oklab, var(--color-yellow-900) 20%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.dark\:text-muted-foreground:is(.dark *) {
|
||||
color: var(--muted-foreground);
|
||||
}
|
||||
|
||||
.dark\:ring-yellow-800:is(.dark *) {
|
||||
--tw-ring-color: var(--color-yellow-800);
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.dark\:hover\:bg-accent\/50:is(.dark *):hover {
|
||||
background-color: var(--accent);
|
||||
@@ -6011,6 +6375,57 @@
|
||||
initial-value: solid;
|
||||
}
|
||||
|
||||
@property --tw-gradient-position {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-gradient-from {
|
||||
syntax: "<color>";
|
||||
inherits: false;
|
||||
initial-value: #0000;
|
||||
}
|
||||
|
||||
@property --tw-gradient-via {
|
||||
syntax: "<color>";
|
||||
inherits: false;
|
||||
initial-value: #0000;
|
||||
}
|
||||
|
||||
@property --tw-gradient-to {
|
||||
syntax: "<color>";
|
||||
inherits: false;
|
||||
initial-value: #0000;
|
||||
}
|
||||
|
||||
@property --tw-gradient-stops {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-gradient-via-stops {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-gradient-from-position {
|
||||
syntax: "<length-percentage>";
|
||||
inherits: false;
|
||||
initial-value: 0%;
|
||||
}
|
||||
|
||||
@property --tw-gradient-via-position {
|
||||
syntax: "<length-percentage>";
|
||||
inherits: false;
|
||||
initial-value: 50%;
|
||||
}
|
||||
|
||||
@property --tw-gradient-to-position {
|
||||
syntax: "<length-percentage>";
|
||||
inherits: false;
|
||||
initial-value: 100%;
|
||||
}
|
||||
|
||||
@property --tw-leading {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
@@ -6136,6 +6551,72 @@
|
||||
initial-value: solid;
|
||||
}
|
||||
|
||||
@property --tw-blur {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-brightness {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-contrast {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-grayscale {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-hue-rotate {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-invert {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-opacity {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-saturate {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-sepia {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-drop-shadow {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-drop-shadow-color {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-drop-shadow-alpha {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 100%;
|
||||
}
|
||||
|
||||
@property --tw-drop-shadow-size {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-backdrop-blur {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+2
-2
@@ -2,8 +2,8 @@
|
||||
script: typeof document === "object" ? document.currentScript : undefined,
|
||||
chunks: [
|
||||
"static/chunks/[root-of-the-server]__6d150df4._.css",
|
||||
"static/chunks/a0629__pnpm_a8b2b3e1._.js",
|
||||
"static/chunks/Documents_go-new_chinese-family-tree_da5a5998._.js"
|
||||
"static/chunks/a0629__pnpm_099d4172._.js",
|
||||
"static/chunks/Documents_go-new_chinese-family-tree_d7eac8a1._.js"
|
||||
],
|
||||
source: "dynamic"
|
||||
});
|
||||
|
||||
+3
-2
@@ -1,8 +1,9 @@
|
||||
(globalThis.TURBOPACK_CHUNK_LISTS || (globalThis.TURBOPACK_CHUNK_LISTS = [])).push({
|
||||
script: typeof document === "object" ? document.currentScript : undefined,
|
||||
chunks: [
|
||||
"static/chunks/Documents_go-new_chinese-family-tree_ecc939d1._.js",
|
||||
"static/chunks/a0629__pnpm_083acf2b._.js"
|
||||
"static/chunks/Documents_go-new_chinese-family-tree_9fe2625b._.js",
|
||||
"static/chunks/a0629__pnpm_5bcfcdb9._.js",
|
||||
"static/chunks/4c051_react-image-crop_dist_ReactCrop_bde06fd8.css"
|
||||
],
|
||||
source: "dynamic"
|
||||
});
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
script: typeof document === "object" ? document.currentScript : undefined,
|
||||
chunks: [
|
||||
"static/chunks/Documents_go-new_chinese-family-tree_905c8b60._.js",
|
||||
"static/chunks/a0629__pnpm_359a17bb._.js"
|
||||
"static/chunks/a0629__pnpm_af89b66b._.js"
|
||||
],
|
||||
source: "dynamic"
|
||||
});
|
||||
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
(globalThis.TURBOPACK_CHUNK_LISTS || (globalThis.TURBOPACK_CHUNK_LISTS = [])).push({
|
||||
script: typeof document === "object" ? document.currentScript : undefined,
|
||||
chunks: [
|
||||
"static/chunks/Documents_go-new_chinese-family-tree_905c8b60._.js",
|
||||
"static/chunks/a0629__pnpm_af89b66b._.js"
|
||||
],
|
||||
source: "dynamic"
|
||||
});
|
||||
+28
-2
@@ -1,8 +1,34 @@
|
||||
(globalThis.TURBOPACK_CHUNK_LISTS || (globalThis.TURBOPACK_CHUNK_LISTS = [])).push({
|
||||
script: typeof document === "object" ? document.currentScript : undefined,
|
||||
chunks: [
|
||||
"static/chunks/a0629__pnpm_79a0c251._.js",
|
||||
"static/chunks/Documents_go-new_chinese-family-tree_2338f068._.js"
|
||||
"static/chunks/Documents_go-new_chinese-family-tree_88cf4dd7._.js",
|
||||
"static/chunks/56139_zrender_lib_ce23e365._.js",
|
||||
"static/chunks/f639c_echarts_lib_util_d4941c19._.js",
|
||||
"static/chunks/f639c_echarts_lib_model_76b10339._.js",
|
||||
"static/chunks/f639c_echarts_lib_label_1eda581d._.js",
|
||||
"static/chunks/f639c_echarts_lib_core_83e874fa._.js",
|
||||
"static/chunks/f639c_echarts_lib_scale_c4e1b6f8._.js",
|
||||
"static/chunks/f639c_echarts_lib_data_b614132d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_tooltip_6c6de848._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_axis_85c6ff97._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_axisPointer_98ac8b14._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_helper_7aa6326d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_dataZoom_e286f5bf._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_toolbox_521b5e37._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_marker_cd5e44e5._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_legend_f6ba321d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_visualMap_ee0662bf._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_a60fa07b._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_helper_d540efe4._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_line_ce4c6105._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_bar_5820a790._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_treemap_7a38bd49._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_graph_f9c2705e._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_1638f649._.js",
|
||||
"static/chunks/f639c_echarts_lib_coord_8d85a72c._.js",
|
||||
"static/chunks/f639c_echarts_lib_10a7987a._.js",
|
||||
"static/chunks/f639c_echarts_index_dade51e7.js",
|
||||
"static/chunks/a0629__pnpm_f75ea52f._.js"
|
||||
],
|
||||
source: "dynamic"
|
||||
});
|
||||
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
(globalThis.TURBOPACK_CHUNK_LISTS || (globalThis.TURBOPACK_CHUNK_LISTS = [])).push({
|
||||
script: typeof document === "object" ? document.currentScript : undefined,
|
||||
chunks: [
|
||||
"static/chunks/Documents_go-new_chinese-family-tree_88cf4dd7._.js",
|
||||
"static/chunks/56139_zrender_lib_ce23e365._.js",
|
||||
"static/chunks/f639c_echarts_lib_util_d4941c19._.js",
|
||||
"static/chunks/f639c_echarts_lib_model_76b10339._.js",
|
||||
"static/chunks/f639c_echarts_lib_label_1eda581d._.js",
|
||||
"static/chunks/f639c_echarts_lib_core_83e874fa._.js",
|
||||
"static/chunks/f639c_echarts_lib_scale_c4e1b6f8._.js",
|
||||
"static/chunks/f639c_echarts_lib_data_b614132d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_tooltip_6c6de848._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_axis_85c6ff97._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_axisPointer_98ac8b14._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_helper_7aa6326d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_dataZoom_e286f5bf._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_toolbox_521b5e37._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_marker_cd5e44e5._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_legend_f6ba321d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_visualMap_ee0662bf._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_a60fa07b._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_helper_d540efe4._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_line_ce4c6105._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_bar_5820a790._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_treemap_7a38bd49._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_graph_f9c2705e._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_1638f649._.js",
|
||||
"static/chunks/f639c_echarts_lib_coord_8d85a72c._.js",
|
||||
"static/chunks/f639c_echarts_lib_10a7987a._.js",
|
||||
"static/chunks/f639c_echarts_index_dade51e7.js",
|
||||
"static/chunks/a0629__pnpm_f75ea52f._.js"
|
||||
],
|
||||
source: "dynamic"
|
||||
});
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
(globalThis.TURBOPACK_CHUNK_LISTS || (globalThis.TURBOPACK_CHUNK_LISTS = [])).push({
|
||||
script: typeof document === "object" ? document.currentScript : undefined,
|
||||
chunks: [
|
||||
"static/chunks/Documents_go-new_chinese-family-tree_fcfa7d71._.js",
|
||||
"static/chunks/56139_zrender_lib_ce23e365._.js",
|
||||
"static/chunks/f639c_echarts_lib_util_d4941c19._.js",
|
||||
"static/chunks/f639c_echarts_lib_model_76b10339._.js",
|
||||
"static/chunks/f639c_echarts_lib_label_1eda581d._.js",
|
||||
"static/chunks/f639c_echarts_lib_core_83e874fa._.js",
|
||||
"static/chunks/f639c_echarts_lib_scale_c4e1b6f8._.js",
|
||||
"static/chunks/f639c_echarts_lib_data_b614132d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_tooltip_6c6de848._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_axis_85c6ff97._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_axisPointer_98ac8b14._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_helper_7aa6326d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_dataZoom_e286f5bf._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_toolbox_521b5e37._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_marker_cd5e44e5._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_legend_f6ba321d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_visualMap_ee0662bf._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_a60fa07b._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_helper_d540efe4._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_line_ce4c6105._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_bar_5820a790._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_treemap_7a38bd49._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_graph_f9c2705e._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_1638f649._.js",
|
||||
"static/chunks/f639c_echarts_lib_coord_8d85a72c._.js",
|
||||
"static/chunks/f639c_echarts_lib_10a7987a._.js",
|
||||
"static/chunks/f639c_echarts_index_dade51e7.js",
|
||||
"static/chunks/a0629__pnpm_1332b5ac._.js"
|
||||
],
|
||||
source: "dynamic"
|
||||
});
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
(globalThis.TURBOPACK_CHUNK_LISTS || (globalThis.TURBOPACK_CHUNK_LISTS = [])).push({
|
||||
script: typeof document === "object" ? document.currentScript : undefined,
|
||||
chunks: [
|
||||
"static/chunks/Documents_go-new_chinese-family-tree_414e667a._.js",
|
||||
"static/chunks/a0629__pnpm_0a25c034._.js"
|
||||
],
|
||||
source: "dynamic"
|
||||
});
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
(globalThis.TURBOPACK_CHUNK_LISTS || (globalThis.TURBOPACK_CHUNK_LISTS = [])).push({
|
||||
script: typeof document === "object" ? document.currentScript : undefined,
|
||||
chunks: [
|
||||
"static/chunks/Documents_go-new_chinese-family-tree_6ed28c1d._.js",
|
||||
"static/chunks/a0629__pnpm_0a25c034._.js"
|
||||
],
|
||||
source: "dynamic"
|
||||
});
|
||||
+28
-1
@@ -1,8 +1,35 @@
|
||||
(globalThis.TURBOPACK_CHUNK_LISTS || (globalThis.TURBOPACK_CHUNK_LISTS = [])).push({
|
||||
script: typeof document === "object" ? document.currentScript : undefined,
|
||||
chunks: [
|
||||
"static/chunks/6bb63_echarts-for-react_esm_index_e4f93e37.js",
|
||||
"static/chunks/Documents_go-new_chinese-family-tree_176456ab._.js",
|
||||
"static/chunks/a0629__pnpm_ee284266._.js"
|
||||
"static/chunks/56139_zrender_lib_dd4f683d._.js",
|
||||
"static/chunks/f639c_echarts_lib_util_d4941c19._.js",
|
||||
"static/chunks/f639c_echarts_lib_model_76b10339._.js",
|
||||
"static/chunks/f639c_echarts_lib_label_1eda581d._.js",
|
||||
"static/chunks/f639c_echarts_lib_core_83e874fa._.js",
|
||||
"static/chunks/f639c_echarts_lib_scale_c4e1b6f8._.js",
|
||||
"static/chunks/f639c_echarts_lib_data_b614132d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_tooltip_6c6de848._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_axis_85c6ff97._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_axisPointer_98ac8b14._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_helper_7aa6326d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_dataZoom_e286f5bf._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_toolbox_521b5e37._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_marker_cd5e44e5._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_legend_f6ba321d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_visualMap_ee0662bf._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_a60fa07b._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_helper_d540efe4._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_line_ce4c6105._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_bar_5820a790._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_treemap_7a38bd49._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_graph_f9c2705e._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_1638f649._.js",
|
||||
"static/chunks/f639c_echarts_lib_coord_8d85a72c._.js",
|
||||
"static/chunks/f639c_echarts_lib_92e26ca0._.js",
|
||||
"static/chunks/f639c_echarts_index_dade51e7.js",
|
||||
"static/chunks/a0629__pnpm_1b9dd1c4._.js"
|
||||
],
|
||||
source: "dynamic"
|
||||
});
|
||||
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
(globalThis.TURBOPACK_CHUNK_LISTS || (globalThis.TURBOPACK_CHUNK_LISTS = [])).push({
|
||||
script: typeof document === "object" ? document.currentScript : undefined,
|
||||
chunks: [
|
||||
"static/chunks/6bb63_echarts-for-react_esm_index_e902ea49.js",
|
||||
"static/chunks/Documents_go-new_chinese-family-tree_176456ab._.js",
|
||||
"static/chunks/56139_zrender_lib_dd4f683d._.js",
|
||||
"static/chunks/f639c_echarts_lib_util_d4941c19._.js",
|
||||
"static/chunks/f639c_echarts_lib_model_76b10339._.js",
|
||||
"static/chunks/f639c_echarts_lib_label_1eda581d._.js",
|
||||
"static/chunks/f639c_echarts_lib_core_83e874fa._.js",
|
||||
"static/chunks/f639c_echarts_lib_scale_c4e1b6f8._.js",
|
||||
"static/chunks/f639c_echarts_lib_data_b614132d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_tooltip_6c6de848._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_axis_85c6ff97._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_axisPointer_98ac8b14._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_helper_7aa6326d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_dataZoom_e286f5bf._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_toolbox_521b5e37._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_marker_cd5e44e5._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_legend_f6ba321d._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_visualMap_ee0662bf._.js",
|
||||
"static/chunks/f639c_echarts_lib_component_a60fa07b._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_helper_d540efe4._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_line_ce4c6105._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_bar_5820a790._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_treemap_7a38bd49._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_graph_f9c2705e._.js",
|
||||
"static/chunks/f639c_echarts_lib_chart_1638f649._.js",
|
||||
"static/chunks/f639c_echarts_lib_coord_8d85a72c._.js",
|
||||
"static/chunks/f639c_echarts_lib_92e26ca0._.js",
|
||||
"static/chunks/f639c_echarts_index_dade51e7.js",
|
||||
"static/chunks/a0629__pnpm_1b9dd1c4._.js"
|
||||
],
|
||||
source: "dynamic"
|
||||
});
|
||||
+3
-2
@@ -1,8 +1,9 @@
|
||||
(globalThis.TURBOPACK_CHUNK_LISTS || (globalThis.TURBOPACK_CHUNK_LISTS = [])).push({
|
||||
script: typeof document === "object" ? document.currentScript : undefined,
|
||||
chunks: [
|
||||
"static/chunks/a0629__pnpm_337b4455._.js",
|
||||
"static/chunks/Documents_go-new_chinese-family-tree_d13ac92d._.js"
|
||||
"static/chunks/ffc37_dom-to-image-more_dist_dom-to-image-more_min_b9d21b93.js",
|
||||
"static/chunks/a0629__pnpm_49f8f44c._.js",
|
||||
"static/chunks/Documents_go-new_chinese-family-tree_f50e5040._.js"
|
||||
],
|
||||
source: "dynamic"
|
||||
});
|
||||
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
(globalThis.TURBOPACK_CHUNK_LISTS || (globalThis.TURBOPACK_CHUNK_LISTS = [])).push({
|
||||
script: typeof document === "object" ? document.currentScript : undefined,
|
||||
chunks: [
|
||||
"static/chunks/ffc37_dom-to-image-more_dist_dom-to-image-more_min_5e8fd208.js",
|
||||
"static/chunks/a0629__pnpm_49f8f44c._.js",
|
||||
"static/chunks/Documents_go-new_chinese-family-tree_f50e5040._.js"
|
||||
],
|
||||
source: "dynamic"
|
||||
});
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
(globalThis.TURBOPACK_CHUNK_LISTS || (globalThis.TURBOPACK_CHUNK_LISTS = [])).push({
|
||||
script: typeof document === "object" ? document.currentScript : undefined,
|
||||
chunks: [
|
||||
"static/chunks/ffc37_dom-to-image-more_dist_dom-to-image-more_min_a4b555c0.js",
|
||||
"static/chunks/Documents_go-new_chinese-family-tree_fcc8f317._.js"
|
||||
],
|
||||
source: "dynamic"
|
||||
});
|
||||
@@ -1769,43 +1769,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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)
|
||||
]
|
||||
@@ -1814,6 +1926,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["CardHeader"], {
|
||||
@@ -1824,19 +1984,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["CardContent"], {
|
||||
@@ -1852,7 +2012,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["Select"], {
|
||||
@@ -1864,12 +2024,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["SelectContent"], {
|
||||
@@ -1879,7 +2039,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["SelectItem"], {
|
||||
@@ -1892,25 +2052,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -1921,7 +2081,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["Select"], {
|
||||
@@ -1933,12 +2093,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["SelectContent"], {
|
||||
@@ -1948,7 +2108,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["SelectItem"], {
|
||||
@@ -1961,25 +2121,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -1990,7 +2150,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["Select"], {
|
||||
@@ -2002,12 +2162,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["SelectContent"], {
|
||||
@@ -2017,7 +2177,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
|
||||
@@ -2031,42 +2191,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)
|
||||
]
|
||||
@@ -2085,7 +2245,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["Button"], {
|
||||
@@ -2094,13 +2254,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
@@ -425,12 +425,64 @@ __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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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/compiled/react/jsx-dev-runtime.js [app-client] (ecmascript)");
|
||||
var __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$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/lib/utils.ts [app-client] (ecmascript)");
|
||||
;
|
||||
var _s = __turbopack_context__.k.signature();
|
||||
"use client";
|
||||
;
|
||||
;
|
||||
// 格式化日期显示(只显示年份)
|
||||
function formatYear(dateString) {
|
||||
if (!dateString) return '';
|
||||
const year = dateString.split('-')[0];
|
||||
return year;
|
||||
}
|
||||
function FamilyNode({ member, spouse, isRoot, onSelect }) {
|
||||
_s();
|
||||
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({
|
||||
"FamilyNode.useEffect": ()=>{
|
||||
let isMounted = true;
|
||||
let objectUrl;
|
||||
if (member?.avatarImageId) {
|
||||
setIsLoading(true);
|
||||
db.images.get(member.avatarImageId).then({
|
||||
"FamilyNode.useEffect": (image)=>{
|
||||
if (image && isMounted) {
|
||||
objectUrl = URL.createObjectURL(image.blob);
|
||||
setAvatarBlobUrl(objectUrl);
|
||||
setIsLoading(false);
|
||||
}
|
||||
}
|
||||
}["FamilyNode.useEffect"]).catch({
|
||||
"FamilyNode.useEffect": ()=>{
|
||||
if (isMounted) {
|
||||
setIsLoading(false);
|
||||
}
|
||||
}
|
||||
}["FamilyNode.useEffect"]);
|
||||
} else {
|
||||
setAvatarBlobUrl(undefined);
|
||||
setIsLoading(false);
|
||||
}
|
||||
return ({
|
||||
"FamilyNode.useEffect": ()=>{
|
||||
isMounted = false;
|
||||
if (objectUrl) {
|
||||
URL.revokeObjectURL(objectUrl);
|
||||
}
|
||||
}
|
||||
})["FamilyNode.useEffect"];
|
||||
}
|
||||
}["FamilyNode.useEffect"], [
|
||||
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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -441,41 +493,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -486,29 +542,38 @@ 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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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);
|
||||
}
|
||||
_s(FamilyNode, "5puKg1UIe7xwQ5TKpc/rIlus/W0=");
|
||||
_c = FamilyNode;
|
||||
var _c;
|
||||
__turbopack_context__.k.register(_c, "FamilyNode");
|
||||
@@ -526,18 +591,138 @@ __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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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/compiled/react/jsx-dev-runtime.js [app-client] (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$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/components/tree/family-node.tsx [app-client] (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$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx [app-client] (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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$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/compiled/react/index.js [app-client] (ecmascript)");
|
||||
;
|
||||
var _s = __turbopack_context__.k.signature();
|
||||
"use client";
|
||||
;
|
||||
;
|
||||
;
|
||||
function TreeLayout({ rootId, onSelectMember }) {
|
||||
_s();
|
||||
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$client$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$client$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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useCallback"])({
|
||||
"TreeLayout.useCallback[calculateConnections]": ()=>{
|
||||
const newConnections = [];
|
||||
const containerRect = containerRef.current?.getBoundingClientRect();
|
||||
if (!containerRect) return;
|
||||
// 检查是否有足够的节点已注册
|
||||
if (nodeRefs.current.size === 0) return;
|
||||
nodeRefs.current.forEach({
|
||||
"TreeLayout.useCallback[calculateConnections]": (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({
|
||||
"TreeLayout.useCallback[calculateConnections].childPositions": (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
|
||||
};
|
||||
}
|
||||
}["TreeLayout.useCallback[calculateConnections].childPositions"]).filter(Boolean);
|
||||
if (childPositions.length === 0) return;
|
||||
// 如果有多个子节点,绘制水平连线
|
||||
if (childPositions.length > 1) {
|
||||
const leftmostX = Math.min(...childPositions.map({
|
||||
"TreeLayout.useCallback[calculateConnections].leftmostX": (p)=>p.centerX
|
||||
}["TreeLayout.useCallback[calculateConnections].leftmostX"]));
|
||||
const rightmostX = Math.max(...childPositions.map({
|
||||
"TreeLayout.useCallback[calculateConnections].rightmostX": (p)=>p.centerX
|
||||
}["TreeLayout.useCallback[calculateConnections].rightmostX"]));
|
||||
newConnections.push({
|
||||
from: {
|
||||
x: leftmostX,
|
||||
y: verticalLineY
|
||||
},
|
||||
to: {
|
||||
x: rightmostX,
|
||||
y: verticalLineY
|
||||
},
|
||||
type: 'horizontal'
|
||||
});
|
||||
}
|
||||
// 每个子节点的垂直连线
|
||||
childPositions.forEach({
|
||||
"TreeLayout.useCallback[calculateConnections]": (child)=>{
|
||||
newConnections.push({
|
||||
from: {
|
||||
x: child.centerX,
|
||||
y: verticalLineY
|
||||
},
|
||||
to: {
|
||||
x: child.centerX,
|
||||
y: child.topY
|
||||
},
|
||||
type: 'vertical'
|
||||
});
|
||||
}
|
||||
}["TreeLayout.useCallback[calculateConnections]"]);
|
||||
}
|
||||
}["TreeLayout.useCallback[calculateConnections]"]);
|
||||
setConnections(newConnections);
|
||||
}
|
||||
}["TreeLayout.useCallback[calculateConnections]"], [
|
||||
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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useEffect"])({
|
||||
"TreeLayout.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 ({
|
||||
"TreeLayout.useEffect": ()=>{
|
||||
timers.forEach({
|
||||
"TreeLayout.useEffect": (timer)=>clearTimeout(timer)
|
||||
}["TreeLayout.useEffect"]);
|
||||
window.removeEventListener('resize', calculateConnections);
|
||||
}
|
||||
})["TreeLayout.useEffect"];
|
||||
}
|
||||
}["TreeLayout.useEffect"], [
|
||||
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;
|
||||
@@ -545,132 +730,125 @@ 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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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);
|
||||
}
|
||||
_s(TreeLayout, "4iVqxGJ3BVSCeSrEI+JXR0phw8s=", false, function() {
|
||||
_s(TreeLayout, "L8DuWoGUvxDERpdCrEZF8kp6Sks=", false, function() {
|
||||
return [
|
||||
__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$client$5d$__$28$ecmascript$29$__["useFamily"]
|
||||
];
|
||||
|
||||
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
@@ -24,74 +24,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"
|
||||
@@ -155,6 +487,7 @@ function FamilyProvider({ children }) {
|
||||
_s();
|
||||
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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["useLiveQuery"])({
|
||||
"FamilyProvider.useLiveQuery[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$client$5d$__$28$ecmascript$29$__["db"].members.toArray()
|
||||
@@ -336,16 +669,18 @@ 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);
|
||||
}
|
||||
_s(FamilyProvider, "4aP1rNWeVZgMpJ1s4jlfi91bk4g=", false, function() {
|
||||
_s(FamilyProvider, "MaXTifX1wt5nxXGJqZ0hkHvJfuc=", false, function() {
|
||||
return [
|
||||
__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$client$5d$__$28$ecmascript$29$__["useLiveQuery"],
|
||||
__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$client$5d$__$28$ecmascript$29$__["useLiveQuery"]
|
||||
|
||||
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
@@ -202,7 +202,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
className: "mr-8 flex items-center gap-2",
|
||||
@@ -642,34 +642,26 @@ var _s = __turbopack_context__.k.signature();
|
||||
;
|
||||
function SettingsPage() {
|
||||
_s();
|
||||
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$client$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$client$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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -686,27 +678,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["CardContent"], {
|
||||
@@ -729,18 +721,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["Card"], {
|
||||
@@ -754,27 +746,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["CardContent"], {
|
||||
@@ -787,27 +779,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
@@ -822,21 +814,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("错误:无法解析文件");
|
||||
}
|
||||
};
|
||||
@@ -844,7 +834,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["Button"], {
|
||||
@@ -853,7 +843,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["jsxDEV"])("span", {
|
||||
@@ -861,25 +851,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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$5d$__$28$ecmascript$29$__["Card"], {
|
||||
@@ -893,74 +883,75 @@ 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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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$compiled$2f$react$2f$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$client$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$client$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);
|
||||
}
|
||||
_s(SettingsPage, "Lbb7IEySJxErIAasuOt4mphxT6I=", false, function() {
|
||||
_s(SettingsPage, "2lCAN+BUAWm5q1VUv7U4Q5FCLl4=", false, function() {
|
||||
return [
|
||||
__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$client$5d$__$28$ecmascript$29$__["useFamily"]
|
||||
];
|
||||
|
||||
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
@@ -97,6 +97,15 @@
|
||||
--tw-space-y-reverse: 0;
|
||||
--tw-space-x-reverse: 0;
|
||||
--tw-border-style: solid;
|
||||
--tw-gradient-position: initial;
|
||||
--tw-gradient-from: #0000;
|
||||
--tw-gradient-via: #0000;
|
||||
--tw-gradient-to: #0000;
|
||||
--tw-gradient-stops: initial;
|
||||
--tw-gradient-via-stops: initial;
|
||||
--tw-gradient-from-position: 0%;
|
||||
--tw-gradient-via-position: 50%;
|
||||
--tw-gradient-to-position: 100%;
|
||||
--tw-leading: initial;
|
||||
--tw-font-weight: initial;
|
||||
--tw-tracking: initial;
|
||||
@@ -120,6 +129,19 @@
|
||||
--tw-ring-offset-color: #fff;
|
||||
--tw-ring-offset-shadow: 0 0 #0000;
|
||||
--tw-outline-style: solid;
|
||||
--tw-blur: initial;
|
||||
--tw-brightness: initial;
|
||||
--tw-contrast: initial;
|
||||
--tw-grayscale: initial;
|
||||
--tw-hue-rotate: initial;
|
||||
--tw-invert: initial;
|
||||
--tw-opacity: initial;
|
||||
--tw-saturate: initial;
|
||||
--tw-sepia: initial;
|
||||
--tw-drop-shadow: initial;
|
||||
--tw-drop-shadow-color: initial;
|
||||
--tw-drop-shadow-alpha: 100%;
|
||||
--tw-drop-shadow-size: initial;
|
||||
--tw-backdrop-blur: initial;
|
||||
--tw-backdrop-brightness: initial;
|
||||
--tw-backdrop-contrast: initial;
|
||||
@@ -160,6 +182,13 @@
|
||||
--color-red-300: #ffa3a3;
|
||||
--color-red-400: #ff6568;
|
||||
--color-red-600: #e40014;
|
||||
--color-yellow-50: #fefce8;
|
||||
--color-yellow-200: #fff085;
|
||||
--color-yellow-400: #fac800;
|
||||
--color-yellow-800: #874b00;
|
||||
--color-yellow-900: #733e0a;
|
||||
--color-blue-400: #54a2ff;
|
||||
--color-pink-400: #fb64b6;
|
||||
--color-neutral-50: #fafafa;
|
||||
--color-neutral-100: #f5f5f5;
|
||||
--color-neutral-200: #e5e5e5;
|
||||
@@ -174,6 +203,7 @@
|
||||
--container-sm: 24rem;
|
||||
--container-lg: 32rem;
|
||||
--container-xl: 36rem;
|
||||
--container-2xl: 42rem;
|
||||
--container-3xl: 48rem;
|
||||
--container-4xl: 56rem;
|
||||
--text-xs: .75rem;
|
||||
@@ -222,6 +252,13 @@
|
||||
--color-red-300: lab(76.5514% 36.422 15.5335);
|
||||
--color-red-400: lab(63.7053% 60.745 31.3109);
|
||||
--color-red-600: lab(48.4493% 77.4328 61.5452);
|
||||
--color-yellow-50: lab(98.6846% -1.79055 9.7766);
|
||||
--color-yellow-200: lab(94.3433% -5.00429 52.9663);
|
||||
--color-yellow-400: lab(83.2664% 8.65132 106.895);
|
||||
--color-yellow-800: lab(38.7484% 23.5833 51.4916);
|
||||
--color-yellow-900: lab(32.3865% 21.1273 38.5959);
|
||||
--color-blue-400: lab(65.0361% -1.42065 -56.9802);
|
||||
--color-pink-400: lab(64.5597% 64.3615 -12.7988);
|
||||
--color-neutral-50: lab(98.26% 0 0);
|
||||
--color-neutral-100: lab(96.52% -.0000298023 .0000119209);
|
||||
--color-neutral-200: lab(90.952% 0 -.0000119209);
|
||||
@@ -524,6 +561,10 @@
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.visible {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.sr-only {
|
||||
clip-path: inset(50%);
|
||||
white-space: nowrap;
|
||||
@@ -572,10 +613,6 @@
|
||||
top: calc(var(--spacing) * -3);
|
||||
}
|
||||
|
||||
.-top-8 {
|
||||
top: calc(var(--spacing) * -8);
|
||||
}
|
||||
|
||||
.-top-12 {
|
||||
top: calc(var(--spacing) * -12);
|
||||
}
|
||||
@@ -668,6 +705,10 @@
|
||||
bottom: calc(var(--spacing) * 0);
|
||||
}
|
||||
|
||||
.bottom-2 {
|
||||
bottom: calc(var(--spacing) * 2);
|
||||
}
|
||||
|
||||
.bottom-4 {
|
||||
bottom: calc(var(--spacing) * 4);
|
||||
}
|
||||
@@ -906,6 +947,10 @@
|
||||
margin-left: calc(var(--spacing) * 1);
|
||||
}
|
||||
|
||||
.ml-1\.5 {
|
||||
margin-left: calc(var(--spacing) * 1.5);
|
||||
}
|
||||
|
||||
.ml-2 {
|
||||
margin-left: calc(var(--spacing) * 2);
|
||||
}
|
||||
@@ -1053,6 +1098,10 @@
|
||||
height: var(--cell-size);
|
||||
}
|
||||
|
||||
.h-0\.5 {
|
||||
height: calc(var(--spacing) * .5);
|
||||
}
|
||||
|
||||
.h-1\.5 {
|
||||
height: calc(var(--spacing) * 1.5);
|
||||
}
|
||||
@@ -1101,6 +1150,10 @@
|
||||
height: calc(var(--spacing) * 12);
|
||||
}
|
||||
|
||||
.h-14 {
|
||||
height: calc(var(--spacing) * 14);
|
||||
}
|
||||
|
||||
.h-16 {
|
||||
height: calc(var(--spacing) * 16);
|
||||
}
|
||||
@@ -1109,10 +1162,6 @@
|
||||
height: calc(var(--spacing) * 20);
|
||||
}
|
||||
|
||||
.h-28 {
|
||||
height: calc(var(--spacing) * 28);
|
||||
}
|
||||
|
||||
.h-32 {
|
||||
height: calc(var(--spacing) * 32);
|
||||
}
|
||||
@@ -1121,6 +1170,10 @@
|
||||
height: 1.15rem;
|
||||
}
|
||||
|
||||
.h-\[300px\] {
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
.h-\[400px\] {
|
||||
height: 400px;
|
||||
}
|
||||
@@ -1173,6 +1226,14 @@
|
||||
max-height: var(--radix-select-content-available-height);
|
||||
}
|
||||
|
||||
.max-h-\[60vh\] {
|
||||
max-height: 60vh;
|
||||
}
|
||||
|
||||
.max-h-\[70vh\] {
|
||||
max-height: 70vh;
|
||||
}
|
||||
|
||||
.max-h-\[300px\] {
|
||||
max-height: 300px;
|
||||
}
|
||||
@@ -1221,12 +1282,12 @@
|
||||
width: calc(var(--spacing) * 0);
|
||||
}
|
||||
|
||||
.w-1 {
|
||||
width: calc(var(--spacing) * 1);
|
||||
.w-0\.5 {
|
||||
width: calc(var(--spacing) * .5);
|
||||
}
|
||||
|
||||
.w-1\/2 {
|
||||
width: 50%;
|
||||
.w-1 {
|
||||
width: calc(var(--spacing) * 1);
|
||||
}
|
||||
|
||||
.w-2 {
|
||||
@@ -1257,6 +1318,10 @@
|
||||
width: calc(var(--spacing) * 6);
|
||||
}
|
||||
|
||||
.w-7 {
|
||||
width: calc(var(--spacing) * 7);
|
||||
}
|
||||
|
||||
.w-8 {
|
||||
width: calc(var(--spacing) * 8);
|
||||
}
|
||||
@@ -1273,6 +1338,10 @@
|
||||
width: calc(var(--spacing) * 12);
|
||||
}
|
||||
|
||||
.w-14 {
|
||||
width: calc(var(--spacing) * 14);
|
||||
}
|
||||
|
||||
.w-16 {
|
||||
width: calc(var(--spacing) * 16);
|
||||
}
|
||||
@@ -1281,10 +1350,6 @@
|
||||
width: calc(var(--spacing) * 20);
|
||||
}
|
||||
|
||||
.w-28 {
|
||||
width: calc(var(--spacing) * 28);
|
||||
}
|
||||
|
||||
.w-32 {
|
||||
width: calc(var(--spacing) * 32);
|
||||
}
|
||||
@@ -1301,10 +1366,6 @@
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.w-\[calc\(100\%-8rem\)\] {
|
||||
width: calc(100% - 8rem);
|
||||
}
|
||||
|
||||
.w-auto {
|
||||
width: auto;
|
||||
}
|
||||
@@ -1329,6 +1390,10 @@
|
||||
max-width: var(--skeleton-width);
|
||||
}
|
||||
|
||||
.max-w-2xl {
|
||||
max-width: var(--container-2xl);
|
||||
}
|
||||
|
||||
.max-w-3xl {
|
||||
max-width: var(--container-3xl);
|
||||
}
|
||||
@@ -1341,6 +1406,10 @@
|
||||
max-width: calc(100% - 2rem);
|
||||
}
|
||||
|
||||
.max-w-full {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.max-w-max {
|
||||
max-width: max-content;
|
||||
}
|
||||
@@ -1409,7 +1478,7 @@
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.shrink-0 {
|
||||
.flex-shrink-0, .shrink-0 {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
@@ -1461,6 +1530,10 @@
|
||||
transform-origin: var(--radix-tooltip-content-transform-origin);
|
||||
}
|
||||
|
||||
.origin-center {
|
||||
transform-origin: center;
|
||||
}
|
||||
|
||||
.-translate-x-1\/2 {
|
||||
--tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
|
||||
translate: var(--tw-translate-x) var(--tw-translate-y);
|
||||
@@ -1549,6 +1622,10 @@
|
||||
touch-action: none;
|
||||
}
|
||||
|
||||
.resize {
|
||||
resize: both;
|
||||
}
|
||||
|
||||
.resize-none {
|
||||
resize: none;
|
||||
}
|
||||
@@ -1695,6 +1772,12 @@
|
||||
margin-block-end: calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)));
|
||||
}
|
||||
|
||||
:where(.space-y-0\.5 > :not(:last-child)) {
|
||||
--tw-space-y-reverse: 0;
|
||||
margin-block-start: calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));
|
||||
margin-block-end: calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)));
|
||||
}
|
||||
|
||||
:where(.space-y-1 > :not(:last-child)) {
|
||||
--tw-space-y-reverse: 0;
|
||||
margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
|
||||
@@ -1850,6 +1933,11 @@
|
||||
border-width: 2px;
|
||||
}
|
||||
|
||||
.border-4 {
|
||||
border-style: var(--tw-border-style);
|
||||
border-width: 4px;
|
||||
}
|
||||
|
||||
.border-\[1\.5px\] {
|
||||
border-style: var(--tw-border-style);
|
||||
border-width: 1.5px;
|
||||
@@ -1885,6 +1973,11 @@
|
||||
border-left-width: 2px;
|
||||
}
|
||||
|
||||
.border-l-4 {
|
||||
border-left-style: var(--tw-border-style);
|
||||
border-left-width: 4px;
|
||||
}
|
||||
|
||||
.border-dashed {
|
||||
--tw-border-style: dashed;
|
||||
border-style: dashed;
|
||||
@@ -1927,6 +2020,16 @@
|
||||
}
|
||||
}
|
||||
|
||||
.border-border\/60 {
|
||||
border-color: var(--border);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.border-border\/60 {
|
||||
border-color: color-mix(in oklab, var(--border) 60%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.border-destructive {
|
||||
border-color: var(--destructive);
|
||||
}
|
||||
@@ -1981,6 +2084,10 @@
|
||||
border-color: #0000;
|
||||
}
|
||||
|
||||
.border-yellow-400 {
|
||||
border-color: var(--color-yellow-400);
|
||||
}
|
||||
|
||||
.border-t-transparent {
|
||||
border-top-color: #0000;
|
||||
}
|
||||
@@ -2001,6 +2108,16 @@
|
||||
background-color: var(--background);
|
||||
}
|
||||
|
||||
.bg-background\/50 {
|
||||
background-color: var(--background);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.bg-background\/50 {
|
||||
background-color: color-mix(in oklab, var(--background) 50%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.bg-background\/60 {
|
||||
background-color: var(--background);
|
||||
}
|
||||
@@ -2087,6 +2204,46 @@
|
||||
background-color: var(--foreground);
|
||||
}
|
||||
|
||||
.bg-foreground\/20 {
|
||||
background-color: var(--foreground);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.bg-foreground\/20 {
|
||||
background-color: color-mix(in oklab, var(--foreground) 20%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.bg-foreground\/25 {
|
||||
background-color: var(--foreground);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.bg-foreground\/25 {
|
||||
background-color: color-mix(in oklab, var(--foreground) 25%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.bg-foreground\/30 {
|
||||
background-color: var(--foreground);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.bg-foreground\/30 {
|
||||
background-color: color-mix(in oklab, var(--foreground) 30%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.bg-foreground\/40 {
|
||||
background-color: var(--foreground);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.bg-foreground\/40 {
|
||||
background-color: color-mix(in oklab, var(--foreground) 40%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.bg-input {
|
||||
background-color: var(--input);
|
||||
}
|
||||
@@ -2195,10 +2352,53 @@
|
||||
background-color: var(--color-white);
|
||||
}
|
||||
|
||||
.bg-yellow-50 {
|
||||
background-color: var(--color-yellow-50);
|
||||
}
|
||||
|
||||
.bg-gradient-to-br {
|
||||
--tw-gradient-position: to bottom right in oklab;
|
||||
background-image: linear-gradient(var(--tw-gradient-stops));
|
||||
}
|
||||
|
||||
.bg-\[url\(\'https\:\/\/www\.transparenttextures\.com\/patterns\/rice-paper\.png\'\)\] {
|
||||
background-image: url("https://www.transparenttextures.com/patterns/rice-paper.png");
|
||||
}
|
||||
|
||||
.from-primary\/5 {
|
||||
--tw-gradient-from: var(--primary);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.from-primary\/5 {
|
||||
--tw-gradient-from: color-mix(in oklab, var(--primary) 5%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.from-primary\/5 {
|
||||
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
||||
}
|
||||
|
||||
.via-background {
|
||||
--tw-gradient-via: var(--background);
|
||||
--tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
|
||||
--tw-gradient-stops: var(--tw-gradient-via-stops);
|
||||
}
|
||||
|
||||
.to-secondary\/5 {
|
||||
--tw-gradient-to: var(--secondary);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.to-secondary\/5 {
|
||||
--tw-gradient-to: color-mix(in oklab, var(--secondary) 5%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.to-secondary\/5 {
|
||||
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
|
||||
}
|
||||
|
||||
.bg-repeat {
|
||||
background-repeat: repeat;
|
||||
}
|
||||
@@ -2211,10 +2411,18 @@
|
||||
fill: var(--foreground);
|
||||
}
|
||||
|
||||
.fill-muted-foreground {
|
||||
fill: var(--muted-foreground);
|
||||
}
|
||||
|
||||
.fill-primary {
|
||||
fill: var(--primary);
|
||||
}
|
||||
|
||||
.object-contain {
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.object-cover {
|
||||
object-fit: cover;
|
||||
}
|
||||
@@ -2243,6 +2451,10 @@
|
||||
padding: calc(var(--spacing) * 6);
|
||||
}
|
||||
|
||||
.p-8 {
|
||||
padding: calc(var(--spacing) * 8);
|
||||
}
|
||||
|
||||
.p-12 {
|
||||
padding: calc(var(--spacing) * 12);
|
||||
}
|
||||
@@ -2339,14 +2551,14 @@
|
||||
padding-top: calc(var(--spacing) * 4);
|
||||
}
|
||||
|
||||
.pt-8 {
|
||||
padding-top: calc(var(--spacing) * 8);
|
||||
}
|
||||
|
||||
.pt-20 {
|
||||
padding-top: calc(var(--spacing) * 20);
|
||||
}
|
||||
|
||||
.pt-\[3\.75rem\] {
|
||||
padding-top: 3.75rem;
|
||||
}
|
||||
|
||||
.pr-1 {
|
||||
padding-right: calc(var(--spacing) * 1);
|
||||
}
|
||||
@@ -2488,10 +2700,18 @@
|
||||
font-size: .8rem;
|
||||
}
|
||||
|
||||
.text-\[9px\] {
|
||||
font-size: 9px;
|
||||
}
|
||||
|
||||
.text-\[10px\] {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.text-\[11px\] {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.leading-none {
|
||||
--tw-leading: 1;
|
||||
line-height: 1;
|
||||
@@ -2576,6 +2796,10 @@
|
||||
color: var(--background);
|
||||
}
|
||||
|
||||
.text-blue-400 {
|
||||
color: var(--color-blue-400);
|
||||
}
|
||||
|
||||
.text-card-foreground {
|
||||
color: var(--card-foreground);
|
||||
}
|
||||
@@ -2630,6 +2854,26 @@
|
||||
}
|
||||
}
|
||||
|
||||
.text-muted-foreground\/60 {
|
||||
color: var(--muted-foreground);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.text-muted-foreground\/60 {
|
||||
color: color-mix(in oklab, var(--muted-foreground) 60%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.text-muted-foreground\/70 {
|
||||
color: var(--muted-foreground);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.text-muted-foreground\/70 {
|
||||
color: color-mix(in oklab, var(--muted-foreground) 70%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.text-neutral-500 {
|
||||
color: var(--color-neutral-500);
|
||||
}
|
||||
@@ -2638,6 +2882,10 @@
|
||||
color: var(--color-neutral-600);
|
||||
}
|
||||
|
||||
.text-pink-400 {
|
||||
color: var(--color-pink-400);
|
||||
}
|
||||
|
||||
.text-popover-foreground {
|
||||
color: var(--popover-foreground);
|
||||
}
|
||||
@@ -2650,6 +2898,10 @@
|
||||
color: var(--primary-foreground);
|
||||
}
|
||||
|
||||
.text-red-400 {
|
||||
color: var(--color-red-400);
|
||||
}
|
||||
|
||||
.text-secondary-foreground {
|
||||
color: var(--secondary-foreground);
|
||||
}
|
||||
@@ -2698,6 +2950,10 @@
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.opacity-10 {
|
||||
opacity: .1;
|
||||
}
|
||||
|
||||
.opacity-20 {
|
||||
opacity: .2;
|
||||
}
|
||||
@@ -2706,6 +2962,10 @@
|
||||
opacity: .5;
|
||||
}
|
||||
|
||||
.opacity-60 {
|
||||
opacity: .6;
|
||||
}
|
||||
|
||||
.opacity-70 {
|
||||
opacity: .7;
|
||||
}
|
||||
@@ -2787,6 +3047,10 @@
|
||||
--tw-ring-color: var(--sidebar-ring);
|
||||
}
|
||||
|
||||
.ring-yellow-200 {
|
||||
--tw-ring-color: var(--color-yellow-200);
|
||||
}
|
||||
|
||||
.ring-offset-background {
|
||||
--tw-ring-offset-color: var(--background);
|
||||
}
|
||||
@@ -2808,6 +3072,10 @@
|
||||
outline-width: 1px;
|
||||
}
|
||||
|
||||
.filter {
|
||||
filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
|
||||
}
|
||||
|
||||
.backdrop-blur {
|
||||
--tw-backdrop-blur: blur(8px);
|
||||
-webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
|
||||
@@ -2933,6 +3201,10 @@
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.slide-in-from-bottom-5 {
|
||||
--tw-enter-translate-y: calc(.05 * 100%);
|
||||
}
|
||||
|
||||
.zoom-in-95 {
|
||||
--tw-enter-scale: .95;
|
||||
}
|
||||
@@ -2962,6 +3234,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.group-hover\:opacity-30:is(:where(.group):hover *) {
|
||||
opacity: .3;
|
||||
}
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.group-hover\:opacity-100:is(:where(.group):hover *) {
|
||||
opacity: 1;
|
||||
@@ -3384,6 +3662,24 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.hover\:bg-accent\/5:hover {
|
||||
background-color: var(--accent);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.hover\:bg-accent\/5:hover {
|
||||
background-color: color-mix(in oklab, var(--accent) 5%, transparent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.hover\:bg-background:hover {
|
||||
background-color: var(--background);
|
||||
}
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.hover\:bg-card:hover {
|
||||
background-color: var(--card);
|
||||
@@ -3408,6 +3704,18 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.hover\:bg-muted\/30:hover {
|
||||
background-color: var(--muted);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.hover\:bg-muted\/30:hover {
|
||||
background-color: color-mix(in oklab, var(--muted) 30%, transparent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.hover\:bg-muted\/50:hover {
|
||||
background-color: var(--muted);
|
||||
@@ -3510,6 +3818,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.hover\:opacity-90:hover {
|
||||
opacity: .9;
|
||||
}
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.hover\:opacity-100:hover {
|
||||
opacity: 1;
|
||||
@@ -4857,6 +5171,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 48rem) {
|
||||
.md\:col-span-2 {
|
||||
grid-column: span 2 / span 2;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 48rem) {
|
||||
.md\:ml-12 {
|
||||
margin-left: calc(var(--spacing) * 12);
|
||||
@@ -5016,6 +5336,24 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 64rem) {
|
||||
.lg\:col-span-3 {
|
||||
grid-column: span 3 / span 3;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 64rem) {
|
||||
.lg\:col-span-4 {
|
||||
grid-column: span 4 / span 4;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 64rem) {
|
||||
.lg\:col-span-5 {
|
||||
grid-column: span 5 / span 5;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 64rem) {
|
||||
.lg\:grid-cols-2 {
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
@@ -5034,6 +5372,18 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 64rem) {
|
||||
.lg\:grid-cols-12 {
|
||||
grid-template-columns: repeat(12, minmax(0, 1fr));
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 80rem) {
|
||||
.xl\:grid-cols-4 {
|
||||
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||
}
|
||||
}
|
||||
|
||||
@container field-group (min-width: 28rem) {
|
||||
.\@md\/field-group\:flex-row {
|
||||
flex-direction: row;
|
||||
@@ -5084,10 +5434,24 @@
|
||||
background-color: #0000;
|
||||
}
|
||||
|
||||
.dark\:bg-yellow-900\/20:is(.dark *) {
|
||||
background-color: #733e0a33;
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.dark\:bg-yellow-900\/20:is(.dark *) {
|
||||
background-color: color-mix(in oklab, var(--color-yellow-900) 20%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.dark\:text-muted-foreground:is(.dark *) {
|
||||
color: var(--muted-foreground);
|
||||
}
|
||||
|
||||
.dark\:ring-yellow-800:is(.dark *) {
|
||||
--tw-ring-color: var(--color-yellow-800);
|
||||
}
|
||||
|
||||
@media (hover: hover) {
|
||||
.dark\:hover\:bg-accent\/50:is(.dark *):hover {
|
||||
background-color: var(--accent);
|
||||
@@ -6095,6 +6459,57 @@
|
||||
initial-value: solid;
|
||||
}
|
||||
|
||||
@property --tw-gradient-position {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-gradient-from {
|
||||
syntax: "<color>";
|
||||
inherits: false;
|
||||
initial-value: #0000;
|
||||
}
|
||||
|
||||
@property --tw-gradient-via {
|
||||
syntax: "<color>";
|
||||
inherits: false;
|
||||
initial-value: #0000;
|
||||
}
|
||||
|
||||
@property --tw-gradient-to {
|
||||
syntax: "<color>";
|
||||
inherits: false;
|
||||
initial-value: #0000;
|
||||
}
|
||||
|
||||
@property --tw-gradient-stops {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-gradient-via-stops {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-gradient-from-position {
|
||||
syntax: "<length-percentage>";
|
||||
inherits: false;
|
||||
initial-value: 0%;
|
||||
}
|
||||
|
||||
@property --tw-gradient-via-position {
|
||||
syntax: "<length-percentage>";
|
||||
inherits: false;
|
||||
initial-value: 50%;
|
||||
}
|
||||
|
||||
@property --tw-gradient-to-position {
|
||||
syntax: "<length-percentage>";
|
||||
inherits: false;
|
||||
initial-value: 100%;
|
||||
}
|
||||
|
||||
@property --tw-leading {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
@@ -6220,6 +6635,72 @@
|
||||
initial-value: solid;
|
||||
}
|
||||
|
||||
@property --tw-blur {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-brightness {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-contrast {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-grayscale {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-hue-rotate {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-invert {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-opacity {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-saturate {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-sepia {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-drop-shadow {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-drop-shadow-color {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-drop-shadow-alpha {
|
||||
syntax: "<percentage>";
|
||||
inherits: false;
|
||||
initial-value: 100%;
|
||||
}
|
||||
|
||||
@property --tw-drop-shadow-size {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
}
|
||||
|
||||
@property --tw-backdrop-blur {
|
||||
syntax: "*";
|
||||
inherits: false
|
||||
|
||||
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 one or more lines are too long
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