mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-09-04 23:18:44 +08:00
优化 App.vue 中的国际化代码,调整 LoadingBanner 组件的样式,增加 SubscribeFilesDialog 组件的加载状态管理。
This commit is contained in:
@@ -7,7 +7,7 @@ const props = defineProps({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="w-full text-center text-gray-500 text-sm flex flex-col items-center">
|
<div class="w-full text-center text-gray-500 text-sm flex flex-col items-center mb-5">
|
||||||
<VProgressCircular v-if="!props.text || !props.progress" class="mb-3" size="64" indeterminate color="primary" />
|
<VProgressCircular v-if="!props.text || !props.progress" class="mb-3" size="64" indeterminate color="primary" />
|
||||||
<VProgressCircular v-if="props.progress" class="mb-3" color="primary" :model-value="props.progress" size="64" />
|
<VProgressCircular v-if="props.progress" class="mb-3" color="primary" :model-value="props.progress" size="64" />
|
||||||
<span>{{ props.text }}</span>
|
<span>{{ props.text }}</span>
|
||||||
|
|||||||
@@ -4,13 +4,9 @@ import { checkPrefersColorSchemeIsDark } from '@/@core/utils'
|
|||||||
import { ensureRenderComplete, removeEl } from './@core/utils/dom'
|
import { ensureRenderComplete, removeEl } from './@core/utils/dom'
|
||||||
import api from '@/api'
|
import api from '@/api'
|
||||||
import { useAuthStore } from '@/stores/auth'
|
import { useAuthStore } from '@/stores/auth'
|
||||||
import { useI18n } from 'vue-i18n'
|
|
||||||
import { getBrowserLocale, setI18nLanguage } from './plugins/i18n'
|
import { getBrowserLocale, setI18nLanguage } from './plugins/i18n'
|
||||||
import { SupportedLocale } from '@/types/i18n'
|
import { SupportedLocale } from '@/types/i18n'
|
||||||
|
|
||||||
// 国际化
|
|
||||||
const { t } = useI18n()
|
|
||||||
|
|
||||||
// 生效主题
|
// 生效主题
|
||||||
const { global: globalTheme } = useTheme()
|
const { global: globalTheme } = useTheme()
|
||||||
let themeValue = localStorage.getItem('theme') || 'light'
|
let themeValue = localStorage.getItem('theme') || 'light'
|
||||||
|
|||||||
@@ -23,6 +23,9 @@ const emit = defineEmits(['close'])
|
|||||||
// 订阅文件信息
|
// 订阅文件信息
|
||||||
const subScribeInfo = ref<SubscrbieInfo>()
|
const subScribeInfo = ref<SubscrbieInfo>()
|
||||||
|
|
||||||
|
// 是否加载中
|
||||||
|
const loading = ref(false)
|
||||||
|
|
||||||
// 下载文件表头
|
// 下载文件表头
|
||||||
const downloadHeaders = [
|
const downloadHeaders = [
|
||||||
{ title: t('dialog.subscribeFiles.episodeColumn'), key: 'episode_number', sortable: true },
|
{ title: t('dialog.subscribeFiles.episodeColumn'), key: 'episode_number', sortable: true },
|
||||||
@@ -39,9 +42,12 @@ const libraryHeaders = [
|
|||||||
// 调用API查询订阅文件信息
|
// 调用API查询订阅文件信息
|
||||||
async function loadSubscribeFilesInfo() {
|
async function loadSubscribeFilesInfo() {
|
||||||
try {
|
try {
|
||||||
|
loading.value = true
|
||||||
subScribeInfo.value = await api.get(`subscribe/files/${props.subid}`)
|
subScribeInfo.value = await api.get(`subscribe/files/${props.subid}`)
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
|
} finally {
|
||||||
|
loading.value = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,7 +90,8 @@ onBeforeMount(() => {
|
|||||||
<VCardItem class="my-2">
|
<VCardItem class="my-2">
|
||||||
<VDialogCloseBtn @click="emit('close')" />
|
<VDialogCloseBtn @click="emit('close')" />
|
||||||
</VCardItem>
|
</VCardItem>
|
||||||
<VCardText>
|
<LoadingBanner v-if="loading" />
|
||||||
|
<VCardText v-else>
|
||||||
<div class="media-page">
|
<div class="media-page">
|
||||||
<div class="media-header">
|
<div class="media-header">
|
||||||
<div class="media-poster">
|
<div class="media-poster">
|
||||||
|
|||||||
Reference in New Issue
Block a user