Files
goldenChart/frontend/src/utils/tradeNotificationListLayout.ts
T
2026-05-29 20:55:21 +09:00

41 lines
1.5 KiB
TypeScript

import { getUiPreferences, patchUiPreferences } from './uiPreferencesDb';
import {
DEFAULT_TRADE_NOTIFICATION_GRID_PRESET,
normalizeTradeNotificationGridPreset,
type TradeNotificationGridPresetId,
} from './tradeNotificationGridPresets';
export type TradeNotificationListLayout = 'list' | 'grid';
/** 알림 목록 정렬 */
export type TradeNotificationListSort = 'market' | 'newest' | 'oldest';
export function loadTradeNotificationListLayout(): TradeNotificationListLayout {
const v = getUiPreferences().tradeNotifications?.listLayout;
return v === 'grid' ? 'grid' : 'list';
}
export function saveTradeNotificationListLayout(layout: TradeNotificationListLayout): void {
patchUiPreferences({ tradeNotifications: { listLayout: layout } });
}
export function loadTradeNotificationGridPreset(): TradeNotificationGridPresetId {
return normalizeTradeNotificationGridPreset(
getUiPreferences().tradeNotifications?.gridPreset ?? DEFAULT_TRADE_NOTIFICATION_GRID_PRESET,
);
}
export function saveTradeNotificationGridPreset(preset: TradeNotificationGridPresetId): void {
patchUiPreferences({ tradeNotifications: { gridPreset: preset } });
}
export function loadTradeNotificationListSort(): TradeNotificationListSort {
const v = getUiPreferences().tradeNotifications?.listSort;
if (v === 'market' || v === 'oldest') return v;
return 'newest';
}
export function saveTradeNotificationListSort(sort: TradeNotificationListSort): void {
patchUiPreferences({ tradeNotifications: { listSort: sort } });
}