mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-17 00:12:11 +08:00
code refactor
This commit is contained in:
@@ -2,19 +2,19 @@
|
||||
<div>
|
||||
<v-tabs show-arrows v-model="activeTab">
|
||||
<v-tab value="basicSetting" @click="pushRouter('basicSetting')">
|
||||
<v-icon size="20" start :icon="icons.basicSetting"/>
|
||||
<v-icon size="20" start :icon="mdiAccountOutline"/>
|
||||
{{ tt('Basic') }}
|
||||
</v-tab>
|
||||
<v-tab value="securitySetting" @click="pushRouter('securitySetting')">
|
||||
<v-icon size="20" start :icon="icons.securitySetting"/>
|
||||
<v-icon size="20" start :icon="mdiLockOpenOutline"/>
|
||||
{{ tt('Security') }}
|
||||
</v-tab>
|
||||
<v-tab value="twoFactorSetting" @click="pushRouter('twoFactorSetting')">
|
||||
<v-icon size="20" start :icon="icons.twoFactorSetting"/>
|
||||
<v-icon size="20" start :icon="mdiOnepassword"/>
|
||||
{{ tt('Two-Factor Authentication') }}
|
||||
</v-tab>
|
||||
<v-tab value="dataManagementSetting" @click="pushRouter('dataManagementSetting')">
|
||||
<v-icon size="20" start :icon="icons.dataManagementSetting"/>
|
||||
<v-icon size="20" start :icon="mdiDatabaseCogOutline"/>
|
||||
{{ tt('Data Management') }}
|
||||
</v-tab>
|
||||
</v-tabs>
|
||||
@@ -74,13 +74,6 @@ const ALL_TABS: string[] = [
|
||||
'dataManagementSetting'
|
||||
];
|
||||
|
||||
const icons = {
|
||||
basicSetting: mdiAccountOutline,
|
||||
securitySetting: mdiLockOpenOutline,
|
||||
twoFactorSetting: mdiOnepassword,
|
||||
dataManagementSetting: mdiDatabaseCogOutline
|
||||
};
|
||||
|
||||
const twoFactorSettingTab = useTemplateRef<TwoFactorSettingTabType>('twoFactorSettingTab');
|
||||
|
||||
const activeTab = ref<string>((() => {
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
<v-img :src="currentUserAvatar" v-if="currentUserAvatar">
|
||||
<template #placeholder>
|
||||
<div class="d-flex align-center justify-center fill-height bg-light-primary">
|
||||
<v-icon color="primary" size="48" class="user-profile-avatar-placeholder" :icon="icons.user"/>
|
||||
<v-icon color="primary" size="48" class="user-profile-avatar-placeholder" :icon="mdiAccount"/>
|
||||
</div>
|
||||
</template>
|
||||
</v-img>
|
||||
<v-icon size="48" class="user-profile-avatar-placeholder" :icon="icons.user" v-else-if="!currentUserAvatar"/>
|
||||
<v-icon size="48" class="user-profile-avatar-placeholder" :icon="mdiAccount" v-else-if="!currentUserAvatar"/>
|
||||
<div class="avatar-edit-icon" v-if="avatarProvider === 'internal'">
|
||||
<v-icon size="48" :icon="icons.pencil"/>
|
||||
<v-icon size="48" :icon="mdiAccountEditOutline"/>
|
||||
</div>
|
||||
<v-menu activator="parent" width="200" location="bottom" offset="14px" v-if="avatarProvider === 'internal'">
|
||||
<v-list>
|
||||
@@ -399,11 +399,6 @@ const rootStore = useRootStore();
|
||||
const userStore = useUserStore();
|
||||
const accountsStore = useAccountsStore();
|
||||
|
||||
const icons = {
|
||||
user: mdiAccount,
|
||||
pencil: mdiAccountEditOutline,
|
||||
};
|
||||
|
||||
const confirmDialog = useTemplateRef<ConfirmDialogType>('confirmDialog');
|
||||
const snackbar = useTemplateRef<SnackBarType>('snackbar');
|
||||
const avatarInput = useTemplateRef<HTMLInputElement>('avatarInput');
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<template #loader>
|
||||
<v-progress-circular indeterminate size="20"/>
|
||||
</template>
|
||||
<v-icon :icon="icons.refresh" size="24" />
|
||||
<v-icon :icon="mdiRefresh" size="24" />
|
||||
<v-tooltip activator="parent">{{ tt('Refresh') }}</v-tooltip>
|
||||
</v-btn>
|
||||
</div>
|
||||
@@ -22,43 +22,43 @@
|
||||
{
|
||||
title: 'Transactions',
|
||||
count: displayDataStatistics ? displayDataStatistics.totalTransactionCount : '-',
|
||||
icon: icons.transactions,
|
||||
icon: mdiListBoxOutline,
|
||||
color: 'info-darken-1'
|
||||
},
|
||||
{
|
||||
title: 'Accounts',
|
||||
count: displayDataStatistics ? displayDataStatistics.totalAccountCount : '-',
|
||||
icon: icons.accounts,
|
||||
icon: mdiCreditCardOutline,
|
||||
color: 'primary'
|
||||
},
|
||||
{
|
||||
title: 'Transaction Categories',
|
||||
count: displayDataStatistics ? displayDataStatistics.totalTransactionCategoryCount : '-',
|
||||
icon: icons.categories,
|
||||
icon: mdiViewDashboardOutline,
|
||||
color: 'teal'
|
||||
},
|
||||
{
|
||||
title: 'Transaction Tags',
|
||||
count: displayDataStatistics ? displayDataStatistics.totalTransactionTagCount : '-',
|
||||
icon: icons.tags,
|
||||
icon: mdiTagOutline,
|
||||
color: 'secondary'
|
||||
},
|
||||
{
|
||||
title: 'Transaction Pictures',
|
||||
count: displayDataStatistics ? displayDataStatistics.totalTransactionPictureCount : '-',
|
||||
icon: icons.pictures,
|
||||
icon: mdiImage,
|
||||
color: 'error-darken-1'
|
||||
},
|
||||
{
|
||||
title: 'Transaction Templates',
|
||||
count: displayDataStatistics ? displayDataStatistics.totalTransactionTemplateCount : '-',
|
||||
icon: icons.templates,
|
||||
icon: mdiClipboardTextOutline,
|
||||
color: 'secondary-darken-1'
|
||||
},
|
||||
{
|
||||
title: 'Scheduled Transactions',
|
||||
count: displayDataStatistics ? displayDataStatistics.totalScheduledTransactionCount : '-',
|
||||
icon: icons.scheduledTransactions,
|
||||
icon: mdiClipboardTextClockOutline,
|
||||
color: 'success-darken-1'
|
||||
}
|
||||
]">
|
||||
@@ -117,7 +117,7 @@
|
||||
<v-form>
|
||||
<v-card-text class="py-0">
|
||||
<span class="text-body-1 text-error">
|
||||
<v-icon :icon="icons.alert"/>
|
||||
<v-icon :icon="mdiAlert"/>
|
||||
{{ tt('You CANNOT undo this action. This will clear your accounts, categories, tags and transactions data. Please enter your current password to confirm.') }}
|
||||
</span>
|
||||
</v-card-text>
|
||||
@@ -192,18 +192,6 @@ const { dataStatistics, displayDataStatistics, getExportFileName } = useDataMana
|
||||
const rootStore = useRootStore();
|
||||
const userStore = useUserStore();
|
||||
|
||||
const icons = {
|
||||
refresh: mdiRefresh,
|
||||
transactions: mdiListBoxOutline,
|
||||
accounts: mdiCreditCardOutline,
|
||||
categories: mdiViewDashboardOutline,
|
||||
tags: mdiTagOutline,
|
||||
pictures: mdiImage,
|
||||
templates: mdiClipboardTextOutline,
|
||||
scheduledTransactions: mdiClipboardTextClockOutline,
|
||||
alert: mdiAlert
|
||||
};
|
||||
|
||||
const confirmDialog = useTemplateRef<ConfirmDialogType>('confirmDialog');
|
||||
const snackbar = useTemplateRef<SnackBarType>('snackbar');
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
<template #loader>
|
||||
<v-progress-circular indeterminate size="20"/>
|
||||
</template>
|
||||
<v-icon :icon="icons.refresh" size="24" />
|
||||
<v-icon :icon="mdiRefresh" size="24" />
|
||||
<v-tooltip activator="parent">{{ tt('Refresh') }}</v-tooltip>
|
||||
</v-btn>
|
||||
</div>
|
||||
@@ -176,10 +176,6 @@ const rootStore = useRootStore();
|
||||
const settingsStore = useSettingsStore();
|
||||
const tokensStore = useTokensStore();
|
||||
|
||||
const icons = {
|
||||
refresh: mdiRefresh
|
||||
};
|
||||
|
||||
const newPasswordInput = useTemplateRef<VTextField>('newPasswordInput');
|
||||
const confirmPasswordInput = useTemplateRef<VTextField>('confirmPasswordInput');
|
||||
const confirmDialog = useTemplateRef<ConfirmDialogType>('confirmDialog');
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
<v-btn id="copy-to-clipboard-icon" ref="copyToClipboardIcon"
|
||||
density="compact" color="default" variant="text" size="24"
|
||||
class="ml-2" :icon="true">
|
||||
<v-icon :icon="icons.copy" size="20" />
|
||||
<v-icon :icon="mdiContentCopy" size="20" />
|
||||
<v-tooltip activator="parent">{{ tt('Copy') }}</v-tooltip>
|
||||
</v-btn>
|
||||
</template>
|
||||
@@ -123,10 +123,6 @@ const { tt } = useI18n();
|
||||
|
||||
const twoFactorAuthStore = useTwoFactorAuthStore();
|
||||
|
||||
const icons = {
|
||||
copy: mdiContentCopy
|
||||
};
|
||||
|
||||
const snackbar = useTemplateRef<SnackBarType>('snackbar');
|
||||
const iconCopyToClipboard = useTemplateRef<unknown>('copyToClipboardIcon');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user