Compare commits

...

9 Commits

Author SHA1 Message Date
jxxghp
0e8da35b0a fix bug 2024-07-01 10:55:46 +08:00
jxxghp
4d2cf73330 fix https://github.com/jxxghp/MoviePilot/issues/2471 2024-07-01 10:20:50 +08:00
jxxghp
5df89f2ce4 release 2024-06-28 10:48:20 +08:00
jxxghp
045c0b4c0c fix ui 2024-06-28 10:47:50 +08:00
jxxghp
8b4ffa0795 Update SubscribeCard.vue 2024-06-28 10:03:28 +08:00
jxxghp
14359a37ae Update package.json 2024-06-26 16:14:24 +08:00
jxxghp
a8e4a1c2e0 Merge pull request #162 from jxxghp/main
fix bugs
2024-06-24 12:59:49 +08:00
jxxghp
9048d181af Merge branch 'dev' into main 2024-06-24 12:59:22 +08:00
jxxghp
db9b2ee6b3 init 2024-06-23 09:35:00 +08:00
6 changed files with 35 additions and 26 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "moviepilot", "name": "moviepilot",
"version": "1.9.8-2", "version": "1.9.10",
"private": true, "private": true,
"bin": "dist/service.js", "bin": "dist/service.js",
"scripts": { "scripts": {
@@ -101,4 +101,4 @@
"resolutions": { "resolutions": {
"postcss": "8" "postcss": "8"
} }
} }

View File

@@ -182,6 +182,7 @@ watch(
'outline-dashed outline-1': props.media?.best_version && imageLoaded, 'outline-dashed outline-1': props.media?.best_version && imageLoaded,
'transition transform-cpu duration-300 scale-105 shadow-lg': hover.isHovering, 'transition transform-cpu duration-300 scale-105 shadow-lg': hover.isHovering,
}" }"
min-height="170"
@click="editSubscribeDialog" @click="editSubscribeDialog"
> >
<div class="me-n3 absolute top-1 right-2"> <div class="me-n3 absolute top-1 right-2">

View File

@@ -116,7 +116,7 @@ const transferItems = ref<FileItem[]>([])
// 大小控制 // 大小控制
const scrollStyle = computed(() => { const scrollStyle = computed(() => {
return appMode return appMode.value
? 'height: calc(100vh - 15.5rem - env(safe-area-inset-bottom) - 3.5rem)' ? 'height: calc(100vh - 15.5rem - env(safe-area-inset-bottom) - 3.5rem)'
: 'height: calc(100vh - 14.5rem - env(safe-area-inset-bottom)' : 'height: calc(100vh - 14.5rem - env(safe-area-inset-bottom)'
}) })

View File

