💄 样式调整,透明色感觉挺好看的

This commit is contained in:
BTMuli
2023-05-25 14:18:29 +08:00
parent 7f2abce596
commit 8c74dcc0f4
25 changed files with 280 additions and 232 deletions

View File

@@ -15,8 +15,8 @@
<script lang="ts" setup> <script lang="ts" setup>
// vue // vue
import { onMounted, ref } from "vue"; import { onMounted, ref } from "vue";
import TSidebar from "./components/t-sidebar.vue"; import TSidebar from "./components/main/t-sidebar.vue";
import TBackTop from "./components/t-backTop.vue"; import TBackTop from "./components/main/t-backTop.vue";
// tauri // tauri
import { app, event, fs, window } from "@tauri-apps/api"; import { app, event, fs, window } from "@tauri-apps/api";
// store // store

View File

@@ -1,7 +1,7 @@
<template> <template>
<transition name="fade"> <transition name="fade">
<div v-show="canTop" class="back-top" @click="handleScrollTop"> <div v-show="canTop" class="back-top" @click="handleScrollTop">
<img src="../assets/icons/arrow-top.svg" alt="back-icon"> <img src="../../assets/icons/arrow-top.svg" alt="back-icon">
</div> </div>
</transition> </transition>
</template> </template>

View File

