mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-20 09:44:26 +08:00
support turning on dark theme manually
This commit is contained in:
+8
-1
@@ -12,6 +12,13 @@ import routes from './router/mobile.js';
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
const self = this;
|
const self = this;
|
||||||
|
let darkMode = 'auto';
|
||||||
|
|
||||||
|
if (self.$settings.getTheme() === 'light') {
|
||||||
|
darkMode = false;
|
||||||
|
} else if (self.$settings.getTheme() === 'dark') {
|
||||||
|
darkMode = true;
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
isProduction: self.$settings.isProduction(),
|
isProduction: self.$settings.isProduction(),
|
||||||
@@ -23,7 +30,7 @@ export default {
|
|||||||
primary: '#c67e48'
|
primary: '#c67e48'
|
||||||
},
|
},
|
||||||
routes: routes,
|
routes: routes,
|
||||||
darkMode: self.$settings.isEnableAutoDarkMode() ? 'auto' : false,
|
darkMode: darkMode,
|
||||||
touch: {
|
touch: {
|
||||||
disableContextMenu: true,
|
disableContextMenu: true,
|
||||||
tapHold: true
|
tapHold: true
|
||||||
|
|||||||
+4
-4
@@ -7,6 +7,7 @@ const settingsLocalStorageKey = 'ebk_app_settings';
|
|||||||
const serverSettingsCookieKey = 'ebk_server_settings';
|
const serverSettingsCookieKey = 'ebk_server_settings';
|
||||||
|
|
||||||
const defaultSettings = {
|
const defaultSettings = {
|
||||||
|
theme: 'auto',
|
||||||
timeZone: '',
|
timeZone: '',
|
||||||
debug: false,
|
debug: false,
|
||||||
applicationLock: false,
|
applicationLock: false,
|
||||||
@@ -26,8 +27,7 @@ const defaultSettings = {
|
|||||||
defaultTransactionCategoryFilter: {},
|
defaultTransactionCategoryFilter: {},
|
||||||
defaultSortingType: statisticsConstants.defaultSortingType
|
defaultSortingType: statisticsConstants.defaultSortingType
|
||||||
},
|
},
|
||||||
animate: true,
|
animate: true
|
||||||
autoDarkMode: true
|
|
||||||
};
|
};
|
||||||
|
|
||||||
function getOriginalSettings() {
|
function getOriginalSettings() {
|
||||||
@@ -124,6 +124,8 @@ function clearSettings() {
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
isProduction: () => process.env.NODE_ENV === 'production',
|
isProduction: () => process.env.NODE_ENV === 'production',
|
||||||
|
getTheme: () => getOption('theme'),
|
||||||
|
setTheme: value => setOption('theme', value),
|
||||||
getTimezone: () => getOption('timeZone'),
|
getTimezone: () => getOption('timeZone'),
|
||||||
setTimezone: value => setOption('timeZone', value),
|
setTimezone: value => setOption('timeZone', value),
|
||||||
isEnableDebug: () => getOption('debug'),
|
isEnableDebug: () => getOption('debug'),
|
||||||
@@ -160,8 +162,6 @@ export default {
|
|||||||
setStatisticsSortingType: value => setSubOption('statistics', 'defaultSortingType', value),
|
setStatisticsSortingType: value => setSubOption('statistics', 'defaultSortingType', value),
|
||||||
isEnableAnimate: () => getOption('animate'),
|
isEnableAnimate: () => getOption('animate'),
|
||||||
setEnableAnimate: value => setOption('animate', value),
|
setEnableAnimate: value => setOption('animate', value),
|
||||||
isEnableAutoDarkMode: () => getOption('autoDarkMode'),
|
|
||||||
setEnableAutoDarkMode: value => setOption('autoDarkMode', value),
|
|
||||||
isUserRegistrationEnabled: () => getServerSetting('r') === '1',
|
isUserRegistrationEnabled: () => getServerSetting('r') === '1',
|
||||||
isDataExportingEnabled: () => getServerSetting('e') === '1',
|
isDataExportingEnabled: () => getServerSetting('e') === '1',
|
||||||
getMapProvider: () => getServerSetting('m'),
|
getMapProvider: () => getServerSetting('m'),
|
||||||
|
|||||||
+3
-1
@@ -934,6 +934,9 @@ export default {
|
|||||||
'Filter Transaction Categories': 'Filter Transaction Categories',
|
'Filter Transaction Categories': 'Filter Transaction Categories',
|
||||||
'User Profile': 'User Profile',
|
'User Profile': 'User Profile',
|
||||||
'Language': 'Language',
|
'Language': 'Language',
|
||||||
|
'Theme': 'Theme',
|
||||||
|
'Light': 'Light',
|
||||||
|
'Dark': 'Dark',
|
||||||
'Timezone': 'Timezone',
|
'Timezone': 'Timezone',
|
||||||
'System Default': 'System Default',
|
'System Default': 'System Default',
|
||||||
'Language Default': 'Language Default',
|
'Language Default': 'Language Default',
|
||||||
@@ -948,7 +951,6 @@ export default {
|
|||||||
'Show Account Balance': 'Show Account Balance',
|
'Show Account Balance': 'Show Account Balance',
|
||||||
'Show Total Amount In Transaction List Page': 'Show Total Amount In Transaction List Page',
|
'Show Total Amount In Transaction List Page': 'Show Total Amount In Transaction List Page',
|
||||||
'Enable Animate': 'Enable Animate',
|
'Enable Animate': 'Enable Animate',
|
||||||
'Enable Auto Dark Mode': 'Enable Auto Dark Mode',
|
|
||||||
'Use preset transaction categories': 'Use preset transaction categories',
|
'Use preset transaction categories': 'Use preset transaction categories',
|
||||||
'Preset Categories': 'Preset Categories',
|
'Preset Categories': 'Preset Categories',
|
||||||
'You have been successfully registered': 'You have been successfully registered',
|
'You have been successfully registered': 'You have been successfully registered',
|
||||||
|
|||||||
@@ -934,6 +934,9 @@ export default {
|
|||||||
'Filter Transaction Categories': '过滤交易类型',
|
'Filter Transaction Categories': '过滤交易类型',
|
||||||
'User Profile': '用户信息',
|
'User Profile': '用户信息',
|
||||||
'Language': '语言',
|
'Language': '语言',
|
||||||
|
'Theme': '主题',
|
||||||
|
'Light': '浅色',
|
||||||
|
'Dark': '深色',
|
||||||
'Timezone': '时区',
|
'Timezone': '时区',
|
||||||
'System Default': '系统默认',
|
'System Default': '系统默认',
|
||||||
'Language Default': '语言默认',
|
'Language Default': '语言默认',
|
||||||
@@ -948,7 +951,6 @@ export default {
|
|||||||
'Show Account Balance': '显示账户余额',
|
'Show Account Balance': '显示账户余额',
|
||||||
'Show Total Amount In Transaction List Page': '交易列表页显示总金额',
|
'Show Total Amount In Transaction List Page': '交易列表页显示总金额',
|
||||||
'Enable Animate': '启用动画',
|
'Enable Animate': '启用动画',
|
||||||
'Enable Auto Dark Mode': '启用自动深色模式',
|
|
||||||
'Use preset transaction categories': '使用预设交易分类',
|
'Use preset transaction categories': '使用预设交易分类',
|
||||||
'Preset Categories': '预设分类',
|
'Preset Categories': '预设分类',
|
||||||
'You have been successfully registered': '注册成功',
|
'You have been successfully registered': '注册成功',
|
||||||
|
|||||||
@@ -15,6 +15,16 @@
|
|||||||
|
|
||||||
<f7-block-title>{{ $t('Application') }}</f7-block-title>
|
<f7-block-title>{{ $t('Application') }}</f7-block-title>
|
||||||
<f7-list strong inset dividers>
|
<f7-list strong inset dividers>
|
||||||
|
<f7-list-item
|
||||||
|
:title="$t('Theme')"
|
||||||
|
smart-select :smart-select-params="{ openIn: 'popup', popupPush: true, closeOnSelect: true, scrollToSelectedItem: true, searchbar: true, searchbarPlaceholder: $t('Theme'), searchbarDisableText: $t('Cancel'), appendSearchbarNotFound: $t('No results'), popupCloseLinkText: $t('Done') }">
|
||||||
|
<select v-model="theme">
|
||||||
|
<option value="auto">{{ $t('System Default') }}</option>
|
||||||
|
<option value="light">{{ $t('Light') }}</option>
|
||||||
|
<option value="dark">{{ $t('Dark') }}</option>
|
||||||
|
</select>
|
||||||
|
</f7-list-item>
|
||||||
|
|
||||||
<f7-list-item
|
<f7-list-item
|
||||||
:title="$t('Timezone')"
|
:title="$t('Timezone')"
|
||||||
smart-select :smart-select-params="{ openIn: 'popup', popupPush: true, closeOnSelect: true, scrollToSelectedItem: true, searchbar: true, searchbarPlaceholder: $t('Timezone'), searchbarDisableText: $t('Cancel'), appendSearchbarNotFound: $t('No results'), popupCloseLinkText: $t('Done') }">
|
smart-select :smart-select-params="{ openIn: 'popup', popupPush: true, closeOnSelect: true, scrollToSelectedItem: true, searchbar: true, searchbarPlaceholder: $t('Timezone'), searchbarDisableText: $t('Cancel'), appendSearchbarNotFound: $t('No results'), popupCloseLinkText: $t('Done') }">
|
||||||
@@ -77,11 +87,6 @@
|
|||||||
<f7-toggle :checked="isEnableAnimate" @toggle:change="isEnableAnimate = $event"></f7-toggle>
|
<f7-toggle :checked="isEnableAnimate" @toggle:change="isEnableAnimate = $event"></f7-toggle>
|
||||||
</f7-list-item>
|
</f7-list-item>
|
||||||
|
|
||||||
<f7-list-item>
|
|
||||||
<span>{{ $t('Enable Auto Dark Mode') }}</span>
|
|
||||||
<f7-toggle :checked="isEnableAutoDarkMode" @toggle:change="isEnableAutoDarkMode = $event"></f7-toggle>
|
|
||||||
</f7-list-item>
|
|
||||||
|
|
||||||
<f7-list-item :title="$t('About')" link="/about" :after="version"></f7-list-item>
|
<f7-list-item :title="$t('About')" link="/about" :after="version"></f7-list-item>
|
||||||
</f7-list>
|
</f7-list>
|
||||||
</f7-page>
|
</f7-page>
|
||||||
@@ -107,6 +112,17 @@ export default {
|
|||||||
allTimezones() {
|
allTimezones() {
|
||||||
return this.$locale.getAllTimezones(true);
|
return this.$locale.getAllTimezones(true);
|
||||||
},
|
},
|
||||||
|
theme: {
|
||||||
|
get: function () {
|
||||||
|
return this.$settings.getTheme();
|
||||||
|
},
|
||||||
|
set: function (value) {
|
||||||
|
if (value !== this.$settings.getTheme()) {
|
||||||
|
this.$settings.setTheme(value);
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
currentTimezone: {
|
currentTimezone: {
|
||||||
get: function () {
|
get: function () {
|
||||||
return this.$locale.getTimezone();
|
return this.$locale.getTimezone();
|
||||||
@@ -188,17 +204,6 @@ export default {
|
|||||||
location.reload();
|
location.reload();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
isEnableAutoDarkMode: {
|
|
||||||
get: function () {
|
|
||||||
return this.$settings.isEnableAutoDarkMode();
|
|
||||||
},
|
|
||||||
set: function (value) {
|
|
||||||
if (value !== this.$settings.isEnableAutoDarkMode()) {
|
|
||||||
this.$settings.setEnableAutoDarkMode(value);
|
|
||||||
location.reload();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|||||||
Reference in New Issue
Block a user