Files
Psychotoxical-psysonic/src/store/authStoreDefaults.ts
T
Frank Stellmacher 02b2df1589 feat(lyrics): make lyrics fully disablable (independent YouLyPlus toggle) (#855)
* feat(lyrics): independent YouLyPlus toggle + all-sources-off state

Replace the binary lyricsMode ('standard' | 'lyricsplus') with an
independent youLyPlusEnabled flag so YouLyPlus and the standard sources
are no longer mutually exclusive — turning one off no longer forces the
other on. YouLyPlus (when on) is tried first with the enabled sources as
fallback; off uses only the enabled sources. When YouLyPlus is off and no
source is enabled, useLyrics fetches nothing (issue #810).

Fresh installs ship with every source off; the rehydrate migration only
restores the old on-by-default set for genuine upgrades, not new installs.

* feat(lyrics): YouLyPlus toggle UI + queue 'no sources' hint

Settings: single YouLyPlus toggle replacing the two mutually exclusive
mode switches; the source list is always visible with a context hint
(fallback vs primary). Queue lyric tab shows a hint when no source is
active. en + de strings; other locales fall back to en.

* docs(changelog): lyrics fully disablable (#855)
2026-05-22 21:06:04 +02:00

49 lines
1.6 KiB
TypeScript

import type {
LoudnessLufsPreset,
LyricsSourceConfig,
TrackPreviewLocation,
TrackPreviewLocations,
} from './authStoreTypes';
export const LOUDNESS_LUFS_PRESETS: LoudnessLufsPreset[] = [-16, -14, -12, -10];
/** Settings default + Rust engine cold default until `audio_set_normalization` runs. */
export const DEFAULT_LOUDNESS_PRE_ANALYSIS_ATTENUATION_DB = -4.5;
export const TRACK_PREVIEW_LOCATIONS: readonly TrackPreviewLocation[] = [
'suggestions',
'albums',
'playlists',
'favorites',
'artist',
'randomMix',
];
export const DEFAULT_TRACK_PREVIEW_LOCATIONS: TrackPreviewLocations = {
suggestions: true,
albums: true,
playlists: true,
favorites: true,
artist: true,
randomMix: true,
};
// Fresh installs ship with every lyrics source off (issue #810 — users who
// don't want lyrics get none until they opt in). Existing users keep their
// persisted `lyricsSources`; the rehydrate migration preserves them.
export const DEFAULT_LYRICS_SOURCES: LyricsSourceConfig[] = [
{ id: 'server', enabled: false },
{ id: 'lrclib', enabled: false },
{ id: 'netease', enabled: false },
];
/** Upper bound for mix min-rating thresholds (UI shows five stars, only 1…this many are selectable). */
export const MIX_MIN_RATING_FILTER_MAX_STARS = 3;
export const RANDOM_MIX_SIZE_OPTIONS: readonly number[] = [50, 75, 100, 125, 150];
/** Default max columns for album/artist/playlist card grids (Settings → Library). */
export const DEFAULT_LIBRARY_GRID_MAX_COLUMNS = 6;
export const LIBRARY_GRID_MAX_COLUMNS_MIN = 4;
export const LIBRARY_GRID_MAX_COLUMNS_MAX = 12;