add remaining (missing) settings to all the parts

This commit is contained in:
Pas 2025-10-19 18:43:35 -06:00
parent f0a35f6408
commit d0db810e2a
5 changed files with 126 additions and 0 deletions

View file

@ -29,6 +29,7 @@ export interface SettingsInput {
enableLowPerformanceMode?: boolean;
enableNativeSubtitles?: boolean;
enableHoldToBoost?: boolean;
homeSectionOrder?: string[];
manualSourceSelection?: boolean;
enableDoubleClickToSeek?: boolean;
}
@ -48,6 +49,7 @@ export interface SettingsResponse {
enableDetailsModal?: boolean;
enableImageLogos?: boolean;
enableCarouselView?: boolean;
forceCompactEpisodeView?: boolean;
sourceOrder?: string[];
enableSourceOrder?: boolean;
disabledSources?: string[];
@ -58,6 +60,7 @@ export interface SettingsResponse {
enableLowPerformanceMode?: boolean;
enableNativeSubtitles?: boolean;
enableHoldToBoost?: boolean;
homeSectionOrder?: string[];
manualSourceSelection?: boolean;
enableDoubleClickToSeek?: boolean;
}

View file

@ -32,6 +32,7 @@ export function useAuthData() {
(s) => s.importSubtitleLanguage,
);
const setFebboxKey = usePreferencesStore((s) => s.setFebboxKey);
const setRealDebridKey = usePreferencesStore((s) => s.setRealDebridKey);
const replaceBookmarks = useBookmarkStore((s) => s.replaceBookmarks);
const replaceItems = useProgressStore((s) => s.replaceItems);
@ -50,11 +51,17 @@ export function useAuthData() {
const setEnableCarouselView = usePreferencesStore(
(s) => s.setEnableCarouselView,
);
const setForceCompactEpisodeView = usePreferencesStore(
(s) => s.setForceCompactEpisodeView,
);
const setSourceOrder = usePreferencesStore((s) => s.setSourceOrder);
const setEnableSourceOrder = usePreferencesStore(
(s) => s.setEnableSourceOrder,
);
const setDisabledSources = usePreferencesStore((s) => s.setDisabledSources);
const setEmbedOrder = usePreferencesStore((s) => s.setEmbedOrder);
const setEnableEmbedOrder = usePreferencesStore((s) => s.setEnableEmbedOrder);
const setDisabledEmbeds = usePreferencesStore((s) => s.setDisabledEmbeds);
const setProxyTmdb = usePreferencesStore((s) => s.setProxyTmdb);
@ -67,6 +74,7 @@ export function useAuthData() {
const setEnableHoldToBoost = usePreferencesStore(
(s) => s.setEnableHoldToBoost,
);
const setHomeSectionOrder = usePreferencesStore((s) => s.setHomeSectionOrder);
const setEnableDoubleClickToSeek = usePreferencesStore(
(s) => s.setEnableDoubleClickToSeek,
);
@ -173,6 +181,10 @@ export function useAuthData() {
setEnableCarouselView(settings.enableCarouselView);
}
if (settings.forceCompactEpisodeView !== undefined) {
setForceCompactEpisodeView(settings.forceCompactEpisodeView);
}
if (settings.sourceOrder !== undefined) {
setSourceOrder(settings.sourceOrder);
}
@ -185,6 +197,18 @@ export function useAuthData() {
setDisabledSources(settings.disabledSources);
}
if (settings.embedOrder !== undefined) {
setEmbedOrder(settings.embedOrder);
}
if (settings.enableEmbedOrder !== undefined) {
setEnableEmbedOrder(settings.enableEmbedOrder);
}
if (settings.disabledEmbeds !== undefined) {
setDisabledEmbeds(settings.disabledEmbeds);
}
if (settings.proxyTmdb !== undefined) {
setProxyTmdb(settings.proxyTmdb);
}
@ -193,6 +217,10 @@ export function useAuthData() {
setFebboxKey(settings.febboxKey);
}
if (settings.realDebridKey !== undefined) {
setRealDebridKey(settings.realDebridKey);
}
if (settings.enableLowPerformanceMode !== undefined) {
setEnableLowPerformanceMode(settings.enableLowPerformanceMode);
}
@ -205,6 +233,10 @@ export function useAuthData() {
setEnableHoldToBoost(settings.enableHoldToBoost);
}
if (settings.homeSectionOrder !== undefined) {
setHomeSectionOrder(settings.homeSectionOrder);
}
if (settings.manualSourceSelection !== undefined) {
setManualSourceSelection(settings.manualSourceSelection);
}
@ -228,14 +260,20 @@ export function useAuthData() {
setEnableDetailsModal,
setEnableImageLogos,
setEnableCarouselView,
setForceCompactEpisodeView,
setSourceOrder,
setEnableSourceOrder,
setDisabledSources,
setEmbedOrder,
setEnableEmbedOrder,
setDisabledEmbeds,
setProxyTmdb,
setFebboxKey,
setRealDebridKey,
setEnableLowPerformanceMode,
setEnableNativeSubtitles,
setEnableHoldToBoost,
setHomeSectionOrder,
setManualSourceSelection,
setEnableDoubleClickToSeek,
],

View file

@ -60,12 +60,16 @@ export function useSettingsState(
sourceOrder: string[],
enableSourceOrder: boolean,
disabledSources: string[],
embedOrder: string[],
enableEmbedOrder: boolean,
disabledEmbeds: string[],
proxyTmdb: boolean,
enableSkipCredits: boolean,
enableImageLogos: boolean,
enableCarouselView: boolean,
forceCompactEpisodeView: boolean,
enableLowPerformanceMode: boolean,
enableNativeSubtitles: boolean,
enableHoldToBoost: boolean,
homeSectionOrder: string[],
manualSourceSelection: boolean,
@ -165,6 +169,24 @@ export function useSettingsState(
resetDisabledSources,
disabledSourcesChanged,
] = useDerived(disabledSources);
const [
embedOrderState,
setEmbedOrderState,
resetEmbedOrder,
embedOrderChanged,
] = useDerived(embedOrder);
const [
enableEmbedOrderState,
setEnableEmbedOrderState,
resetEnableEmbedOrder,
enableEmbedOrderChanged,
] = useDerived(enableEmbedOrder);
const [
disabledEmbedsState,
setDisabledEmbedsState,
resetDisabledEmbeds,
disabledEmbedsChanged,
] = useDerived(disabledEmbeds);
const [proxyTmdbState, setProxyTmdbState, resetProxyTmdb, proxyTmdbChanged] =
useDerived(proxyTmdb);
const [
@ -185,6 +207,12 @@ export function useSettingsState(
resetEnableLowPerformanceMode,
enableLowPerformanceModeChanged,
] = useDerived(enableLowPerformanceMode);
const [
enableNativeSubtitlesState,
setEnableNativeSubtitlesState,
resetEnableNativeSubtitles,
enableNativeSubtitlesChanged,
] = useDerived(enableNativeSubtitles);
const [
enableHoldToBoostState,
setEnableHoldToBoostState,
@ -231,10 +259,14 @@ export function useSettingsState(
resetSourceOrder();
resetEnableSourceOrder();
resetDisabledSources();
resetEmbedOrder();
resetEnableEmbedOrder();
resetDisabledEmbeds();
resetProxyTmdb();
resetEnableCarouselView();
resetForceCompactEpisodeView();
resetEnableLowPerformanceMode();
resetEnableNativeSubtitles();
resetEnableHoldToBoost();
resetHomeSectionOrder();
resetManualSourceSelection();
@ -261,10 +293,14 @@ export function useSettingsState(
sourceOrderChanged ||
enableSourceOrderChanged ||
disabledSourcesChanged ||
embedOrderChanged ||
enableEmbedOrderChanged ||
disabledEmbedsChanged ||
proxyTmdbChanged ||
enableCarouselViewChanged ||
forceCompactEpisodeViewChanged ||
enableLowPerformanceModeChanged ||
enableNativeSubtitlesChanged ||
enableHoldToBoostChanged ||
homeSectionOrderChanged ||
manualSourceSelectionChanged ||
@ -373,6 +409,21 @@ export function useSettingsState(
set: setDisabledSourcesState,
changed: disabledSourcesChanged,
},
embedOrder: {
state: embedOrderState,
set: setEmbedOrderState,
changed: embedOrderChanged,
},
enableEmbedOrder: {
state: enableEmbedOrderState,
set: setEnableEmbedOrderState,
changed: enableEmbedOrderChanged,
},
disabledEmbeds: {
state: disabledEmbedsState,
set: setDisabledEmbedsState,
changed: disabledEmbedsChanged,
},
enableCarouselView: {
state: enableCarouselViewState,
set: setEnableCarouselViewState,
@ -388,6 +439,11 @@ export function useSettingsState(
set: setEnableLowPerformanceModeState,
changed: enableLowPerformanceModeChanged,
},
enableNativeSubtitles: {
state: enableNativeSubtitlesState,
set: setEnableNativeSubtitlesState,
changed: enableNativeSubtitlesChanged,
},
enableHoldToBoost: {
state: enableHoldToBoostState,
set: setEnableHoldToBoostState,

View file

@ -159,6 +159,16 @@ export function SettingsPage() {
const disabledSources = usePreferencesStore((s) => s.disabledSources);
const setDisabledSources = usePreferencesStore((s) => s.setDisabledSources);
// These are commented because the EmbedOrderPart is on the admin page and not on the settings page.
const embedOrder = usePreferencesStore((s) => s.embedOrder);
// const setEmbedOrder = usePreferencesStore((s) => s.setEmbedOrder);
const enableEmbedOrder = usePreferencesStore((s) => s.enableEmbedOrder);
// const setEnableEmbedOrder = usePreferencesStore((s) => s.setEnableEmbedOrder);
const disabledEmbeds = usePreferencesStore((s) => s.disabledEmbeds);
// const setDisabledEmbeds = usePreferencesStore((s) => s.setDisabledEmbeds);
const enableDiscover = usePreferencesStore((s) => s.enableDiscover);
const setEnableDiscover = usePreferencesStore((s) => s.setEnableDiscover);
@ -195,6 +205,14 @@ export function SettingsPage() {
(s) => s.setEnableLowPerformanceMode,
);
// These are commented because the NativeSubtitlesPart is accessable though the atoms caption style menu and not on the settings page.
const enableNativeSubtitles = usePreferencesStore(
(s) => s.enableNativeSubtitles,
);
// const setEnableNativeSubtitles = usePreferencesStore(
// (s) => s.setEnableNativeSubtitles,
// );
const enableHoldToBoost = usePreferencesStore((s) => s.enableHoldToBoost);
const setEnableHoldToBoost = usePreferencesStore(
(s) => s.setEnableHoldToBoost,
@ -263,12 +281,16 @@ export function SettingsPage() {
sourceOrder,
enableSourceOrder,
disabledSources,
embedOrder,
enableEmbedOrder,
disabledEmbeds,
proxyTmdb,
enableSkipCredits,
enableImageLogos,
enableCarouselView,
forceCompactEpisodeView,
enableLowPerformanceMode,
enableNativeSubtitles,
enableHoldToBoost,
homeSectionOrder,
manualSourceSelection,

View file

@ -50,13 +50,20 @@ export function VerifyPassphrase(props: VerifyPassphraseProps) {
enableDetailsModal: store.enableDetailsModal,
enableImageLogos: store.enableImageLogos,
enableCarouselView: store.enableCarouselView,
forceCompactEpisodeView: store.forceCompactEpisodeView,
sourceOrder: store.sourceOrder,
enableSourceOrder: store.enableSourceOrder,
disabledSources: store.disabledSources,
embedOrder: store.embedOrder,
enableEmbedOrder: store.enableEmbedOrder,
disabledEmbeds: store.disabledEmbeds,
proxyTmdb: store.proxyTmdb,
febboxKey: store.febboxKey,
realDebridKey: store.realDebridKey,
enableLowPerformanceMode: store.enableLowPerformanceMode,
enableNativeSubtitles: store.enableNativeSubtitles,
enableHoldToBoost: store.enableHoldToBoost,
homeSectionOrder: store.homeSectionOrder,
enableDoubleClickToSeek: store.enableDoubleClickToSeek,
manualSourceSelection: store.manualSourceSelection,
}));