feat: add message float components

This commit is contained in:
Tim
2025-08-25 17:12:21 +08:00
parent 0ee58df868
commit b0eef220a6
5 changed files with 162 additions and 11 deletions
+18 -6
View File
@@ -1,6 +1,6 @@
<template>
<div id="app">
<div class="header-container">
<div class="header-container" v-if="!isFloatMode">
<HeaderComponent
ref="header"
@toggle-menu="menuVisible = !menuVisible"
@@ -9,19 +9,28 @@
</div>
<div class="main-container">
<div class="menu-container" v-click-outside="handleMenuOutside">
<div v-if="!isFloatMode" class="menu-container" v-click-outside="handleMenuOutside">
<MenuComponent :visible="!hideMenu && menuVisible" @item-click="menuVisible = false" />
</div>
<div class="content" :class="{ 'menu-open': menuVisible && !hideMenu }">
<div
class="content"
:class="{ 'menu-open': menuVisible && !hideMenu }"
:style="isFloatMode ? 'padding-top:0; min-height:100vh;' : ''"
>
<NuxtPage keepalive />
</div>
<div v-if="showNewPostIcon && isMobile" class="app-new-post-icon" @click="goToNewPost">
<div
v-if="showNewPostIcon && isMobile && !isFloatMode"
class="app-new-post-icon"
@click="goToNewPost"
>
<i class="fas fa-edit"></i>
</div>
</div>
<GlobalPopups />
<ConfirmDialog />
<GlobalPopups v-if="!isFloatMode" />
<ConfirmDialog v-if="!isFloatMode" />
<MessageFloat />
</div>
</template>
@@ -30,6 +39,7 @@ import HeaderComponent from '~/components/HeaderComponent.vue'
import MenuComponent from '~/components/MenuComponent.vue'
import GlobalPopups from '~/components/GlobalPopups.vue'
import ConfirmDialog from '~/components/ConfirmDialog.vue'
import MessageFloat from '~/components/MessageFloat.vue'
import { useIsMobile } from '~/utils/screen'
const isMobile = useIsMobile()
@@ -37,6 +47,8 @@ const menuVisible = ref(!isMobile.value)
const showNewPostIcon = computed(() => useRoute().path === '/')
const isFloatMode = computed(() => useRoute().query.float === '1')
const hideMenu = computed(() => {
return [
'/login',