From 4e60dc3cde6a2ca0118965293f0838c9de8081b6 Mon Sep 17 00:00:00 2001 From: kurihada Date: Thu, 26 Feb 2026 14:15:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=8D=95=E4=BA=BA=E5=9C=BA=E6=99=AF?= =?UTF-8?q?=E4=BD=93=E9=AA=8C=E4=BC=98=E5=8C=96=20=E2=80=94=20=E8=B7=B3?= =?UTF-8?q?=E8=BF=87=E7=AD=89=E5=BE=85=20spinner=EF=BC=8C=E9=80=82?= =?UTF-8?q?=E9=85=8D=E7=BB=93=E6=9E=9C=E6=96=87=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - SwipeDeck: userCount === 1 时不再显示"等待其他人完成选择" - MatchResult: 单人时标题改为"帮你选好了",副标题改为"你的首选" - MatchResult: 单人时隐藏"默契度 100%"徽章(无意义) - 更新 ROADMAP 将 Solo 模式改为单人体验修复 --- ROADMAP.md | 7 +++---- src/components/MatchResult.tsx | 13 ++++++++----- src/components/SwipeDeck.tsx | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index 4e19d46..7b8d538 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -23,10 +23,9 @@ ## P1 — 体验提升 -### 单人也能用(Solo 模式) -- 只有一人创建房间时,等待页面体验空白 -- 加入 Solo 模式:一人时自动随机推荐 / 转盘选择 -- 降低使用门槛,不依赖必须拉人 +### 单人等待体验修复 +- `userCount === 1` 时跳过"等待其他人完成选择"spinner,直接出结果 +- 匹配文案适配单人场景("就去这了"→"帮你选好了","X/X 人想去"→"你的首选") ### 盲盒想法互动 - 对想法点赞 / 加权(增加被抽中概率) diff --git a/src/components/MatchResult.tsx b/src/components/MatchResult.tsx index e677175..2d84eb3 100644 --- a/src/components/MatchResult.tsx +++ b/src/components/MatchResult.tsx @@ -189,6 +189,7 @@ export default function MatchResult({ const [toast, setToast] = useState(""); const celebratedRef = useRef(false); const historySavedRef = useRef(false); + const isSolo = userCount <= 1; const isUnanimous = matchType === "unanimous"; const [favorited, setFavorited] = useState(false); const [favLoading, setFavLoading] = useState(false); @@ -300,7 +301,7 @@ export default function MatchResult({ animate={{ y: 0, opacity: 1 }} transition={{ delay: 0.35 }} > - 就去这了! + {isSolo ? "帮你选好了!" : "就去这了!"} - {isUnanimous - ? "大家一拍即合!" - : `${matchLikes}/${userCount} 人想去这家`} + {isSolo + ? "你的首选,别犹豫了" + : isUnanimous + ? "大家一拍即合!" + : `${matchLikes}/${userCount} 人想去这家`} - {isUnanimous && ( + {isUnanimous && !isSolo && ( r.id === resolvedMatchId) ?? null : null; - const showWaiting = allSwiped && !resolvedMatchId; + const showWaiting = allSwiped && !resolvedMatchId && userCount > 1; return ( <>