From 81bde2700802528f1e0471a6db0f02a50f06d379 Mon Sep 17 00:00:00 2001 From: "smalruby3-editor-bot[bot]" <297607354+smalruby3-editor-bot[bot]@users.noreply.github.com> Date: Sun, 26 Jul 2026 00:02:02 +0000 Subject: [PATCH 1/2] =?UTF-8?q?fix(admin):=20=E8=A9=B3=E7=B4=B0=E7=94=BB?= =?UTF-8?q?=E9=9D=A2=E3=81=AE=E3=80=8C=E4=B8=80=E8=A6=A7=E3=81=AB=E6=88=BB?= =?UTF-8?q?=E3=82=8B=E3=80=8D=E3=83=9C=E3=82=BF=E3=83=B3=E3=81=AE=E3=82=B9?= =?UTF-8?q?=E3=82=BF=E3=82=A4=E3=83=AB=E3=82=92=E4=BB=96=E3=83=9C=E3=82=BF?= =?UTF-8?q?=E3=83=B3=E3=81=AB=E6=8F=83=E3=81=88=E3=82=8B=20(#1106=20?= =?UTF-8?q?=E3=83=AC=E3=83=93=E3=83=A5=E3=83=BC)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit みんなの課題/バグ報告/クラス・課題/期限切れ復元の各詳細画面の 「← 一覧に戻る」が class 無しの素の button で、既定ブラウザ表示のまま 浮いていた。共通の .admin-back-button (白背景・1px枠・角丸=アクション ボタンと同じ見た目) を追加し、6 箇所すべてに適用。 人間レビュー指摘 (Admin > みんなの課題詳細) への対応。同じ素ボタンが 他ビューにも全部あったので一括で揃えた。 Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/admin/src/components/app.css | 17 +++++++++++++++++ .../admin/src/components/bug-reports-view.jsx | 1 + .../admin/src/components/classrooms-view.jsx | 4 ++++ .../src/components/shared-assignments-view.jsx | 1 + 4 files changed, 23 insertions(+) diff --git a/packages/admin/src/components/app.css b/packages/admin/src/components/app.css index b29a6c7dd98..12365e65415 100644 --- a/packages/admin/src/components/app.css +++ b/packages/admin/src/components/app.css @@ -184,6 +184,23 @@ body { cursor: pointer; } +/* 「← 一覧に戻る」など詳細画面の戻るボタン。既定の素ボタンだと浮くので + アクションボタンと同じ見た目に揃える(全ビュー共通)。 */ +.admin-back-button { + margin-bottom: 1rem; + padding: 0.4rem 0.9rem; + border: 1px solid hsl(220, 15%, 75%); + border-radius: 0.4rem; + background: white; + color: inherit; + font: inherit; + cursor: pointer; +} + +.admin-back-button:hover { + background: hsl(220, 15%, 96%); +} + .admin-confirm { display: inline-flex; align-items: center; diff --git a/packages/admin/src/components/bug-reports-view.jsx b/packages/admin/src/components/bug-reports-view.jsx index bf2b1a4c6d5..d077f8fc081 100644 --- a/packages/admin/src/components/bug-reports-view.jsx +++ b/packages/admin/src/components/bug-reports-view.jsx @@ -116,6 +116,7 @@ const BugReportDetail = ({reportId, stage, onBack, onChanged}) => { return (
diff --git a/packages/admin/test/unit/shared-assignments-view.test.jsx b/packages/admin/test/unit/shared-assignments-view.test.jsx index 0bb892bf0f0..ffcdc1511d8 100644 --- a/packages/admin/test/unit/shared-assignments-view.test.jsx +++ b/packages/admin/test/unit/shared-assignments-view.test.jsx @@ -148,4 +148,27 @@ describe('SharedAssignmentsView (issue #1083)', () => { expect(mockSetStatus).not.toHaveBeenCalled(); expect(screen.queryByTestId('shared-admin-confirm')).not.toBeInTheDocument(); }); + + test('限定公開で未入力の属性は undefined でなく「未指定」と表示する (レビュー指摘)', async () => { + // 限定公開は authorName / schoolLevel / subject 等を省略できる + // (キーそのものが無い=undefined になる)。 + mockFetchDetail.mockResolvedValue({ + sharedId: 's1', + title: 'smoke限定公開', + status: 'published', + visibility: 'limited', + tags: [], + reuseCount: 0, + pages: [{text: 'ページ1', imageUrl: null}], + starterUrl: null + }); + render(); + await waitFor(() => screen.getByTestId('shared-admin-queue-item-s1')); + fireEvent.click(screen.getByTestId('shared-admin-queue-item-s1')); + await waitFor(() => screen.getByTestId('shared-admin-detail')); + + const detailEl = screen.getByTestId('shared-admin-detail'); + expect(detailEl.textContent).not.toContain('undefined'); + expect(screen.getByTestId('shared-admin-credit').textContent).toContain('未指定'); + }); });