From 42225dc3509ce878142f7beb59d68df36d95f128 Mon Sep 17 00:00:00 2001
From: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Date: Wed, 2 Sep 2026 01:53:52 +0800
Subject: [PATCH] fix(review): wrap long mobile labels
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
---
.../features/social/skill-reviews.test.tsx | 25 +++++++++++++++++++
web/src/features/social/skill-reviews.tsx | 6 ++---
web/src/pages/skill-detail.test.tsx | 14 +++++++++++
web/src/pages/skill-detail.tsx | 2 +-
4 files changed, 43 insertions(+), 4 deletions(-)
diff --git a/web/src/features/social/skill-reviews.test.tsx b/web/src/features/social/skill-reviews.test.tsx
index de3710e4..c150213a 100644
--- a/web/src/features/social/skill-reviews.test.tsx
+++ b/web/src/features/social/skill-reviews.test.tsx
@@ -135,6 +135,31 @@ describe('skill reviews', () => {
expect(mocks.requestedPages[mocks.requestedPages.length - 1]).toBe(0)
})
+ it('wraps long reviewer names and review text', () => {
+ const reviewer = 'review_author_1788284593_353294'
+ const reviewText = 'x'.repeat(200)
+ mocks.pages.set(0, {
+ items: [{
+ id: 8,
+ displayName: reviewer,
+ score: 5,
+ reviewText,
+ status: 'VISIBLE',
+ authoredByViewer: false,
+ createdAt: '2026-09-01T00:00:00Z',
+ updatedAt: '2026-09-01T00:00:00Z',
+ }],
+ total: 1,
+ page: 0,
+ size: 20,
+ })
+
+ render(
{review.reviewText}
+{review.reviewText}
{hidden && review.moderationReason ? (
{t('skillReviews.moderationReason', { reason: review.moderationReason })}
diff --git a/web/src/pages/skill-detail.test.tsx b/web/src/pages/skill-detail.test.tsx
index 4cdfc9aa..b9ba9a71 100644
--- a/web/src/pages/skill-detail.test.tsx
+++ b/web/src/pages/skill-detail.test.tsx
@@ -348,6 +348,20 @@ describe('SkillDetailPage', () => {
expect(html).not.toContain('skillDetail.deleteSkill')
})
+ it('wraps a long skill name instead of widening the mobile page', () => {
+ useSkillDetailMock.mockReturnValue({
+ data: createSkill({ displayName: 'review-runtime-1788284593-353294' }),
+ isLoading: false,
+ isFetching: false,
+ error: null,
+ })
+
+ const html = renderToStaticMarkup(