diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-12-08 00:18:03 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-12-08 00:18:03 +0900 |
| commit | 65c0adfd769b9ef11b897c96a3634c61120055b8 (patch) | |
| tree | 74668feef8f134c1b132beaab125e42fa9d77b2e /src/client/components/EditDeckModal.test.tsx | |
| parent | 7cf55a3b7e37971ea0835118a26f032d895ff71f (diff) | |
| download | kioku-65c0adfd769b9ef11b897c96a3634c61120055b8.tar.gz kioku-65c0adfd769b9ef11b897c96a3634c61120055b8.tar.zst kioku-65c0adfd769b9ef11b897c96a3634c61120055b8.zip | |
feat(client): redesign frontend with TailwindCSS v4
Replace inline styles with TailwindCSS, implementing a cohesive Japanese-inspired
design system with custom colors (cream, teal primary), typography (Fraunces,
DM Sans), and animations. Update all pages and components with consistent styling,
improve accessibility by adding aria-hidden to decorative SVGs, and configure
Biome for Tailwind CSS syntax support.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'src/client/components/EditDeckModal.test.tsx')
| -rw-r--r-- | src/client/components/EditDeckModal.test.tsx | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/client/components/EditDeckModal.test.tsx b/src/client/components/EditDeckModal.test.tsx index e4c997e..c627dd5 100644 --- a/src/client/components/EditDeckModal.test.tsx +++ b/src/client/components/EditDeckModal.test.tsx @@ -76,7 +76,7 @@ describe("EditDeckModal", () => { expect(screen.getByLabelText("Name")).toBeDefined(); expect(screen.getByLabelText("Description (optional)")).toBeDefined(); expect(screen.getByRole("button", { name: "Cancel" })).toBeDefined(); - expect(screen.getByRole("button", { name: "Save" })).toBeDefined(); + expect(screen.getByRole("button", { name: "Save Changes" })).toBeDefined(); }); it("populates form with deck values", () => { @@ -106,14 +106,14 @@ describe("EditDeckModal", () => { const nameInput = screen.getByLabelText("Name"); await user.clear(nameInput); - const saveButton = screen.getByRole("button", { name: "Save" }); + const saveButton = screen.getByRole("button", { name: "Save Changes" }); expect(saveButton).toHaveProperty("disabled", true); }); it("enables save button when name has content", () => { render(<EditDeckModal {...defaultProps} />); - const saveButton = screen.getByRole("button", { name: "Save" }); + const saveButton = screen.getByRole("button", { name: "Save Changes" }); expect(saveButton).toHaveProperty("disabled", false); }); @@ -179,7 +179,7 @@ describe("EditDeckModal", () => { const nameInput = screen.getByLabelText("Name"); await user.clear(nameInput); await user.type(nameInput, "Updated Deck"); - await user.click(screen.getByRole("button", { name: "Save" })); + await user.click(screen.getByRole("button", { name: "Save Changes" })); await waitFor(() => { expect(mockFetch).toHaveBeenCalledWith("/api/decks/deck-123", { @@ -228,7 +228,7 @@ describe("EditDeckModal", () => { const descInput = screen.getByLabelText("Description (optional)"); await user.clear(descInput); await user.type(descInput, "New description"); - await user.click(screen.getByRole("button", { name: "Save" })); + await user.click(screen.getByRole("button", { name: "Save Changes" })); await waitFor(() => { expect(mockFetch).toHaveBeenCalledWith("/api/decks/deck-123", { @@ -267,7 +267,7 @@ describe("EditDeckModal", () => { const descInput = screen.getByLabelText("Description (optional)"); await user.clear(descInput); - await user.click(screen.getByRole("button", { name: "Save" })); + await user.click(screen.getByRole("button", { name: "Save Changes" })); await waitFor(() => { expect(mockFetch).toHaveBeenCalledWith("/api/decks/deck-123", { @@ -299,7 +299,7 @@ describe("EditDeckModal", () => { }; render(<EditDeckModal {...defaultProps} deck={deckWithWhitespace} />); - await user.click(screen.getByRole("button", { name: "Save" })); + await user.click(screen.getByRole("button", { name: "Save Changes" })); await waitFor(() => { expect(mockFetch).toHaveBeenCalledWith("/api/decks/deck-123", { @@ -323,7 +323,7 @@ describe("EditDeckModal", () => { render(<EditDeckModal {...defaultProps} />); - await user.click(screen.getByRole("button", { name: "Save" })); + await user.click(screen.getByRole("button", { name: "Save Changes" })); expect(screen.getByRole("button", { name: "Saving..." })).toBeDefined(); expect(screen.getByRole("button", { name: "Saving..." })).toHaveProperty( @@ -352,7 +352,7 @@ describe("EditDeckModal", () => { render(<EditDeckModal {...defaultProps} />); - await user.click(screen.getByRole("button", { name: "Save" })); + await user.click(screen.getByRole("button", { name: "Save Changes" })); await waitFor(() => { expect(screen.getByRole("alert").textContent).toContain( @@ -368,7 +368,7 @@ describe("EditDeckModal", () => { render(<EditDeckModal {...defaultProps} />); - await user.click(screen.getByRole("button", { name: "Save" })); + await user.click(screen.getByRole("button", { name: "Save Changes" })); await waitFor(() => { expect(screen.getByRole("alert").textContent).toContain( @@ -384,7 +384,7 @@ describe("EditDeckModal", () => { render(<EditDeckModal {...defaultProps} />); - await user.click(screen.getByRole("button", { name: "Save" })); + await user.click(screen.getByRole("button", { name: "Save Changes" })); await waitFor(() => { expect(screen.getByRole("alert").textContent).toContain( @@ -430,7 +430,7 @@ describe("EditDeckModal", () => { ); // Trigger error - await user.click(screen.getByRole("button", { name: "Save" })); + await user.click(screen.getByRole("button", { name: "Save Changes" })); await waitFor(() => { expect(screen.getByRole("alert")).toBeDefined(); }); |
