refactor: extract magic constants — wave 1 (UX, API, storage)

- Use existing MULTIPLIER_S/M/L from \$entities/Font in SliderArea instead
  of inlining the 0.5/0.75/1 literals (constants already existed but were
  duplicated at the call site).
- Centralize API base URL in \$shared/api/endpoints.ts (was duplicated
  between proxyFonts and FilterAndSortFonts filters api).
- Promote every 'glyphdiff:...' localStorage key to a named module-level
  STORAGE_KEY constant. Test files now import the source constant rather
  than redeclaring it (eliminates silent-typo divergence risk).
This commit is contained in:
Ilia Mashkov
2026-05-24 20:30:26 +03:00
parent f92577608a
commit e3b489f173
10 changed files with 55 additions and 16 deletions
@@ -297,6 +297,16 @@ export class TypographySettingsStore {
}
}
/**
* Default factory storage key — used when a caller doesn't pass one.
*/
const DEFAULT_STORAGE_KEY = 'glyphdiff:typography';
/**
* Storage key used by the app-wide singleton (scoped to comparison view).
*/
const COMPARISON_STORAGE_KEY = 'glyphdiff:comparison:typography';
/**
* Creates a typography control manager
*
@@ -306,7 +316,7 @@ export class TypographySettingsStore {
*/
export function createTypographySettingsStore(
configs: ControlModel<ControlId>[],
storageId: string = 'glyphdiff:typography',
storageId: string = DEFAULT_STORAGE_KEY,
) {
const storage = createPersistentStore<TypographySettings>(storageId, {
fontSize: DEFAULT_FONT_SIZE,
@@ -322,5 +332,5 @@ export function createTypographySettingsStore(
*/
export const typographySettingsStore = createTypographySettingsStore(
DEFAULT_TYPOGRAPHY_CONTROLS_DATA,
'glyphdiff:comparison:typography',
COMPARISON_STORAGE_KEY,
);