From b0eef220a672e601fc2705fdbae2c67564599b76 Mon Sep 17 00:00:00 2001 From: Tim <135014430+nagisa77@users.noreply.github.com> Date: Mon, 25 Aug 2025 17:12:21 +0800 Subject: [PATCH] feat: add message float components --- frontend_nuxt/app.vue | 24 +++++++--- frontend_nuxt/components/MessageFloat.vue | 44 +++++++++++++++++ frontend_nuxt/composables/useMessageFloat.ts | 15 ++++++ frontend_nuxt/pages/message-box/[id].vue | 50 ++++++++++++++++++-- frontend_nuxt/pages/message-box/index.vue | 40 +++++++++++++++- 5 files changed, 162 insertions(+), 11 deletions(-) create mode 100644 frontend_nuxt/components/MessageFloat.vue create mode 100644 frontend_nuxt/composables/useMessageFloat.ts diff --git a/frontend_nuxt/app.vue b/frontend_nuxt/app.vue index 8eab548cf..688de95ee 100644 --- a/frontend_nuxt/app.vue +++ b/frontend_nuxt/app.vue @@ -1,6 +1,6 @@ @@ -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', diff --git a/frontend_nuxt/components/MessageFloat.vue b/frontend_nuxt/components/MessageFloat.vue new file mode 100644 index 000000000..bc00e127a --- /dev/null +++ b/frontend_nuxt/components/MessageFloat.vue @@ -0,0 +1,44 @@ +