From 65c0adfd769b9ef11b897c96a3634c61120055b8 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Mon, 8 Dec 2025 00:18:03 +0900 Subject: feat(client): redesign frontend with TailwindCSS v4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/client/components/CreateDeckModal.test.tsx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'src/client/components/CreateDeckModal.test.tsx') diff --git a/src/client/components/CreateDeckModal.test.tsx b/src/client/components/CreateDeckModal.test.tsx index 984f6d0..cdc5f97 100644 --- a/src/client/components/CreateDeckModal.test.tsx +++ b/src/client/components/CreateDeckModal.test.tsx @@ -79,13 +79,13 @@ describe("CreateDeckModal", () => { expect(screen.getByLabelText("Name")).toBeDefined(); expect(screen.getByLabelText("Description (optional)")).toBeDefined(); expect(screen.getByRole("button", { name: "Cancel" })).toBeDefined(); - expect(screen.getByRole("button", { name: "Create" })).toBeDefined(); + expect(screen.getByRole("button", { name: "Create Deck" })).toBeDefined(); }); it("disables create button when name is empty", () => { render(); - const createButton = screen.getByRole("button", { name: "Create" }); + const createButton = screen.getByRole("button", { name: "Create Deck" }); expect(createButton).toHaveProperty("disabled", true); }); @@ -96,7 +96,7 @@ describe("CreateDeckModal", () => { const nameInput = screen.getByLabelText("Name"); await user.type(nameInput, "My Deck"); - const createButton = screen.getByRole("button", { name: "Create" }); + const createButton = screen.getByRole("button", { name: "Create Deck" }); expect(createButton).toHaveProperty("disabled", false); }); @@ -161,7 +161,7 @@ describe("CreateDeckModal", () => { ); await user.type(screen.getByLabelText("Name"), "Test Deck"); - await user.click(screen.getByRole("button", { name: "Create" })); + await user.click(screen.getByRole("button", { name: "Create Deck" })); await waitFor(() => { expect(apiClient.rpc.api.decks.$post).toHaveBeenCalledWith( @@ -206,7 +206,7 @@ describe("CreateDeckModal", () => { screen.getByLabelText("Description (optional)"), "A test description", ); - await user.click(screen.getByRole("button", { name: "Create" })); + await user.click(screen.getByRole("button", { name: "Create Deck" })); await waitFor(() => { expect(apiClient.rpc.api.decks.$post).toHaveBeenCalledWith( @@ -236,7 +236,7 @@ describe("CreateDeckModal", () => { screen.getByLabelText("Description (optional)"), " Description ", ); - await user.click(screen.getByRole("button", { name: "Create" })); + await user.click(screen.getByRole("button", { name: "Create Deck" })); await waitFor(() => { expect(apiClient.rpc.api.decks.$post).toHaveBeenCalledWith( @@ -256,7 +256,7 @@ describe("CreateDeckModal", () => { render(); await user.type(screen.getByLabelText("Name"), "Test Deck"); - await user.click(screen.getByRole("button", { name: "Create" })); + await user.click(screen.getByRole("button", { name: "Create Deck" })); expect(screen.getByRole("button", { name: "Creating..." })).toBeDefined(); expect(screen.getByRole("button", { name: "Creating..." })).toHaveProperty( @@ -288,7 +288,7 @@ describe("CreateDeckModal", () => { render(); await user.type(screen.getByLabelText("Name"), "Test Deck"); - await user.click(screen.getByRole("button", { name: "Create" })); + await user.click(screen.getByRole("button", { name: "Create Deck" })); await waitFor(() => { expect(screen.getByRole("alert").textContent).toContain( @@ -307,7 +307,7 @@ describe("CreateDeckModal", () => { render(); await user.type(screen.getByLabelText("Name"), "Test Deck"); - await user.click(screen.getByRole("button", { name: "Create" })); + await user.click(screen.getByRole("button", { name: "Create Deck" })); await waitFor(() => { expect(screen.getByRole("alert").textContent).toContain( @@ -376,7 +376,7 @@ describe("CreateDeckModal", () => { // Create a deck await user.type(screen.getByLabelText("Name"), "Test Deck"); - await user.click(screen.getByRole("button", { name: "Create" })); + await user.click(screen.getByRole("button", { name: "Create Deck" })); await waitFor(() => { expect(onClose).toHaveBeenCalled(); -- cgit v1.2.3-70-g09d2