mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-09-07 00:36:41 +08:00
Merge pull request #112 from hotlcc/develop-20240424-VDialog优化
This commit is contained in:
@@ -11,6 +11,10 @@ import { isNullOrEmptyObject } from '@core/utils'
|
|||||||
import noImage from '@images/logos/plugin.png'
|
import noImage from '@images/logos/plugin.png'
|
||||||
import { getDominantColor } from '@/@core/utils/image'
|
import { getDominantColor } from '@/@core/utils/image'
|
||||||
import store from '@/store'
|
import store from '@/store'
|
||||||
|
import { useDisplay } from 'vuetify'
|
||||||
|
|
||||||
|
// 显示器宽度
|
||||||
|
const displayWidth = useDisplay().width
|
||||||
|
|
||||||
// 输入参数
|
// 输入参数
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
@@ -477,6 +481,7 @@ watch(() => props.plugin?.has_update, (newHasUpdate, oldHasUpdate) => {
|
|||||||
v-model="pluginConfigDialog"
|
v-model="pluginConfigDialog"
|
||||||
scrollable
|
scrollable
|
||||||
max-width="60rem"
|
max-width="60rem"
|
||||||
|
:fullscreen="displayWidth < (60 * 16)"
|
||||||
>
|
>
|
||||||
<VCard
|
<VCard
|
||||||
:title="`${props.plugin?.plugin_name} - 配置`"
|
:title="`${props.plugin?.plugin_name} - 配置`"
|
||||||
@@ -511,6 +516,7 @@ watch(() => props.plugin?.has_update, (newHasUpdate, oldHasUpdate) => {
|
|||||||
v-model="pluginInfoDialog"
|
v-model="pluginInfoDialog"
|
||||||
scrollable
|
scrollable
|
||||||
max-width="80rem"
|
max-width="80rem"
|
||||||
|
:fullscreen="displayWidth < (80 * 16)"
|
||||||
>
|
>
|
||||||
<VCard
|
<VCard
|
||||||
:title="`${props.plugin?.plugin_name}`"
|
:title="`${props.plugin?.plugin_name}`"
|
||||||
|
|||||||
@@ -8,6 +8,10 @@ import api from '@/api'
|
|||||||
import type { Site, SiteStatistic } from '@/api/types'
|
import type { Site, SiteStatistic } from '@/api/types'
|
||||||
import ExistIcon from '@core/components/ExistIcon.vue'
|
import ExistIcon from '@core/components/ExistIcon.vue'
|
||||||
import { isNullOrEmptyObject } from '@/@core/utils'
|
import { isNullOrEmptyObject } from '@/@core/utils'
|
||||||
|
import { useDisplay } from 'vuetify'
|
||||||
|
|
||||||
|
// 显示器宽度
|
||||||
|
const displayWidth = useDisplay().width
|
||||||
|
|
||||||
// 输入参数
|
// 输入参数
|
||||||
const cardProps = defineProps({
|
const cardProps = defineProps({
|
||||||
@@ -310,9 +314,11 @@ onMounted(() => {
|
|||||||
<VDialog
|
<VDialog
|
||||||
v-model="siteCookieDialog"
|
v-model="siteCookieDialog"
|
||||||
max-width="50rem"
|
max-width="50rem"
|
||||||
|
:fullscreen="displayWidth < (50 * 16)"
|
||||||
>
|
>
|
||||||
<!-- Dialog Content -->
|
<!-- Dialog Content -->
|
||||||
<VCard title="更新站点Cookie & UA">
|
<VCard title="更新站点Cookie & UA">
|
||||||
|
<DialogCloseBtn @click="siteCookieDialog=false" />
|
||||||
<VCardText>
|
<VCardText>
|
||||||
<VForm @submit.prevent="() => {}">
|
<VForm @submit.prevent="() => {}">
|
||||||
<VRow>
|
<VRow>
|
||||||
@@ -381,6 +387,7 @@ onMounted(() => {
|
|||||||
max-width="80rem"
|
max-width="80rem"
|
||||||
scrollable
|
scrollable
|
||||||
z-index="1010"
|
z-index="1010"
|
||||||
|
:fullscreen="displayWidth < (80 * 16)"
|
||||||
>
|
>
|
||||||
<!-- Dialog Content -->
|
<!-- Dialog Content -->
|
||||||
<VCard :title="`浏览站点 - ${cardProps.site?.name}`">
|
<VCard :title="`浏览站点 - ${cardProps.site?.name}`">
|
||||||
|
|||||||
@@ -4,6 +4,10 @@ import TmdbSelector from '../misc/TmdbSelector.vue'
|
|||||||
import store from '@/store'
|
import store from '@/store'
|
||||||
import api from '@/api'
|
import api from '@/api'
|
||||||
import { numberValidator } from '@/@validators'
|
import { numberValidator } from '@/@validators'
|
||||||
|
import { useDisplay } from 'vuetify'
|
||||||
|
|
||||||
|
// 显示器宽度
|
||||||
|
const displayWidth = useDisplay().width
|
||||||
|
|
||||||
// 输入参数
|
// 输入参数
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
@@ -144,6 +148,7 @@ async function transfer() {
|
|||||||
<VDialog
|
<VDialog
|
||||||
scrollable
|
scrollable
|
||||||
max-width="60rem"
|
max-width="60rem"
|
||||||
|
:fullscreen="displayWidth < (60 * 16)"
|
||||||
>
|
>
|
||||||
<VCard
|
<VCard
|
||||||
:title="`${props.path ? `整理 - ${props.path}` : `整理 - 共 ${props.logids?.length} 条记录`}`"
|
:title="`${props.path ? `整理 - ${props.path}` : `整理 - 共 ${props.logids?.length} 条记录`}`"
|
||||||
|
|||||||
@@ -4,6 +4,10 @@ import type { Site } from '@/api/types'
|
|||||||
import { doneNProgress, startNProgress } from '@/api/nprogress'
|
import { doneNProgress, startNProgress } from '@/api/nprogress'
|
||||||
import { numberValidator, requiredValidator } from '@/@validators'
|
import { numberValidator, requiredValidator } from '@/@validators'
|
||||||
import api from '@/api'
|
import api from '@/api'
|
||||||
|
import { useDisplay } from 'vuetify'
|
||||||
|
|
||||||
|
// 显示器宽度
|
||||||
|
const displayWidth = useDisplay().width
|
||||||
|
|
||||||
// 输入参数
|
// 输入参数
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
@@ -125,6 +129,7 @@ async function updateSiteInfo() {
|
|||||||
persistent
|
persistent
|
||||||
eager
|
eager
|
||||||
max-width="60rem"
|
max-width="60rem"
|
||||||
|
:fullscreen="displayWidth < (60 * 16)"
|
||||||
>
|
>
|
||||||
<VCard
|
<VCard
|
||||||
:title="`${props.oper === 'add' ? '新增' : '编辑'}站点${props.oper !== 'add' ? ` - ${siteForm.name}` : ''}`"
|
:title="`${props.oper === 'add' ? '新增' : '编辑'}站点${props.oper !== 'add' ? ` - ${siteForm.name}` : ''}`"
|
||||||
|
|||||||
@@ -3,6 +3,10 @@ import { useToast } from 'vue-toast-notification'
|
|||||||
import { numberValidator } from '@/@validators'
|
import { numberValidator } from '@/@validators'
|
||||||
import api from '@/api'
|
import api from '@/api'
|
||||||
import type { Site, Subscribe } from '@/api/types'
|
import type { Site, Subscribe } from '@/api/types'
|
||||||
|
import { useDisplay } from 'vuetify'
|
||||||
|
|
||||||
|
// 显示器宽度
|
||||||
|
const displayWidth = useDisplay().width
|
||||||
|
|
||||||
// 输入参数
|
// 输入参数
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
@@ -270,6 +274,7 @@ onMounted(() => {
|
|||||||
<VDialog
|
<VDialog
|
||||||
scrollable
|
scrollable
|
||||||
max-width="60rem"
|
max-width="60rem"
|
||||||
|
:fullscreen="displayWidth < (60 * 16)"
|
||||||
>
|
>
|
||||||
<VCard
|
<VCard
|
||||||
:title="`${props.default ? `${props.type}默认订阅规则` : `编辑订阅 - ${subscribeForm.name} ${subscribeForm.season ? `第 ${subscribeForm.season} 季` : ''}`}`"
|
:title="`${props.default ? `${props.type}默认订阅规则` : `编辑订阅 - ${subscribeForm.name} ${subscribeForm.season ? `第 ${subscribeForm.season} 季` : ''}`}`"
|
||||||
|
|||||||
@@ -2,6 +2,10 @@
|
|||||||
import api from '@/api';
|
import api from '@/api';
|
||||||
import { Subscribe } from '@/api/types';
|
import { Subscribe } from '@/api/types';
|
||||||
import { formatDateDifference } from '@core/utils/formatters'
|
import { formatDateDifference } from '@core/utils/formatters'
|
||||||
|
import { useDisplay } from 'vuetify'
|
||||||
|
|
||||||
|
// 显示器宽度
|
||||||
|
const displayWidth = useDisplay().width
|
||||||
|
|
||||||
// 输入参数
|
// 输入参数
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
@@ -133,7 +137,7 @@ const dropdownItems = ref([
|
|||||||
<VDialog
|
<VDialog
|
||||||
scrollable
|
scrollable
|
||||||
max-width="50rem"
|
max-width="50rem"
|
||||||
max-height="90vh"
|
:fullscreen="displayWidth < (50 * 16)"
|
||||||
>
|
>
|
||||||
<VCard
|
<VCard
|
||||||
class="mx-auto"
|
class="mx-auto"
|
||||||
|
|||||||
@@ -7,6 +7,10 @@ import ModuleTestView from '@/views/system/ModuleTestView.vue'
|
|||||||
import MessageView from '@/views/system/MessageView.vue'
|
import MessageView from '@/views/system/MessageView.vue'
|
||||||
import store from '@/store'
|
import store from '@/store'
|
||||||
import api from '@/api'
|
import api from '@/api'
|
||||||
|
import { useDisplay } from 'vuetify'
|
||||||
|
|
||||||
|
// 显示器宽度
|
||||||
|
const displayWidth = useDisplay().width
|
||||||
|
|
||||||
// App捷径
|
// App捷径
|
||||||
const appsMenu = ref(false)
|
const appsMenu = ref(false)
|
||||||
@@ -245,6 +249,7 @@ onMounted(() => {
|
|||||||
v-if="nameTestDialog"
|
v-if="nameTestDialog"
|
||||||
v-model="nameTestDialog"
|
v-model="nameTestDialog"
|
||||||
max-width="50rem"
|
max-width="50rem"
|
||||||
|
:fullscreen="displayWidth < (50 * 16)"
|
||||||
>
|
>
|
||||||
<VCard title="名称识别测试">
|
<VCard title="名称识别测试">
|
||||||
<DialogCloseBtn @click="nameTestDialog = false" />
|
<DialogCloseBtn @click="nameTestDialog = false" />
|
||||||
@@ -258,6 +263,7 @@ onMounted(() => {
|
|||||||
v-if="netTestDialog"
|
v-if="netTestDialog"
|
||||||
v-model="netTestDialog"
|
v-model="netTestDialog"
|
||||||
max-width="35rem"
|
max-width="35rem"
|
||||||
|
:fullscreen="displayWidth < (35 * 16)"
|
||||||
>
|
>
|
||||||
<VCard title="网络测试">
|
<VCard title="网络测试">
|
||||||
<DialogCloseBtn @click="netTestDialog = false" />
|
<DialogCloseBtn @click="netTestDialog = false" />
|
||||||
@@ -270,8 +276,9 @@ onMounted(() => {
|
|||||||
<VDialog
|
<VDialog
|
||||||
v-if="loggingDialog"
|
v-if="loggingDialog"
|
||||||
v-model="loggingDialog"
|
v-model="loggingDialog"
|
||||||
class="w-full lg:w-4/5"
|
|
||||||
scrollable
|
scrollable
|
||||||
|
max-width="70rem"
|
||||||
|
:fullscreen="displayWidth < (70 * 16)"
|
||||||
>
|
>
|
||||||
<VCard>
|
<VCard>
|
||||||
<DialogCloseBtn @click="loggingDialog = false" />
|
<DialogCloseBtn @click="loggingDialog = false" />
|
||||||
@@ -297,6 +304,7 @@ onMounted(() => {
|
|||||||
v-model="ruleTestDialog"
|
v-model="ruleTestDialog"
|
||||||
max-width="50rem"
|
max-width="50rem"
|
||||||
scrollable
|
scrollable
|
||||||
|
:fullscreen="displayWidth < (50 * 16)"
|
||||||
>
|
>
|
||||||
<VCard title="优先级测试">
|
<VCard title="优先级测试">
|
||||||
<DialogCloseBtn @click="ruleTestDialog = false" />
|
<DialogCloseBtn @click="ruleTestDialog = false" />
|
||||||
@@ -311,6 +319,7 @@ onMounted(() => {
|
|||||||
v-model="systemTestDialog"
|
v-model="systemTestDialog"
|
||||||
max-width="50rem"
|
max-width="50rem"
|
||||||
scrollable
|
scrollable
|
||||||
|
:fullscreen="displayWidth < (50 * 16)"
|
||||||
>
|
>
|
||||||
<VCard title="系统健康检查">
|
<VCard title="系统健康检查">
|
||||||
<DialogCloseBtn @click="systemTestDialog = false" />
|
<DialogCloseBtn @click="systemTestDialog = false" />
|
||||||
@@ -325,6 +334,7 @@ onMounted(() => {
|
|||||||
v-model="messageDialog"
|
v-model="messageDialog"
|
||||||
max-width="60rem"
|
max-width="60rem"
|
||||||
scrollable
|
scrollable
|
||||||
|
:fullscreen="displayWidth < (60 * 16)"
|
||||||
>
|
>
|
||||||
<VCard title="消息中心">
|
<VCard title="消息中心">
|
||||||
<DialogCloseBtn @click="messageDialog = false" />
|
<DialogCloseBtn @click="messageDialog = false" />
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ import MediaServerLibrary from '@/views/dashboard/MediaServerLibrary.vue'
|
|||||||
import MediaServerPlaying from '@/views/dashboard/MediaServerPlaying.vue'
|
import MediaServerPlaying from '@/views/dashboard/MediaServerPlaying.vue'
|
||||||
import api from '@/api'
|
import api from '@/api'
|
||||||
import { isNullOrEmptyObject } from '@/@core/utils'
|
import { isNullOrEmptyObject } from '@/@core/utils'
|
||||||
|
import { useDisplay } from 'vuetify'
|
||||||
|
|
||||||
|
// 显示器宽度
|
||||||
|
const displayWidth = useDisplay().width
|
||||||
|
|
||||||
// 仪表盘配置
|
// 仪表盘配置
|
||||||
const dashboard_names = {
|
const dashboard_names = {
|
||||||
@@ -157,6 +161,7 @@ function setDashboardConfig() {
|
|||||||
v-model="dialog"
|
v-model="dialog"
|
||||||
max-width="600"
|
max-width="600"
|
||||||
scrollable
|
scrollable
|
||||||
|
:fullscreen="displayWidth < 600"
|
||||||
>
|
>
|
||||||
<VCard title="设置仪表板">
|
<VCard title="设置仪表板">
|
||||||
<VCardText>
|
<VCardText>
|
||||||
@@ -166,6 +171,7 @@ function setDashboardConfig() {
|
|||||||
:key="key"
|
:key="key"
|
||||||
cols="12"
|
cols="12"
|
||||||
md="4"
|
md="4"
|
||||||
|
sm="4"
|
||||||
>
|
>
|
||||||
<VCheckbox
|
<VCheckbox
|
||||||
v-model="config[key]"
|
v-model="config[key]"
|
||||||
|
|||||||
Reference in New Issue
Block a user