Files
neodlp/src/types/settings.ts

69 lines
1.9 KiB
TypeScript

import { ColorScheme, Theme } from "@/providers/themeProvider";
export interface SettingsTable {
key: string;
value: string;
}
export interface CustomCommand {
id: string;
label: string;
args: string;
}
export interface Settings {
ytdlp_update_channel: string;
ytdlp_auto_update: boolean;
theme: Theme;
color_scheme: ColorScheme;
download_dir: string;
max_parallel_downloads: number;
max_retries: number;
prefer_video_over_playlist: boolean;
strict_downloadablity_check: boolean;
use_proxy: boolean;
proxy_url: string;
use_rate_limit: boolean;
rate_limit: number;
video_format: string;
audio_format: string;
always_reencode_video: boolean;
embed_video_metadata: boolean;
embed_audio_metadata: boolean;
embed_video_thumbnail: boolean;
embed_audio_thumbnail: boolean;
use_cookies: boolean;
import_cookies_from: string;
cookies_browser: string;
cookies_file: string;
use_sponsorblock: boolean;
sponsorblock_mode: string;
sponsorblock_remove: string;
sponsorblock_mark: string;
sponsorblock_remove_categories: string[];
sponsorblock_mark_categories: string[];
use_aria2: boolean;
use_force_internet_protocol: boolean;
force_internet_protocol: string;
use_custom_commands: boolean;
custom_commands: CustomCommand[];
filename_template: string;
debug_mode: boolean;
log_verbose: boolean;
log_progress: boolean;
enable_notifications: boolean;
update_notification: boolean;
download_completion_notification: boolean;
// extension settings
websocket_port: number;
}
export interface DownloadConfiguration {
output_format: string | null;
embed_metadata: boolean | null;
embed_thumbnail: boolean | null;
square_crop_thumbnail: boolean | null;
sponsorblock: string | null;
custom_command: string | null;
}