0.0.5.5
This commit is contained in:
@@ -4059,3 +4059,36 @@ It can also happen if the client has a browser extension installed which messes
|
||||
[04:47:36.999] Server LOG 👥 GET /api/trees/[treeId]/members 返回数据: {}
|
||||
[04:47:37.119] Server LOG 🌳 GET /api/trees 返回数据: {}
|
||||
[04:47:37.156] Server LOG 🌳 GET /api/trees 返回数据: {}
|
||||
[04:48:09.723] Server LOG 🌳 GET /api/trees 返回数据: {}
|
||||
[04:48:27.273] Server LOG 🌳 GET /api/trees 返回数据: {}
|
||||
[04:48:27.845] Browser LOG %c[Vercel Web Analytics]%c [pageview] http://localhost:3000/relationship color: rgb(120, 120, 120) color: inherit {"dp":"/relationship","o":"http://localhost:3000/relationship","sdkn":"@vercel/analytics/next","sdkv":"1.5.0","sv":"0.1.3","ts":1763885549688}
|
||||
[04:48:27.865] Server LOG 👥 GET /api/trees/[treeId]/members 返回数据: {}
|
||||
[04:48:27.892] Server LOG 🌳 GET /api/trees 返回数据: {}
|
||||
[04:48:27.908] Server LOG 🌳 GET /api/trees 返回数据: {}
|
||||
[04:48:29.804] Server LOG 🌳 GET /api/trees 返回数据: {}
|
||||
[04:48:29.920] Server LOG 🌳 GET /api/trees 返回数据: {}
|
||||
[04:48:29.923] Browser LOG %c[Vercel Web Analytics]%c [pageview] http://localhost:3000/?treeId=cmib8zhrq0003hhxlvnsi96nh color: rgb(120, 120, 120) color: inherit {"dp":"/","o":"http://localhost:3000/?treeId=cmib8zhrq0003hhxlvnsi96nh","sdkn":"@vercel/analytics/next","sdkv":"1.5.0","sv":"0.1.3","ts":1763885552225}
|
||||
[04:48:47.301] Server LOG 🌳 GET /api/trees 返回数据: {}
|
||||
[04:49:33.528] Server LOG ✓ Compiled in 79ms
|
||||
[04:49:37.389] Server LOG 🌳 GET /api/trees 返回数据: {}
|
||||
[04:49:41.562] Server LOG 🌳 GET /api/trees 返回数据: {}
|
||||
[04:50:19.107] Server LOG 🌳 GET /api/trees 返回数据: {}
|
||||
[04:50:33.969] Server LOG 🌳 GET /api/trees 返回数据: {}
|
||||
[04:50:59.923] Server LOG ✓ Compiled in 142ms
|
||||
[04:51:06.360] Server LOG 🌳 GET /api/trees 返回数据: {}
|
||||
[04:51:07.697] Browser INFO %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold
|
||||
[04:51:07.956] Browser LOG %c[Vercel Web Analytics]%c Debug mode is enabled by default in development. No requests will be sent to the server. color: rgb(120, 120, 120) color: inherit
|
||||
[04:51:07.956] Browser LOG %c[Vercel Web Analytics]%c Running queued event color: rgb(120, 120, 120) color: inherit pageview {"path":"/","route":"/"}
|
||||
[04:51:07.956] Browser LOG %c[Vercel Web Analytics]%c [pageview] http://localhost:3000/?treeId=cmib8zhrq0003hhxlvnsi96nh color: rgb(120, 120, 120) color: inherit {"dp":"/","o":"http://localhost:3000/?treeId=cmib8zhrq0003hhxlvnsi96nh","sdkn":"@vercel/analytics/next","sdkv":"1.5.0","sv":"0.1.3","ts":1763885710257}
|
||||
[04:51:07.974] Server LOG 🌳 GET /api/trees/[treeId] 返回数据: {}
|
||||
[04:51:08.060] Server LOG 👥 GET /api/trees/[treeId]/members 返回数据: {}
|
||||
[04:51:08.165] Server LOG 🌳 GET /api/trees 返回数据: {}
|
||||
[04:51:08.200] Server LOG 🌳 GET /api/trees 返回数据: {}
|
||||
[04:51:18.015] Browser INFO %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold
|
||||
[04:51:18.147] Server LOG 🌳 GET /api/trees/[treeId] 返回数据: {}
|
||||
[04:51:18.157] Browser LOG %c[Vercel Web Analytics]%c Debug mode is enabled by default in development. No requests will be sent to the server. color: rgb(120, 120, 120) color: inherit
|
||||
[04:51:18.157] Browser LOG %c[Vercel Web Analytics]%c Running queued event color: rgb(120, 120, 120) color: inherit pageview {"path":"/","route":"/"}
|
||||
[04:51:18.157] Browser LOG %c[Vercel Web Analytics]%c [pageview] http://localhost:3000/?treeId=cmib8zhrq0003hhxlvnsi96nh color: rgb(120, 120, 120) color: inherit {"dp":"/","o":"http://localhost:3000/?treeId=cmib8zhrq0003hhxlvnsi96nh","sdkn":"@vercel/analytics/next","sdkv":"1.5.0","sv":"0.1.3","ts":1763885720465}
|
||||
[04:51:18.219] Server LOG 👥 GET /api/trees/[treeId]/members 返回数据: {}
|
||||
[04:51:18.357] Server LOG 🌳 GET /api/trees 返回数据: {}
|
||||
[04:51:18.392] Server LOG 🌳 GET /api/trees 返回数据: {}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
+40
@@ -2450,6 +2450,36 @@
|
||||
}
|
||||
}
|
||||
|
||||
.bg-primary\/40 {
|
||||
background-color: var(--primary);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.bg-primary\/40 {
|
||||
background-color: color-mix(in oklab, var(--primary) 40%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.bg-primary\/60 {
|
||||
background-color: var(--primary);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.bg-primary\/60 {
|
||||
background-color: color-mix(in oklab, var(--primary) 60%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.bg-primary\/70 {
|
||||
background-color: var(--primary);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.bg-primary\/70 {
|
||||
background-color: color-mix(in oklab, var(--primary) 70%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.bg-purple-50 {
|
||||
background-color: var(--color-purple-50);
|
||||
}
|
||||
@@ -3202,6 +3232,16 @@
|
||||
}
|
||||
}
|
||||
|
||||
.text-primary\/80 {
|
||||
color: var(--primary);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.text-primary\/80 {
|
||||
color: color-mix(in oklab, var(--primary) 80%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.text-purple-700 {
|
||||
color: var(--color-purple-700);
|
||||
}
|
||||
|
||||
+1
-1
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
@@ -2534,6 +2534,36 @@
|
||||
}
|
||||
}
|
||||
|
||||
.bg-primary\/40 {
|
||||
background-color: var(--primary);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.bg-primary\/40 {
|
||||
background-color: color-mix(in oklab, var(--primary) 40%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.bg-primary\/60 {
|
||||
background-color: var(--primary);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.bg-primary\/60 {
|
||||
background-color: color-mix(in oklab, var(--primary) 60%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.bg-primary\/70 {
|
||||
background-color: var(--primary);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.bg-primary\/70 {
|
||||
background-color: color-mix(in oklab, var(--primary) 70%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.bg-purple-50 {
|
||||
background-color: var(--color-purple-50);
|
||||
}
|
||||
@@ -3286,6 +3316,16 @@
|
||||
}
|
||||
}
|
||||
|
||||
.text-primary\/80 {
|
||||
color: var(--primary);
|
||||
}
|
||||
|
||||
@supports (color: color-mix(in lab, red, red)) {
|
||||
.text-primary\/80 {
|
||||
color: color-mix(in oklab, var(--primary) 80%, transparent);
|
||||
}
|
||||
}
|
||||
|
||||
.text-purple-700 {
|
||||
color: var(--color-purple-700);
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+12
-18
@@ -191,12 +191,6 @@ export default function DashboardPage() {
|
||||
{session && currentTree?.ownerId === session.user?.id && (
|
||||
<CollaboratorDialog />
|
||||
)}
|
||||
<Link href="/relationship">
|
||||
<Button variant="outline" className="gap-2 bg-transparent">
|
||||
<Calculator className="h-4 w-4" />
|
||||
计算器
|
||||
</Button>
|
||||
</Link>
|
||||
{(currentTree?.currentUserRole === "OWNER" || currentTree?.currentUserRole === "EDITOR") && (
|
||||
<Link href="/members/new">
|
||||
<Button className="gap-2 bg-primary text-primary-foreground hover:bg-primary/90">
|
||||
@@ -249,11 +243,11 @@ export default function DashboardPage() {
|
||||
</div>
|
||||
<div className="flex flex-col space-y-4">
|
||||
<div className="flex items-center justify-center gap-3 py-2">
|
||||
<span className="text-5xl font-serif font-bold text-blue-600 dark:text-blue-400 tracking-wider">
|
||||
<span className="text-5xl font-serif font-bold text-primary tracking-wider">
|
||||
1
|
||||
</span>
|
||||
<span className="text-4xl font-bold text-muted-foreground">:</span>
|
||||
<span className="text-5xl font-serif font-bold text-pink-600 dark:text-pink-400 tracking-wider">
|
||||
<span className="text-5xl font-serif font-bold text-primary tracking-wider">
|
||||
{stats.maleCount > 0 ? (stats.femaleCount / stats.maleCount).toFixed(2) : '0'}
|
||||
</span>
|
||||
</div>
|
||||
@@ -264,32 +258,32 @@ export default function DashboardPage() {
|
||||
{/* 双色进度条 */}
|
||||
<div className="space-y-2">
|
||||
<div className="flex items-center justify-between text-xs">
|
||||
<span className="text-blue-600 dark:text-blue-400 font-medium flex items-center gap-1">
|
||||
<span className="w-2 h-2 rounded-full bg-blue-500"></span>
|
||||
<span className="text-primary/80 font-medium flex items-center gap-1">
|
||||
<span className="w-2 h-2 rounded-full bg-primary/60"></span>
|
||||
男性 {stats.maleCount}
|
||||
</span>
|
||||
<span className="text-pink-600 dark:text-pink-400 font-medium flex items-center gap-1">
|
||||
<span className="text-primary/80 font-medium flex items-center gap-1">
|
||||
女性 {stats.femaleCount}
|
||||
<span className="w-2 h-2 rounded-full bg-pink-500"></span>
|
||||
<span className="w-2 h-2 rounded-full bg-primary/60"></span>
|
||||
</span>
|
||||
</div>
|
||||
<div className="h-3 bg-muted rounded-full overflow-hidden flex">
|
||||
<div className="h-3 bg-background/60 border border-border/50 rounded-full overflow-hidden flex">
|
||||
<div
|
||||
className="h-full bg-gradient-to-r from-blue-600 to-blue-500 transition-all duration-500 flex items-center justify-center"
|
||||
className="h-full bg-primary/70 transition-all duration-500 flex items-center justify-center"
|
||||
style={{ width: `${stats.totalMembers > 0 ? (stats.maleCount / stats.totalMembers * 100) : 0}%` }}
|
||||
>
|
||||
{stats.totalMembers > 0 && stats.maleCount > 0 && (
|
||||
<span className="text-[10px] text-white font-bold px-1">
|
||||
<span className="text-[10px] text-primary-foreground font-bold px-1">
|
||||
{Math.round(stats.maleCount / stats.totalMembers * 100)}%
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
<div
|
||||
className="h-full bg-gradient-to-r from-pink-500 to-pink-600 transition-all duration-500 flex items-center justify-center"
|
||||
className="h-full bg-primary/40 transition-all duration-500 flex items-center justify-center"
|
||||
style={{ width: `${stats.totalMembers > 0 ? (stats.femaleCount / stats.totalMembers * 100) : 0}%` }}
|
||||
>
|
||||
{stats.totalMembers > 0 && stats.femaleCount > 0 && (
|
||||
<span className="text-[10px] text-white font-bold px-1">
|
||||
<span className="text-[10px] text-primary-foreground font-bold px-1">
|
||||
{Math.round(stats.femaleCount / stats.totalMembers * 100)}%
|
||||
</span>
|
||||
)}
|
||||
@@ -298,7 +292,7 @@ export default function DashboardPage() {
|
||||
</div>
|
||||
</div>
|
||||
</CardContent>
|
||||
<div className="absolute bottom-0 left-0 right-0 h-1 bg-gradient-to-r from-blue-500 via-purple-500 to-pink-500 opacity-0 group-hover:opacity-100 transition-opacity" />
|
||||
<div className="absolute bottom-0 left-0 right-0 h-1 bg-gradient-to-r from-primary/50 via-primary to-primary/50 opacity-0 group-hover:opacity-100 transition-opacity" />
|
||||
</Card>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user