aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/client/components/CreateNoteModal.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/components/CreateNoteModal.tsx')
-rw-r--r--src/client/components/CreateNoteModal.tsx15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/client/components/CreateNoteModal.tsx b/src/client/components/CreateNoteModal.tsx
index 912aea8..cc39bf6 100644
--- a/src/client/components/CreateNoteModal.tsx
+++ b/src/client/components/CreateNoteModal.tsx
@@ -27,6 +27,7 @@ interface NoteTypeSummary {
interface CreateNoteModalProps {
isOpen: boolean;
deckId: string;
+ defaultNoteTypeId?: string | null;
onClose: () => void;
onNoteCreated: () => void;
}
@@ -34,6 +35,7 @@ interface CreateNoteModalProps {
export function CreateNoteModal({
isOpen,
deckId,
+ defaultNoteTypeId,
onClose,
onNoteCreated,
}: CreateNoteModalProps) {
@@ -88,10 +90,13 @@ export function CreateNoteModal({
setNoteTypes(data.noteTypes);
setHasLoadedNoteTypes(true);
- // Auto-select first note type if available
- const firstNoteType = data.noteTypes[0];
- if (firstNoteType) {
- await fetchNoteTypeDetails(firstNoteType.id);
+ // Auto-select default note type if specified, otherwise first
+ const targetNoteType =
+ (defaultNoteTypeId &&
+ data.noteTypes.find((nt) => nt.id === defaultNoteTypeId)) ||
+ data.noteTypes[0];
+ if (targetNoteType) {
+ await fetchNoteTypeDetails(targetNoteType.id);
}
} catch (err) {
if (err instanceof ApiClientError) {
@@ -102,7 +107,7 @@ export function CreateNoteModal({
} finally {
setIsLoadingNoteTypes(false);
}
- }, [fetchNoteTypeDetails]);
+ }, [fetchNoteTypeDetails, defaultNoteTypeId]);
useEffect(() => {
if (isOpen && !hasLoadedNoteTypes) {