FEAT GUI: Add dataset navigation and cards
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 45/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- react, typescript
- 領域
- frontend
調査の方向性
Start with frontend/src/components/Sidebar/Navigation.tsx, App.tsx, components/Layout, components/Scenarios/ScenarioCatalog, services/api.ts, and types/index.ts; first review the summary and browsing contracts from items 1–2. Add the Datasets navigation and route under components/Datasets, then verify real-data cards, filters, states, accessibility, and route behavior with component and routing tests.
索引モデルが issue の本文から書いたものです。
説明
Is your feature request related to a problem? Please describe.
CoPyRIT has no dataset exploration section. Users cannot see which seed datasets are already in memory or compare their size, modalities, and harm labels before choosing one.
Work item 3 of 17 in #2744. Technical prerequisites: the summary/browsing contracts from items 1-2. This item remains not ready yet until its turn in the series.
Describe the solution you'd like
Add a Datasets navigation entry and route with a responsive set of dataset cards. Use the existing Fluent UI theme, spacing, navigation, error, and loading patterns.
Cards should show the dataset name, meaningful example/prompt counts, modalities, harm categories when supplied, and loaded/source information. Use the API's count semantics rather than deriving totals from the current page. Unknown counts are not zero; missing harm labels read as not labeled.
Add name search, appropriate facets from the summary contract, sorting, clear filters, and explicit empty/error/retry states. Browsing must work without an active target. Preserve route/search state through browser Back/Forward and route refresh where applicable. Establish the dataset-detail route contract for the next item without presenting a dead action as a completed feature.
Acceptance criteria:
- Datasets is accessible from primary navigation and supports direct navigation.
- Cards use real API data, with correct missing-data and large-count handling.
- Search, filtering, sorting, clear filters, empty memory, and no-match states work.
- Keyboard activation, accessible names, focus, narrow viewports, and existing themes are supported.
- Catalog viewing causes no provider downloads or attack creation.
- Component and routing tests cover success, failure, and navigation behavior.
Describe alternatives you've considered, if relevant
Do not introduce a new UI library, a separate visual identity, provider-loading controls, or a second API client. Full prompt browsing arrives in item 4; provider discovery/loading is items 9-11.
Additional context
Start with frontend\src\components\Sidebar\Navigation.tsx, App.tsx, components\Layout, components\Scenarios\ScenarioCatalog, services\api.ts, and types\index.ts. Put feature components under components\Datasets and follow the frontend style/test instructions.
- 主要言語
- Python
- スター
- 4.5k
- フォーク
- 896
- 平均マージ
- 3日 5時間
- マージ済み PR(30日)
- 200
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
microsoft/PyRIT のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
microsoft/PyRIT の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
-
hcocena オープンpolicies-accepted pre-review precheck-passed
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
Bioconductor/BiocContributions#214 · コメント 5 件 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
TencentCloud/Octop#1169 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
521xueweihan/HelloGitHub#3778 ·
-
The version checker's trailing attribute region has no control for a less-than inside a quoted value オープンarea: dashboard area: tests bug perceived difficulty: 2 python
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
Nitjsefnie-Harness-Commons/daedalus#1105 · コメント 1 件 ·