@@ -1,6 +1,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import type { Context } from '@/api/types' import type { Context } from '@/api/types'
import TorrentItem from '@/components/cards/TorrentItem.vue' import TorrentItem from '@/components/cards/TorrentItem.vue'
import { list } from 'postcss'
import { useDisplay } from 'vuetify' import { useDisplay } from 'vuetify'
// 显示器宽度 // 显示器宽度
@@ -35,6 +36,13 @@ const filterForm = reactive({
resolution: [] as string[], resolution: [] as string[],
}) })
// 列表样式
const listStyle = computed(() => {
return appMode.value
? 'height: calc(100vh - 7.5rem - env(safe-area-inset-bottom) - 3.5rem)'
: 'height: calc(100vh - 6.5rem - env(safe-area-inset-bottom)'
})
// 排序字段 // 排序字段
const sortField = ref('default') const sortField = ref('default')
@@ -167,14 +175,7 @@ onMounted(() => {
</VListItem> </VListItem>
</VList> </VList>
<VList v-if="dataList.length !== 0" lines="three" class="rounded p-0 torrent-list-vscroll shadow-lg"> <VList v-if="dataList.length !== 0" lines="three" class="rounded p-0 torrent-list-vscroll shadow-lg">
<VVirtualScroll <VVirtualScroll :items="dataList" :style="listStyle">
:items="dataList"
:style="
appMode
? 'height: calc(100vh - 7.5rem - env(safe-area-inset-bottom) - 3.5rem)'
: 'height: calc(100vh - 6.5rem - env(safe-area-inset-bottom)'
"
>
<template #default="{ item }"> <template #default="{ item }">
<TorrentItem :torrent="item" :key="`${item.torrent_info.page_url}`" /> <TorrentItem :torrent="item" :key="`${item.torrent_info.page_url}`" />
</template> </template>
@@ -182,11 +183,7 @@ onMounted(() => {
</VList> </VList>
</VCol> </VCol>
<VCol xl="2" md="3" v-if="display.mdAndUp.value"> <VCol xl="2" md="3" v-if="display.mdAndUp.value">
<VList <VList lines="one" class="rounded shadow-lg" :style="listStyle">
lines="one"
class="rounded shadow-lg"
style="block-size: calc(100vh - 6.5rem - env(safe-area-inset-bottom))"
>
<VListSubheader> 排序 </VListSubheader> <VListSubheader> 排序 </VListSubheader>
<VListItem> <VListItem>
<VChipGroup column v-model="sortField"> <VChipGroup column v-model="sortField">

View File

@@ -124,6 +124,12 @@ const TransferDict: { [key: string]: string } = {
rclone_move: 'Rclone移动', rclone_move: 'Rclone移动',
} }
const tableStyle = computed(() => {
return appMode.value
? 'height: calc(100vh - 15.5rem - env(safe-area-inset-bottom) - 3.5rem)'
: 'height: calc(100vh - 14.5rem - env(safe-area-inset-bottom)'
})
// 分页提示 // 分页提示
const pageTip = computed(() => { const pageTip = computed(() => {
const begin = itemsPerPage.value * (currentPage.value - 1) + 1 const begin = itemsPerPage.value * (currentPage.value - 1) + 1
@@ -394,11 +400,7 @@ onMounted(fetchData)
show-select show-select
loading-text="加载中..." loading-text="加载中..."
hover hover
:style=" :style="tableStyle"
appMode
? 'height: calc(100vh - 15.5rem - env(safe-area-inset-bottom) - 3.5rem)'
: 'height: calc(100vh - 14.5rem - env(safe-area-inset-bottom)'
"
> >
<template #item.title="{ item }"> <template #item.title="{ item }">
<div class="d-flex align-center"> <div class="d-flex align-center">

View File

@@ -1,12 +1,19 @@
<script setup lang="ts"> <script setup lang="ts">
import api from '@/api' import api from '@/api'
import type { Plugin, Subscribe } from '@/api/types' import type { Plugin, Subscribe } from '@/api/types'
import { SystemNavMenus, UserfulMenus, PluginTabs, SettingTabs } from '@/router/menu' import { SystemNavMenus, UserfulMenus, SettingTabs } from '@/router/menu'
import { NavMenu } from '@/@layouts/types' import { NavMenu } from '@/@layouts/types'
import store from '@/store'
// 路由 // 路由
const router = useRouter() const router = useRouter()
// 超级用户
const superUser = store.state.auth.superUser
// 当前用户名
const userName = store.state.auth.userName
// 定义事件 // 定义事件
const emit = defineEmits(['close']) const emit = defineEmits(['close'])
@@ -74,6 +81,7 @@ function getMenus(): NavMenu[] {
// 匹配的菜单列表 // 匹配的菜单列表
const matchedMenuItems = computed(() => { const matchedMenuItems = computed(() => {
if (!searchWord.value) return [] if (!searchWord.value) return []
if (!superUser) return []
const lowerWord = (searchWord.value as string).toLowerCase() const lowerWord = (searchWord.value as string).toLowerCase()
const menuItems = getMenus() const menuItems = getMenus()
if (menuItems) if (menuItems)
@@ -104,6 +112,7 @@ async function fetchInstalledPlugins() {
// 区配的插件列表 // 区配的插件列表
const matchedPluginItems = computed(() => { const matchedPluginItems = computed(() => {
if (!searchWord.value) return [] if (!searchWord.value) return []
if (!superUser) return []
const lowerWord = (searchWord.value as string).toLowerCase() const lowerWord = (searchWord.value as string).toLowerCase()
return pluginItems.value.filter((item: Plugin) => { return pluginItems.value.filter((item: Plugin) => {
if (!item.plugin_name && !item.plugin_desc) return false if (!item.plugin_name && !item.plugin_desc) return false
@@ -114,7 +123,7 @@ const matchedPluginItems = computed(() => {
// 所有订阅数据 // 所有订阅数据
const SubscribeItems = ref<Subscribe[]>([]) const SubscribeItems = ref<Subscribe[]>([])
// 获取电影订阅列表数据 // 获取订阅列表数据
async function fetchSubscribes() { async function fetchSubscribes() {
try { try {
SubscribeItems.value = await api.get('subscribe/') SubscribeItems.value = await api.get('subscribe/')
@@ -128,7 +137,7 @@ const matchedSubscribeItems = computed(() => {
if (!searchWord.value) return [] if (!searchWord.value) return []
const lowerWord = (searchWord.value as string).toLowerCase() const lowerWord = (searchWord.value as string).toLowerCase()
return SubscribeItems.value.filter((item: Subscribe) => { return SubscribeItems.value.filter((item: Subscribe) => {
return item.name.toLowerCase().includes(lowerWord) return (item.name.toLowerCase().includes(lowerWord) && (superUser || userName === item.username)) || false
}) })
}) })
@@ -287,7 +296,7 @@ onMounted(() => {
</VListItem> </VListItem>
</template> </template>
</VHover> </VHover>
<VHover> <VHover v-if="superUser">
<template #default="hover"> <template #default="hover">
<VListItem prepend-icon="mdi-history" link v-bind="hover.props" @click="searchHistory"> <VListItem prepend-icon="mdi-history" link v-bind="hover.props" @click="searchHistory">
<VListItemTitle class="break-words whitespace-break-spaces"> <VListItemTitle class="break-words whitespace-break-spaces">
@@ -382,7 +391,7 @@ onMounted(() => {
</div> </div>
</VCol> </VCol>
</VRow> </VRow>
<VRow> <VRow v-if="superUser">
<VCol cols="12" md="6"> <VCol cols="12" md="6">
<p class="custom-letter-spacing text-sm text-disabled text-uppercase py-2 px-4 mb-0">常用功能</p> <p class="custom-letter-spacing text-sm text-disabled text-uppercase py-2 px-4 mb-0">常用功能</p>
<VList lines="one"> <VList lines="one">