/
axe
/
gala
Обзор
Документация
Войти
/
axe
/
gala
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
modules/common/storage.js
64 строки
2 KB
gusen
refactor 1
26 июн 2026, 17:15
26 июн 2026, 17:15
c828b36
Код
Авторство
О чём код?
const STORAGE_KEYS = { CURRENT_RANK: 'galaxy_current_rank', TARGET_RANK: 'galaxy_target_rank', BUILDER_COUNTS: 'galaxy_builder_counts', CURRENT_BUILDER_COUNTS: 'galaxy_current_builder_counts', GOLD_CORES: 'galaxy_gold_cores', FIRE_CORES: 'galaxy_fire_cores', EXPLOSIVE_CORES: 'galaxy_explosive_cores' }; // Сохранить значение export function saveValue(key, value) { localStorage.setItem(key, JSON.stringify(value)); } // Загрузить значение export function loadValue(key, defaultValue = null) { const saved = localStorage.getItem(key); if (saved === null) return defaultValue; try { return JSON.parse(saved); } catch (e) { return defaultValue; } } // Сохранить счётчики конструктора export function saveBuilderCounts(counts, key = 'builder') { const storageKey = key === 'current' ? STORAGE_KEYS.CURRENT_BUILDER_COUNTS : STORAGE_KEYS.BUILDER_COUNTS; localStorage.setItem(storageKey, JSON.stringify(counts)); } // Загрузить счётчики конструктора export function loadBuilderCounts(defaultCounts, key = 'builder') { const storageKey = key === 'current' ? STORAGE_KEYS.CURRENT_BUILDER_COUNTS : STORAGE_KEYS.BUILDER_COUNTS; const saved = localStorage.getItem(storageKey); if (!saved) return { ...defaultCounts }; try { const parsed = JSON.parse(saved); return { ...defaultCounts, ...parsed }; } catch (e) { return { ...defaultCounts }; } } // Сохранить все ядра export function saveCores(gold, fire, explosive) { saveValue(STORAGE_KEYS.GOLD_CORES, gold); saveValue(STORAGE_KEYS.FIRE_CORES, fire); saveValue(STORAGE_KEYS.EXPLOSIVE_CORES, explosive); } // Загрузить ядра export function loadCores() { return { gold: loadValue(STORAGE_KEYS.GOLD_CORES, 0), fire: loadValue(STORAGE_KEYS.FIRE_CORES, 0), explosive: loadValue(STORAGE_KEYS.EXPLOSIVE_CORES, 0) }; }