Первая версия вложенных файлов работает

This commit is contained in:
AidarKC
2026-09-11 02:38:02 +03:00
parent ea0098d705
commit f9ae811702
29 changed files with 1463 additions and 57 deletions
+43
View File
@@ -0,0 +1,43 @@
const STORAGE_KEYS = Object.freeze({
developerTools: 'shine-feature-developer-tools-v1',
dmFileTransfer: 'shine-feature-dm-file-transfer-v1',
});
function readBoolean(key, defaultValue = true) {
try {
const raw = localStorage.getItem(key);
if (raw == null) return Boolean(defaultValue);
return raw !== '0' && raw !== 'false';
} catch {
return Boolean(defaultValue);
}
}
function writeBoolean(key, enabled) {
const value = Boolean(enabled);
try {
localStorage.setItem(key, value ? '1' : '0');
} catch {
// В приватном режиме/при запрете storage оставляем значение только на уровне default.
}
window.dispatchEvent(new CustomEvent('shine-feature-settings-updated', {
detail: { key, enabled: value },
}));
return value;
}
export function isDeveloperToolsEnabled() {
return readBoolean(STORAGE_KEYS.developerTools, true);
}
export function setDeveloperToolsEnabled(enabled) {
return writeBoolean(STORAGE_KEYS.developerTools, enabled);
}
export function isDmFileTransferEnabled() {
return readBoolean(STORAGE_KEYS.dmFileTransfer, true);
}
export function setDmFileTransferEnabled(enabled) {
return writeBoolean(STORAGE_KEYS.dmFileTransfer, enabled);
}