mirror of
https://github.com/sotam0316/drawNET_test.git
synced 2026-04-25 03:58:38 +09:00
static 폴더 및 하위 파일 업로드
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
import { STORAGE_KEYS } from '../constants.js';
|
||||
|
||||
/**
|
||||
* settings/store.js - Persistence logic for app settings
|
||||
*/
|
||||
export function getSettings() {
|
||||
return JSON.parse(localStorage.getItem(STORAGE_KEYS.SETTINGS) || '{}');
|
||||
}
|
||||
|
||||
export function updateSetting(key, value) {
|
||||
const settings = getSettings();
|
||||
settings[key] = value;
|
||||
localStorage.setItem(STORAGE_KEYS.SETTINGS, JSON.stringify(settings));
|
||||
}
|
||||
|
||||
export function getTheme() {
|
||||
return localStorage.getItem(STORAGE_KEYS.THEME) || 'light';
|
||||
}
|
||||
|
||||
export function setTheme(theme) {
|
||||
document.documentElement.setAttribute('data-theme', theme);
|
||||
localStorage.setItem(STORAGE_KEYS.THEME, theme);
|
||||
window.dispatchEvent(new CustomEvent('themeChanged', { detail: { theme } }));
|
||||
}
|
||||
|
||||
export function applySavedTheme() {
|
||||
const theme = getTheme();
|
||||
document.documentElement.setAttribute('data-theme', theme);
|
||||
}
|
||||
|
||||
export function applySavedSettings() {
|
||||
const settings = getSettings();
|
||||
if (settings.bgColor) {
|
||||
document.documentElement.style.setProperty('--bg-color', settings.bgColor);
|
||||
}
|
||||
|
||||
if (settings.gridStyle) {
|
||||
window.dispatchEvent(new CustomEvent('gridChanged', {
|
||||
detail: {
|
||||
style: settings.gridStyle,
|
||||
color: settings.gridColor,
|
||||
thickness: settings.gridThickness,
|
||||
showMajor: settings.showMajorGrid,
|
||||
majorColor: settings.majorGridColor,
|
||||
majorInterval: settings.majorGridInterval
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
if (settings.gridSpacing) {
|
||||
document.documentElement.style.setProperty('--grid-size', `${settings.gridSpacing}px`);
|
||||
window.dispatchEvent(new CustomEvent('gridSpacingChanged', { detail: { spacing: settings.gridSpacing } }));
|
||||
}
|
||||
|
||||
if (settings.canvasPreset) {
|
||||
const val = settings.canvasPreset;
|
||||
const orient = settings.canvasOrientation || 'portrait';
|
||||
let w = '100%', h = '100%';
|
||||
|
||||
if (val === 'A4') {
|
||||
w = orient === 'portrait' ? 794 : 1123;
|
||||
h = orient === 'portrait' ? 1123 : 794;
|
||||
}
|
||||
else if (val === 'A3') {
|
||||
w = orient === 'portrait' ? 1123 : 1587;
|
||||
h = orient === 'portrait' ? 1587 : 1123;
|
||||
}
|
||||
else if (val === 'custom') {
|
||||
w = settings.canvasWidth;
|
||||
h = settings.canvasHeight;
|
||||
}
|
||||
|
||||
window.dispatchEvent(new CustomEvent('canvasResize', {
|
||||
detail: { width: w, height: h }
|
||||
}));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user