From b3779875d0845cebc8cd0d8e937ce0979ba846f7 Mon Sep 17 00:00:00 2001 From: syuilo <Syuilotan@yahoo.co.jp> Date: Sat, 9 Oct 2021 00:46:52 +0900 Subject: [PATCH] :art: --- src/client/components/modal-page-window.vue | 46 ++++++++++++++++----- src/client/ui/_common_/header.vue | 8 ++-- 2 files changed, 40 insertions(+), 14 deletions(-) diff --git a/src/client/components/modal-page-window.vue b/src/client/components/modal-page-window.vue index f57516360d..31931a89b7 100644 --- a/src/client/components/modal-page-window.vue +++ b/src/client/components/modal-page-window.vue @@ -2,12 +2,16 @@ <MkModal ref="modal" @click="$emit('click')" @closed="$emit('closed')"> <div class="hrmcaedk _window _narrow_" :style="{ width: `${width}px`, height: (height ? `min(${height}px, 100%)` : '100%') }"> <div class="header" @contextmenu="onContextmenu"> - <span class="title"> - + <button v-if="history.length > 0" class="_button" @click="back()"><i class="fas fa-arrow-left"></i></button> + <span v-else style="display: inline-block; width: 20px"></span> + <span v-if="pageInfo" class="title"> + <i v-if="pageInfo.icon" class="icon" :class="pageInfo.icon"></i> + <span>{{ pageInfo.title }}</span> </span> + <button class="_button" @click="$refs.modal.close()"><i class="fas fa-times"></i></button> </div> <div class="body _flat_"> - <XHeader :info="pageInfo"/> + <XHeader v-if="!pageInfo?.hide" :info="pageInfo"/> <keep-alive> <component :is="component" v-bind="props" :ref="changePage"/> </keep-alive> @@ -173,19 +177,39 @@ export default defineComponent({ $height-narrow: 42px; display: flex; flex-shrink: 0; + height: $height; + line-height: $height; + font-weight: bold; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; box-shadow: 0px 1px var(--divider); + > button { + height: $height; + width: $height; + + &:hover { + color: var(--fgHighlighted); + } + } + + @media (max-width: 500px) { + height: $height-narrow; + line-height: $height-narrow; + padding-left: 16px; + + > button { + height: $height-narrow; + width: $height-narrow; + } + } + > .title { flex: 1; - height: $height; - font-weight: bold; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - @media (max-width: 500px) { - height: $height-narrow; - padding-left: 16px; + > .icon { + margin-right: 0.5em; } } } diff --git a/src/client/ui/_common_/header.vue b/src/client/ui/_common_/header.vue index 5405c43f8c..ca3d47dc76 100644 --- a/src/client/ui/_common_/header.vue +++ b/src/client/ui/_common_/header.vue @@ -82,10 +82,11 @@ export default defineComponent({ }, mounted() { - this.narrow = this.$el.offsetWidth < 500; + if (this.$el.parentElement == null) return; + this.narrow = this.$el.parentElement.offsetWidth < 500; new ResizeObserver((entries, observer) => { - this.narrow = this.$el.offsetWidth < 500; - }).observe(this.$el); + this.narrow = this.$el.parentElement.offsetWidth < 500; + }).observe(this.$el.parentElement); }, methods: { @@ -144,6 +145,7 @@ export default defineComponent({ .fdidabkb { --height: 60px; display: flex; + width: 100%; &.thin { --height: 50px;