@@ -1005,6 +1005,7 @@ export default defineComponent({
flex-direction: column;
justify-content: center;
padding-left: 16px;
+ font-size: 0.95em;
> .top {
> .name {
diff --git a/src/client/components/page/page.note.vue b/src/client/components/page/page.note.vue
index b4b6a9efc..27c1f1ed6 100644
--- a/src/client/components/page/page.note.vue
+++ b/src/client/components/page/page.note.vue
@@ -1,17 +1,20 @@
-
+
+
diff --git a/src/client/pages/settings/drive.vue b/src/client/pages/settings/drive.vue
index 89c9b4bd6..8ca8bc9ee 100644
--- a/src/client/pages/settings/drive.vue
+++ b/src/client/pages/settings/drive.vue
@@ -1,33 +1,97 @@
-
- {{ $ts.drive }}
-
-
{{ $ts.uploadFolder }}: {{ uploadFolder ? uploadFolder.name : '-' }}
-
{{ $ts.selectFolder }}
+
+
+ {{ $ts.usageAmount }}
+
+
+ {{ $ts.capacity }}
+ {{ bytes(capacity, 1) }}
+
+
+ {{ $ts.inUse }}
+ {{ bytes(usage, 1) }}
+
+
+
+
-
+
+
+ {{ $ts.uploadFolder }}
+ {{ uploadFolder ? uploadFolder.name : '-' }}
+
+
+
diff --git a/src/client/pages/settings/index.vue b/src/client/pages/settings/index.vue
index aa9fe2716..78aee4bfc 100644
--- a/src/client/pages/settings/index.vue
+++ b/src/client/pages/settings/index.vue
@@ -6,6 +6,7 @@
{{ $ts.profile }}
{{ $ts.privacy }}
{{ $ts.reaction }}
+
{{ $ts.drive }}
{{ $ts.notifications }}
{{ $ts.email }}
{{ $ts.integration }}
@@ -35,14 +36,14 @@
-
+
diff --git a/src/client/pages/settings/registry.value.vue b/src/client/pages/settings/registry.value.vue
new file mode 100644
index 000000000..943ededd2
--- /dev/null
+++ b/src/client/pages/settings/registry.value.vue
@@ -0,0 +1,149 @@
+
+
+ {{ $ts.editTheseSettingsMayBreakAccount }}
+
+
+
+
+ {{ $ts._registry.domain }}
+ {{ $ts.system }}
+
+
+ {{ $ts._registry.scope }}
+ {{ scope.join('/') }}
+
+
+ {{ $ts._registry.key }}
+ {{ xKey }}
+
+
+
+
+
+ {{ $ts.value }} (JSON)
+
+ {{ $ts.save }}
+
+
+
+ {{ $ts.updatedAt }}
+
+
+
+ {{ $ts.delete }}
+
+
+
+
+
diff --git a/src/client/pages/settings/registry.vue b/src/client/pages/settings/registry.vue
new file mode 100644
index 000000000..a43c98e73
--- /dev/null
+++ b/src/client/pages/settings/registry.vue
@@ -0,0 +1,91 @@
+
+
+
+ {{ $ts.system }}
+ {{ scope.join('/') }}
+
+ {{ $ts._registry.createKey }}
+
+
+
+
diff --git a/src/client/pages/settings/theme.install.vue b/src/client/pages/settings/theme.install.vue
index 407b75537..852d39f78 100644
--- a/src/client/pages/settings/theme.install.vue
+++ b/src/client/pages/settings/theme.install.vue
@@ -25,6 +25,7 @@ import FormButton from '@/components/form/button.vue';
import { applyTheme, validateTheme } from '@/scripts/theme';
import * as os from '@/os';
import { ColdDeviceStorage } from '@/store';
+import { addTheme, getThemes } from '@/theme-store';
export default defineComponent({
components: {
@@ -74,7 +75,7 @@ export default defineComponent({
});
return false;
}
- if (ColdDeviceStorage.get('themes').some(t => t.id === theme.id)) {
+ if (getThemes().some(t => t.id === theme.id)) {
os.dialog({
type: 'info',
text: this.$ts._theme.alreadyInstalled
@@ -90,11 +91,10 @@ export default defineComponent({
if (theme) applyTheme(theme, false);
},
- install(code) {
+ async install(code) {
const theme = this.parseThemeCode(code);
if (!theme) return;
- const themes = ColdDeviceStorage.get('themes').concat(theme);
- ColdDeviceStorage.set('themes', themes);
+ await addTheme(theme);
os.dialog({
type: 'success',
text: this.$t('_theme.installed', { name: theme.name })
diff --git a/src/client/pages/settings/theme.manage.vue b/src/client/pages/settings/theme.manage.vue
index b8126b390..5b9e07530 100644
--- a/src/client/pages/settings/theme.manage.vue
+++ b/src/client/pages/settings/theme.manage.vue
@@ -37,6 +37,7 @@ import { Theme, builtinThemes } from '@/scripts/theme';
import copyToClipboard from '@/scripts/copy-to-clipboard';
import * as os from '@/os';
import { ColdDeviceStorage } from '@/store';
+import { getThemes, removeTheme } from '@/theme-store';
export default defineComponent({
components: {
@@ -57,7 +58,7 @@ export default defineComponent({
title: this.$ts._theme.manage,
icon: faFolderOpen
},
- installedThemes: ColdDeviceStorage.ref('themes'),
+ installedThemes: getThemes(),
builtinThemes,
selectedThemeId: null,
faPalette, faDownload, faFolderOpen, faCheck, faTrashAlt, faEye
@@ -91,10 +92,7 @@ export default defineComponent({
},
uninstall() {
- const theme = this.selectedTheme;
- const themes = ColdDeviceStorage.get('themes').filter(t => t.id != theme.id);
- ColdDeviceStorage.set('themes', themes);
- os.success();
+ removeTheme(this.selectedTheme);
},
}
});
diff --git a/src/client/pages/settings/theme.vue b/src/client/pages/settings/theme.vue
index da1ad618b..ddb525441 100644
--- a/src/client/pages/settings/theme.vue
+++ b/src/client/pages/settings/theme.vue
@@ -77,6 +77,7 @@ import { isDeviceDarkmode } from '@/scripts/is-device-darkmode';
import { ColdDeviceStorage } from '@/store';
import { i18n } from '@/i18n';
import { defaultStore } from '@/store';
+import { fetchThemes, getThemes } from '@/theme-store';
export default defineComponent({
components: {
@@ -96,7 +97,7 @@ export default defineComponent({
icon: faPalette
};
- const installedThemes = ColdDeviceStorage.ref('themes');
+ const installedThemes = ref(getThemes());
const themes = computed(() => builtinThemes.concat(installedThemes.value));
const darkThemes = computed(() => themes.value.filter(t => t.base == 'dark' || t.kind == 'dark'));
const lightThemes = computed(() => themes.value.filter(t => t.base == 'light' || t.kind == 'light'));
@@ -137,6 +138,10 @@ export default defineComponent({
emit('info', INFO);
});
+ fetchThemes().then(() => {
+ installedThemes.value = getThemes();
+ });
+
return {
INFO,
darkThemes,
diff --git a/src/client/pages/settings/update.vue b/src/client/pages/settings/update.vue
new file mode 100644
index 000000000..d172ceb10
--- /dev/null
+++ b/src/client/pages/settings/update.vue
@@ -0,0 +1,94 @@
+
+
+
+ {{ $ts.youAreRunningUpToDateClient }}
+ {{ $ts.newVersionOfClientAvailable }}
+
+
+ {{ instanceName }}
+
+ {{ $ts.currentVersion }}
+ {{ version }}
+
+
+ {{ $ts.latestVersion }}
+ {{ meta.version }}
+
+
+
+
+ Misskey
+
+ {{ $ts.latestVersion }}
+ {{ releases[0].tag_name }}
+
+
+
+
+
+
+
+
diff --git a/src/client/pages/theme-editor.vue b/src/client/pages/theme-editor.vue
index 6cc6b560c..02e2e39c7 100644
--- a/src/client/pages/theme-editor.vue
+++ b/src/client/pages/theme-editor.vue
@@ -41,7 +41,7 @@