Skip to content
Snippets Groups Projects
Unverified Commit 38139ee6 authored by syuilo's avatar syuilo
Browse files

テーマに関して強化

parent 6b96bd01
No related branches found
No related tags found
No related merge requests found
......@@ -309,6 +309,8 @@ common/views/components/theme.vue:
select-theme: "テーマを選択してください"
uninstall: "アンインストール"
uninstalled: "「{}」をアンインストールしました"
author: "作者"
desc: "説明"
common/views/components/cw-button.vue:
hide: "隠す"
......
......@@ -52,13 +52,21 @@
<details>
<summary>%i18n:@installed-themes%</summary>
<ui-select v-model="selectedInstalledTheme" placeholder="%i18n:@select-theme%">
<ui-select v-model="selectedInstalledThemeId" placeholder="%i18n:@select-theme%">
<option v-for="x in installedThemes" :value="x.id" :key="x.id">{{ x.name }}</option>
</ui-select>
<ui-textarea readonly :value="selectedInstalledThemeCode">
<span>%i18n:@theme-code%</span>
</ui-textarea>
<ui-button @click="uninstall()">%i18n:@uninstall%</ui-button>
<template v-if="selectedInstalledTheme">
<ui-input readonly :value="selectedInstalledTheme.author">
<span>%i18n:@author%</span>
</ui-input>
<ui-textarea v-if="selectedInstalledTheme.desc" readonly :value="selectedInstalledTheme.desc">
<span>%i18n:@desc%</span>
</ui-textarea>
<ui-textarea readonly :value="selectedInstalledThemeCode">
<span>%i18n:@theme-code%</span>
</ui-textarea>
<ui-button @click="uninstall()">%i18n:@uninstall%</ui-button>
</template>
</details>
</div>
</template>
......@@ -93,7 +101,7 @@ export default Vue.extend({
data() {
return {
installThemeCode: null,
selectedInstalledTheme: null,
selectedInstalledThemeId: null,
myThemeBase: 'light',
myThemeName: '',
myThemePrimary: lightTheme.vars.primary,
......@@ -121,15 +129,20 @@ export default Vue.extend({
set(value) { this.$store.commit('device/set', { key: 'darkTheme', value }); }
},
selectedInstalledTheme() {
if (this.selectedInstalledThemeId == null) return null;
return this.installedThemes.find(x => x.id == this.selectedInstalledThemeId);
},
selectedInstalledThemeCode() {
if (this.selectedInstalledTheme == null) return null;
return JSON5.stringify(this.installedThemes.find(x => x.id == this.selectedInstalledTheme), null, '\t');
return JSON5.stringify(this.selectedInstalledTheme, null, '\t');
},
myTheme(): any {
return {
name: this.myThemeName,
author: this.$store.state.i.name,
author: this.$store.state.i.username,
base: this.myThemeBase,
vars: {
primary: tinycolor(typeof this.myThemePrimary == 'string' ? this.myThemePrimary : this.myThemePrimary.rgba).toRgbString(),
......@@ -198,7 +211,7 @@ export default Vue.extend({
},
uninstall() {
const theme = this.installedThemes.find(x => x.id == this.selectedInstalledTheme);
const theme = this.selectedInstalledTheme;
const themes = this.$store.state.device.themes.filter(t => t.id != theme.id);
this.$store.commit('device/set', {
key: 'themes', value: themes
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment