This commit is contained in:
freedakgmail
2025-11-24 16:07:24 +08:00
parent 3d075c6076
commit b25f4bea02
426 changed files with 3619 additions and 4468 deletions
+18 -1
View File
@@ -4,11 +4,14 @@ import { useFamily } from "@/context/family-context"
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
import { ScrollArea } from "@/components/ui/scroll-area"
import { Clock, Map as MapIcon, ArrowRight, Calendar } from "lucide-react"
import { Clock, Map as MapIcon, ArrowRight, Calendar, User } from 'lucide-react'
import dynamic from 'next/dynamic'
import { useMemo, useEffect, useState } from 'react'
import * as echarts from 'echarts'
import { MemberNameWithStatus } from "@/components/member-name-with-status"
import { useSession } from 'next-auth/react'
import { EmptyStateBadge } from '@/components/empty-state-badge'
import { useRouter } from 'next/navigation'
const ReactECharts = dynamic(() => import('echarts-for-react'), { ssr: false })
@@ -186,9 +189,18 @@ const geoCoordMap: Record<string, [number, number]> = {
export default function TimelinePage() {
const { treeData, currentTree, getMember, isLoading } = useFamily()
const { data: session, status } = useSession()
const members = Object.values(treeData.members)
const [mapLoaded, setMapLoaded] = useState(false)
const treeId = currentTree?.id
const router = useRouter()
// 未登录时重定向到登录页
useEffect(() => {
if (status === 'unauthenticated') {
router.push('/auth/signin')
}
}, [status, router])
// 注册中国地图 - 从外部文件加载完整数据(必须在条件渲染之前)
useEffect(() => {
@@ -470,6 +482,11 @@ export default function TimelinePage() {
}
}, [migrations])
// 未登录时不渲染内容(已在 useEffect 中重定向)
if (status === 'loading' || !session) {
return null
}
// 显示加载状态
if (isLoading) {
return (