diff --git a/app/src/components/Videos.js b/app/src/components/Videos.js
index 60e3c2bf..5b7d782a 100644
--- a/app/src/components/Videos.js
+++ b/app/src/components/Videos.js
@@ -50,6 +50,7 @@ import {
fetchBrowserProfiles,
fetchVideoDownloaderConfig,
postVideoFileFormat,
+ previewBatchReorganization,
updateVideoDownloaderConfig
} from "../api";
import {Media, QueryContext, ThemeContext} from "../contexts/contexts";
@@ -58,7 +59,6 @@ import {defaultFileOrder, defaultSearchOrder, HELP_VIEWER_URI} from "./Vars";
import {InputForm, ToggleForm, useForm} from "../hooks/useForm";
import {VideoResolutionSelectorForm} from "./Download";
import {BatchReorganizeModal} from "./collections/BatchReorganizeModal";
-import {previewBatchReorganization} from "../api";
export function VideoWrapper() {
const {videoId} = useParams();
@@ -322,6 +322,7 @@ function VideosSettingsPage() {
always_use_browser_profile: false,
yt_dlp_extra_args: '',
browser_profile: '',
+ download_missing_video_comments: false,
};
const configSubmitter = async () => {
@@ -342,13 +343,21 @@ function VideosSettingsPage() {
let tempProfiles = [];
let localBrowserProfiles = await fetchBrowserProfiles();
- const chromiumProfiles = localBrowserProfiles['chromium_profiles'];
- for (const value of Object.values(chromiumProfiles)) {
- tempProfiles.push({value: value, text: value});
- }
- const firefoxProfiles = localBrowserProfiles['firefox_profiles'];
- for (const value of Object.values(firefoxProfiles)) {
- tempProfiles.push({value: value, text: value});
+ for (const [browserKey, profilePaths] of Object.entries(localBrowserProfiles)) {
+ if (!profilePaths || profilePaths.length === 0) continue;
+
+ // Extract browser display name from key (e.g., "chromium_profiles" -> "Chromium")
+ const browserName = browserKey.replace('_profiles', '')
+ .replace(/_/g, ' ')
+ .replace(/\b\w/g, c => c.toUpperCase());
+
+ for (const profilePath of profilePaths) {
+ const profileName = profilePath.split('/').pop();
+ tempProfiles.push({
+ value: profilePath,
+ text: `${browserName}: ${profileName}`,
+ });
+ }
}
if (_.isEmpty(tempProfiles)) {
@@ -367,106 +376,119 @@ function VideosSettingsPage() {
headerContent='Always Use Browser Profile'
popupContent='Always download videos with the selected browser profile. This is risky, and therefore discouraged.'
/>;
+ const downloadMissingVideoCommentsLabel = ;
return <>
+
+
+ Save
+
+
+
+
@@ -479,7 +501,7 @@ function VideosSettingsPage() {
{channelsNeedingReorg > 0
? ' have files that do not match the current file name format.'
: '. All channels are organized correctly.'}
- >
+ >
}