diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-07-16 13:49:23 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2022-07-16 13:49:23 +0900 |
| commit | 57e533a5eff4e92871505cc9b3887af31849c2d3 (patch) | |
| tree | 1288a7229c650414d122e50bfa98139bf40850b2 | |
| parent | refactor(client): use setup syntax (diff) | |
| download | misskey-57e533a5eff4e92871505cc9b3887af31849c2d3.tar.gz misskey-57e533a5eff4e92871505cc9b3887af31849c2d3.tar.bz2 misskey-57e533a5eff4e92871505cc9b3887af31849c2d3.zip | |
chore(client): tweak ui
| -rw-r--r-- | packages/client/src/components/global/page-header.vue | 4 | ||||
| -rw-r--r-- | packages/client/src/directives/tooltip.ts | 3 | ||||
| -rw-r--r-- | packages/client/src/pages/admin/_header_.vue | 4 | ||||
| -rw-r--r-- | packages/client/src/ui/_common_/navbar-for-mobile.vue | 2 | ||||
| -rw-r--r-- | packages/client/src/ui/_common_/navbar.vue | 14 |
5 files changed, 14 insertions, 13 deletions
diff --git a/packages/client/src/components/global/page-header.vue b/packages/client/src/components/global/page-header.vue index 766f9b6b6a..106e216b9b 100644 --- a/packages/client/src/components/global/page-header.vue +++ b/packages/client/src/components/global/page-header.vue @@ -18,7 +18,7 @@ </div> </div> <div v-if="!narrow || hideTitle" class="tabs"> - <button v-for="tab in tabs" :ref="(el) => tabRefs[tab.key] = el" v-tooltip="tab.title" class="tab _button" :class="{ active: tab.key != null && tab.key === props.tab }" @mousedown="(ev) => onTabMousedown(tab, ev)" @click="(ev) => onTabClick(tab, ev)"> + <button v-for="tab in tabs" :ref="(el) => tabRefs[tab.key] = el" v-tooltip.noDelay="tab.title" class="tab _button" :class="{ active: tab.key != null && tab.key === props.tab }" @mousedown="(ev) => onTabMousedown(tab, ev)" @click="(ev) => onTabClick(tab, ev)"> <i v-if="tab.icon" class="icon" :class="tab.icon"></i> <span v-if="!tab.iconOnly" class="title">{{ tab.title }}</span> </button> @@ -27,7 +27,7 @@ </template> <div class="buttons right"> <template v-for="action in actions"> - <button v-tooltip="action.text" class="_button button" :class="{ highlighted: action.highlighted }" @click.stop="action.handler" @touchstart="preventDrag"><i :class="action.icon"></i></button> + <button v-tooltip.noDelay="action.text" class="_button button" :class="{ highlighted: action.highlighted }" @click.stop="action.handler" @touchstart="preventDrag"><i :class="action.icon"></i></button> </template> </div> </div> diff --git a/packages/client/src/directives/tooltip.ts b/packages/client/src/directives/tooltip.ts index e1b85291bd..8b68771cad 100644 --- a/packages/client/src/directives/tooltip.ts +++ b/packages/client/src/directives/tooltip.ts @@ -7,10 +7,11 @@ import { popup, alert } from '@/os'; const start = isTouchUsing ? 'touchstart' : 'mouseover'; const end = isTouchUsing ? 'touchend' : 'mouseleave'; -const delay = 100; export default { mounted(el: HTMLElement, binding, vn) { + const delay = binding.modifiers.noDelay ? 0 : 100; + const self = (el as any)._tooltipDirective_ = {} as any; self.text = binding.value as string; diff --git a/packages/client/src/pages/admin/_header_.vue b/packages/client/src/pages/admin/_header_.vue index aea2663c39..b2c33fdc95 100644 --- a/packages/client/src/pages/admin/_header_.vue +++ b/packages/client/src/pages/admin/_header_.vue @@ -9,7 +9,7 @@ </div> </div> <div class="tabs"> - <button v-for="tab in tabs" :ref="(el) => tabRefs[tab.key] = el" v-tooltip="tab.title" class="tab _button" :class="{ active: tab.key != null && tab.key === props.tab }" @mousedown="(ev) => onTabMousedown(tab, ev)" @click="(ev) => onTabClick(tab, ev)"> + <button v-for="tab in tabs" :ref="(el) => tabRefs[tab.key] = el" v-tooltip.noDelay="tab.title" class="tab _button" :class="{ active: tab.key != null && tab.key === props.tab }" @mousedown="(ev) => onTabMousedown(tab, ev)" @click="(ev) => onTabClick(tab, ev)"> <i v-if="tab.icon" class="icon" :class="tab.icon"></i> <span v-if="!tab.iconOnly" class="title">{{ tab.title }}</span> </button> @@ -20,7 +20,7 @@ <template v-if="actions"> <template v-for="action in actions"> <MkButton v-if="action.asFullButton" class="fullButton" primary @click.stop="action.handler"><i :class="action.icon" style="margin-right: 6px;"></i>{{ action.text }}</MkButton> - <button v-else v-tooltip="action.text" class="_button button" :class="{ highlighted: action.highlighted }" @click.stop="action.handler" @touchstart="preventDrag"><i :class="action.icon"></i></button> + <button v-else v-tooltip.noDelay="action.text" class="_button button" :class="{ highlighted: action.highlighted }" @click.stop="action.handler" @touchstart="preventDrag"><i :class="action.icon"></i></button> </template> </template> </div> diff --git a/packages/client/src/ui/_common_/navbar-for-mobile.vue b/packages/client/src/ui/_common_/navbar-for-mobile.vue index cae1d25304..d1b4c30b31 100644 --- a/packages/client/src/ui/_common_/navbar-for-mobile.vue +++ b/packages/client/src/ui/_common_/navbar-for-mobile.vue @@ -3,7 +3,7 @@ <div class="body"> <div class="top"> <div class="banner" :style="{ backgroundImage: `url(${ $instance.bannerUrl })` }"></div> - <button v-click-anime v-tooltip.right="$instance.name ?? i18n.ts.instance" class="item _button instance" @click="openInstanceMenu"> + <button v-click-anime class="item _button instance" @click="openInstanceMenu"> <img :src="$instance.iconUrl || $instance.faviconUrl || '/favicon.ico'" alt="" class="icon"/> </button> </div> diff --git a/packages/client/src/ui/_common_/navbar.vue b/packages/client/src/ui/_common_/navbar.vue index 930ba79327..3eb8c5a37c 100644 --- a/packages/client/src/ui/_common_/navbar.vue +++ b/packages/client/src/ui/_common_/navbar.vue @@ -3,12 +3,12 @@ <div class="body"> <div class="top"> <div class="banner" :style="{ backgroundImage: `url(${ $instance.bannerUrl })` }"></div> - <button v-click-anime v-tooltip.right="$instance.name ?? i18n.ts.instance" class="item _button instance" @click="openInstanceMenu"> + <button v-click-anime v-tooltip.noDelay.right="$instance.name ?? i18n.ts.instance" class="item _button instance" @click="openInstanceMenu"> <img :src="$instance.iconUrl || $instance.faviconUrl || '/favicon.ico'" alt="" class="icon"/> </button> </div> <div class="middle"> - <MkA v-click-anime v-tooltip.right="i18n.ts.timeline" class="item index" active-class="active" to="/" exact> + <MkA v-click-anime v-tooltip.noDelay.right="i18n.ts.timeline" class="item index" active-class="active" to="/" exact> <i class="icon fas fa-home fa-fw"></i><span class="text">{{ i18n.ts.timeline }}</span> </MkA> <template v-for="item in menu"> @@ -17,7 +17,7 @@ :is="navbarItemDef[item].to ? 'MkA' : 'button'" v-else-if="navbarItemDef[item] && (navbarItemDef[item].show !== false)" v-click-anime - v-tooltip.right="i18n.ts[navbarItemDef[item].title]" + v-tooltip.noDelay.right="i18n.ts[navbarItemDef[item].title]" class="item _button" :class="[item, { active: navbarItemDef[item].active }]" active-class="active" @@ -29,22 +29,22 @@ </component> </template> <div class="divider"></div> - <MkA v-if="$i.isAdmin || $i.isModerator" v-click-anime v-tooltip.right="i18n.ts.controlPanel" class="item" active-class="active" to="/admin"> + <MkA v-if="$i.isAdmin || $i.isModerator" v-click-anime v-tooltip.noDelay.right="i18n.ts.controlPanel" class="item" active-class="active" to="/admin"> <i class="icon fas fa-door-open fa-fw"></i><span class="text">{{ i18n.ts.controlPanel }}</span> </MkA> <button v-click-anime class="item _button" @click="more"> <i class="icon fa fa-ellipsis-h fa-fw"></i><span class="text">{{ i18n.ts.more }}</span> <span v-if="otherMenuItemIndicated" class="indicator"><i class="icon fas fa-circle"></i></span> </button> - <MkA v-click-anime v-tooltip.right="i18n.ts.settings" class="item" active-class="active" to="/settings"> + <MkA v-click-anime v-tooltip.noDelay.right="i18n.ts.settings" class="item" active-class="active" to="/settings"> <i class="icon fas fa-cog fa-fw"></i><span class="text">{{ i18n.ts.settings }}</span> </MkA> </div> <div class="bottom"> - <button v-tooltip.right="i18n.ts.note" class="item _button post" data-cy-open-post-form @click="os.post"> + <button v-tooltip.noDelay.right="i18n.ts.note" class="item _button post" data-cy-open-post-form @click="os.post"> <i class="icon fas fa-pencil-alt fa-fw"></i><span class="text">{{ i18n.ts.note }}</span> </button> - <button v-click-anime v-tooltip.right="i18n.ts.account" class="item _button account" @click="openAccountMenu"> + <button v-click-anime v-tooltip.noDelay.right="i18n.ts.account" class="item _button account" @click="openAccountMenu"> <MkAvatar :user="$i" class="avatar"/><MkAcct class="text" :user="$i"/> </button> </div> |