mirror of
https://github.com/neosubhamoy/neodlp.git
synced 2025-12-19 05:02:57 +05:30
(feat): added strict downloadablity check option in settings
This commit is contained in:
@@ -55,6 +55,7 @@ export default function App({ children }: { children: React.ReactNode }) {
|
||||
const MAX_PARALLEL_DOWNLOADS = useSettingsPageStatesStore(state => state.settings.max_parallel_downloads);
|
||||
const DOWNLOAD_DIR = useSettingsPageStatesStore(state => state.settings.download_dir);
|
||||
const PREFER_VIDEO_OVER_PLAYLIST = useSettingsPageStatesStore(state => state.settings.prefer_video_over_playlist);
|
||||
const SHOW_DOWNLOADABLE_STREAMS_ONLY = useSettingsPageStatesStore(state => state.settings.show_downloadable_streams_only);
|
||||
const USE_PROXY = useSettingsPageStatesStore(state => state.settings.use_proxy);
|
||||
const PROXY_URL = useSettingsPageStatesStore(state => state.settings.proxy_url);
|
||||
const VIDEO_FORMAT = useSettingsPageStatesStore(state => state.settings.video_format);
|
||||
@@ -95,6 +96,7 @@ export default function App({ children }: { children: React.ReactNode }) {
|
||||
if (formatId) args.push('-f', formatId);
|
||||
if (playlistIndex) args.push('--playlist-items', playlistIndex);
|
||||
if (PREFER_VIDEO_OVER_PLAYLIST) args.push('--no-playlist');
|
||||
if (SHOW_DOWNLOADABLE_STREAMS_ONLY) args.push('--check-all-formats');
|
||||
if (USE_PROXY && PROXY_URL) args.push('--proxy', PROXY_URL);
|
||||
const command = Command.sidecar('binaries/yt-dlp', args);
|
||||
|
||||
|
||||
@@ -60,6 +60,7 @@ export default function SettingsPage() {
|
||||
const appTheme = useSettingsPageStatesStore(state => state.settings.theme);
|
||||
const maxParallelDownloads = useSettingsPageStatesStore(state => state.settings.max_parallel_downloads);
|
||||
const preferVideoOverPlaylist = useSettingsPageStatesStore(state => state.settings.prefer_video_over_playlist);
|
||||
const showDownloadableStreamsOnly = useSettingsPageStatesStore(state => state.settings.show_downloadable_streams_only);
|
||||
const useProxy = useSettingsPageStatesStore(state => state.settings.use_proxy);
|
||||
const proxyUrl = useSettingsPageStatesStore(state => state.settings.proxy_url);
|
||||
const videoFormat = useSettingsPageStatesStore(state => state.settings.video_format);
|
||||
@@ -341,6 +342,15 @@ export default function SettingsPage() {
|
||||
onCheckedChange={(checked) => saveSettingsKey('prefer_video_over_playlist', checked)}
|
||||
/>
|
||||
</div>
|
||||
<div className="show-downloadable-streams-only">
|
||||
<h3 className="font-semibold">Show Downloadable Streams Only (Strict)</h3>
|
||||
<p className="text-xs text-muted-foreground mb-3">Check, filter-out and show the streams that are actualy downloadable (high quality results, takes longer time to search, start a download)</p>
|
||||
<Switch
|
||||
id="show-downloadable-streams-only"
|
||||
checked={showDownloadableStreamsOnly}
|
||||
onCheckedChange={(checked) => saveSettingsKey('show_downloadable_streams_only', checked)}
|
||||
/>
|
||||
</div>
|
||||
</TabsContent>
|
||||
<TabsContent key="appearance" value="appearance" className="flex flex-col gap-4 min-h-[235px]">
|
||||
<div className="app-theme">
|
||||
|
||||
@@ -107,6 +107,7 @@ export const useSettingsPageStatesStore = create<SettingsPageStatesStore>((set)
|
||||
theme: 'system',
|
||||
download_dir: '',
|
||||
prefer_video_over_playlist: true,
|
||||
show_downloadable_streams_only: false,
|
||||
max_parallel_downloads: 2,
|
||||
use_proxy: false,
|
||||
proxy_url: '',
|
||||
@@ -147,6 +148,7 @@ export const useSettingsPageStatesStore = create<SettingsPageStatesStore>((set)
|
||||
theme: 'system',
|
||||
download_dir: '',
|
||||
prefer_video_over_playlist: true,
|
||||
show_downloadable_streams_only: false,
|
||||
max_parallel_downloads: 2,
|
||||
use_proxy: false,
|
||||
proxy_url: '',
|
||||
|
||||
@@ -10,6 +10,7 @@ export interface Settings {
|
||||
download_dir: string;
|
||||
max_parallel_downloads: number;
|
||||
prefer_video_over_playlist: boolean;
|
||||
show_downloadable_streams_only: boolean;
|
||||
use_proxy: boolean;
|
||||
proxy_url: string;
|
||||
video_format: string;
|
||||
|
||||
Reference in New Issue
Block a user