This commit is contained in:
freedakgmail
2025-11-22 23:49:24 +08:00
parent b83382b604
commit c033e46782
3580 changed files with 1745279 additions and 2428 deletions
@@ -48,74 +48,406 @@ const createMember = (id, name, gender, generation, props = {})=>{
};
};
const members = {
"1": createMember("1", "文德", "male", 1, {
courtesyName: "博远",
ancestralHome: "陇西",
bio: "李氏入闽始祖,洪武年间迁居福建。",
// ========== 第一代 (曾祖父母辈,1920年代出生) ==========
"1": createMember("1", "国强", "male", 1, {
ancestralHome: "广东省广州市",
bio: "李氏家族第一代,抗战时期参加革命工作,新中国成立后在政府部门工作,为人正直,深受敬重。",
tags: [
"始祖",
"进士"
"革命干部",
"始祖"
],
birthDate: "1350-01-01",
deathDate: "1410-05-20"
birthDate: "1925-03-15",
deathDate: "2008-08-20",
spouseIds: [
"2"
],
childrenIds: [
"3",
"4",
"5"
]
}),
"2": createMember("2", "氏(王)", "female", 1, {
fullName: "王",
"2": createMember("2", "秀芳", "female", 1, {
fullName: "王秀芳",
surname: "王",
givenName: "",
givenName: "秀芳",
ancestralHome: "广东省广州市",
bio: "知识分子家庭出身,建国后在学校任教,相夫教子,育有三子。",
birthDate: "1928-07-08",
deathDate: "2015-12-10",
spouseIds: [
"1"
],
childrenIds: [
"3",
"4",
"5"
]
}),
// Generation 2
"3": createMember("3", "世昌", "male", 2, {
// ========== 第二代 (祖父母辈,1950年代出生) ==========
"3": createMember("3", "建华", "male", 2, {
fatherId: "1",
motherId: "2",
courtesyName: "继业"
}),
"4": createMember("4", "世盛", "male", 2, {
fatherId: "1",
motherId: "2",
courtesyName: "继荣"
}),
// Generation 3
"5": createMember("5", "宗仁", "male", 3, {
fatherId: "3",
generationName: "宗"
}),
"6": createMember("6", "宗义", "male", 3, {
fatherId: "3",
generationName: "宗"
}),
// Generation 24 (Modern)
"100": createMember("100", "建国", "male", 23, {
generationName: "建"
}),
"101": createMember("101", "明远", "male", 24, {
fatherId: "100",
generationName: "明",
birthDate: "1985-06-15",
ancestralHome: "广东省深圳市",
birthPlace: "广东省深圳市",
bio: "国强长子,改革开放后下海经商,迁往深圳创办家族企业,事业有成。",
tags: [
"户主"
"企业家"
],
birthDate: "1952-05-20",
deathDate: "2020-03-15",
spouseIds: [
"6"
],
childrenIds: [
"9",
"10"
]
}),
"102": createMember("102", "子豪", "male", 25, {
fatherId: "101",
birthDate: "2015-09-01"
"4": createMember("4", "建国", "male", 2, {
fatherId: "1",
motherId: "2",
generationName: "建",
rank: 2,
bio: "次子,大学教授,追随教育事业迁往北京,从事教育工作四十余年,桃李满天下。",
tags: [
"教授",
"次子"
],
birthDate: "1955-11-03",
ancestralHome: "北京市",
birthPlace: "北京市",
spouseIds: [
"7"
],
childrenIds: [
"11",
"12",
"13"
]
}),
"5": createMember("5", "建军", "male", 2, {
fatherId: "1",
motherId: "2",
generationName: "建",
rank: 3,
bio: "三子,医生,支援西部建设迁往上海,从医三十余年,救死扶伤。",
tags: [
"医生",
"三子"
],
birthDate: "1958-11-03",
ancestralHome: "上海市",
birthPlace: "上海市",
spouseIds: [
"8"
],
childrenIds: [
"14"
]
}),
// 第二代配偶
"6": createMember("6", "丽华", "female", 2, {
fullName: "陈丽华",
surname: "陈",
givenName: "丽华",
ancestralHome: "广东省深圳市",
bio: "建华之妻,企业管理者,协助丈夫打理家族企业。",
birthDate: "1955-05-20",
deathDate: "2021-11-05",
spouseIds: [
"3"
],
childrenIds: [
"9",
"10"
]
}),
"7": createMember("7", "美玲", "female", 2, {
fullName: "张美玲",
surname: "张",
givenName: "美玲",
ancestralHome: "广东省广州市",
bio: "建国之妻,中学教师,与丈夫志同道合,共同从事教育事业。",
birthDate: "1957-01-15",
spouseIds: [
"4"
],
childrenIds: [
"11",
"12",
"13"
]
}),
"8": createMember("8", "雅琴", "female", 2, {
fullName: "林雅琴",
surname: "林",
givenName: "雅琴",
ancestralHome: "福建省厦门市",
bio: "建军之妻,护士长,温柔贤惠,善于持家。",
birthDate: "1960-08-10",
spouseIds: [
"5"
],
childrenIds: [
"14"
]
}),
// ========== 第三代 (父母辈,1980年代出生) ==========
"9": createMember("9", "志远", "male", 3, {
fatherId: "3",
motherId: "6",
generationName: "志",
rank: 1,
ancestralHome: "广东省深圳市",
birthPlace: "广东省深圳市",
bio: "建华长子,留学归国,接管家族企业,推动企业转型升级。",
tags: [
"企业家",
"海归"
],
birthDate: "1980-03-08",
phone: "13800138001",
email: "zhiyuan.li@company.com",
address: "广东省广州市天河区珠江新城XX路XX号",
spouseIds: [
"15"
],
childrenIds: [
"17",
"18"
]
}),
"10": createMember("10", "志强", "male", 3, {
fatherId: "3",
motherId: "6",
generationName: "志",
rank: 2,
ancestralHome: "北京市",
birthPlace: "北京市",
bio: "建华次子,互联网创业者,北上创业,创办科技公司。",
tags: [
"创业者",
"科技"
],
birthDate: "1983-07-22",
phone: "13900139002",
email: "zhiqiang.li@techco.com",
address: "北京市朝阳区望京SOHO",
spouseIds: [
"16"
],
childrenIds: [
"19"
]
}),
"11": createMember("11", "志明", "male", 3, {
fatherId: "4",
motherId: "7",
generationName: "志",
rank: 1,
ancestralHome: "广东省广州市",
birthPlace: "广东省广州市",
bio: "建国长子,大学副教授,从北京返回广州从事教育研究工作。",
tags: [
"副教授",
"学者"
],
birthDate: "1982-01-18",
phone: "13700137003",
telephone: "020-8888-8888",
email: "zhiming.li@university.edu.cn",
address: "广东省广州市海珠区大学城",
spouseIds: [
"20"
],
childrenIds: [
"21",
"22"
]
}),
"12": createMember("12", "志文", "male", 3, {
fatherId: "4",
motherId: "7",
generationName: "志",
rank: 2,
bio: "建国次子,作家,追求文学梦想迁往成都,出版多部文学作品。",
tags: [
"作家",
"文学"
],
birthDate: "1985-09-12",
ancestralHome: "四川省成都市",
birthPlace: "四川省成都市",
phone: "13600136004",
email: "zhiwen.li@writer.com"
}),
"13": createMember("13", "志勇", "male", 3, {
fatherId: "4",
motherId: "7",
generationName: "志",
rank: 3,
ancestralHome: "上海市",
birthPlace: "上海市",
bio: "建国三子,律师,从北京迁往上海,执业于知名律师事务所。",
tags: [
"律师"
],
birthDate: "1988-11-05",
phone: "13500135005",
email: "zhiyong.li@lawfirm.com",
address: "上海市浦东新区陆家嘴金融中心"
}),
"14": createMember("14", "志诚", "male", 3, {
fatherId: "5",
motherId: "8",
generationName: "志",
rank: 1,
ancestralHome: "广东省深圳市",
birthPlace: "广东省深圳市",
bio: "建军独子,医生,从上海迁往深圳,继承父业,在医院工作。",
tags: [
"医生"
],
birthDate: "1986-04-28",
phone: "13400134006",
telephone: "0755-6666-6666",
email: "zhicheng.li@hospital.com",
address: "广东省深圳市福田区人民医院",
spouseIds: [
"23"
],
childrenIds: [
"24"
]
}),
// 第三代配偶
"15": createMember("15", "晓雯", "female", 3, {
fullName: "赵晓雯",
surname: "赵",
givenName: "晓雯",
ancestralHome: "上海市",
bio: "志远之妻,金融行业从业者,MBA学位。",
birthDate: "1982-06-15",
spouseIds: [
"9"
],
childrenIds: [
"17",
"18"
]
}),
"16": createMember("16", "诗涵", "female", 3, {
fullName: "刘诗涵",
surname: "刘",
givenName: "诗涵",
ancestralHome: "北京市",
bio: "志强之妻,设计师,从事品牌设计工作。",
birthDate: "1985-10-08",
spouseIds: [
"10"
],
childrenIds: [
"19"
]
}),
"20": createMember("20", "雨欣", "female", 3, {
fullName: "周雨欣",
surname: "周",
givenName: "雨欣",
ancestralHome: "浙江省杭州市",
bio: "志明之妻,中学教师,温柔贤淑。",
birthDate: "1984-02-25",
spouseIds: [
"11"
],
childrenIds: [
"21",
"22"
]
}),
"23": createMember("23", "婉婷", "female", 3, {
fullName: "郑婉婷",
surname: "郑",
givenName: "婉婷",
ancestralHome: "广东省广州市",
bio: "志诚之妻,护士,在医院工作。",
birthDate: "1988-12-03",
spouseIds: [
"14"
],
childrenIds: [
"24"
]
}),
// ========== 第四代 (子女辈,2010年代出生) ==========
"17": createMember("17", "浩然", "male", 4, {
fatherId: "9",
motherId: "15",
generationName: "浩",
rank: 1,
bio: "志远长子,在读高中生,成绩优异。",
tags: [
"学生"
],
birthDate: "2010-05-10"
}),
"18": createMember("18", "思琪", "female", 4, {
fatherId: "9",
motherId: "15",
generationName: "思",
rank: 2,
bio: "志远次女,在读初中,喜欢绘画。",
tags: [
"学生"
],
birthDate: "2013-08-22"
}),
"19": createMember("19", "宇轩", "male", 4, {
fatherId: "10",
motherId: "16",
generationName: "宇",
rank: 1,
bio: "志强独子,在读小学,对编程感兴趣。",
tags: [
"学生"
],
birthDate: "2015-11-18"
}),
"21": createMember("21", "梓涵", "female", 4, {
fatherId: "11",
motherId: "20",
generationName: "梓",
rank: 1,
bio: "志明长女,在读大学,主修经济学。",
tags: [
"大学生"
],
birthDate: "2007-03-05"
}),
"22": createMember("22", "子轩", "male", 4, {
fatherId: "11",
motherId: "20",
generationName: "子",
rank: 2,
bio: "志明次子,在读高中,擅长数学。",
tags: [
"学生"
],
birthDate: "2010-07-14"
}),
"24": createMember("24", "欣怡", "female", 4, {
fatherId: "14",
motherId: "23",
generationName: "欣",
rank: 1,
bio: "志诚独女,在读初中,活泼可爱。",
tags: [
"学生"
],
birthDate: "2012-09-20"
})
};
// Link relationships bi-directionally for the mock data
members["1"].spouseIds = [
"2"
];
members["1"].childrenIds = [
"3",
"4"
];
members["3"].childrenIds = [
"5",
"6"
];
const mockFamilyData = {
members,
rootId: "1"
@@ -171,6 +503,7 @@ const FamilyContext = /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$proje
function FamilyProvider({ children }) {
const [searchResults, setSearchResults] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])([]);
const [isInitialized, setIsInitialized] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])(false);
const [highlightedMemberId, setHighlightedMemberId] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$next$40$16$2e$0$2e$3_react$2d$dom$40$19$2e$2$2e$0_react$40$19$2e$2$2e$0_$5f$react$40$19$2e$2$2e$0$2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])(null);
// Live query to get all members
const members = (0, __TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$node_modules$2f2e$pnpm$2f$dexie$2d$react$2d$hooks$40$4$2e$2$2e$0_$40$types$2b$react$40$19$2e$2$2e$6_dexie$40$4$2e$2$2e$1_react$40$19$2e$2$2e$0$2f$node_modules$2f$dexie$2d$react$2d$hooks$2f$dist$2f$dexie$2d$react$2d$hooks$2e$mjs__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useLiveQuery"])(()=>__TURBOPACK__imported__module__$5b$project$5d2f$Documents$2f$go$2d$new$2f$chinese$2d$family$2d$tree$2f$lib$2f$db$2e$ts__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["db"].members.toArray());
// Live query to get rootId
@@ -314,12 +647,14 @@ function FamilyProvider({ children }) {
searchMembers,
loadData,
resetData,
isLoading: !isInitialized || !members
isLoading: !isInitialized || !members,
highlightedMemberId,
setHighlightedMemberId
},
children: children
}, void 0, false, {
fileName: "[project]/Documents/go-new/chinese-family-tree/context/family-context.tsx",
lineNumber: 171,
lineNumber: 175,
columnNumber: 5
}, this);
}