Skip to content

feat(tasks): テーブルの投票結果「±0」ラベルを on / off で切り替えられるようにする (#3647)#3687

Open
river0525 wants to merge 4 commits into
stagingfrom
#3647
Open

feat(tasks): テーブルの投票結果「±0」ラベルを on / off で切り替えられるようにする (#3647)#3687
river0525 wants to merge 4 commits into
stagingfrom
#3647

Conversation

@river0525

@river0525 river0525 commented Jun 18, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • 一覧表ページ(/problems)の TaskTable に「±0 を表示」トグルを追加(デフォルト ON)
  • トグル OFF 時は ±0 バッジのみ非表示、+ / ++ / - / -- バッジは常時表示
  • showNeutralBadge prop を TaskTableTaskTableBodyCellVotableGrade の 2 段でドリル
  • VotableGrade のデフォルト true により、ワークブックページ等の既存呼び出し箇所への影響はゼロ

Test Plan

  • /problems → コンテスト別タブを開き、±0 バッジが表示されていることを確認
  • 「±0 を表示」トグルを OFF にすると ±0 バッジのみ消え、+ / ++ / - / -- バッジは残ることを確認
  • トグルを ON に戻すと ±0 バッジが再表示されることを確認
  • ワークブックページ(/workbooks/...)で ±0 バッジが引き続き表示されることを確認(既存動作に変化なし)

Closes #3647

🤖 Generated with Claude Code

Summary by CodeRabbit

リリースノート

  • New Features
    • 「±0 相対評価バッジ」の表示/非表示をトグルで切り替えられるようになりました。ユーザーは必要に応じてバッジの表示状態を制御でき、デフォルトでは有効です。

@coderabbitai

coderabbitai Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 34c567c5-7f6b-4ac5-9fcf-2ac7752b1da8

📥 Commits

Reviewing files that changed from the base of the PR and between 892e22f and c9101a7.

📒 Files selected for processing (3)
  • src/features/tasks/components/contest-table/TaskTable.svelte
  • src/features/tasks/components/contest-table/TaskTableBodyCell.svelte
  • src/features/votes/components/VotableGrade.svelte

📝 Walkthrough

ウォークスルー

TaskTableにToggleコンポーネントとshowNeutralBadge状態を追加し、TaskTableBodyCell経由でVotableGradeまで伝播させることで、±0相対評価バッジの表示/非表示をユーザーが切り替えられるようにした。

変更内容

±0バッジ表示切替機能

レイヤー / ファイル 概要
VotableGradeへのshowNeutralBadgeプロパティ追加
src/features/votes/components/VotableGrade.svelte
showNeutralBadge?: boolean(デフォルトtrue)を追加し、RelativeEvaluationBadge#if条件とスクリーンリーダーテキストをこのフラグで制御するよう変更した。
TaskTableBodyCellへの中継
src/features/tasks/components/contest-table/TaskTableBodyCell.svelte
PropsshowNeutralBadge?: booleanを追加(デフォルトtrue)し、VotableGradeへ渡すよう配線した。
TaskTableへのToggleUI追加
src/features/tasks/components/contest-table/TaskTable.svelte
Toggleをインポートし、$state showNeutralBadge(初期値true)を追加。上部コンテナのレイアウトをjustify-between/items-centerに変更して「±0を表示」トグルを配置し、TaskTableBodyCellshowNeutralBadgeを渡すよう変更した。

推定コードレビュー工数

🎯 2 (Simple) | ⏱️ ~10 minutes

関連する可能性のあるPR

  • AtCoder-NoviSteps/AtCoderNoviSteps#3416: VotableGrade.svelteRelativeEvaluationBadgeの条件レンダリングを導入したPRであり、今回のshowNeutralBadge制御の直接的な基盤となっている。
  • AtCoder-NoviSteps/AtCoderNoviSteps#3571: diff=0の場合に'±0'ラベルを生成するロジックを変更しており、今回ゲートするバッジの表示内容に直接影響する。

レビュー担当候補

  • KATO-Hiro

±0のバッジよ、消えろ見えろ 🎛️
トグル一つで世界が変わる
showNeutralBadge が橋を渡り
三層の props、静かに伝う
on でも off でも、テーブルは笑う ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed プルリクエストのタイトルは、主な変更である「タスクテーブルの±0ラベルの表示/非表示切り替え機能」を正確かつ簡潔に説明しており、変更セットと完全に関連しています。
Linked Issues check ✅ Passed 実装は #3647 の要件「±0ラベルを on/off で切り替える機能」を完全に満たしており、showNeutralBadge プロップを通じた制御機構と UI トグルを適切に実装しています。
Out of Scope Changes check ✅ Passed すべての変更は「±0ラベルのトグル機能」という定義されたスコープ内に収まっており、無関連な変更や副作用は検出されていません。
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch #3647

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ui/ux] テーブルの投票結果「±0」ラベルを on / off で切り替えられるようにしましょう

1 participant