mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2026-03-15 03:53:16 +08:00
@@ -4,7 +4,7 @@
|
||||
<template #prepend>
|
||||
<div class="pa-prepend">
|
||||
<v-tabs v-model="tab" align-tabs="start" class="pa-tabs">
|
||||
<v-tab v-for="tab in tabList" :key="tab.id" :value="tab.id" :title="tab.name">
|
||||
<v-tab v-for="tab in tabList" :key="tab.id" :title="tab.name" :value="tab.id">
|
||||
{{ tab.mi18n_name }}
|
||||
</v-tab>
|
||||
</v-tabs>
|
||||
@@ -36,23 +36,16 @@
|
||||
</template>
|
||||
<template #append>
|
||||
<div class="anno-top-append">
|
||||
<v-btn
|
||||
class="anno-btn"
|
||||
prepend-icon="mdi-bullhorn"
|
||||
rounded
|
||||
variant="elevated"
|
||||
@click="switchNews"
|
||||
>
|
||||
切换米游社资讯
|
||||
</v-btn>
|
||||
<v-btn
|
||||
v-if="isLogin"
|
||||
class="anno-btn"
|
||||
prepend-icon="mdi-web"
|
||||
rounded
|
||||
size="small"
|
||||
variant="elevated"
|
||||
@click="showIframe()"
|
||||
>
|
||||
<v-icon>mdi-web</v-icon>
|
||||
游戏内公告
|
||||
</v-btn>
|
||||
</div>
|
||||
</template>
|
||||
@@ -82,7 +75,6 @@ import useAppStore from "@store/app.js";
|
||||
import TGLogger from "@utils/TGLogger.js";
|
||||
import { storeToRefs } from "pinia";
|
||||
import { onMounted, ref, shallowRef, watch } from "vue";
|
||||
import { useRouter } from "vue-router";
|
||||
|
||||
type AnnoSelect<T = string> = { text: string; value: T };
|
||||
|
||||
@@ -92,7 +84,6 @@ const langList: ReadonlyArray<AnnoSelect<TGApp.Game.Anno.AnnoLangEnum>> =
|
||||
gameEnum.anno.langList.map((i) => ({ text: gameEnum.anno.langDesc(i), value: i }));
|
||||
|
||||
const { server, lang, isLogin } = storeToRefs(useAppStore());
|
||||
const router = useRouter();
|
||||
|
||||
const tab = ref<number>(0);
|
||||
const tabList = shallowRef<Array<TGApp.Game.Anno.ListType>>([]);
|
||||
@@ -158,11 +149,6 @@ async function loadData(): Promise<void> {
|
||||
await showLoading.end();
|
||||
isReq.value = false;
|
||||
}
|
||||
|
||||
async function switchNews(): Promise<void> {
|
||||
await TGLogger.Info("[Announcements][switchNews] 切换米游社资讯");
|
||||
await router.push("/news/2");
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.pa-prepend {
|
||||
|
||||
@@ -40,16 +40,6 @@
|
||||
<v-btn class="post-news-btn" size="small" variant="elevated" @click="handleList()">
|
||||
<v-icon>mdi-view-list</v-icon>
|
||||
</v-btn>
|
||||
<v-btn
|
||||
v-if="gid === '2'"
|
||||
class="post-news-btn"
|
||||
prepend-icon="mdi-bullhorn"
|
||||
rounded
|
||||
variant="elevated"
|
||||
@click="switchAnno"
|
||||
>
|
||||
切换游戏内公告
|
||||
</v-btn>
|
||||
</template>
|
||||
</v-app-bar>
|
||||
<v-window v-model="recentNewsType">
|
||||
@@ -62,7 +52,7 @@
|
||||
</v-window-item>
|
||||
</v-window>
|
||||
<ToChannel v-model="showList" :gid="gid" />
|
||||
<VpOverlaySearch v-model="showSearch" :gid="gid" :keyword="search" />
|
||||
<VpOverlaySearch v-model="showSearch" :gid="Number(gid)" :keyword="search" />
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import TPostCard from "@comp/app/t-postcard.vue";
|
||||
@@ -79,13 +69,12 @@ import TGLogger from "@utils/TGLogger.js";
|
||||
import { createPost } from "@utils/TGWindow.js";
|
||||
import { storeToRefs } from "pinia";
|
||||
import { computed, onMounted, reactive, Ref, ref, shallowRef, watch } from "vue";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import { useRoute } from "vue-router";
|
||||
|
||||
type PostData = Record<TGApp.BBS.Post.NewsTypeEnum, Ref<Array<TGApp.BBS.Post.FullData>>>;
|
||||
type RawItem = { isLast: boolean; name: string; lastId: number };
|
||||
type RawData = Record<TGApp.BBS.Post.NewsTypeEnum, Ref<RawItem>>;
|
||||
|
||||
const router = useRouter();
|
||||
const { recentNewsType } = storeToRefs(useAppStore());
|
||||
const { gameList } = storeToRefs(useBBSStore());
|
||||
const { gid } = <{ gid: string }>useRoute().params;
|
||||
@@ -159,11 +148,6 @@ async function firstLoad(refresh: boolean = false): Promise<void> {
|
||||
loading.value = false;
|
||||
}
|
||||
|
||||
async function switchAnno(): Promise<void> {
|
||||
await TGLogger.Info(`[News][${gid}][switchAnno] 切换公告`);
|
||||
await router.push("/announcements");
|
||||
}
|
||||
|
||||
function handleList(): void {
|
||||
if (showSearch.value === true) showSearch.value = false;
|
||||
showList.value = true;
|
||||
|
||||
Reference in New Issue
Block a user