/
sdds
/
plasma
Обзор
Документация
Войти
/
sdds
/
plasma
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
dev
website/plasma-theme-builder/src/utils/storage.ts
27 строк
1001 B
Neretin Artem
feat(plasma-theme-builder): Enhance theme saving logic
04 сен 2023, 06:10
04 сен 2023, 06:10
5916cf6
Код
Авторство
О чём код?
import { getPrefix } from '.'; import type { SavedTheme, Theme as ThemeType } from '../types'; export const saveTheme = (themeData: ThemeType, themeName?: string, branchName?: string) => { const data: SavedTheme = { themeData, date: new Date().toString(), }; const prefix = getPrefix(themeName, branchName); localStorage.setItem(`$${prefix}${themeData.config.name}`, JSON.stringify(data)); }; export const rewriteTheme = (themeNameSource: string, themeNameTarget: string) => { const themeDataSource = loadTheme(themeNameSource); localStorage.setItem(`$${themeNameTarget}`, JSON.stringify(themeDataSource)); deleteTheme(themeNameSource); }; export const loadTheme = (themeName: string): SavedTheme | undefined => { const savedThemeData = localStorage.getItem(`$${themeName}`); return savedThemeData ? JSON.parse(savedThemeData) : undefined; }; export const deleteTheme = (themeName: string) => { localStorage.removeItem(`$${themeName}`); };