optimize settings store

This commit is contained in:
jeffvli
2026-01-02 03:13:17 -08:00
parent 0cfc4119ba
commit a66c67e86d
72 changed files with 479 additions and 354 deletions
-1
View File
@@ -13,7 +13,6 @@ import { Platform, PlayerType } from '/@/shared/types/types';
if (!isElectron()) {
useSettingsStore.getState().actions.setSettings({
playback: {
...useSettingsStore.getState().playback,
type: PlayerType.WEB,
},
});
@@ -9,8 +9,7 @@ import styles from './main-content.module.css';
import { FullScreenOverlay } from '/@/renderer/layouts/default-layout/full-screen-overlay';
import { LeftSidebar } from '/@/renderer/layouts/default-layout/left-sidebar';
import { RightSidebar } from '/@/renderer/layouts/default-layout/right-sidebar';
import { useAppStore, useAppStoreActions } from '/@/renderer/store';
import { useGeneralSettings } from '/@/renderer/store/settings.store';
import { useAppStore, useAppStoreActions, useSideQueueType } from '/@/renderer/store';
import { constrainRightSidebarWidth, constrainSidebarWidth } from '/@/renderer/utils';
import { Spinner } from '/@/shared/components/spinner/spinner';
@@ -27,7 +26,7 @@ export const MainContent = ({ shell }: { shell?: boolean }) => {
shallow,
);
const { setSideBar } = useAppStoreActions();
const { sideQueueType } = useGeneralSettings();
const sideQueueType = useSideQueueType();
const [isResizing, setIsResizing] = useState(false);
const [isResizingRight, setIsResizingRight] = useState(false);
@@ -3,10 +3,10 @@ import clsx from 'clsx';
import styles from './player-bar.module.css';
import { Playerbar } from '/@/renderer/features/player/components/playerbar';
import { useGeneralSettings } from '/@/renderer/store/settings.store';
import { usePlayerbarOpenDrawer } from '/@/renderer/store';
export const PlayerBar = () => {
const { playerbarOpenDrawer } = useGeneralSettings();
const playerbarOpenDrawer = usePlayerbarOpenDrawer();
return (
<div
@@ -4,7 +4,7 @@ import styles from './right-sidebar.module.css';
import { SidebarPlayQueue } from '/@/renderer/features/now-playing/components/sidebar-play-queue';
import { ResizeHandle } from '/@/renderer/features/shared/components/resize-handle';
import { useAppStore, useGeneralSettings } from '/@/renderer/store';
import { useAppStore, useSideQueueType } from '/@/renderer/store';
// const queueDrawerVariants: Variants = {
// closed: (windowBarStyle) => ({
@@ -55,7 +55,7 @@ export const RightSidebar = forwardRef(
ref: Ref<HTMLDivElement>,
) => {
const rightExpanded = useAppStore((state) => state.sidebar.rightExpanded);
const { sideQueueType } = useGeneralSettings();
const sideQueueType = useSideQueueType();
return (
<>
+5 -6
View File
@@ -10,9 +10,9 @@ import { MobileLayout } from '/@/renderer/layouts/mobile-layout/mobile-layout';
import { AppRoute } from '/@/renderer/router/routes';
import {
useCommandPalette,
useGeneralSettings,
useHotkeySettings,
useSettingsStoreActions,
useZoomFactor,
} from '/@/renderer/store';
import { HotkeyItem, useHotkeys } from '/@/shared/hooks/use-hotkeys';
@@ -45,23 +45,22 @@ export const ResponsiveLayout = ({ shell }: ResponsiveLayoutProps) => {
const LayoutHotkeys = () => {
const navigate = useNavigate();
const localSettings = isElectron() ? window.api.localSettings : null;
const settings = useGeneralSettings();
const zoomFactor = useZoomFactor();
const { setSettings } = useSettingsStoreActions();
const { bindings } = useHotkeySettings();
const { opened, ...handlers } = useCommandPalette();
const updateZoom = (increase: number) => {
const newVal = settings.zoomFactor + increase;
const newVal = zoomFactor + increase;
if (newVal > 300 || newVal < 50 || !isElectron()) return;
setSettings({
general: {
...settings,
zoomFactor: newVal,
},
});
localSettings?.setZoomFactor(settings.zoomFactor);
localSettings?.setZoomFactor(zoomFactor);
};
localSettings?.setZoomFactor(settings.zoomFactor);
localSettings?.setZoomFactor(zoomFactor);
const zoomHotkeys: HotkeyItem[] = [
[bindings.zoomIn.hotkey, () => updateZoom(5)],