收口拼图首访输入与错误提示

将拼图首访提示词文本域迁移到 PlatformTextField

将拼图首访输入错误和登录保存错误迁移到 PlatformStatusMessage

补充拼图首访输入和错误提示公共组件断言

更新 PlatformUiKit 文档和 Hermes 决策记录
This commit is contained in:
2026-06-10 13:57:38 +08:00
parent 448b0697ee
commit 71690c3aaa
4 changed files with 162 additions and 8 deletions
@@ -1,5 +1,8 @@
import { Loader2, Sparkles } from 'lucide-react';
import { PlatformStatusMessage } from '../../common/PlatformStatusMessage';
import { PlatformTextField } from '../../common/PlatformTextField';
export type PuzzleOnboardingPhase = 'input' | 'generating' | 'generated';
type PuzzleOnboardingViewProps = {
@@ -54,13 +57,18 @@ export function PuzzleOnboardingView({
onSubmit();
}}
>
<textarea
<PlatformTextField
variant="textarea"
surface="editorDark"
tone="warm"
density="roomy"
size="lg"
value={prompt}
disabled={isGenerating || isGenerated}
onChange={(event) => onPromptChange(event.target.value)}
placeholder="把你的梦讲给我听吧"
rows={4}
className="min-h-32 w-full resize-none rounded-[1.25rem] border border-white/14 bg-black/28 px-4 py-4 text-base font-semibold leading-7 text-white shadow-[0_18px_50px_rgba(0,0,0,0.24)] outline-none backdrop-blur placeholder:text-white/42 focus:border-amber-200/70 focus:ring-2 focus:ring-amber-200/20 disabled:opacity-70"
className="min-h-32 rounded-[1.25rem] border-white/14 bg-black/28 py-4 leading-7 shadow-[0_18px_50px_rgba(0,0,0,0.24)] backdrop-blur placeholder:text-white/42 focus:border-amber-200/70 focus:ring-2 focus:ring-amber-200/20 disabled:opacity-70"
/>
<button
type="submit"
@@ -78,9 +86,14 @@ export function PuzzleOnboardingView({
</button>
</form>
{error ? (
<div className="w-full rounded-[1rem] border border-red-300/30 bg-red-500/14 px-4 py-3 text-sm font-semibold text-red-50">
<PlatformStatusMessage
tone="error"
surface="editorDark"
size="md"
className="w-full font-semibold"
>
{error}
</div>
</PlatformStatusMessage>
) : null}
</section>
</div>
@@ -127,9 +140,14 @@ export function PuzzleOnboardingLoginOverlay({
)}
</button>
{error ? (
<div className="w-full rounded-[1rem] border border-red-300/30 bg-red-500/14 px-4 py-3 text-sm font-semibold text-red-50">
<PlatformStatusMessage
tone="error"
surface="editorDark"
size="md"
className="w-full font-semibold"
>
{error}
</div>
</PlatformStatusMessage>
) : null}
</section>
</div>