feat: Introduce reader settings and dark mode support

Adds a new `ReaderSettings` type to manage user preferences such as dark mode, font size, line height, font family, and auto-scroll behavior.

Implements dark mode styling for various UI components including the `VoiceSelector` and `QueueItem`, enhancing visual consistency.

Enhances the `ReaderView` component to respect the `autoScroll` setting and introduces basic text styling options based on the new settings.
This commit is contained in:
Anthony
2025-11-19 20:21:08 +08:00
parent 417d48ffdf
commit 8e902fd9c1
5 changed files with 418 additions and 250 deletions

View File

@@ -45,3 +45,11 @@ export interface PlayerState {
currentArticleId: string | null;
selectedVoice: VoiceName;
}
export interface ReaderSettings {
isDarkMode: boolean;
fontSize: 'sm' | 'base' | 'lg' | 'xl' | '2xl';
lineHeight: 'normal' | 'relaxed' | 'loose';
fontFamily: 'sans' | 'serif' | 'mono';
autoScroll: boolean;
}