diff --git a/src/pages/appcenter.vue b/src/pages/appcenter.vue index d13ff068..687fc5ab 100644 --- a/src/pages/appcenter.vue +++ b/src/pages/appcenter.vue @@ -2,26 +2,77 @@ import { NavMenu } from '@/@layouts/types' import { SystemNavMenus } from '@/router/menu' import store from '@/store' +import draggable from 'vuedraggable' // 从Vuex Store中获取superuser信息 const superUser = store.state.auth.superUser +// APP图标顺序 +const appOrder = ref([]) + // 根据分类获取菜单列表 const getMenuList = () => { return SystemNavMenus.filter((item: NavMenu) => !item.admin || superUser) } + +// APP列表 +const appList = ref(getMenuList()) + +// 保存APP图标顺序到localStorage +function saveAppsOrder() { + appOrder.value = appList.value.map(app => app.title) + localStorage.setItem('MP_APPS_ORDER', JSON.stringify(appOrder.value)) +} + +onMounted(() => { + const localOrder = localStorage.getItem('MP_APPS_ORDER') + if (localOrder) { + appOrder.value = JSON.parse(localOrder) + // 对appList进行排序 + appList.value.sort((a, b) => { + const aIndex = appOrder.value.findIndex(item => item === a.title) + const bIndex = appOrder.value.findIndex(item => item === b.title) + return (aIndex === -1 ? 999 : aIndex) - (bIndex === -1 ? 999 : bIndex) + }) + } +}) + + diff --git a/src/styles/styles.scss b/src/styles/styles.scss index 3e9727ec..2e36c9c3 100644 --- a/src/styles/styles.scss +++ b/src/styles/styles.scss @@ -188,3 +188,17 @@ .v-fab__container { padding-block-end: env(safe-area-inset-bottom); } + +.v-overlay__content .v-list{ + /* stylelint-disable-next-line property-no-vendor-prefix */ + -webkit-backdrop-filter: blur(8px); + backdrop-filter: blur(8px); + background-color: rgb(var(--v-theme-surface), 0.9) !important; +} + +.v-overlay__content .v-card{ + /* stylelint-disable-next-line property-no-vendor-prefix */ + -webkit-backdrop-filter: blur(8px); + backdrop-filter: blur(8px); + background-color: rgb(var(--v-theme-surface), 0.95) !important; +} diff --git a/src/views/discover/TorrentCardListView.vue b/src/views/discover/TorrentCardListView.vue index 207e2cb3..50d84e26 100644 --- a/src/views/discover/TorrentCardListView.vue +++ b/src/views/discover/TorrentCardListView.vue @@ -130,8 +130,8 @@ watchEffect(() => { // 清空列表 dataList.value = [] // 匹配过滤函数,filter中有任一值包含value则返回true - const match = (filter: Array, value: string | undefined): boolean => - filter.length === 0 || filter.includes(value ?? '') || filter.some(v => value?.includes(v) ?? false) + const match = (filter: Array, value: string | undefined) => + filter.length === 0 || (value && filter.includes(value)) groupedDataList.value?.forEach(value => { if (value.length > 0) {