0.0.2.0
This commit is contained in:
@@ -42,7 +42,7 @@ var __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$ch
|
||||
;
|
||||
;
|
||||
const FamilyContext = /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["createContext"])(undefined);
|
||||
function FamilyProvider({ children }) {
|
||||
function FamilyProviderInner({ children }) {
|
||||
const { data: session, status } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$2d$auth$40$4$2e$24$2e$13_next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0_$5f$nodemailer$40$7_3c43d6bc4ecce810d1d16651fe207b00$2f$node_modules$2f$next$2d$auth$2f$react$2f$index$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useSession"])();
|
||||
const searchParams = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useSearchParams"])();
|
||||
const [searchResults, setSearchResults] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])([]);
|
||||
@@ -81,12 +81,10 @@ function FamilyProvider({ children }) {
|
||||
const targetTreeId = treeId || 'first';
|
||||
// 如果正在加载相同的树,跳过
|
||||
if (loadingTreeIdRef.current === targetTreeId) {
|
||||
console.log('⏭️ 跳过重复加载:', targetTreeId);
|
||||
return;
|
||||
}
|
||||
// 如果 treeId 与当前树相同,跳过
|
||||
if (treeId && treeId === currentTree?.id) {
|
||||
console.log('⏭️ 已加载该树,跳过:', treeId);
|
||||
return;
|
||||
}
|
||||
// 标记正在加载
|
||||
@@ -101,14 +99,6 @@ function FamilyProvider({ children }) {
|
||||
throw new Error(`HTTP error! status: ${res.status}`);
|
||||
}
|
||||
const data = await res.json();
|
||||
console.log('🌳 获取家族树响应:', {
|
||||
fetchUrl,
|
||||
targetTreeId,
|
||||
responseData: data,
|
||||
treesCount: data.trees?.length,
|
||||
firstTree: data.trees?.[0],
|
||||
singleTree: data.tree
|
||||
});
|
||||
if (signal.aborted) return;
|
||||
let tree = null;
|
||||
if (targetTreeId === 'first') {
|
||||
@@ -116,41 +106,23 @@ function FamilyProvider({ children }) {
|
||||
} else {
|
||||
tree = data.tree;
|
||||
}
|
||||
console.log('🎯 选择的家族树:', tree);
|
||||
if (tree) {
|
||||
setCurrentTree(tree);
|
||||
// 加载该树的成员数据
|
||||
console.log('🔄 开始加载成员数据:', {
|
||||
treeId: tree.id,
|
||||
treeName: tree.name
|
||||
});
|
||||
try {
|
||||
const memberRes = await fetch(`/api/trees/${tree.id}/members`, {
|
||||
signal
|
||||
});
|
||||
console.log('📡 成员数据响应状态:', memberRes.status, memberRes.ok);
|
||||
if (!memberRes.ok) {
|
||||
throw new Error(`Failed to load members: ${memberRes.status}`);
|
||||
}
|
||||
const memberData = await memberRes.json();
|
||||
console.log('📊 获取到的成员数据:', {
|
||||
treeId: tree.id,
|
||||
treeName: tree.name,
|
||||
membersCount: memberData.members?.length || 0,
|
||||
members: memberData.members,
|
||||
rootId: memberData.rootId
|
||||
});
|
||||
if (signal.aborted) return;
|
||||
if (memberData.members) {
|
||||
const membersMap = memberData.members.reduce((acc, member)=>{
|
||||
acc[member.id] = member;
|
||||
return acc;
|
||||
}, {});
|
||||
console.log('✅ 设置 treeData:', {
|
||||
rootId: memberData.rootId || "",
|
||||
membersMapKeys: Object.keys(membersMap),
|
||||
membersMapCount: Object.keys(membersMap).length
|
||||
});
|
||||
setTreeData({
|
||||
rootId: memberData.rootId || "",
|
||||
members: membersMap
|
||||
@@ -158,7 +130,6 @@ function FamilyProvider({ children }) {
|
||||
}
|
||||
} catch (err) {
|
||||
if (err.name === 'AbortError') {
|
||||
console.log('❌ 成员数据加载被中断');
|
||||
return;
|
||||
}
|
||||
console.error('加载成员数据失败:', err);
|
||||
@@ -177,7 +148,6 @@ function FamilyProvider({ children }) {
|
||||
}
|
||||
} catch (err) {
|
||||
if (err.name === 'AbortError') {
|
||||
console.log('❌ 家族树加载被中断');
|
||||
return;
|
||||
}
|
||||
// 忽略 Failed to fetch 错误
|
||||
@@ -346,18 +316,15 @@ function FamilyProvider({ children }) {
|
||||
loadData
|
||||
]);
|
||||
// 监听 treeData 变化
|
||||
(0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useEffect"])(()=>{
|
||||
console.log('🔄 FamilyContext treeData 更新:', {
|
||||
rootId: treeData.rootId,
|
||||
membersCount: Object.keys(treeData.members).length,
|
||||
memberIds: Object.keys(treeData.members),
|
||||
currentTreeId: currentTree?.id,
|
||||
currentTreeName: currentTree?.name
|
||||
});
|
||||
}, [
|
||||
treeData,
|
||||
currentTree
|
||||
]);
|
||||
// useEffect(() => {
|
||||
// console.log('🔄 FamilyContext treeData 更新:', {
|
||||
// rootId: treeData.rootId,
|
||||
// membersCount: Object.keys(treeData.members).length,
|
||||
// memberIds: Object.keys(treeData.members),
|
||||
// currentTreeId: currentTree?.id,
|
||||
// currentTreeName: currentTree?.name
|
||||
// })
|
||||
// }, [treeData, currentTree])
|
||||
return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(FamilyContext.Provider, {
|
||||
value: {
|
||||
treeData,
|
||||
@@ -377,7 +344,29 @@ function FamilyProvider({ children }) {
|
||||
children: children
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx",
|
||||
lineNumber: 371,
|
||||
lineNumber: 341,
|
||||
columnNumber: 5
|
||||
}, this);
|
||||
}
|
||||
function FamilyProvider({ children }) {
|
||||
return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["Suspense"], {
|
||||
fallback: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", {
|
||||
children: "Loading..."
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx",
|
||||
lineNumber: 365,
|
||||
columnNumber: 25
|
||||
}, void 0),
|
||||
children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(FamilyProviderInner, {
|
||||
children: children
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx",
|
||||
lineNumber: 366,
|
||||
columnNumber: 7
|
||||
}, this)
|
||||
}, void 0, false, {
|
||||
fileName: "[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx",
|
||||
lineNumber: 365,
|
||||
columnNumber: 5
|
||||
}, this);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user