feat: 更新插件市场设置对话框和订阅页面

This commit is contained in:
jxxghp
2025-04-09 08:29:33 +08:00
parent 02de63210d
commit f031077fbd
6 changed files with 58 additions and 87 deletions

View File

@@ -21,7 +21,7 @@ const display = useDisplay()
const appMode = inject('pwaMode') && display.mdAndDown.value
// 当前标签
const activeTab = ref(route.query.tab)
const activeTab = ref('我的插件')
// 插件ID参数
const pluginId = ref(route.query.id)
@@ -397,16 +397,22 @@ onMounted(async () => {
<template>
<div>
<VTabs v-model="activeTab" show-arrows stacked>
<VTab v-for="item in PluginTabs" :value="item.tab" class="px-10 rounded-t-lg">
<VIcon size="x-large" start :icon="item.icon" />
{{ item.title }}
</VTab>
</VTabs>
<VHeaderTab :items="PluginTabs" v-model="activeTab">
<template #append>
<VBtn
icon="mdi-store-cog"
variant="text"
color="primary"
size="default"
class="settings-icon-button"
@click="MarketSettingDialog = true"
/>
</template>
</VHeaderTab>
<VWindow v-model="activeTab" class="mt-5 disable-tab-transition" :touch="false">
<!-- 我的插件 -->
<VWindowItem value="installed">
<VWindowItem value="我的插件">
<transition name="fade-slide" appear>
<div>
<LoadingBanner v-if="!isRefreshed" class="mt-12" />
@@ -440,7 +446,7 @@ onMounted(async () => {
</transition>
</VWindowItem>
<!-- 插件市场 -->
<VWindowItem value="market">
<VWindowItem value="插件市场">
<transition name="fade-slide" appear>
<div>
<LoadingBanner v-if="!isAppMarketLoaded" class="mt-12" />
@@ -519,18 +525,6 @@ onMounted(async () => {
app
appear
@click="SearchDialog = true"
:class="appMode ? 'mb-28' : 'mb-16'"
/>
<!-- 插件市场设置图标 -->
<VFab
icon="mdi-store-cog"
color="warning"
location="bottom"
size="x-large"
fixed
app
appear
@click="MarketSettingDialog = true"
:class="{ 'mb-12': appMode }"
/>
</div>

View File

@@ -4,7 +4,6 @@ import api from '@/api'
import type { Subscribe } from '@/api/types'
import NoDataFound from '@/components/NoDataFound.vue'
import SubscribeCard from '@/components/cards/SubscribeCard.vue'
import SubscribeEditDialog from '@/components/dialog/SubscribeEditDialog.vue'
import SubscribeHistoryDialog from '@/components/dialog/SubscribeHistoryDialog.vue'
import { useUserStore } from '@/stores'
import { useDisplay } from 'vuetify'
@@ -35,9 +34,6 @@ const loading = ref(false)
// 数据列表
const dataList = ref<Subscribe[]>([])
// 弹窗
const subscribeEditDialog = ref(false)
// 历史记录弹窗
const historyDialog = ref(false)
@@ -165,23 +161,12 @@ onActivated(async () => {
/>
<!-- 底部操作按钮 -->
<div v-if="isRefreshed">
<VFab
v-if="userStore.superUser"
icon="mdi-clipboard-edit"
location="bottom"
size="x-large"
fixed
app
appear
@click="subscribeEditDialog = true"
:class="{ 'mb-12': appMode }"
/>
<VFab
v-if="userStore.superUser"
icon="mdi-history"
color="info"
location="bottom"
:class="appMode ? 'mb-28' : 'mb-16'"
:class="{ 'mb-12': appMode }"
size="x-large"
fixed
app
@@ -189,15 +174,6 @@ onActivated(async () => {
@click="historyDialog = true"
/>
</div>
<!-- 订阅编辑弹窗 -->
<SubscribeEditDialog
v-if="subscribeEditDialog"
v-model="subscribeEditDialog"
:default="true"
:type="props.type"
@save="subscribeEditDialog = false"
@close="subscribeEditDialog = false"
/>
<!-- 历史记录弹窗 -->
<SubscribeHistoryDialog
v-if="historyDialog"