diff --git a/src/client/components/ui/button.vue b/src/client/components/ui/button.vue index 05ef9a76c6..3901e8ae44 100644 --- a/src/client/components/ui/button.vue +++ b/src/client/components/ui/button.vue @@ -123,7 +123,7 @@ export default defineComponent({ box-shadow: none; text-decoration: none; background: var(--buttonBg); - border-radius: 8px; + border-radius: 999px; overflow: hidden; &:not(:disabled):hover { diff --git a/src/client/pages/timeline.vue b/src/client/pages/timeline.vue index 3d753997e4..cb3ec2a7ef 100644 --- a/src/client/pages/timeline.vue +++ b/src/client/pages/timeline.vue @@ -232,6 +232,9 @@ export default defineComponent({ white-space: nowrap; overflow: auto; + // 影の都合上 + position: relative; + > .right { margin-left: auto; } diff --git a/src/client/ui/deck/main-column.vue b/src/client/ui/deck/main-column.vue index f652b01f6e..a4f1de44f0 100644 --- a/src/client/ui/deck/main-column.vue +++ b/src/client/ui/deck/main-column.vue @@ -7,7 +7,7 @@ <router-view v-slot="{ Component }"> <transition> <keep-alive :include="['timeline']"> - <component :is="Component" :ref="changePage"/> + <component :is="Component" :ref="changePage" @contextmenu.stop="onContextmenu"/> </keep-alive> </transition> </router-view> @@ -16,10 +16,12 @@ <script lang="ts"> import { defineComponent } from 'vue'; +import { faWindowMaximize } from '@fortawesome/free-solid-svg-icons'; import XColumn from './column.vue'; import XNotes from '@/components/notes.vue'; import XHeader from '@/ui/_common_/header.vue'; import { deckStore } from '@/ui/deck/deck-store'; +import * as os from '@/os'; export default defineComponent({ components: { @@ -54,6 +56,21 @@ export default defineComponent({ this.pageInfo = page.INFO; } }, + + onContextmenu(e) { + if (['INPUT', 'TEXTAREA'].includes(e.target.tagName) || e.target.attributes['contenteditable']) return; + const path = this.$route.path; + os.contextMenu([{ + type: 'label', + text: path, + }, { + icon: faWindowMaximize, + text: this.$ts.openInWindow, + action: () => { + os.pageWindow(path); + } + }], e); + }, } }); </script> diff --git a/src/client/ui/deck/widgets-column.vue b/src/client/ui/deck/widgets-column.vue index 32dab4d866..5cf7dde26f 100644 --- a/src/client/ui/deck/widgets-column.vue +++ b/src/client/ui/deck/widgets-column.vue @@ -114,7 +114,9 @@ export default defineComponent({ <style lang="scss" scoped> .wtdtxvec { - padding-top: 1px; // ウィジェットのbox-shadowを利用した1px borderを隠さないようにするため + ._panel { + box-shadow: none; + } > header { padding: 16px;