@@ -1,60 +1,61 @@
<template> <template>
<v-list class="calendar-card"> <div class="calendar-box">
<v-list-item> <div class="calendar-title">
<v-list-item-title style="color: #fec90b; margin-left: 10px; margin-bottom: 10px; font-family: Genshin, serif"> <div class="calendar-title-left">
<v-icon color="#EBD49E"> <v-icon size="small">
mdi-calendar-clock mdi-calendar-clock
</v-icon> </v-icon>
今日素材 <span>今日素材</span>
<span style="color: #faf7e8">{{ dateNow }}</span> <span>{{ dateNow }}</span>
</div>
<div class="calendar-title-right">
<v-btn <v-btn
v-for="text of btnText" v-for="text of btnText"
:key="text.week" :key="text.week"
class="calendar-btn" class="calendar-title-btn"
:style="{ :style="{
border: text.week === weekNow ? '2px solid var(--btn-bg-1)' : '0', boxShadow: text.week === weekNow ? '0 0 5px #FEC90B' : 'none',
background: text.week === btnNow ? 'var(--btn-bg-1)' : 'var(--calendar-btn-bg)', background: text.week === btnNow ? 'rgba(0,0,0,0.8)' : 'rgba(0,0,0,0.3)',
color: '#faf7e8',
marginBottom: '1px'
}" }"
@click="getContents(text.week)" @click="getContents(text.week)"
> >
{{ text.text }} {{ text.text }}
</v-btn> </v-btn>
</v-list-item-title> </div>
<div class="calendar-box"> </div>
<div class="calendar-single"> <div class="calendar-divider" />
<div class="calendar-title"> <div class="calendar-sub">
天赋培养 <div class="calendar-sub-title">
</div> <img src="/src/assets/icons/arrow-right.svg" alt="character">
<div class="cards-grid"> <span>角色突破</span>
<div </div>
v-for="item in characterCards" <div class="cards-grid">
:key="item.id" <div
class="card-box" v-for="item in characterCards"
@click="selectContent(item, 'character')" :key="item.id"
> class="card-box"
<TMiniAvatar size="100px" :model-value="item" /> @click="selectContent(item, 'character')"
</div> >
</div> <TMiniAvatar size="100px" :model-value="item" />
</div>
<div class="calendar-single">
<div class="calendar-title">
武器突破
</div>
<div class="cards-grid">
<div
v-for="item in weaponCards"
:key="item.id"
class="card-box"
@click="selectContent(item, 'weapon')"
>
<TMiniWeapon size="100px" :model-value="item" />
</div>
</div>
</div> </div>
</div> </div>
</v-list-item> </div>
<div class="calendar-sub">
<div class="calendar-sub-title">
<img src="/src/assets/icons/arrow-right.svg" alt="character">
<span>武器突破</span>
</div>
<div class="cards-grid">
<div
v-for="item in weaponCards"
:key="item.id"
class="card-box"
@click="selectContent(item, 'weapon')"
>
<TMiniWeapon size="100px" :model-value="item" />
</div>
</div>
</div>
<v-snackbar v-model="snackbar" :timeout="1500" :color="snackbarColor"> <v-snackbar v-model="snackbar" :timeout="1500" :color="snackbarColor">
{{ snackbarText }} {{ snackbarText }}
</v-snackbar> </v-snackbar>
@@ -87,7 +88,7 @@
<div class="detail-btn"> <div class="detail-btn">
<v-btn @click="showDetail(selectedItem)"> <v-btn @click="showDetail(selectedItem)">
<template #append> <template #append>
<img src="../assets/icons/arrow-right.svg" alt="right"> <img src="../../assets/icons/arrow-right.svg" alt="right">
</template> </template>
详情 详情
</v-btn> </v-btn>
@@ -98,19 +99,19 @@
<v-icon>mdi-close</v-icon> <v-icon>mdi-close</v-icon>
</div> </div>
</v-overlay> </v-overlay>
</v-list> </div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
// vue // vue
import { computed, onMounted, ref } from "vue"; import { computed, onMounted, ref } from "vue";
import TMiniAvatar from "./t-mini-avatar.vue"; import TMiniAvatar from "../mini/t-mini-avatar.vue";
import TMiniWeapon from "./t-mini-weapon.vue"; import TMiniWeapon from "../mini/t-mini-weapon.vue";
import TCalendarMaterial from "./t-calendar-material.vue"; import TCalendarMaterial from "../mini/t-calendar-material.vue";
// data // data
import { AppCalendarData } from "../data"; import { AppCalendarData } from "../../data";
// interface // interface
import { OBC_CONTENT_API } from "../plugins/Mys/interface/utils"; import { OBC_CONTENT_API } from "../../plugins/Mys/interface/utils";
import { createTGWindow } from "../utils/TGWindow"; import { createTGWindow } from "../../utils/TGWindow";
// loading // loading
const loading = ref(true as boolean); const loading = ref(true as boolean);
@@ -212,45 +213,79 @@ function getContents (day: number) {
} }
</script> </script>
<style lang="css" scoped> <style lang="css" scoped>
/* calendar 大盒子 */
.calendar-card {
margin-top: 10px;
font-family: Genshin-Light, serif;
background: var(--content-bg-1);
border-radius: 10px;
}
.calendar-btn {
margin-left: 10px;
font-family: Genshin-Light, serif;
color: var(--btn-text-1);
border-radius: 10px;
}
.calendar-box { .calendar-box {
margin: 5px; margin-bottom: 10px;
} padding: 10px;
background: rgba(255, 255, 255, 0.1);
.calendar-single { box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
margin-bottom: 10px; border-radius: 5px;
background: var(--content-bg-2);
color: var(--content-bg-1);
border-radius: 10px;
} }
.calendar-title { .calendar-title {
font-size: 1.5rem; height: 45px;
font-family: Genshin, serif; font-size: 20px;
color: #546D8B; display: flex;
padding-left: 15px; color:rgba(255, 255, 255, 0.8);
padding-top: 10px; }
.calendar-title-left {
width: 20%;
height: 45px;
font-family: Genshin, serif;
text-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
display: flex;
align-items: center;
}
.calendar-title-left span {
margin-left: 10px;
}
.calendar-title-right {
width: 80%;
font-family: Genshin-Light, serif;
height: 45px;
}
.calendar-title-btn {
margin-left: 10px;
border-radius: 5px;
}
.calendar-divider {
width: 100%;
height: 2px;
border-radius: 2px;
background: rgba(0, 0, 0, 0.4);
}
.calendar-sub {
margin: 5px;
}
.calendar-sub-title {
background: rgba(0, 0, 0, 0.2);
display: flex;
align-items: center;
height: 30px;
padding: 0 10px;
margin: 5px 0;
border-radius: 5px;
font-family: Genshin-Light, serif;
color: rgba(255, 255, 255, 0.8);
text-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
}
.calendar-sub-title img {
width: 20px;
height: 20px;
margin-right: 5px;
} }
.cards-grid { .cards-grid {
display: grid; display: grid;
grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
grid-gap: 10px; grid-gap: 8px;
padding: 10px;
} }
/* overlay 盒子 */ /* overlay 盒子 */

View File

