mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-21 22:15:40 +00:00
0f5ece6d03
Persist libraryGridMaxColumns, wire useCardGridMetrics and card grid layout, add i18n and settings search index; document performance hint in copy.
53 lines
2.1 KiB
TypeScript
53 lines
2.1 KiB
TypeScript
import type { AuthState } from './authStoreTypes';
|
|
import { clampLibraryGridMaxColumns } from './authStoreHelpers';
|
|
|
|
type SetState = (
|
|
partial: Partial<AuthState> | ((state: AuthState) => Partial<AuthState>),
|
|
) => void;
|
|
|
|
/**
|
|
* Visual / chrome settings. Pure pass-through setters: tray, titlebar,
|
|
* sidebar toggles, fullscreen lyrics rendering options, changelog
|
|
* banner. No side effects.
|
|
*/
|
|
export function createUiAppearanceActions(set: SetState): Pick<
|
|
AuthState,
|
|
| 'setShowArtistImages'
|
|
| 'setLibraryGridMaxColumns'
|
|
| 'setShowTrayIcon'
|
|
| 'setMinimizeToTray'
|
|
| 'setShowOrbitTrigger'
|
|
| 'setUseCustomTitlebar'
|
|
| 'setPreloadMiniPlayer'
|
|
| 'setLinuxWebkitKineticScroll'
|
|
| 'setSeekbarStyle'
|
|
| 'setQueueNowPlayingCollapsed'
|
|
| 'setShowFullscreenLyrics'
|
|
| 'setFsLyricsStyle'
|
|
| 'setSidebarLyricsStyle'
|
|
| 'setShowFsArtistPortrait'
|
|
| 'setFsPortraitDim'
|
|
| 'setShowChangelogOnUpdate'
|
|
| 'setLastSeenChangelogVersion'
|
|
> {
|
|
return {
|
|
setShowArtistImages: (v) => set({ showArtistImages: v }),
|
|
setLibraryGridMaxColumns: (v) => set({ libraryGridMaxColumns: clampLibraryGridMaxColumns(v) }),
|
|
setShowTrayIcon: (v) => set({ showTrayIcon: v }),
|
|
setMinimizeToTray: (v) => set({ minimizeToTray: v }),
|
|
setShowOrbitTrigger: (v) => set({ showOrbitTrigger: v }),
|
|
setUseCustomTitlebar: (v) => set({ useCustomTitlebar: v }),
|
|
setPreloadMiniPlayer: (v) => set({ preloadMiniPlayer: v }),
|
|
setLinuxWebkitKineticScroll: (v) => set({ linuxWebkitKineticScroll: v }),
|
|
setSeekbarStyle: (v) => set({ seekbarStyle: v }),
|
|
setQueueNowPlayingCollapsed: (v) => set({ queueNowPlayingCollapsed: v }),
|
|
setShowFullscreenLyrics: (v) => set({ showFullscreenLyrics: v }),
|
|
setFsLyricsStyle: (v) => set({ fsLyricsStyle: v }),
|
|
setSidebarLyricsStyle: (v) => set({ sidebarLyricsStyle: v }),
|
|
setShowFsArtistPortrait: (v) => set({ showFsArtistPortrait: v }),
|
|
setFsPortraitDim: (v) => set({ fsPortraitDim: v }),
|
|
setShowChangelogOnUpdate: (v) => set({ showChangelogOnUpdate: v }),
|
|
setLastSeenChangelogVersion: (v) => set({ lastSeenChangelogVersion: v }),
|
|
};
|
|
}
|