优化多个组件的输入框,添加图标以提升用户体验,确保提示信息的一致性和可读性。

This commit is contained in:
jxxghp
2025-05-27 21:38:25 +08:00
parent 1cfee25695
commit 3fce3bf4a7
14 changed files with 106 additions and 10 deletions
+14 -1
View File
@@ -117,7 +117,13 @@ function onClose() {
max-width="40rem" max-width="40rem"
:fullscreen="!display.mdAndUp.value" :fullscreen="!display.mdAndUp.value"
> >
<VCard :title="t('customRule.title', { id: props.rule.id })"> <VCard>
<VCardItem>
<template #prepend>
<VIcon icon="mdi-filter-outline" class="me-2" />
</template>
<VCardTitle>{{ t('customRule.title', { id: props.rule.id }) }}</VCardTitle>
</VCardItem>
<VDialogCloseBtn v-model="ruleInfoDialog" /> <VDialogCloseBtn v-model="ruleInfoDialog" />
<VDivider /> <VDivider />
<VCardText> <VCardText>
@@ -131,6 +137,7 @@ function onClose() {
:hint="t('customRule.hint.ruleId')" :hint="t('customRule.hint.ruleId')"
persistent-hint persistent-hint
active active
prepend-inner-icon="mdi-identifier"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
@@ -141,6 +148,7 @@ function onClose() {
:hint="t('customRule.hint.ruleName')" :hint="t('customRule.hint.ruleName')"
persistent-hint persistent-hint
active active
prepend-inner-icon="mdi-label"
/> />
</VCol> </VCol>
<VCol cols="12"> <VCol cols="12">
@@ -151,6 +159,7 @@ function onClose() {
:hint="t('customRule.hint.include')" :hint="t('customRule.hint.include')"
persistent-hint persistent-hint
active active
prepend-inner-icon="mdi-plus-circle"
/> />
</VCol> </VCol>
<VCol cols="12"> <VCol cols="12">
@@ -161,6 +170,7 @@ function onClose() {
:hint="t('customRule.hint.exclude')" :hint="t('customRule.hint.exclude')"
persistent-hint persistent-hint
active active
prepend-inner-icon="mdi-minus-circle"
/> />
</VCol> </VCol>
<VCol cols="6"> <VCol cols="6">
@@ -171,6 +181,7 @@ function onClose() {
:hint="t('customRule.hint.sizeRange')" :hint="t('customRule.hint.sizeRange')"
persistent-hint persistent-hint
active active
prepend-inner-icon="mdi-harddisk"
/> />
</VCol> </VCol>
<VCol cols="6"> <VCol cols="6">
@@ -181,6 +192,7 @@ function onClose() {
:hint="t('customRule.hint.seeders')" :hint="t('customRule.hint.seeders')"
persistent-hint persistent-hint
active active
prepend-inner-icon="mdi-account-group"
/> />
</VCol> </VCol>
<VCol cols="6"> <VCol cols="6">
@@ -191,6 +203,7 @@ function onClose() {
:hint="t('customRule.hint.publishTime')" :hint="t('customRule.hint.publishTime')"
persistent-hint persistent-hint
active active
prepend-inner-icon="mdi-calendar-clock"
/> />
</VCol> </VCol>
</VRow> </VRow>
@@ -243,6 +243,7 @@ function onClose() {
:hint="t('filterRule.groupName')" :hint="t('filterRule.groupName')"
persistent-hint persistent-hint
active active
prepend-inner-icon="mdi-label"
/> />
</VCol> </VCol>
<VCol cols="6" md="3"> <VCol cols="6" md="3">
@@ -253,6 +254,7 @@ function onClose() {
:hint="t('filterRule.mediaType')" :hint="t('filterRule.mediaType')"
persistent-hint persistent-hint
active active
prepend-inner-icon="mdi-movie-open"
/> />
</VCol> </VCol>
<VCol cols="6" md="3"> <VCol cols="6" md="3">
@@ -263,6 +265,7 @@ function onClose() {
:hint="t('filterRule.category')" :hint="t('filterRule.category')"
persistent-hint persistent-hint
active active
prepend-inner-icon="mdi-folder-open"
/> />
</VCol> </VCol>
</VRow> </VRow>
@@ -74,6 +74,9 @@ async function savaAlistConfig() {
<VCard> <VCard>
<VDialogCloseBtn @click="emit('close')" /> <VDialogCloseBtn @click="emit('close')" />
<VCardItem> <VCardItem>
<template #prepend>
<VIcon icon="mdi-cog-outline" class="me-2" />
</template>
<VCardTitle> <VCardTitle>
{{ t('dialog.alistConfig.title') }} {{ t('dialog.alistConfig.title') }}
</VCardTitle> </VCardTitle>
@@ -87,6 +90,7 @@ async function savaAlistConfig() {
:hint="t('dialog.alistConfig.serverUrl')" :hint="t('dialog.alistConfig.serverUrl')"
:label="t('dialog.alistConfig.serverUrl')" :label="t('dialog.alistConfig.serverUrl')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-server"
/> />
</VCol> </VCol>
<VCol cols="12" md="4"> <VCol cols="12" md="4">
@@ -96,6 +100,7 @@ async function savaAlistConfig() {
:label="t('dialog.alistConfig.loginType')" :label="t('dialog.alistConfig.loginType')"
:hint="t('dialog.alistConfig.loginType')" :hint="t('dialog.alistConfig.loginType')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-login"
/> />
</VCol> </VCol>
<VCol cols="12" md="4" v-if="loginType == 'username'"> <VCol cols="12" md="4" v-if="loginType == 'username'">
@@ -104,6 +109,7 @@ async function savaAlistConfig() {
:hint="t('dialog.alistConfig.username')" :hint="t('dialog.alistConfig.username')"
:label="t('dialog.alistConfig.username')" :label="t('dialog.alistConfig.username')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-account"
/> />
</VCol> </VCol>
<VCol cols="12" md="4" v-if="loginType == 'username'"> <VCol cols="12" md="4" v-if="loginType == 'username'">
@@ -113,6 +119,7 @@ async function savaAlistConfig() {
:hint="t('dialog.alistConfig.password')" :hint="t('dialog.alistConfig.password')"
:label="t('dialog.alistConfig.password')" :label="t('dialog.alistConfig.password')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-lock"
/> />
</VCol> </VCol>
<VCol cols="12" md="8" v-if="loginType == 'token'"> <VCol cols="12" md="8" v-if="loginType == 'token'">
@@ -121,6 +128,7 @@ async function savaAlistConfig() {
:hint="t('dialog.alistConfig.loginTypeOptions.token')" :hint="t('dialog.alistConfig.loginTypeOptions.token')"
:label="t('dialog.alistConfig.loginTypeOptions.token')" :label="t('dialog.alistConfig.loginTypeOptions.token')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-key"
/> />
</VCol> </VCol>
</VRow> </VRow>
@@ -114,6 +114,9 @@ onUnmounted(() => {
<VCard> <VCard>
<VDialogCloseBtn @click="emit('close')" /> <VDialogCloseBtn @click="emit('close')" />
<VCardItem> <VCardItem>
<template #prepend>
<VIcon icon="mdi-qrcode" class="me-2" />
</template>
<VCardTitle> <VCardTitle>
{{ t('dialog.aliyunAuth.loginTitle') }} {{ t('dialog.aliyunAuth.loginTitle') }}
</VCardTitle> </VCardTitle>
+8 -1
View File
@@ -61,6 +61,9 @@ async function handleReset() {
<VCard> <VCard>
<VDialogCloseBtn @click="emit('close')" /> <VDialogCloseBtn @click="emit('close')" />
<VCardItem> <VCardItem>
<template #prepend>
<VIcon icon="mdi-cog-outline" class="me-2" />
</template>
<VCardTitle> <VCardTitle>
{{ t('dialog.rcloneConfig.title') }} {{ t('dialog.rcloneConfig.title') }}
</VCardTitle> </VCardTitle>
@@ -69,7 +72,11 @@ async function handleReset() {
<VCardText> <VCardText>
<VRow> <VRow>
<VCol cols="12"> <VCol cols="12">
<VTextField v-model="props.conf.filepath" :label="t('dialog.rcloneConfig.filePath')" /> <VTextField
v-model="props.conf.filepath"
:label="t('dialog.rcloneConfig.filePath')"
prepend-inner-icon="mdi-file-document"
/>
</VCol> </VCol>
<VCol cols="12"> <VCol cols="12">
<VAceEditor <VAceEditor
+3
View File
@@ -119,6 +119,9 @@ onUnmounted(() => {
<VCard> <VCard>
<VDialogCloseBtn @click="emit('close')" /> <VDialogCloseBtn @click="emit('close')" />
<VCardItem> <VCardItem>
<template #prepend>
<VIcon icon="mdi-qrcode" class="me-2" />
</template>
<VCardTitle> <VCardTitle>
{{ t('dialog.u115Auth.loginTitle') }} {{ t('dialog.u115Auth.loginTitle') }}
</VCardTitle> </VCardTitle>
@@ -305,6 +305,7 @@ onMounted(() => {
:label="t('setting.directory.scrapSource')" :label="t('setting.directory.scrapSource')"
:hint="t('setting.directory.scrapSourceHint')" :hint="t('setting.directory.scrapSourceHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-database"
/> />
</VCol> </VCol>
<VCol cols="12"> <VCol cols="12">
@@ -315,6 +316,7 @@ onMounted(() => {
persistent-hint persistent-hint
clearable clearable
active active
prepend-inner-icon="mdi-movie-open"
/> />
</VCol> </VCol>
<VCol cols="12"> <VCol cols="12">
@@ -325,6 +327,7 @@ onMounted(() => {
persistent-hint persistent-hint
clearable clearable
active active
prepend-inner-icon="mdi-television"
/> />
</VCol> </VCol>
</VRow> </VRow>
@@ -418,10 +418,20 @@ onMounted(() => {
<VCardText> <VCardText>
<VRow> <VRow>
<VCol cols="6"> <VCol cols="6">
<VTextField v-model="notificationTime.start" :label="t('setting.notification.startTime')" type="time" /> <VTextField
v-model="notificationTime.start"
:label="t('setting.notification.startTime')"
type="time"
prepend-inner-icon="mdi-clock-start"
/>
</VCol> </VCol>
<VCol cols="6"> <VCol cols="6">
<VTextField v-model="notificationTime.end" :label="t('setting.notification.endTime')" type="time" /> <VTextField
v-model="notificationTime.end"
:label="t('setting.notification.endTime')"
type="time"
prepend-inner-icon="mdi-clock-end"
/>
</VCol> </VCol>
</VRow> </VRow>
</VCardText> </VCardText>
@@ -445,11 +455,16 @@ onMounted(() => {
<!-- 模板编辑器对话框 --> <!-- 模板编辑器对话框 -->
<VDialog v-model="editorVisible" v-if="editorVisible" max-width="50rem" :fullscreen="!display.mdAndUp.value"> <VDialog v-model="editorVisible" v-if="editorVisible" max-width="50rem" :fullscreen="!display.mdAndUp.value">
<VCard> <VCard>
<VCardItem> <VCardItem class="py-2">
<template #prepend>
<VIcon icon="mdi-code-json" class="me-2" />
</template>
<VCardTitle> <VCardTitle>
{{ templateTypes.find(t => t.type === currentTemplate)?.label }}
{{ t('setting.notification.templateConfigTitle') }} {{ t('setting.notification.templateConfigTitle') }}
</VCardTitle> </VCardTitle>
<VCardSubtitle>
{{ templateTypes.find(t => t.type === currentTemplate)?.label }}
</VCardSubtitle>
<VDialogCloseBtn @click="editorVisible = false" /> <VDialogCloseBtn @click="editorVisible = false" />
</VCardItem> </VCardItem>
<VCardText class="py-0"> <VCardText class="py-0">
+1
View File
@@ -501,6 +501,7 @@ onMounted(() => {
:label="t('setting.rule.currentPriorityRules')" :label="t('setting.rule.currentPriorityRules')"
:hint="t('setting.rule.currentPriorityRulesHint')" :hint="t('setting.rule.currentPriorityRulesHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-priority-high"
/> />
</VCol> </VCol>
</VRow> </VRow>
@@ -205,6 +205,7 @@ onMounted(() => {
:label="t('setting.search.mediaSource')" :label="t('setting.search.mediaSource')"
:hint="t('setting.search.mediaSourceHint')" :hint="t('setting.search.mediaSourceHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-database-search"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
@@ -217,6 +218,7 @@ onMounted(() => {
:label="t('setting.search.filterRuleGroup')" :label="t('setting.search.filterRuleGroup')"
:hint="t('setting.search.filterRuleGroupHint')" :hint="t('setting.search.filterRuleGroupHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-filter"
/> />
</VCol> </VCol>
</VRow> </VRow>
@@ -228,6 +230,7 @@ onMounted(() => {
placeholder="MOVIEPILOT" placeholder="MOVIEPILOT"
:hint="t('setting.search.downloadLabelHint')" :hint="t('setting.search.downloadLabelHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-tag"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
@@ -237,6 +240,7 @@ onMounted(() => {
:placeholder="t('setting.search.downloadUserPlaceholder')" :placeholder="t('setting.search.downloadUserPlaceholder')"
:hint="t('setting.search.downloadUserHint')" :hint="t('setting.search.downloadUserHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-account"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
+7
View File
@@ -161,6 +161,7 @@ onMounted(() => {
:disabled="siteSetting.CookieCloud.COOKIECLOUD_ENABLE_LOCAL" :disabled="siteSetting.CookieCloud.COOKIECLOUD_ENABLE_LOCAL"
:hint="t('setting.site.serviceAddressHint')" :hint="t('setting.site.serviceAddressHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-server"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
@@ -169,6 +170,7 @@ onMounted(() => {
:label="t('setting.site.userKey')" :label="t('setting.site.userKey')"
:hint="t('setting.site.userKeyHint')" :hint="t('setting.site.userKeyHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-key"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
@@ -180,6 +182,7 @@ onMounted(() => {
:label="t('setting.site.e2ePassword')" :label="t('setting.site.e2ePassword')"
:hint="t('setting.site.e2ePasswordHint')" :hint="t('setting.site.e2ePasswordHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-lock"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
@@ -189,6 +192,7 @@ onMounted(() => {
:items="CookieCloudIntervalItems" :items="CookieCloudIntervalItems"
:hint="t('setting.site.autoSyncIntervalHint')" :hint="t('setting.site.autoSyncIntervalHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-timer"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
@@ -198,6 +202,7 @@ onMounted(() => {
:placeholder="t('setting.site.syncBlacklistPlaceholder')" :placeholder="t('setting.site.syncBlacklistPlaceholder')"
:hint="t('setting.site.syncBlacklistHint')" :hint="t('setting.site.syncBlacklistHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-block-helper"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
@@ -206,6 +211,7 @@ onMounted(() => {
:label="t('setting.site.userAgent')" :label="t('setting.site.userAgent')"
:hint="t('setting.site.userAgentHint')" :hint="t('setting.site.userAgentHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-web"
/> />
</VCol> </VCol>
</VRow> </VRow>
@@ -234,6 +240,7 @@ onMounted(() => {
:items="SiteDataRefreshIntervalItems" :items="SiteDataRefreshIntervalItems"
:hint="t('setting.site.siteDataRefreshIntervalHint')" :hint="t('setting.site.siteDataRefreshIntervalHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-refresh"
/> />
</VCol> </VCol>
</VRow> </VRow>
@@ -217,6 +217,7 @@ onMounted(() => {
:label="t('setting.subscribe.mode')" :label="t('setting.subscribe.mode')"
:hint="t('setting.subscribe.modeHint')" :hint="t('setting.subscribe.modeHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-cog"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
@@ -226,6 +227,7 @@ onMounted(() => {
:label="t('setting.subscribe.rssInterval')" :label="t('setting.subscribe.rssInterval')"
:hint="t('setting.subscribe.rssIntervalHint')" :hint="t('setting.subscribe.rssIntervalHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-timer"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
@@ -238,6 +240,7 @@ onMounted(() => {
:label="t('setting.subscribe.filterRuleGroup')" :label="t('setting.subscribe.filterRuleGroup')"
:hint="t('setting.subscribe.filterRuleGroupHint')" :hint="t('setting.subscribe.filterRuleGroupHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-filter"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
@@ -250,6 +253,7 @@ onMounted(() => {
:label="t('setting.subscribe.bestVersionRuleGroup')" :label="t('setting.subscribe.bestVersionRuleGroup')"
:hint="t('setting.subscribe.bestVersionRuleGroupHint')" :hint="t('setting.subscribe.bestVersionRuleGroupHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-star"
/> />
</VCol> </VCol>
</VRow> </VRow>
+25 -4
View File
@@ -426,6 +426,7 @@ onDeactivated(() => {
:hint="t('setting.system.appDomainHint')" :hint="t('setting.system.appDomainHint')"
placeholder="http://localhost:3000" placeholder="http://localhost:3000"
persistent-hint persistent-hint
prepend-inner-icon="mdi-web"
/> />
</VCol> </VCol>
@@ -438,6 +439,7 @@ onDeactivated(() => {
:hint="t('setting.system.wallpaperHint')" :hint="t('setting.system.wallpaperHint')"
persistent-hint persistent-hint
:items="wallpaperItems" :items="wallpaperItems"
prepend-inner-icon="mdi-image"
/> />
</VCol> </VCol>
@@ -449,6 +451,7 @@ onDeactivated(() => {
:placeholder="t('setting.system.customizeWallpaperApi')" :placeholder="t('setting.system.customizeWallpaperApi')"
persistent-hint persistent-hint
:rules="[v => !!v || t('setting.system.customizeWallpaperApiRequired')]" :rules="[v => !!v || t('setting.system.customizeWallpaperApiRequired')]"
prepend-inner-icon="mdi-api"
/> />
</VCol> </VCol>
</VRow> </VRow>
@@ -463,6 +466,7 @@ onDeactivated(() => {
{ title: 'TheMovieDb', value: 'themoviedb' }, { title: 'TheMovieDb', value: 'themoviedb' },
{ title: '豆瓣', value: 'douban' }, { title: '豆瓣', value: 'douban' },
]" ]"
prepend-inner-icon="mdi-database"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
@@ -479,6 +483,7 @@ onDeactivated(() => {
(v: any) => !isNaN(v) || t('setting.system.numbersOnly'), (v: any) => !isNaN(v) || t('setting.system.numbersOnly'),
(v: any) => v >= 1 || t('setting.system.minInterval'), (v: any) => v >= 1 || t('setting.system.minInterval'),
]" ]"
prepend-inner-icon="mdi-sync"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
@@ -488,10 +493,11 @@ onDeactivated(() => {
:hint="t('setting.system.apiTokenHint')" :hint="t('setting.system.apiTokenHint')"
:placeholder="t('setting.system.apiTokenMinChars')" :placeholder="t('setting.system.apiTokenMinChars')"
persistent-hint persistent-hint
prependInnerIcon="mdi-reload" prepend-inner-icon="mdi-key"
:appendInnerIcon="SystemSettings.Basic.API_TOKEN ? 'mdi-content-copy' : ''" :append-inner-icon="SystemSettings.Basic.API_TOKEN ? 'mdi-content-copy' : 'mdi-reload'"
@click:prependInner="createRandomString" @click:append-inner="
@click:appendInner="copyValue(SystemSettings.Basic.API_TOKEN)" SystemSettings.Basic.API_TOKEN ? copyValue(SystemSettings.Basic.API_TOKEN) : createRandomString()
"
:rules="[ :rules="[
(v: string) => !!v || t('setting.system.apiTokenRequired'), (v: string) => !!v || t('setting.system.apiTokenRequired'),
(v: string) => v.length >= 16 || t('setting.system.apiTokenLength'), (v: string) => v.length >= 16 || t('setting.system.apiTokenLength'),
@@ -505,6 +511,7 @@ onDeactivated(() => {
:placeholder="t('setting.system.githubTokenFormat')" :placeholder="t('setting.system.githubTokenFormat')"
:hint="t('setting.system.githubTokenHint')" :hint="t('setting.system.githubTokenHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-github"
> >
</VTextField> </VTextField>
</VCol> </VCol>
@@ -515,6 +522,7 @@ onDeactivated(() => {
placeholder="https://movie-pilot.org" placeholder="https://movie-pilot.org"
:hint="t('setting.system.ocrHostHint')" :hint="t('setting.system.ocrHostHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-text-recognition"
/> />
</VCol> </VCol>
</VRow> </VRow>
@@ -736,6 +744,7 @@ onDeactivated(() => {
persistent-hint persistent-hint
:items="['api.themoviedb.org', 'api.tmdb.org']" :items="['api.themoviedb.org', 'api.tmdb.org']"
:rules="[(v: string) => !!v || t('setting.system.tmdbApiDomainRequired')]" :rules="[(v: string) => !!v || t('setting.system.tmdbApiDomainRequired')]"
prepend-inner-icon="mdi-api"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
@@ -747,6 +756,7 @@ onDeactivated(() => {
persistent-hint persistent-hint
:items="['image.tmdb.org', 'static-mdb.v.geilijiasu.com']" :items="['image.tmdb.org', 'static-mdb.v.geilijiasu.com']"
:rules="[(v: string) => !!v || t('setting.system.tmdbImageDomainRequired')]" :rules="[(v: string) => !!v || t('setting.system.tmdbImageDomainRequired')]"
prepend-inner-icon="mdi-image"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
@@ -757,6 +767,7 @@ onDeactivated(() => {
:hint="t('setting.system.tmdbLocaleHint')" :hint="t('setting.system.tmdbLocaleHint')"
persistent-hint persistent-hint
:items="tmdbLanguageItems" :items="tmdbLanguageItems"
prepend-inner-icon="mdi-translate"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
@@ -772,6 +783,7 @@ onDeactivated(() => {
(v: any) => v === 0 || !!v || t('setting.system.metaCacheExpireRequired'), (v: any) => v === 0 || !!v || t('setting.system.metaCacheExpireRequired'),
(v: any) => v >= 0 || t('setting.system.metaCacheExpireMin'), (v: any) => v >= 0 || t('setting.system.metaCacheExpireMin'),
]" ]"
prepend-inner-icon="mdi-timer"
/> />
</VCol> </VCol>
</VRow> </VRow>
@@ -815,6 +827,7 @@ onDeactivated(() => {
persistent-hint persistent-hint
:items="githubMirrorsItems" :items="githubMirrorsItems"
clearable clearable
prepend-inner-icon="mdi-github"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
@@ -826,6 +839,7 @@ onDeactivated(() => {
persistent-hint persistent-hint
:items="pipMirrorsItems" :items="pipMirrorsItems"
clearable clearable
prepend-inner-icon="mdi-package"
/> />
</VCol> </VCol>
</VRow> </VRow>
@@ -845,6 +859,7 @@ onDeactivated(() => {
:placeholder="t('setting.system.dohResolversPlaceholder')" :placeholder="t('setting.system.dohResolversPlaceholder')"
:hint="t('setting.system.dohResolversHint')" :hint="t('setting.system.dohResolversHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-dns"
/> />
</VCol> </VCol>
<VCol cols="12" v-show="SystemSettings.Advanced.DOH_ENABLE"> <VCol cols="12" v-show="SystemSettings.Advanced.DOH_ENABLE">
@@ -854,6 +869,7 @@ onDeactivated(() => {
:placeholder="t('setting.system.dohDomainsPlaceholder')" :placeholder="t('setting.system.dohDomainsPlaceholder')"
:hint="t('setting.system.dohDomainsHint')" :hint="t('setting.system.dohDomainsHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-domain"
/> />
</VCol> </VCol>
</VRow> </VRow>
@@ -885,6 +901,7 @@ onDeactivated(() => {
:placeholder="t('setting.system.securityImageDomainAdd')" :placeholder="t('setting.system.securityImageDomainAdd')"
hide-details hide-details
density="compact" density="compact"
prepend-inner-icon="mdi-shield-check"
> >
<template #append> <template #append>
<VBtn icon color="primary" @click="addSecurityDomain" :disabled="!newSecurityDomain"> <VBtn icon color="primary" @click="addSecurityDomain" :disabled="!newSecurityDomain">
@@ -918,6 +935,7 @@ onDeactivated(() => {
:hint="t('setting.system.logLevelHint')" :hint="t('setting.system.logLevelHint')"
persistent-hint persistent-hint
:items="logLevelItems" :items="logLevelItems"
prepend-inner-icon="mdi-format-list-bulleted"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
@@ -930,6 +948,7 @@ onDeactivated(() => {
type="number" type="number"
:suffix="t('setting.system.mb')" :suffix="t('setting.system.mb')"
:rules="[(v: any) => v === 0 || !!v || t('setting.system.logMaxFileSizeRequired'), (v: any) => v >= 1 || t('setting.system.logMaxFileSizeMin')]" :rules="[(v: any) => v === 0 || !!v || t('setting.system.logMaxFileSizeRequired'), (v: any) => v >= 1 || t('setting.system.logMaxFileSizeMin')]"
prepend-inner-icon="mdi-file-document"
/> />
</VCol> </VCol>
<VCol cols="12" md="6"> <VCol cols="12" md="6">
@@ -941,6 +960,7 @@ onDeactivated(() => {
min="1" min="1"
type="number" type="number"
:rules="[(v: any) => v === 0 || !!v || t('setting.system.logBackupCountRequired'), (v: any) => v >= 1 || t('setting.system.logBackupCountMin')]" :rules="[(v: any) => v === 0 || !!v || t('setting.system.logBackupCountRequired'), (v: any) => v >= 1 || t('setting.system.logBackupCountMin')]"
prepend-inner-icon="mdi-backup-restore"
/> />
</VCol> </VCol>
<VCol cols="12"> <VCol cols="12">
@@ -949,6 +969,7 @@ onDeactivated(() => {
:label="t('setting.system.logFileFormat')" :label="t('setting.system.logFileFormat')"
:hint="t('setting.system.logFileFormatHint')" :hint="t('setting.system.logFileFormatHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-format-text"
/> />
</VCol> </VCol>
</VRow> </VRow>
@@ -143,6 +143,7 @@ onMounted(() => {
:placeholder="t('setting.words.identifiersPlaceholder')" :placeholder="t('setting.words.identifiersPlaceholder')"
:hint="t('setting.words.identifiersHint')" :hint="t('setting.words.identifiersHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-tag-text"
/> />
</VCardText> </VCardText>
<VCardText> <VCardText>
@@ -173,6 +174,7 @@ onMounted(() => {
:placeholder="t('setting.words.releaseGroupsPlaceholder')" :placeholder="t('setting.words.releaseGroupsPlaceholder')"
:hint="t('setting.words.releaseGroupsHint')" :hint="t('setting.words.releaseGroupsHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-account-group"
/> />
</VCardText> </VCardText>
<VCardText> <VCardText>
@@ -198,6 +200,7 @@ onMounted(() => {
:placeholder="t('setting.words.customizationPlaceholder')" :placeholder="t('setting.words.customizationPlaceholder')"
:hint="t('setting.words.customizationHint')" :hint="t('setting.words.customizationHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-code-braces"
/> />
</VCardText> </VCardText>
<VCardText> <VCardText>
@@ -223,6 +226,7 @@ onMounted(() => {
:placeholder="t('setting.words.excludeWordsPlaceholder')" :placeholder="t('setting.words.excludeWordsPlaceholder')"
:hint="t('setting.words.excludeWordsHint')" :hint="t('setting.words.excludeWordsHint')"
persistent-hint persistent-hint
prepend-inner-icon="mdi-block-helper"
/> />
</VCardText> </VCardText>
<VCardText> <VCardText>