@@ -1,65 +1,63 @@
<template> <template>
<v-list class="pool-card"> <div class="pool-box">
<v-list-item> <div class="pool-title">
<v-list-item-title style="color: #fec90b; margin-left: 10px; font-family: Genshin, serif"> <img src="../../assets/icons/icon-wish.svg" alt="wish" class="pool-title-icon">
<img src="../assets/icons/icon-wish.svg" alt="wish" class="pool-wish-icon"> 限时祈愿
限时祈愿 </div>
</v-list-item-title> <div v-if="!loading" class="pool-grid">
<div v-if="!loading" class="pool-grid"> <v-card
<v-card v-for="pool in poolCards"
v-for="pool in poolCards" :key="pool.post_id"
:key="pool.post_id" style="background: var(--content-bg-2); color: #546d8b; border-radius: 10px"
style="background: var(--content-bg-2); color: #546d8b; border-radius: 10px" >
> <v-list style="background: var(--content-bg-2); color: #546d8b">
<v-list style="background: var(--content-bg-2); color: #546d8b"> <v-list-item :title="pool.title" :subtitle="pool.subtitle">
<v-list-item :title="pool.title" :subtitle="pool.subtitle"> <template #prepend>
<template #prepend> <v-img :src="pool.voice.icon" class="pool-sideIcon" />
<v-img :src="pool.voice.icon" class="pool-sideIcon" /> </template>
</template> <template v-if="pool.voice.url" #append>
<template v-if="pool.voice.url" #append> <audio :src="pool.voice.url" controls />
<audio :src="pool.voice.url" controls /> </template>
</template> </v-list-item>
</v-list-item> </v-list>
</v-list> <div class="pool-cover" @click="toPost(pool)">
<div class="pool-cover" @click="toPost(pool)"> <img :src="pool.cover" alt="cover">
<img :src="pool.cover" alt="cover"> </div>
<div class="pool-character">
<div v-for="character in pool.characters" :key="character.url" @click="toOuter(character.url, pool.title)">
<img :src="character.icon" class="pool-icon" alt="character">
</div> </div>
<div class="pool-character"> <div class="pool-clock">
<div v-for="character in pool.characters" :key="character.url" @click="toOuter(character.url, pool.title)"> <v-progress-circular :model-value="poolTimePass[pool.post_id]" size="100" width="10" :color="poolColor[pool.post_id]">
<img :src="character.icon" class="pool-icon" alt="character"> {{ poolTimeGet[pool.post_id] }}
</div> </v-progress-circular>
<div class="pool-clock">
<v-progress-circular :model-value="poolTimePass[pool.post_id]" size="100" width="10" :color="poolColor[pool.post_id]">
{{ poolTimeGet[pool.post_id] }}
</v-progress-circular>
</div>
</div> </div>
<v-card-text> </div>
<span style="width: 60%"> <v-card-text>
<v-icon>mdi-calendar-clock</v-icon> <span style="width: 60%">
{{ pool.time.start }}~{{ pool.time.end }} <v-icon>mdi-calendar-clock</v-icon>
</span> {{ pool.time.start }}~{{ pool.time.end }}
</v-card-text> </span>
</v-card> </v-card-text>
</div> </v-card>
</v-list-item> </div>
<v-snackbar v-model="showBar" :color="barColor" timeout="1000"> <v-snackbar v-model="showBar" :color="barColor" timeout="1000">
{{ barText }} {{ barText }}
</v-snackbar> </v-snackbar>
</v-list> </div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
// vue // vue
import { ref, onMounted, onUnmounted } from "vue"; import { ref, onMounted, onUnmounted } from "vue";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
// store // store
import { useHomeStore } from "../store/modules/home"; import { useHomeStore } from "../../store/modules/home";
// utils // utils
import { createTGWindow } from "../utils/TGWindow"; import { createTGWindow } from "../../utils/TGWindow";
// plugins // plugins
import MysOper from "../plugins/Mys"; import MysOper from "../../plugins/Mys";
// interface // interface
import { GachaCard, GachaData } from "../plugins/Mys/interface/gacha"; import { GachaCard, GachaData } from "../../plugins/Mys/interface/gacha";
// vue // vue
const router = useRouter(); const router = useRouter();
@@ -211,18 +209,29 @@ onUnmounted(() => {
</script> </script>
<style lang="css" scoped> <style lang="css" scoped>
.pool-wish-icon { .pool-box {
width: 20px; margin-bottom: 10px;
height: 20px; padding: 10px;
display: inline-block; font-family: Genshin, serif;
background: rgba(255, 255, 255, 0.1);
box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
border-radius: 5px;
} }
.pool-card { .pool-title {
font-family: Genshin, serif; color:rgba(255, 255, 255, 0.8);
width: 100%; text-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
background: var(--content-bg-1); font-size: 20px;
border-radius: 10px; display: flex;
margin-top: 10px; }
.pool-title-icon {
width: 25px;
height: 25px;
transform: translate(0, 2px);
margin-right: 10px;
border-radius: 50%;
background: rgba(0, 0, 0, 0.3);
} }
.pool-grid { .pool-grid {

View File

@@ -1,62 +1,57 @@
<template> <template>
<v-list class="position-card"> <div class="position-box">
<v-list-item> <div class="position-title">
<v-list-item-title style="color: #fec90b; margin-left: 10px; font-family: Genshin, serif"> <img src="../../assets/icons/board.svg" alt="act" class="position-icon">
<img src="../assets/icons/board.svg" alt="act" class="position-act-icon"> 近期活动
近期活动 </div>
</v-list-item-title> <div v-if="!loading" class="position-grid">
<div v-if="!loading" class="position-grid"> <v-card
<v-card v-for="card in positionCards"
v-for="card in positionCards" :key="card.post_id"
:key="card.post_id" style="background: var(--content-bg-2); color: #546d8b; border-radius: 5px"
style="background: var(--content-bg-2); color: #546d8b; border-radius: 10px" >
> <v-list style="background: var(--content-bg-2); color: #546d8b">
<v-list style="background: var(--content-bg-2); color: #546d8b"> <v-list-item :title="card.title" :subtitle="card.abstract">
<v-list-item :title="card.title" :subtitle="card.abstract"> <template #prepend>
<template #prepend> <v-avatar rounded="0" style="cursor: pointer" @click="toPost(card)">
<v-avatar rounded="0" style="cursor: pointer" @click="toPost(card)"> <v-img :src="card.icon" style="border-radius: 10px" />
<v-img :src="card.icon" style="border-radius: 10px" /> </v-avatar>
</v-avatar> </template>
</template> <template #append>
</v-list-item> <v-btn variant="outlined" @click="toPost(card)">
</v-list> 查看
<v-divider class="border-opacity-75" /> </v-btn>
<v-card-text> </template>
<span style="width: 60%"> </v-list-item>
<v-icon>mdi-calendar-clock</v-icon> </v-list>
{{ card.time.start }}~{{ card.time.end }} <v-divider class="border-opacity-75" />
</span> <v-card-text>
</v-card-text> <div style="min-width: 200px;display: inline-block">
<v-card-actions> <v-icon>mdi-calendar-clock</v-icon>
<span style="width: 80%; margin-left: 10px"> {{ card.time.start }} ~ {{ card.time.end }}
<v-icon>mdi-clock-outline</v-icon> </div>
剩余时间 <div style="min-width: 200px;display: inline-block">
<span v-if="positionTimeGet[card.post_id] !== '已结束'" style="color: #90caf9">{{ <v-icon>mdi-clock-outline</v-icon>剩余时间
positionTimeGet[card.post_id] <span v-if="positionTimeGet[card.post_id] !== '已结束'" style="color: #90caf9">{{
}}</span> positionTimeGet[card.post_id]
<span v-if="positionTimeGet[card.post_id] === '已结束'" style="color: #ff6d6d">已结束</span> }}</span>
</span> <span v-if="positionTimeGet[card.post_id] === '已结束'" style="color: #ff6d6d">已结束</span>
<v-btn class="card-btn" @click="toPost(card)"> </div>
<template #prepend> </v-card-text>
<img src="../assets/icons/circle-check.svg" alt="check">查看 </v-card>
</template> </div>
</v-btn> </div>
</v-card-actions>
</v-card>
</div>
</v-list-item>
</v-list>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
// vue // vue
import { ref, onMounted, onUnmounted } from "vue"; import { ref, onMounted, onUnmounted } from "vue";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
// utils // utils
import { createTGWindow } from "../utils/TGWindow"; import { createTGWindow } from "../../utils/TGWindow";
// plugins // plugins
import MysOper from "../plugins/Mys"; import MysOper from "../../plugins/Mys";
// interface // interface
import { PositionCard } from "../plugins/Mys/interface/position"; import { PositionCard } from "../../plugins/Mys/interface/position";
// vue // vue
const router = useRouter(); const router = useRouter();
@@ -143,22 +138,31 @@ onUnmounted(() => {
</script> </script>
<style lang="css" scoped> <style lang="css" scoped>
.position-act-icon { .position-box {
width: 20px; margin-bottom: 10px;
height: 20px; padding: 10px;
display: inline-block; font-family: Genshin, serif;
background: rgba(255, 255, 255, 0.1);
box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
border-radius: 5px;
} }
.position-card { .position-title {
margin-top: 10px; color:rgba(255, 255, 255, 0.8);
font-family: Genshin, serif; text-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
background: var(--content-bg-1); font-size: 20px;
border-radius: 10px; display: flex;
}
.position-icon {
width: 25px;
height: 25px;
margin-right: 10px;
} }
.position-grid { .position-grid {
display: grid; display: grid;
grid-template-columns: repeat(3, minmax(400px, 1fr)); grid-template-columns: repeat(3, minmax(calc(400px + 2rem), 1fr));
grid-gap: 20px; grid-gap: 20px;
margin-top: 10px; margin-top: 10px;
} }

View File

@@ -26,7 +26,7 @@
</v-list-item> </v-list-item>
<v-list-item title="公告" value="announcements" link href="/announcements"> <v-list-item title="公告" value="announcements" link href="/announcements">
<template #prepend> <template #prepend>
<img src="../assets/icons/board.svg" alt="annoIcon" class="side-icon"> <img src="../../assets/icons/board.svg" alt="annoIcon" class="side-icon">
</template> </template>
</v-list-item> </v-list-item>
<v-list-item title="咨讯" value="news" link href="/news/2"> <v-list-item title="咨讯" value="news" link href="/news/2">
@@ -36,7 +36,7 @@
</v-list-item> </v-list-item>
<v-list-item title="成就" value="achievements" link href="/achievements"> <v-list-item title="成就" value="achievements" link href="/achievements">
<template #prepend> <template #prepend>
<img src="../assets/icons/achievements.svg" alt="achievementsIcon" class="side-icon"> <img src="../../assets/icons/achievements.svg" alt="achievementsIcon" class="side-icon">
</template> </template>
</v-list-item> </v-list-item>
<v-divider /> <v-divider />
@@ -56,7 +56,7 @@
</template> </template>
<v-list-item title="GCG" value="wiki-GCG" link href="/wiki/GCG"> <v-list-item title="GCG" value="wiki-GCG" link href="/wiki/GCG">
<template #prepend> <template #prepend>
<img src="../assets/icons/GCG.svg" alt="gcgIcon" class="side-icon"> <img src="../../assets/icons/GCG.svg" alt="gcgIcon" class="side-icon">
</template> </template>
</v-list-item> </v-list-item>
<v-list-item title="角色图鉴" value="wiki-character" link href="/wiki/character"> <v-list-item title="角色图鉴" value="wiki-character" link href="/wiki/character">
@@ -90,7 +90,7 @@
</v-list-item> </v-list-item>
<v-list-item title="设置" value="config" link href="/config"> <v-list-item title="设置" value="config" link href="/config">
<template #prepend> <template #prepend>
<img src="../assets/icons/setting.svg" alt="setting" class="side-icon"> <img src="../../assets/icons/setting.svg" alt="setting" class="side-icon">
</template> </template>
</v-list-item> </v-list-item>
</div> </div>
@@ -104,8 +104,8 @@ import { computed, ref, onMounted } from "vue";
// tauri // tauri
import { event } from "@tauri-apps/api"; import { event } from "@tauri-apps/api";
// store // store
import { useAppStore } from "../store/modules/app"; import { useAppStore } from "../../store/modules/app";
import { useUserStore } from "../store/modules/user"; import { useUserStore } from "../../store/modules/user";
const appStore = useAppStore(); const appStore = useAppStore();
const userStore = useUserStore(); const userStore = useUserStore();

View File

@@ -13,7 +13,7 @@ import { computed, onMounted } from "vue";
// tauri // tauri
import { event } from "@tauri-apps/api"; import { event } from "@tauri-apps/api";
// store // store
import { useAppStore } from "../store/modules/app"; import { useAppStore } from "../../store/modules/app";
// store // store
const appStore = useAppStore(); const appStore = useAppStore();

View File

@@ -13,13 +13,13 @@
</div> </div>
<div class="confirm-btn-box"> <div class="confirm-btn-box">
<button class="confirm-btn" @click="onCancel"> <button class="confirm-btn" @click="onCancel">
<img class="btn-icon" src="../assets/icons/circle-cancel.svg" alt="cancel"> <img class="btn-icon" src="../../assets/icons/circle-cancel.svg" alt="cancel">
<span class="btn-text"> <span class="btn-text">
{{ cancel }} {{ cancel }}
</span> </span>
</button> </button>
<button class="confirm-btn" @click="onConfirm"> <button class="confirm-btn" @click="onConfirm">
<img class="btn-icon" src="../assets/icons/circle-check.svg" alt="confirm"> <img class="btn-icon" src="../../assets/icons/circle-check.svg" alt="confirm">
<span class="btn-text"> <span class="btn-text">
{{ confirm }} {{ confirm }}
</span> </span>

View File

@@ -110,7 +110,7 @@
<script lang="ts" setup> <script lang="ts" setup>
// vue // vue
import { onMounted, ref, onBeforeMount, computed } from "vue"; import { onMounted, ref, onBeforeMount, computed } from "vue";
import TLoading from "../components/t-loading.vue"; import TLoading from "../components/overlay/t-loading.vue";
// tauri // tauri
import { dialog, fs } from "@tauri-apps/api"; import { dialog, fs } from "@tauri-apps/api";
// Store // Store

View File

@@ -95,7 +95,7 @@
// vue // vue
import { onMounted, ref } from "vue"; import { onMounted, ref } from "vue";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import TLoading from "../components/t-loading.vue"; import TLoading from "../components/overlay/t-loading.vue";
// store // store
import { useAppStore } from "../store/modules/app"; import { useAppStore } from "../store/modules/app";
// utils // utils

View File

@@ -175,8 +175,8 @@
<script lang="ts" setup> <script lang="ts" setup>
// vue // vue
import { computed, onMounted, ref } from "vue"; import { computed, onMounted, ref } from "vue";
import TLoading from "../components/t-loading.vue"; import TLoading from "../components/overlay/t-loading.vue";
import TConfirm from "../components/t-confirm.vue"; import TConfirm from "../components/overlay/t-confirm.vue";
// tauri // tauri
import { fs, app, os } from "@tauri-apps/api"; import { fs, app, os } from "@tauri-apps/api";
// store // store

View File

@@ -6,10 +6,10 @@
<script lang="ts" setup> <script lang="ts" setup>
// vue // vue
import { ref, markRaw, onMounted, onUnmounted, onUpdated } from "vue"; import { ref, markRaw, onMounted, onUnmounted, onUpdated } from "vue";
import TLoading from "../components/t-loading.vue"; import TLoading from "../components/overlay/t-loading.vue";
import TPool from "../components/t-pool.vue"; import TPool from "../components/main/t-pool.vue";
import TPosition from "../components/t-position.vue"; import TPosition from "../components/main/t-position.vue";
import TCalendar from "../components/t-calendar.vue"; import TCalendar from "../components/main/t-calendar.vue";
// store // store
import { useHomeStore } from "../store/modules/home"; import { useHomeStore } from "../store/modules/home";
import { useAppStore } from "../store/modules/app"; import { useAppStore } from "../store/modules/app";

View File

@@ -12,7 +12,7 @@
<script lang="ts" setup> <script lang="ts" setup>
// vue // vue
import { ref, computed } from "vue"; import { ref, computed } from "vue";
import TMiniAvatar from "../../components/t-mini-avatar.vue"; import TMiniAvatar from "../../components/mini/t-mini-avatar.vue";
// utils // utils
import { createTGWindow } from "../../utils/TGWindow"; import { createTGWindow } from "../../utils/TGWindow";
import { AppCharacterData } from "../../data"; import { AppCharacterData } from "../../data";

View File

@@ -98,7 +98,7 @@
<script lang="ts" setup> <script lang="ts" setup>
// vue // vue
import { ref, onMounted, computed } from "vue"; import { ref, onMounted, computed } from "vue";
import TLoading from "../../components/t-loading.vue"; import TLoading from "../../components/overlay/t-loading.vue";
// utils // utils
import { createTGWindow } from "../../utils/TGWindow"; import { createTGWindow } from "../../utils/TGWindow";
import { AppGCGData } from "../../data"; import { AppGCGData } from "../../data";

View File

@@ -12,7 +12,7 @@
<script lang="ts" setup> <script lang="ts" setup>
// vue // vue
import { ref, computed } from "vue"; import { ref, computed } from "vue";
import TMiniWeapon from "../../components/t-mini-weapon.vue"; import TMiniWeapon from "../../components/mini/t-mini-weapon.vue";
// utils // utils
import { createTGWindow } from "../../utils/TGWindow"; import { createTGWindow } from "../../utils/TGWindow";
import { AppWeaponData } from "../../data"; import { AppWeaponData } from "../../data";

View File

@@ -19,8 +19,8 @@
import { ref, onMounted, reactive } from "vue"; import { ref, onMounted, reactive } from "vue";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
import JsonViewer from "vue-json-viewer"; import JsonViewer from "vue-json-viewer";
import TLoading from "../components/t-loading.vue"; import TLoading from "../components/overlay/t-loading.vue";
import TSwitchTheme from "../components/t-switchTheme.vue"; import TSwitchTheme from "../components/main/t-switchTheme.vue";
// tauri // tauri
import { appWindow } from "@tauri-apps/api/window"; import { appWindow } from "@tauri-apps/api/window";
// utils // utils

View File

@@ -19,8 +19,8 @@
// vue // vue
import { ref, onMounted } from "vue"; import { ref, onMounted } from "vue";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
import TLoading from "../components/t-loading.vue"; import TLoading from "../components/overlay/t-loading.vue";
import TSwitchTheme from "../components/t-switchTheme.vue"; import TSwitchTheme from "../components/main/t-switchTheme.vue";
// tauri // tauri
import { appWindow } from "@tauri-apps/api/window"; import { appWindow } from "@tauri-apps/api/window";
// plugins // plugins

View File

@@ -73,8 +73,8 @@
import { ref, onMounted, reactive, onUpdated } from "vue"; import { ref, onMounted, reactive, onUpdated } from "vue";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
import JsonViewer from "vue-json-viewer"; import JsonViewer from "vue-json-viewer";
import TLoading from "../components/t-loading.vue"; import TLoading from "../components/overlay/t-loading.vue";
import TSwitchTheme from "../components/t-switchTheme.vue"; import TSwitchTheme from "../components/main/t-switchTheme.vue";
// tauri // tauri
import { appWindow } from "@tauri-apps/api/window"; import { appWindow } from "@tauri-apps/api/window";
// store // store

View File

@@ -218,7 +218,7 @@
// vue // vue
import { onMounted, ref } from "vue"; import { onMounted, ref } from "vue";
import { useRoute, useRouter } from "vue-router"; import { useRoute, useRouter } from "vue-router";
import TLoading from "../components/t-loading.vue"; import TLoading from "../components/overlay/t-loading.vue";
// store // store
import { useAppStore } from "../store/modules/app"; import { useAppStore } from "../store/modules/app";
// plugin // plugin

View File

@@ -15,8 +15,8 @@
import { ref, onMounted, reactive } from "vue"; import { ref, onMounted, reactive } from "vue";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
import JsonViewer from "vue-json-viewer"; import JsonViewer from "vue-json-viewer";
import TLoading from "../components/t-loading.vue"; import TLoading from "../components/overlay/t-loading.vue";
import TSwitchTheme from "../components/t-switchTheme.vue"; import TSwitchTheme from "../components/main/t-switchTheme.vue";
// tauri // tauri
import { appWindow } from "@tauri-apps/api/window"; import { appWindow } from "@tauri-apps/api/window";
// plugins // plugins

View File

@@ -10,12 +10,12 @@
// vue // vue
import { ref, onMounted } from "vue"; import { ref, onMounted } from "vue";
import { useRoute } from "vue-router"; import { useRoute } from "vue-router";
import TLoading from "../components/t-loading.vue"; import TLoading from "../components/overlay/t-loading.vue";
// tauri // tauri
import { appWindow } from "@tauri-apps/api/window"; import { appWindow } from "@tauri-apps/api/window";
// plugins // plugins
import MysOper from "../plugins/Mys"; import MysOper from "../plugins/Mys";
import TSwitchTheme from "../components/t-switchTheme.vue"; import TSwitchTheme from "../components/main/t-switchTheme.vue";
// loading // loading
const loading = ref(true as boolean); const loading = ref(true as boolean);