From e092008dc5768cb57b9eeb2ff70e5b831e0dfa24 Mon Sep 17 00:00:00 2001
From: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Date: Fri, 1 Aug 2025 17:20:40 +0900
Subject: feat(frontend): セーフモード (#16245)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* feat(frontend): セーフモード
* Update Changelog
* Update Changelog
* fix
* fix
* Update Changelog
* Update Changelog
* PWAのショートカット経由でもセーフモードで起動できるように
* Update ClientServerService.ts
---------
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
---
packages/frontend/src/pages/settings/custom-css.vue | 3 +++
packages/frontend/src/pages/settings/plugin.vue | 6 +++++-
packages/frontend/src/pages/settings/theme.vue | 6 +++++-
3 files changed, 13 insertions(+), 2 deletions(-)
(limited to 'packages/frontend/src/pages')
diff --git a/packages/frontend/src/pages/settings/custom-css.vue b/packages/frontend/src/pages/settings/custom-css.vue
index 9b0e04860e..83a188b2cb 100644
--- a/packages/frontend/src/pages/settings/custom-css.vue
+++ b/packages/frontend/src/pages/settings/custom-css.vue
@@ -7,6 +7,8 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.ts.customCssWarn }}
+ {{ i18n.ts.customCssIsDisabledBecauseSafeMode }}
+
CSS
@@ -17,6 +19,7 @@ SPDX-License-Identifier: AGPL-3.0-only
import { ref, watch, computed } from 'vue';
import MkCodeEditor from '@/components/MkCodeEditor.vue';
import FormInfo from '@/components/MkInfo.vue';
+import { isSafeMode } from '@@/js/config.js';
import * as os from '@/os.js';
import { unisonReload } from '@/utility/unison-reload.js';
import { i18n } from '@/i18n.js';
diff --git a/packages/frontend/src/pages/settings/plugin.vue b/packages/frontend/src/pages/settings/plugin.vue
index 16d5947ad2..bff307ab7d 100644
--- a/packages/frontend/src/pages/settings/plugin.vue
+++ b/packages/frontend/src/pages/settings/plugin.vue
@@ -10,7 +10,9 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.ts._settings.pluginBanner }}
- {{ i18n.ts._plugin.install }}
+ {{ i18n.ts.pluginsAreDisabledBecauseSafeMode }}
+
+ {{ i18n.ts._plugin.install }}
{{ i18n.ts.manage }}
@@ -103,10 +105,12 @@ import MkCode from '@/components/MkCode.vue';
import MkFolder from '@/components/MkFolder.vue';
import MkKeyValue from '@/components/MkKeyValue.vue';
import MkFeatureBanner from '@/components/MkFeatureBanner.vue';
+import MkInfo from '@/components/MkInfo.vue';
import { i18n } from '@/i18n.js';
import { definePage } from '@/page.js';
import { changePluginActive, configPlugin, pluginLogs, uninstallPlugin, reloadPlugin } from '@/plugin.js';
import { prefer } from '@/preferences.js';
+import { isSafeMode } from '@@/js/config.js';
import * as os from '@/os.js';
const plugins = prefer.r.plugins;
diff --git a/packages/frontend/src/pages/settings/theme.vue b/packages/frontend/src/pages/settings/theme.vue
index accb1ccc55..d8ae356f6b 100644
--- a/packages/frontend/src/pages/settings/theme.vue
+++ b/packages/frontend/src/pages/settings/theme.vue
@@ -35,7 +35,9 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
{{ i18n.ts.themeIsDefaultBecauseSafeMode }}
+
+
@@ -204,12 +206,14 @@ import JSON5 from 'json5';
import defaultLightTheme from '@@/themes/l-light.json5';
import defaultDarkTheme from '@@/themes/d-green-lime.json5';
import type { Theme } from '@/theme.js';
+import { isSafeMode } from '@@/js/config.js';
import * as os from '@/os.js';
import MkSwitch from '@/components/MkSwitch.vue';
import FormSection from '@/components/form/section.vue';
import FormLink from '@/components/form/link.vue';
import MkFolder from '@/components/MkFolder.vue';
import MkThemePreview from '@/components/MkThemePreview.vue';
+import MkInfo from '@/components/MkInfo.vue';
import { getBuiltinThemesRef, getThemesRef, removeTheme } from '@/theme.js';
import { isDeviceDarkmode } from '@/utility/is-device-darkmode.js';
import { store } from '@/store.js';
--
cgit v1.2.3-freya