fix: AudioContext 复用 + 盲盒加载错误提示 + icon 按钮 aria-label

- #27: panic/blindbox/ShareCardModal/AuthModal 中 icon-only 按钮补 aria-label
- #28: playChime 缓存复用单个 AudioContext,避免超出浏览器 ~6 个上限
- #29: 已完成(上一批次 ApiError.name = "ApiError")
- #30: blindbox lobby fetchRooms 失败时显示"加载失败/点击重试"
- #31: 已完成(theme.ts VALID_THEMES 校验)
This commit is contained in:
2026-02-26 20:25:56 +08:00
parent f4a8fd7fee
commit deba7ab2bb
6 changed files with 41 additions and 5 deletions
+3
View File
@@ -334,6 +334,7 @@ export default function BlindboxRoomPage() {
<div className="flex w-full max-w-sm items-center gap-3">
<button
onClick={() => router.push("/blindbox")}
aria-label="返回"
className="flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-surface ring-1 ring-border transition-colors active:bg-elevated"
>
<ArrowLeft size={16} className="text-muted" />
@@ -363,6 +364,7 @@ export default function BlindboxRoomPage() {
<button
onClick={() => setShowInvite(!showInvite)}
aria-label="邀请成员"
className="flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-purple-600/15 text-purple-400 ring-1 ring-purple-500/20 transition-colors active:bg-purple-600/25"
>
<Share2 size={14} />
@@ -486,6 +488,7 @@ export default function BlindboxRoomPage() {
<button
onClick={handleSubmit}
disabled={!input.trim() || submitting}
aria-label="提交想法"
className="flex h-12 w-12 items-center justify-center rounded-xl bg-purple-600 text-white transition-colors hover:bg-purple-500 disabled:opacity-30"
>
{submitting ? <Loader2 size={18} className="animate-spin" /> : <Send size={18} />}