feat: Implement AccountCenter component for user profile, subscription management, and payment processing.

This commit is contained in:
2569718930@qq.com
2026-03-13 08:24:18 +08:00
parent 0f51780566
commit 1e541433e5
3 changed files with 85 additions and 1 deletions
@@ -0,0 +1,38 @@
0 verbose cli C:\Program Files\nodejs\node.exe D:\Program Files\nodejs\node_global\node_modules\npm\bin\npm-cli.js
1 info using npm@8.16.0
2 info using node@v24.11.0
3 timing npm:load:whichnode Completed in 1ms
4 timing config:load:defaults Completed in 1ms
5 timing config:load:file:D:\Program Files\nodejs\node_global\node_modules\npm\npmrc Completed in 2ms
6 timing config:load:builtin Completed in 3ms
7 timing config:load:cli Completed in 1ms
8 timing config:load:env Completed in 1ms
9 timing config:load:file:E:\web\PolyWeather\frontend\.npmrc Completed in 0ms
10 timing config:load:project Completed in 2ms
11 timing config:load:file:C:\Users\Yang\.npmrc Completed in 1ms
12 timing config:load:user Completed in 1ms
13 timing config:load:file:C:\Users\Yang\AppData\Roaming\npm\etc\npmrc Completed in 0ms
14 timing config:load:global Completed in 1ms
15 timing config:load:validate Completed in 1ms
16 timing config:load:credentials Completed in 0ms
17 timing config:load:setEnvs Completed in 1ms
18 timing config:load Completed in 12ms
19 timing npm:load:configload Completed in 12ms
20 timing npm:load:mkdirpcache Completed in 1ms
21 timing npm:load:mkdirplogs Completed in 0ms
22 verbose title npm run build
23 verbose argv "run" "build"
24 timing npm:load:setTitle Completed in 0ms
25 timing config:load:flatten Completed in 1ms
26 timing npm:load:display Completed in 3ms
27 verbose logfile logs-max:10 dir:E:\web\PolyWeather\.npm-cache\_logs
28 verbose logfile E:\web\PolyWeather\.npm-cache\_logs\2026-03-13T00_15_22_381Z-debug-0.log
29 timing npm:load:logFile Completed in 4ms
30 timing npm:load:timers Completed in 0ms
31 timing npm:load:configScope Completed in 0ms
32 timing npm:load Completed in 21ms
33 silly logfile done cleaning log files
34 timing command:run Completed in 18606ms
35 verbose exit 1
36 timing npm Completed in 18699ms
37 verbose code 1
@@ -0,0 +1,38 @@
0 verbose cli C:\Program Files\nodejs\node.exe D:\Program Files\nodejs\node_global\node_modules\npm\bin\npm-cli.js
1 info using npm@8.16.0
2 info using node@v24.11.0
3 timing npm:load:whichnode Completed in 0ms
4 timing config:load:defaults Completed in 1ms
5 timing config:load:file:D:\Program Files\nodejs\node_global\node_modules\npm\npmrc Completed in 2ms
6 timing config:load:builtin Completed in 2ms
7 timing config:load:cli Completed in 2ms
8 timing config:load:env Completed in 1ms
9 timing config:load:file:E:\web\PolyWeather\frontend\.npmrc Completed in 0ms
10 timing config:load:project Completed in 3ms
11 timing config:load:file:C:\Users\Yang\.npmrc Completed in 0ms
12 timing config:load:user Completed in 0ms
13 timing config:load:file:C:\Users\Yang\AppData\Roaming\npm\etc\npmrc Completed in 1ms
14 timing config:load:global Completed in 1ms
15 timing config:load:validate Completed in 1ms
16 timing config:load:credentials Completed in 1ms
17 timing config:load:setEnvs Completed in 1ms
18 timing config:load Completed in 13ms
19 timing npm:load:configload Completed in 14ms
20 timing npm:load:mkdirpcache Completed in 0ms
21 timing npm:load:mkdirplogs Completed in 0ms
22 verbose title npm run build
23 verbose argv "run" "build"
24 timing npm:load:setTitle Completed in 0ms
25 timing config:load:flatten Completed in 2ms
26 timing npm:load:display Completed in 2ms
27 verbose logfile logs-max:10 dir:E:\web\PolyWeather\.npm-cache\_logs
28 verbose logfile E:\web\PolyWeather\.npm-cache\_logs\2026-03-13T00_16_59_417Z-debug-0.log
29 timing npm:load:logFile Completed in 12ms
30 timing npm:load:timers Completed in 0ms
31 timing npm:load:configScope Completed in 0ms
32 timing npm:load Completed in 30ms
33 silly logfile done cleaning log files
34 timing command:run Completed in 24583ms
35 verbose exit 0
36 timing npm Completed in 24623ms
37 info ok
@@ -37,6 +37,7 @@ import {
ChevronRight,
Loader2,
CreditCard,
type LucideIcon,
} from "lucide-react";
import {
getSupabaseBrowserClient,
@@ -119,7 +120,14 @@ declare global {
// --- Helpers ---
const InfoRow = ({ icon: Icon, label, value, isPrimary = false }) => (
type InfoRowProps = {
icon?: LucideIcon;
label: string;
value: string;
isPrimary?: boolean;
};
const InfoRow = ({ icon: Icon, label, value, isPrimary = false }: InfoRowProps) => (
<div className="flex items-center justify-between p-4 bg-white/5 rounded-2xl border border-white/5 hover:bg-white/10 transition-all group">
<div className="flex items-center gap-3">
<div className="p-2 bg-slate-800 rounded-lg text-slate-400 group-hover:text-blue-400 transition-colors">