fix ui warnings

This commit is contained in:
jxxghp
2025-04-13 16:00:31 +08:00
parent 8b53cd0a09
commit cb5bccc945
12 changed files with 70 additions and 70 deletions

View File

@@ -20,13 +20,13 @@ export const storageOptions = [
{
title: 'RClone',
value: 'rclone',
icon: 'mdi-cloud-outline',
icon: 'mdi-server-network-outline',
remote: true,
},
{
title: 'AList',
value: 'alist',
icon: 'mdi-cloud-outline',
icon: 'mdi-server-network-outline',
remote: true,
},
]

View File

@@ -1,5 +1,4 @@
<script lang="ts" setup>
import type { Axios } from 'axios'
import FileList from './filebrowser/FileList.vue'
import FileToolbar from './filebrowser/FileToolbar.vue'
import FileNavigator from './filebrowser/FileNavigator.vue'
@@ -13,7 +12,7 @@ const props = defineProps({
tree: Boolean,
endpoints: Object as PropType<EndPoints>,
axios: {
type: Object as PropType<Axios>,
type: Function,
required: true,
},
axiosconfig: Object,
@@ -220,7 +219,6 @@ const fileListStyle = computed(() => {
@navigate="pathChanged"
/>
<FileList
class="flex-grow"
:item="item"
:storage="activeStorage"
:icons="fileIcons"

View File

@@ -66,7 +66,6 @@ const notificationTypes = [
function openNotificationInfoDialog() {
// 替换成深复制,避免修改时影响原数据
notificationInfo.value = cloneDeep(props.notification)
console.log(`当前卡片的通知信息:${JSON.stringify(notificationInfo.value)}`)
notificationInfoDialog.value = true
}

View File

@@ -128,45 +128,47 @@ onMounted(() => {
})
</script>
<template>
<VCard variant="tonal" @click="openStorageDialog">
<VCardText class="flex justify-space-between align-center gap-3">
<div class="align-self-start flex-1">
<h5 class="text-h6 mb-1">{{ storage.name }}</h5>
<div class="mb-3 text-sm" v-if="total">{{ formatBytes(used, 1) }} / {{ formatBytes(total, 1) }}</div>
<div v-else-if="isNullOrEmptyObject(storage.config)">未配置</div>
<div>
<VCard variant="tonal" @click="openStorageDialog">
<VCardText class="flex justify-space-between align-center gap-3">
<div class="align-self-start flex-1">
<h5 class="text-h6 mb-1">{{ storage.name }}</h5>
<div class="mb-3 text-sm" v-if="total">{{ formatBytes(used, 1) }} / {{ formatBytes(total, 1) }}</div>
<div v-else-if="isNullOrEmptyObject(storage.config)">未配置</div>
</div>
<VImg :src="getIcon" cover class="mt-5" max-width="3rem" min-width="3rem" />
</VCardText>
<div class="w-full absolute bottom-0">
<VProgressLinear v-if="usage > 0" :model-value="usage" :bg-color="progressColor" :color="progressColor" />
</div>
<VImg :src="getIcon" cover class="mt-5" max-width="3rem" min-width="3rem" />
</VCardText>
<div class="w-full absolute bottom-0">
<VProgressLinear v-if="usage > 0" :model-value="usage" :bg-color="progressColor" :color="progressColor" />
</div>
</VCard>
<AliyunAuthDialog
v-if="aliyunAuthDialog"
v-model="aliyunAuthDialog"
:conf="props.storage.config || {}"
@close="aliyunAuthDialog = false"
@done="handleDone"
/>
<U115AuthDialog
v-if="u115AuthDialog"
v-model="u115AuthDialog"
:conf="props.storage.config || {}"
@close="u115AuthDialog = false"
@done="handleDone"
/>
<RcloneConfigDialog
v-if="rcloneConfigDialog"
v-model="rcloneConfigDialog"
:conf="props.storage.config || {}"
@close="rcloneConfigDialog = false"
@done="handleDone"
/>
<AlistConfigDialog
v-if="aListConfigDialog"
v-model="aListConfigDialog"
:conf="props.storage.config || {}"
@close="aListConfigDialog = false"
@done="handleDone"
/>
</VCard>
<AliyunAuthDialog
v-if="aliyunAuthDialog"
v-model="aliyunAuthDialog"
:conf="props.storage.config || {}"
@close="aliyunAuthDialog = false"
@done="handleDone"
/>
<U115AuthDialog
v-if="u115AuthDialog"
v-model="u115AuthDialog"
:conf="props.storage.config || {}"
@close="u115AuthDialog = false"
@done="handleDone"
/>
<RcloneConfigDialog
v-if="rcloneConfigDialog"
v-model="rcloneConfigDialog"
:conf="props.storage.config || {}"
@close="rcloneConfigDialog = false"
@done="handleDone"
/>
<AlistConfigDialog
v-if="aListConfigDialog"
v-model="aListConfigDialog"
:conf="props.storage.config || {}"
@close="aListConfigDialog = false"
@done="handleDone"
/>
</div>
</template>

View File

@@ -1,5 +1,5 @@
<script lang="ts" setup>
import type { Axios, AxiosRequestConfig } from 'axios'
import type { AxiosRequestConfig } from 'axios'
import type { PropType } from 'vue'
import { useConfirm } from 'vuetify-use-dialog'
import { useToast } from 'vue-toast-notification'
@@ -20,7 +20,7 @@ const inProps = defineProps({
storage: String,
endpoints: Object as PropType<EndPoints>,
axios: {
type: Object as PropType<Axios>,
type: Function,
required: true,
},
refreshpending: Boolean,
@@ -686,7 +686,7 @@ onMounted(() => {
<VCardText v-else-if="!loading" class="grow d-flex justify-center align-center grey--text py-5"> 空目录 </VCardText>
</VCard>
<!-- 重命名弹窗 -->
<VDialog v-if="renamePopper" v-model="renamePopper" max-width="50rem">
<VDialog v-if="renamePopper" v-model="renamePopper" max-width="35rem">
<VCard title="重命名">
<DialogCloseBtn @click="renamePopper = false" />
<VDivider />
@@ -695,7 +695,7 @@ onMounted(() => {
<VCol cols="12">
<VTextField v-model="newName" label="新名称" :loading="renameLoading" />
</VCol>
<VCol cols="12" md="6" v-if="currentItem && currentItem.type == 'dir'">
<VCol cols="12" v-if="currentItem && currentItem.type == 'dir'">
<VSwitch v-model="renameAll" label="自动重命名目录内所有媒体文件" />
</VCol>
</VRow>

View File

@@ -2,7 +2,7 @@
import type { PropType } from 'vue'
import type { FileItem } from '@/api/types'
import { useDisplay } from 'vuetify'
import type { Axios, AxiosRequestConfig } from 'axios'
import type { AxiosRequestConfig } from 'axios'
// 显示器宽度
const display = useDisplay()
@@ -23,7 +23,7 @@ const props = defineProps({
},
endpoints: Object,
axios: {
type: Object as PropType<Axios>,
type: Function,
required: true,
},
})

View File

@@ -1,5 +1,5 @@
<script lang="ts" setup>
import type { Axios, AxiosRequestConfig } from 'axios'
import type { AxiosRequestConfig } from 'axios'
import type { EndPoints, FileItem } from '@/api/types'
import { useDisplay } from 'vuetify'
@@ -20,7 +20,7 @@ const inProps = defineProps({
},
endpoints: Object as PropType<EndPoints>,
axios: {
type: Object as PropType<Axios>,
type: Function,
required: true,
},
})
@@ -117,9 +117,9 @@ const sortIcon = computed(() => {
<template>
<VToolbar flat dense class="rounded-t-lg border-b overflow-hidden">
<VToolbarItems class="overflow-hidden">
<VMenu v-if="inProps.storages?.length || 0 > 1" offset-y>
<VMenu v-if="storages?.length || 0 > 1" offset-y>
<template #activator="{ props }">
<VBtn>
<VBtn v-bind="props">
<VIcon icon="mdi-arrow-down-drop-circle-outline" />
</VBtn>
</template>
@@ -131,7 +131,7 @@ const sortIcon = computed(() => {
@click="changeStorage(item.value)"
>
<template #prepend>
<Icon :icon="item.icon" />
<VIcon :icon="item.icon" />
</template>
<VListItemTitle>{{ item.title }}</VListItemTitle>
</VListItem>
@@ -161,10 +161,10 @@ const sortIcon = computed(() => {
<IconBtn @click="goUp">
<VIcon icon="mdi-arrow-up-bold-outline" />
</IconBtn>
<VDialog v-model="newFolderPopper" max-width="50rem">
<VDialog v-model="newFolderPopper" max-width="35rem">
<template #activator="{ props }">
<IconBtn>
<VIcon v-bind="_props" icon="mdi-folder-plus-outline" />
<VIcon v-bind="props" icon="mdi-folder-plus-outline" />
</IconBtn>
</template>
<VCard title="新建文件夹">

View File

@@ -26,5 +26,5 @@ const themes: ThemeSwitcherTheme[] = [
</script>
<template>
<ThemeSwitcher class="ms-2" :themes="themes" />
<ThemeSwitcher :themes="themes" />
</template>

View File

@@ -241,12 +241,16 @@ onUnmounted(() => {
<div v-if="isRefreshed && dataList.length > 0 && !isViewChanging" class="search-results-container">
<!-- 卡片视图模式 -->
<VFadeTransition>
<TorrentCardListView v-if="viewType === 'card'" :items="dataList" />
<div>
<TorrentCardListView v-if="viewType === 'card'" :items="dataList" />
</div>
</VFadeTransition>
<!-- 列表视图模式 -->
<VFadeTransition>
<TorrentRowListView v-if="viewType === 'row'" :items="dataList" />
<div>
<TorrentRowListView v-if="viewType === 'row'" :items="dataList" />
</div>
</VFadeTransition>
</div>

View File

@@ -454,13 +454,12 @@ onMounted(async () => {
<div v-if="isAppMarketLoaded" class="bg-transparent mb-3 shadow-none">
<VRow>
<VCol cols="6" md="">
<VTextField v-model="filterForm.name" size="small" density="compact" label="名称" clearable />
<VTextField v-model="filterForm.name" density="compact" label="名称" clearable />
</VCol>
<VCol v-if="authorFilterOptions.length > 0" cols="6" md="">
<VSelect
v-model="filterForm.author"
:items="authorFilterOptions"
size="small"
density="compact"
chips
label="作者"
@@ -472,7 +471,6 @@ onMounted(async () => {
<VSelect
v-model="filterForm.label"
:items="labelFilterOptions"
size="small"
density="compact"
chips
label="标签"
@@ -484,7 +482,6 @@ onMounted(async () => {
<VSelect
v-model="filterForm.repo"
:items="repoFilterOptions"
size="small"
density="compact"
chips
label="插件库"
@@ -493,7 +490,7 @@ onMounted(async () => {
/>
</VCol>
<VCol v-if="repoFilterOptions.length > 0" cols="6" md="">
<VSelect v-model="activeSort" :items="sortOptions" size="small" density="compact" label="排序" />
<VSelect v-model="activeSort" :items="sortOptions" density="compact" label="排序" />
</VCol>
</VRow>
</div>

View File

@@ -648,7 +648,7 @@ onMounted(fetchData)
<VDivider />
<div class="flex items-center justify-between">
<div class="w-auto">
<VSelect v-model="itemsPerPage" :items="pageRange" density="compact" variant="tonal" flat />
<VSelect v-model="itemsPerPage" :items="pageRange" density="compact" flat />
</div>
<div class="w-auto text-sm">{{ pageTip.begin }} - {{ pageTip.end }} / {{ totalItems }}</div>
<VPagination