feat(notifications): add overlay notifications with position config (#110)

This commit is contained in:
2026-06-10 22:46:52 -07:00
committed by GitHub
parent c09d009a3e
commit 7be1843c41
177 changed files with 7524 additions and 440 deletions
+10 -2
View File
@@ -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 {
@@ -120,6 +125,7 @@ export interface ShortcutsConfig {
openControllerSelect?: string | null;
openControllerDebug?: string | null;
toggleSubtitleSidebar?: string | null;
toggleNotificationHistory?: string | null;
}
export interface Config {
@@ -149,6 +155,7 @@ export interface Config {
immersionTracking?: ImmersionTrackingConfig;
stats?: StatsConfig;
updates?: UpdatesConfig;
notifications?: NotificationsConfig;
logging?: {
level?: 'debug' | 'info' | 'warn' | 'error';
rotation?: LogRotation;
@@ -247,7 +254,7 @@ export interface ResolvedConfig {
overwriteImage: boolean;
mediaInsertMode: 'append' | 'prepend';
highlightWord: boolean;
notificationType: 'osd' | 'system' | 'both' | 'none';
notificationType: NotificationType;
autoUpdateNewCards: boolean;
};
metadata: {
@@ -379,6 +386,7 @@ export interface ResolvedConfig {
autoOpenBrowser: boolean;
};
updates: Required<UpdatesConfig>;
notifications: Required<NotificationsConfig>;
logging: {
level: 'debug' | 'info' | 'warn' | 'error';
rotation: LogRotation;