From 4f2bd597beaa778476b84c10b571db1b13524301 Mon Sep 17 00:00:00 2001 From: polwex Date: Thu, 15 May 2025 21:29:24 +0700 Subject: m --- src/picker/LevelPicker.tsx | 64 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 src/picker/LevelPicker.tsx (limited to 'src/picker/LevelPicker.tsx') diff --git a/src/picker/LevelPicker.tsx b/src/picker/LevelPicker.tsx new file mode 100644 index 0000000..037febf --- /dev/null +++ b/src/picker/LevelPicker.tsx @@ -0,0 +1,64 @@ +// +"use client"; + +import React from "react"; +import { + TextSelect, + Combine, + WholeWord, + Highlighter, + Atom, + Mic2, + CheckCircle2, +} from "lucide-react"; + +// --- Granularity Definition --- +export const GRANULARITY_LEVELS = [ + { id: "text", name: "Text", icon: TextSelect }, + { id: "paragraph", name: "Paragraph", icon: Combine }, + { id: "sentence", name: "Sentence", icon: Highlighter }, + { id: "clause", name: "Clause (Sentence Lvl)", icon: Highlighter }, + { id: "word", name: "Word/Token", icon: WholeWord }, + { id: "syllable", name: "Syllable (Word Lvl)", icon: Mic2 }, + { id: "phoneme", name: "Phoneme (Word Lvl)", icon: Atom }, +] as const; +export type GranularityId = (typeof GRANULARITY_LEVELS)[number]["id"]; + +// --- Granularity Menu --- +interface GranularityMenuProps { + selectedGranularity: GranularityId; + onSelectGranularity: (granularity: GranularityId) => void; +} +const GranularityMenu: React.FC = ({ + selectedGranularity, + onSelectGranularity, +}) => ( + +); + +export default GranularityMenu; -- cgit v1.2.3