feat(roadmap): surface stale checkboxes + collection output-path setting
Command preview + incognito toggle were already wired end-to-end in the DownloadBar (Show command button, Incognito checkbox) — flipped the two stale ROADMAP.md checkboxes with notes; verified live in the preview. Output-path setting (PINCHFLAT): new Settings.collectionOutputTemplate — a raw yt-dlp -o template overriding the default Channel/Playlist/NNN-Title layout for Library downloads (empty = default). collectionOutputTemplate() takes an optional custom template (joined under outDir, left for yt-dlp to expand); download.ts passes the setting; zod schema validates it as a safe relative template; Settings -> Filenames field. Tests in buildArgs + settingsSchema; live-verified the field renders. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,7 @@ import { useSettingsStyles } from './settingsStyles'
|
||||
export function FilenamesCard(): React.JSX.Element {
|
||||
const styles = useSettingsStyles()
|
||||
const filenameTemplate = useSettings((s) => s.filenameTemplate)
|
||||
const collectionOutputTemplate = useSettings((s) => s.collectionOutputTemplate)
|
||||
const restrictFilenames = useSettings((s) => s.restrictFilenames)
|
||||
const useDownloadArchive = useSettings((s) => s.useDownloadArchive)
|
||||
const update = useSettings((s) => s.update)
|
||||
@@ -29,6 +30,17 @@ export function FilenamesCard(): React.JSX.Element {
|
||||
Example: {filenameTemplate.replace('%(title)s', 'My Video').replace('%(ext)s', 'mp4')}
|
||||
</Caption1>
|
||||
|
||||
<Field
|
||||
label="Collection folder layout"
|
||||
hint="How channel/playlist (Library) downloads are foldered. Leave blank for the default Channel / Playlist / Title. Power users: a raw yt-dlp -o template, e.g. %(uploader)s/%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s"
|
||||
>
|
||||
<Input
|
||||
value={collectionOutputTemplate}
|
||||
placeholder="Channel / Playlist / NNN - Title (default)"
|
||||
onChange={(_, d) => update({ collectionOutputTemplate: d.value })}
|
||||
/>
|
||||
</Field>
|
||||
|
||||
<Field
|
||||
label="Restrict filenames"
|
||||
hint="Sanitize titles to plain ASCII letters/digits, no spaces -- safer for old filesystems and shells."
|
||||
|
||||
Reference in New Issue
Block a user