diff --git a/frontend/src/pages/Onboarding.tsx b/frontend/src/pages/Onboarding.tsx index e9d9c035..d071a55f 100644 --- a/frontend/src/pages/Onboarding.tsx +++ b/frontend/src/pages/Onboarding.tsx @@ -32,10 +32,10 @@ import { QK } from '@/lib/queryKeys' import { CAP_LABELS } from '@/lib/capability-labels' import { Logo } from '@/components/Logo' -// ===== 引导页:4 步向导 ===== -// 0. 欢迎 1. 输入 Key(可跳过) 2. 能力探测结果 3. 完成 → 写标记 → 进面板 +// ===== 引导页:5 步向导 ===== +// 0. 声明 1. 欢迎 2. 输入 Key(可跳过) 3. 能力探测结果 4. 完成 → 写标记 → 进面板 -const STEPS = ['欢迎', '配置 Key', '能力探测', '完成'] as const +const STEPS = ['声明', '欢迎', '配置 Key', '能力探测', '完成'] as const const BRAND = '#8B5CF6' @@ -148,12 +148,13 @@ export function Onboarding() { exit={{ opacity: 0, x: -24 }} transition={{ duration: 0.25, ease: [0.16, 1, 0.3, 1] }} > - {step === 0 && setStep(1)} onSkip={finish} />} - {step === 1 && ( - setStep(2)} onSkip={() => setStep(2)} onBack={() => setStep(0)} /> + {step === 0 && setStep(1)} />} + {step === 1 && setStep(2)} onSkip={finish} />} + {step === 2 && ( + setStep(3)} onSkip={() => setStep(3)} onBack={() => setStep(1)} /> )} - {step === 2 && setStep(3)} onBack={() => setStep(1)} />} - {step === 3 && setStep(2)} pending={complete.isPending} />} + {step === 3 && setStep(4)} onBack={() => setStep(2)} />} + {step === 4 && setStep(3)} pending={complete.isPending} />} @@ -162,7 +163,64 @@ export function Onboarding() { ) } -// ===== Step 0: 欢迎 ===== +// ===== Step 0: 声明 ===== + +function DisclaimerStep({ onNext }: { onNext: () => void }) { + return ( +
+ + + + +

使用前请知悉

+ +
+
+ +
+

+ 本项目为个人开源项目,非 + + TickFlow + + + 官方项目,与 TickFlow 官方无任何隶属或合作关系。 +

+

+ 仅供学习研究使用,不构成任何投资建议。股市有风险,使用本项目产生的任何盈亏由使用者自行承担。 +

+

+ 本项目面向个人学习与研究,不建议用于商业用途。如确有商用需求,请自行评估相关风险与合规要求。 +

+
+
+
+ +
+ +
+
+ ) +} + +// ===== Step 1: 欢迎 ===== function WelcomeStep({ onNext, onSkip }: { onNext: () => void; onSkip: () => void }) { return ( @@ -227,7 +285,7 @@ function WelcomeStep({ onNext, onSkip }: { onNext: () => void; onSkip: () => voi ) } -// ===== Step 1: 输入 TickFlow Key ===== +// ===== Step 2: 输入 TickFlow Key ===== function KeyStep({ onNext, onSkip, onBack }: { onNext: () => void; onSkip: () => void; onBack: () => void }) { const qc = useQueryClient() @@ -426,7 +484,7 @@ function KeyStep({ onNext, onSkip, onBack }: { onNext: () => void; onSkip: () => ) } -// ===== Step 2: 能力探测结果 ===== +// ===== Step 3: 能力探测结果 ===== function ResultStep({ onNext, onBack }: { onNext: () => void; onBack: () => void }) { const settings = useSettings() @@ -520,7 +578,7 @@ function ResultStep({ onNext, onBack }: { onNext: () => void; onBack: () => void ) } -// ===== Step 3: 完成 ===== +// ===== Step 4: 完成 ===== function FinishStep({ onNext, onBack, pending }: { onNext: () => void; onBack: () => void; pending: boolean }) { const settings = useSettings()