aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornsfisis <54318333+nsfisis@users.noreply.github.com>2026-02-17 22:20:49 +0900
committerGitHub <noreply@github.com>2026-02-17 22:20:49 +0900
commitcdb2c534992c2829ad2abe61fcf3f69df6bf0891 (patch)
tree50c20100a34f67a2f2afdfdb606ecdf4bf9fa0b2
parentee165ad0b3ac0bc5bb01b327238818d15faa6e4b (diff)
parent3fc28ecfc649ac1b3223d68f1e08a96e46de59d2 (diff)
downloadkioku-cdb2c534992c2829ad2abe61fcf3f69df6bf0891.tar.gz
kioku-cdb2c534992c2829ad2abe61fcf3f69df6bf0891.tar.zst
kioku-cdb2c534992c2829ad2abe61fcf3f69df6bf0891.zip
Merge pull request #16 from nsfisis/claude/add-card-difficulty-level-BGN2C
Display card difficulty for reviewed cards in deck view
-rw-r--r--src/client/pages/DeckCardsPage.test.tsx18
-rw-r--r--src/client/pages/DeckCardsPage.tsx5
2 files changed, 23 insertions, 0 deletions
diff --git a/src/client/pages/DeckCardsPage.test.tsx b/src/client/pages/DeckCardsPage.test.tsx
index 16916df..58107d4 100644
--- a/src/client/pages/DeckCardsPage.test.tsx
+++ b/src/client/pages/DeckCardsPage.test.tsx
@@ -327,6 +327,24 @@ describe("DeckCardsPage", () => {
expect(screen.getByText("1 lapses")).toBeDefined();
});
+ it("displays difficulty for reviewed cards", () => {
+ renderWithProviders({
+ initialDeck: mockDeck,
+ initialCards: mockCards,
+ });
+
+ expect(screen.getByText("D: 5.0")).toBeDefined();
+ });
+
+ it("does not show difficulty for new cards", () => {
+ renderWithProviders({
+ initialDeck: mockDeck,
+ initialCards: mockCards,
+ });
+
+ expect(screen.queryByText("D: 0.0")).toBeNull();
+ });
+
it("does not show description if deck has none", () => {
const deckWithoutDescription = { ...mockDeck, description: null };
renderWithProviders({
diff --git a/src/client/pages/DeckCardsPage.tsx b/src/client/pages/DeckCardsPage.tsx
index 2b2ca88..8c839da 100644
--- a/src/client/pages/DeckCardsPage.tsx
+++ b/src/client/pages/DeckCardsPage.tsx
@@ -162,6 +162,11 @@ function NoteGroupCard({
{card.lapses > 0 && (
<span className="text-muted">{card.lapses} lapses</span>
)}
+ {card.difficulty > 0 && (
+ <span className="text-muted">
+ D: {card.difficulty.toFixed(1)}
+ </span>
+ )}
</div>
))}
</div>