feat(config): add subtitle CSS editor, nPlusOne.enabled flag, and fix se

- subtitleStyle.css / subtitleStyle.secondary.css replace flat style fields in the settings window
- ankiConnect.nPlusOne.enabled gates known-word cache independently of knownWords.highlightEnabled
- Settings search now covers all categories, narrows on multi-word terms, and hides editor-owned fields
- Default note-type picker to Kiku then Lapis; rename isLapis.sentenceCardModel default to "Lapis"
This commit is contained in:
2026-05-17 04:13:02 -07:00
parent 3447103857
commit 81830b3372
39 changed files with 1147 additions and 86 deletions
+1
View File
@@ -86,6 +86,7 @@ export interface AnkiConnectConfig {
color?: string;
};
nPlusOne?: {
enabled?: boolean;
nPlusOne?: string;
minSentenceWords?: number;
};
+1
View File
@@ -214,6 +214,7 @@ export interface ResolvedConfig {
decks: Record<string, string[]>;
};
nPlusOne: {
enabled: boolean;
minSentenceWords: number;
};
behavior: {
+3 -1
View File
@@ -26,7 +26,8 @@ export type ConfigSettingsControl =
| 'anki-note-type'
| 'anki-field'
| 'mpv-keybindings'
| 'color-list';
| 'color-list'
| 'css-declarations';
export type ConfigSettingsRestartBehavior = 'hot-reload' | 'restart';
@@ -45,6 +46,7 @@ export interface ConfigSettingsField {
advanced?: boolean;
secret?: boolean;
legacyHidden?: boolean;
settingsHidden?: boolean;
}
export type ConfigSettingsSnapshotValue = unknown;
+2
View File
@@ -70,6 +70,7 @@ export type FrequencyDictionaryMatchMode = 'headword' | 'surface';
export interface SubtitleStyleConfig {
primaryDefaultMode?: PrimarySubMode;
css?: Record<string, string>;
enableJlpt?: boolean;
preserveLineBreaks?: boolean;
autoPauseVideoOnHover?: boolean;
@@ -110,6 +111,7 @@ export interface SubtitleStyleConfig {
bandedColors?: [string, string, string, string, string];
};
secondary?: {
css?: Record<string, string>;
fontFamily?: string;
fontSize?: number;
fontColor?: string;