From 3cfa0f5c029113a2ada8e8663767a654150ba8c3 Mon Sep 17 00:00:00 2001
From: nsfisis <nsfisis@gmail.com>
Date: Sun, 7 Dec 2025 23:47:35 +0900
Subject: chore: fix all lint errors and warnings
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

- Remove unused imports in repositories.ts and sync.test.ts
- Replace non-null assertions with type casts in HomePage.test.tsx
- Use semantic <output> element instead of div with role="status"
- Use semantic <button> element instead of div with role="button"
- Remove useless React fragment in StudyPage.tsx
- Fix useCallback dependencies for handleFlip and handleRating

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---
 src/client/pages/HomePage.test.tsx | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

(limited to 'src/client/pages/HomePage.test.tsx')

diff --git a/src/client/pages/HomePage.test.tsx b/src/client/pages/HomePage.test.tsx
index f75f88d..18c2e76 100644
--- a/src/client/pages/HomePage.test.tsx
+++ b/src/client/pages/HomePage.test.tsx
@@ -484,7 +484,7 @@ describe("HomePage", () => {
 			});
 
 			const editButtons = screen.getAllByRole("button", { name: "Edit" });
-			await user.click(editButtons[0]!);
+			await user.click(editButtons.at(0) as HTMLElement);
 
 			expect(screen.getByRole("dialog")).toBeDefined();
 			expect(screen.getByRole("heading", { name: "Edit Deck" })).toBeDefined();
@@ -512,7 +512,7 @@ describe("HomePage", () => {
 			});
 
 			const editButtons = screen.getAllByRole("button", { name: "Edit" });
-			await user.click(editButtons[0]!);
+			await user.click(editButtons.at(0) as HTMLElement);
 
 			expect(screen.getByRole("dialog")).toBeDefined();
 
@@ -557,7 +557,7 @@ describe("HomePage", () => {
 
 			// Click Edit on first deck
 			const editButtons = screen.getAllByRole("button", { name: "Edit" });
-			await user.click(editButtons[0]!);
+			await user.click(editButtons.at(0) as HTMLElement);
 
 			// Update name
 			const nameInput = screen.getByLabelText("Name");
@@ -623,7 +623,7 @@ describe("HomePage", () => {
 			});
 
 			const deleteButtons = screen.getAllByRole("button", { name: "Delete" });
-			await user.click(deleteButtons[0]!);
+			await user.click(deleteButtons.at(0) as HTMLElement);
 
 			expect(screen.getByRole("dialog")).toBeDefined();
 			expect(
@@ -652,7 +652,7 @@ describe("HomePage", () => {
 			});
 
 			const deleteButtons = screen.getAllByRole("button", { name: "Delete" });
-			await user.click(deleteButtons[0]!);
+			await user.click(deleteButtons.at(0) as HTMLElement);
 
 			expect(screen.getByRole("dialog")).toBeDefined();
 
@@ -693,7 +693,7 @@ describe("HomePage", () => {
 
 			// Click Delete on first deck
 			const deleteButtons = screen.getAllByRole("button", { name: "Delete" });
-			await user.click(deleteButtons[0]!);
+			await user.click(deleteButtons.at(0) as HTMLElement);
 
 			// Wait for modal to appear
 			await waitFor(() => {
@@ -706,7 +706,7 @@ describe("HomePage", () => {
 			const deleteButton = Array.from(dialogButtons).find(
 				(btn) => btn.textContent === "Delete",
 			);
-			await user.click(deleteButton!);
+			await user.click(deleteButton as HTMLElement);
 
 			// Modal should close
 			await waitFor(() => {
-- 
cgit v1.2.3-70-g09d2

