summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2022-01-03 00:41:01 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2022-01-03 00:41:01 +0900
commit408142647cf7b48f1b7b5e9b5f4c47fc12eb9728 (patch)
treef596199b29d3dc231e91a8e33233244bc0f85e76 /packages
parenttweak client (diff)
downloadmisskey-408142647cf7b48f1b7b5e9b5f4c47fc12eb9728.tar.gz
misskey-408142647cf7b48f1b7b5e9b5f4c47fc12eb9728.tar.bz2
misskey-408142647cf7b48f1b7b5e9b5f4c47fc12eb9728.zip
tweak ui
Diffstat (limited to 'packages')
-rw-r--r--packages/client/src/pages/settings/delete-account.vue20
-rw-r--r--packages/client/src/pages/settings/index.vue18
-rw-r--r--packages/client/src/pages/settings/other.vue21
-rw-r--r--packages/client/src/pages/settings/registry.keys.vue114
-rw-r--r--packages/client/src/pages/settings/registry.value.vue147
-rw-r--r--packages/client/src/pages/settings/registry.vue90
6 files changed, 8 insertions, 402 deletions
diff --git a/packages/client/src/pages/settings/delete-account.vue b/packages/client/src/pages/settings/delete-account.vue
index 6ce8d6509c..17501d9510 100644
--- a/packages/client/src/pages/settings/delete-account.vue
+++ b/packages/client/src/pages/settings/delete-account.vue
@@ -1,28 +1,23 @@
<template>
-<FormBase>
- <FormInfo warn>{{ $ts._accountDelete.mayTakeTime }}</FormInfo>
- <FormInfo>{{ $ts._accountDelete.sendEmail }}</FormInfo>
- <FormButton v-if="!$i.isDeleted" danger @click="deleteAccount">{{ $ts._accountDelete.requestAccountDelete }}</FormButton>
+<div class="_formRoot">
+ <FormInfo warn class="_formBlock">{{ $ts._accountDelete.mayTakeTime }}</FormInfo>
+ <FormInfo class="_formBlock">{{ $ts._accountDelete.sendEmail }}</FormInfo>
+ <FormButton v-if="!$i.isDeleted" danger class="_formBlock" @click="deleteAccount">{{ $ts._accountDelete.requestAccountDelete }}</FormButton>
<FormButton v-else disabled>{{ $ts._accountDelete.inProgress }}</FormButton>
-</FormBase>
+</div>
</template>
<script lang="ts">
import { defineAsyncComponent, defineComponent } from 'vue';
-import FormInfo from '@/components/debobigego/info.vue';
-import FormBase from '@/components/debobigego/base.vue';
-import FormGroup from '@/components/debobigego/group.vue';
-import FormButton from '@/components/debobigego/button.vue';
+import FormInfo from '@/components/ui/info.vue';
+import FormButton from '@/components/ui/button.vue';
import * as os from '@/os';
-import { debug } from '@/config';
import { signout } from '@/account';
import * as symbols from '@/symbols';
export default defineComponent({
components: {
- FormBase,
FormButton,
- FormGroup,
FormInfo,
},
@@ -35,7 +30,6 @@ export default defineComponent({
icon: 'fas fa-exclamation-triangle',
bg: 'var(--bg)',
},
- debug,
}
},
diff --git a/packages/client/src/pages/settings/index.vue b/packages/client/src/pages/settings/index.vue
index fa135c4178..60ed217861 100644
--- a/packages/client/src/pages/settings/index.vue
+++ b/packages/client/src/pages/settings/index.vue
@@ -218,32 +218,14 @@ export default defineComponent({
case 'plugin/manage': return defineAsyncComponent(() => import('./plugin.manage.vue'));
case 'import-export': return defineAsyncComponent(() => import('./import-export.vue'));
case 'account-info': return defineAsyncComponent(() => import('./account-info.vue'));
- case 'registry': return defineAsyncComponent(() => import('./registry.vue'));
case 'delete-account': return defineAsyncComponent(() => import('./delete-account.vue'));
}
- if (page.value.startsWith('registry/keys/system/')) {
- return defineAsyncComponent(() => import('./registry.keys.vue'));
- }
- if (page.value.startsWith('registry/value/system/')) {
- return defineAsyncComponent(() => import('./registry.value.vue'));
- }
return null;
});
watch(component, () => {
pageProps.value = {};
- if (page.value) {
- if (page.value.startsWith('registry/keys/system/')) {
- pageProps.value.scope = page.value.replace('registry/keys/system/', '').split('/');
- }
- if (page.value.startsWith('registry/value/system/')) {
- const path = page.value.replace('registry/value/system/', '').split('/');
- pageProps.value.xKey = path.pop();
- pageProps.value.scope = path;
- }
- }
-
nextTick(() => {
scroll(el.value, { top: 0 });
});
diff --git a/packages/client/src/pages/settings/other.vue b/packages/client/src/pages/settings/other.vue
index 5e45abf6e1..b941c07c6f 100644
--- a/packages/client/src/pages/settings/other.vue
+++ b/packages/client/src/pages/settings/other.vue
@@ -8,21 +8,6 @@
<FormLink to="/settings/account-info" class="_formBlock">{{ $ts.accountInfo }}</FormLink>
- <FormSection>
- <template #label>{{ $ts.developer }}</template>
- <FormSwitch v-model="debug" @update:modelValue="changeDebug" class="_formBlock">
- DEBUG MODE
- </FormSwitch>
- <template v-if="debug">
- <FormButton @click="taskmanager">Task Manager</FormButton>
- </template>
- </FormSection>
-
- <FormLink to="/settings/registry" class="_formBlock"><template #icon><i class="fas fa-cogs"></i></template>{{ $ts.registry }}</FormLink>
-
- <FormLink to="/bios" behavior="browser" class="_formBlock"><template #icon><i class="fas fa-door-open"></i></template>BIOS</FormLink>
- <FormLink to="/cli" behavior="browser" class="_formBlock"><template #icon><i class="fas fa-door-open"></i></template>CLI</FormLink>
-
<FormLink to="/settings/delete-account" class="_formBlock"><template #icon><i class="fas fa-exclamation-triangle"></i></template>{{ $ts.closeAccount }}</FormLink>
</div>
</template>
@@ -30,10 +15,8 @@
<script lang="ts">
import { defineAsyncComponent, defineComponent } from 'vue';
import FormSwitch from '@/components/form/switch.vue';
-import FormSelect from '@/components/form/select.vue';
import FormSection from '@/components/form/section.vue';
-import FormLink from '@/components/debobigego/link.vue';
-import FormButton from '@/components/debobigego/button.vue';
+import FormLink from '@/components/form/link.vue';
import * as os from '@/os';
import { debug } from '@/config';
import { defaultStore } from '@/store';
@@ -42,10 +25,8 @@ import * as symbols from '@/symbols';
export default defineComponent({
components: {
- FormSelect,
FormSection,
FormSwitch,
- FormButton,
FormLink,
},
diff --git a/packages/client/src/pages/settings/registry.keys.vue b/packages/client/src/pages/settings/registry.keys.vue
deleted file mode 100644
index 89953ebea1..0000000000
--- a/packages/client/src/pages/settings/registry.keys.vue
+++ /dev/null
@@ -1,114 +0,0 @@
-<template>
-<FormBase>
- <FormGroup>
- <FormKeyValueView>
- <template #key>{{ $ts._registry.domain }}</template>
- <template #value>{{ $ts.system }}</template>
- </FormKeyValueView>
- <FormKeyValueView>
- <template #key>{{ $ts._registry.scope }}</template>
- <template #value>{{ scope.join('/') }}</template>
- </FormKeyValueView>
- </FormGroup>
-
- <FormGroup v-if="keys">
- <template #label>{{ $ts._registry.keys }}</template>
- <FormLink v-for="key in keys" :to="`/settings/registry/value/system/${scope.join('/')}/${key[0]}`" class="_monospace">{{ key[0] }}<template #suffix>{{ key[1].toUpperCase() }}</template></FormLink>
- </FormGroup>
-
- <FormButton primary @click="createKey">{{ $ts._registry.createKey }}</FormButton>
-</FormBase>
-</template>
-
-<script lang="ts">
-import { defineAsyncComponent, defineComponent } from 'vue';
-import * as JSON5 from 'json5';
-import FormSwitch from '@/components/form/switch.vue';
-import FormSelect from '@/components/form/select.vue';
-import FormLink from '@/components/debobigego/link.vue';
-import FormBase from '@/components/debobigego/base.vue';
-import FormGroup from '@/components/debobigego/group.vue';
-import FormButton from '@/components/debobigego/button.vue';
-import FormKeyValueView from '@/components/debobigego/key-value-view.vue';
-import * as os from '@/os';
-import * as symbols from '@/symbols';
-
-export default defineComponent({
- components: {
- FormBase,
- FormSelect,
- FormSwitch,
- FormButton,
- FormLink,
- FormGroup,
- FormKeyValueView,
- },
-
- props: {
- scope: {
- required: true
- }
- },
-
- emits: ['info'],
-
- data() {
- return {
- [symbols.PAGE_INFO]: {
- title: this.$ts.registry,
- icon: 'fas fa-cogs',
- bg: 'var(--bg)',
- },
- keys: null,
- }
- },
-
- watch: {
- scope() {
- this.fetch();
- }
- },
-
- mounted() {
- this.$emit('info', this[symbols.PAGE_INFO]);
- this.fetch();
- },
-
- methods: {
- fetch() {
- os.api('i/registry/keys-with-type', {
- scope: this.scope
- }).then(keys => {
- this.keys = Object.entries(keys).sort((a, b) => a[0].localeCompare(b[0]));
- });
- },
-
- async createKey() {
- const { canceled, result } = await os.form(this.$ts._registry.createKey, {
- key: {
- type: 'string',
- label: this.$ts._registry.key,
- },
- value: {
- type: 'string',
- multiline: true,
- label: this.$ts.value,
- },
- scope: {
- type: 'string',
- label: this.$ts._registry.scope,
- default: this.scope.join('/')
- }
- });
- if (canceled) return;
- os.apiWithDialog('i/registry/set', {
- scope: result.scope.split('/'),
- key: result.key,
- value: JSON5.parse(result.value),
- }).then(() => {
- this.fetch();
- });
- }
- }
-});
-</script>
diff --git a/packages/client/src/pages/settings/registry.value.vue b/packages/client/src/pages/settings/registry.value.vue
deleted file mode 100644
index 6acd3f6048..0000000000
--- a/packages/client/src/pages/settings/registry.value.vue
+++ /dev/null
@@ -1,147 +0,0 @@
-<template>
-<FormBase>
- <FormInfo warn>{{ $ts.editTheseSettingsMayBreakAccount }}</FormInfo>
-
- <template v-if="value">
- <FormGroup>
- <FormKeyValueView>
- <template #key>{{ $ts._registry.domain }}</template>
- <template #value>{{ $ts.system }}</template>
- </FormKeyValueView>
- <FormKeyValueView>
- <template #key>{{ $ts._registry.scope }}</template>
- <template #value>{{ scope.join('/') }}</template>
- </FormKeyValueView>
- <FormKeyValueView>
- <template #key>{{ $ts._registry.key }}</template>
- <template #value>{{ xKey }}</template>
- </FormKeyValueView>
- </FormGroup>
-
- <FormGroup>
- <FormTextarea v-model="valueForEditor" tall class="_monospace" style="tab-size: 2;">
- <span>{{ $ts.value }} (JSON)</span>
- </FormTextarea>
- <FormButton primary @click="save"><i class="fas fa-save"></i> {{ $ts.save }}</FormButton>
- </FormGroup>
-
- <FormKeyValueView>
- <template #key>{{ $ts.updatedAt }}</template>
- <template #value><MkTime :time="value.updatedAt" mode="detail"/></template>
- </FormKeyValueView>
-
- <FormButton danger @click="del"><i class="fas fa-trash"></i> {{ $ts.delete }}</FormButton>
- </template>
-</FormBase>
-</template>
-
-<script lang="ts">
-import { defineAsyncComponent, defineComponent } from 'vue';
-import * as JSON5 from 'json5';
-import FormInfo from '@/components/debobigego/info.vue';
-import FormSwitch from '@/components/form/switch.vue';
-import FormSelect from '@/components/form/select.vue';
-import FormTextarea from '@/components/form/textarea.vue';
-import FormBase from '@/components/debobigego/base.vue';
-import FormGroup from '@/components/debobigego/group.vue';
-import FormButton from '@/components/debobigego/button.vue';
-import FormKeyValueView from '@/components/debobigego/key-value-view.vue';
-import * as os from '@/os';
-import * as symbols from '@/symbols';
-
-export default defineComponent({
- components: {
- FormInfo,
- FormBase,
- FormSelect,
- FormSwitch,
- FormButton,
- FormTextarea,
- FormGroup,
- FormKeyValueView,
- },
-
- props: {
- scope: {
- required: true
- },
- xKey: {
- required: true
- },
- },
-
- emits: ['info'],
-
- data() {
- return {
- [symbols.PAGE_INFO]: {
- title: this.$ts.registry,
- icon: 'fas fa-cogs',
- bg: 'var(--bg)',
- },
- value: null,
- valueForEditor: null,
- }
- },
-
- watch: {
- key() {
- this.fetch();
- },
- },
-
- mounted() {
- this.$emit('info', this[symbols.PAGE_INFO]);
- this.fetch();
- },
-
- methods: {
- fetch() {
- os.api('i/registry/get-detail', {
- scope: this.scope,
- key: this.xKey
- }).then(value => {
- this.value = value;
- this.valueForEditor = JSON5.stringify(this.value.value, null, '\t');
- });
- },
-
- save() {
- try {
- JSON5.parse(this.valueForEditor);
- } catch (e) {
- os.alert({
- type: 'error',
- text: this.$ts.invalidValue
- });
- return;
- }
-
- os.confirm({
- type: 'warning',
- text: this.$ts.saveConfirm,
- }).then(({ canceled }) => {
- if (canceled) return;
- os.apiWithDialog('i/registry/set', {
- scope: this.scope,
- key: this.xKey,
- value: JSON5.parse(this.valueForEditor)
- });
- });
- },
-
- del() {
- os.confirm({
- type: 'warning',
- text: this.$ts.deleteConfirm,
- }).then(({ canceled }) => {
- if (canceled) return;
- os.apiWithDialog('i/registry/remove', {
- scope: this.scope,
- key: this.xKey
- });
- });
- }
- }
-});
-</script>
diff --git a/packages/client/src/pages/settings/registry.vue b/packages/client/src/pages/settings/registry.vue
deleted file mode 100644
index 6faff5d2a4..0000000000
--- a/packages/client/src/pages/settings/registry.vue
+++ /dev/null
@@ -1,90 +0,0 @@
-<template>
-<FormBase>
- <FormGroup v-if="scopes">
- <template #label>{{ $ts.system }}</template>
- <FormLink v-for="scope in scopes" :to="`/settings/registry/keys/system/${scope.join('/')}`" class="_monospace">{{ scope.join('/') }}</FormLink>
- </FormGroup>
- <FormButton primary @click="createKey">{{ $ts._registry.createKey }}</FormButton>
-</FormBase>
-</template>
-
-<script lang="ts">
-import { defineAsyncComponent, defineComponent } from 'vue';
-import * as JSON5 from 'json5';
-import FormSwitch from '@/components/form/switch.vue';
-import FormSelect from '@/components/form/select.vue';
-import FormLink from '@/components/debobigego/link.vue';
-import FormBase from '@/components/debobigego/base.vue';
-import FormGroup from '@/components/debobigego/group.vue';
-import FormButton from '@/components/debobigego/button.vue';
-import FormKeyValueView from '@/components/debobigego/key-value-view.vue';
-import * as os from '@/os';
-import * as symbols from '@/symbols';
-
-export default defineComponent({
- components: {
- FormBase,
- FormSelect,
- FormSwitch,
- FormButton,
- FormLink,
- FormGroup,
- FormKeyValueView,
- },
-
- emits: ['info'],
-
- data() {
- return {
- [symbols.PAGE_INFO]: {
- title: this.$ts.registry,
- icon: 'fas fa-cogs',
- bg: 'var(--bg)',
- },
- scopes: null,
- }
- },
-
- created() {
- this.fetch();
- },
-
- mounted() {
- this.$emit('info', this[symbols.PAGE_INFO]);
- },
-
- methods: {
- fetch() {
- os.api('i/registry/scopes').then(scopes => {
- this.scopes = scopes.slice().sort((a, b) => a.join('/').localeCompare(b.join('/')));
- });
- },
-
- async createKey() {
- const { canceled, result } = await os.form(this.$ts._registry.createKey, {
- key: {
- type: 'string',
- label: this.$ts._registry.key,
- },
- value: {
- type: 'string',
- multiline: true,
- label: this.$ts.value,
- },
- scope: {
- type: 'string',
- label: this.$ts._registry.scope,
- }
- });
- if (canceled) return;
- os.apiWithDialog('i/registry/set', {
- scope: result.scope.split('/'),
- key: result.key,
- value: JSON5.parse(result.value),
- }).then(() => {
- this.fetch();
- });
- }
- }
-});
-</script>