From b074a4901c630ee5c5f7dcff79fa6ff911a14ded Mon Sep 17 00:00:00 2001
From: nsfisis <nsfisis@gmail.com>
Date: Wed, 31 Dec 2025 14:19:22 +0900
Subject: feat(schema): make note_id and is_reversed NOT NULL
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

All cards now require note association - legacy card support removed.
This aligns with the note-based card architecture introduced in Phase 8.

- Add database migration for NOT NULL constraints
- Update client Dexie schema to version 3
- Remove LegacyCardItem component and legacy card handling
- Update sync schemas and type definitions
- Update all tests to use note-based cards

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

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

(limited to 'src/client/pages/StudyPage.tsx')

diff --git a/src/client/pages/StudyPage.tsx b/src/client/pages/StudyPage.tsx
index bdaf7e3..0eb5118 100644
--- a/src/client/pages/StudyPage.tsx
+++ b/src/client/pages/StudyPage.tsx
@@ -13,8 +13,8 @@ import { renderCard } from "../utils/templateRenderer";
 interface Card {
 	id: string;
 	deckId: string;
-	noteId: string | null;
-	isReversed: boolean | null;
+	noteId: string;
+	isReversed: boolean;
 	front: string;
 	back: string;
 	state: number;
@@ -23,11 +23,11 @@ interface Card {
 	difficulty: number;
 	reps: number;
 	lapses: number;
-	/** Note type templates for rendering (null for legacy cards) */
+	/** Note type templates for rendering */
 	noteType: {
 		frontTemplate: string;
 		backTemplate: string;
-	} | null;
+	};
 	/** Field values as a name-value map for template rendering */
 	fieldValuesMap: Record<string, string>;
 }
-- 
cgit v1.2.3-70-g09d2

