mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-06-10 03:13:32 -07:00
feat(notifications): add overlay notifications with position config
- Add Catppuccin Macchiato overlay notification stack with 3s transient timeout - Add `notifications.overlayPosition` config (top-left | top | top-right) - Route startup tokenization and subtitle annotation status through configured surfaces - Deduplicate rapid subtitle mode toggle notifications - Change `both` to mean overlay + system; add `osd-system` as legacy alias for old behavior - Keep `osd`/`osd-system` as config-file-only legacy values; Settings UI offers overlay/system/both/none
This commit is contained in:
+9
-2
@@ -36,6 +36,7 @@ import type {
|
||||
SubtitleSidebarConfig,
|
||||
SubtitleStyleConfig,
|
||||
} from './subtitle';
|
||||
import type { NotificationType, OverlayNotificationPosition } from './notification';
|
||||
|
||||
export interface WebSocketConfig {
|
||||
enabled?: boolean | 'auto';
|
||||
@@ -83,7 +84,7 @@ export interface StartupWarmupsConfig {
|
||||
jellyfinRemoteSession?: boolean;
|
||||
}
|
||||
|
||||
export type UpdateNotificationType = 'system' | 'osd' | 'both' | 'none';
|
||||
export type UpdateNotificationType = NotificationType;
|
||||
export type UpdateChannel = 'stable' | 'prerelease';
|
||||
|
||||
export interface UpdatesConfig {
|
||||
@@ -93,6 +94,10 @@ export interface UpdatesConfig {
|
||||
channel?: UpdateChannel;
|
||||
}
|
||||
|
||||
export interface NotificationsConfig {
|
||||
overlayPosition?: OverlayNotificationPosition;
|
||||
}
|
||||
|
||||
export type LogRotation = number;
|
||||
|
||||
export interface LogFilesConfig {
|
||||
@@ -149,6 +154,7 @@ export interface Config {
|
||||
immersionTracking?: ImmersionTrackingConfig;
|
||||
stats?: StatsConfig;
|
||||
updates?: UpdatesConfig;
|
||||
notifications?: NotificationsConfig;
|
||||
logging?: {
|
||||
level?: 'debug' | 'info' | 'warn' | 'error';
|
||||
rotation?: LogRotation;
|
||||
@@ -247,7 +253,7 @@ export interface ResolvedConfig {
|
||||
overwriteImage: boolean;
|
||||
mediaInsertMode: 'append' | 'prepend';
|
||||
highlightWord: boolean;
|
||||
notificationType: 'osd' | 'system' | 'both' | 'none';
|
||||
notificationType: NotificationType;
|
||||
autoUpdateNewCards: boolean;
|
||||
};
|
||||
metadata: {
|
||||
@@ -379,6 +385,7 @@ export interface ResolvedConfig {
|
||||
autoOpenBrowser: boolean;
|
||||
};
|
||||
updates: Required<UpdatesConfig>;
|
||||
notifications: Required<NotificationsConfig>;
|
||||
logging: {
|
||||
level: 'debug' | 'info' | 'warn' | 'error';
|
||||
rotation: LogRotation;
|
||||
|
||||
Reference in New Issue
Block a user