Merge branch 'disjointed-popovers' into shigusegubu-vue3

* disjointed-popovers:
  fix the incorrect rounding in nav list
  re-unfuck the timeline popover
  Revert "unify styling of timelines dropdown with other dropdown menus"
This commit is contained in:
Henry Jameson 2022-06-29 21:42:07 +03:00
commit 9e2708b4eb
3 changed files with 79 additions and 88 deletions

View file

@ -113,7 +113,9 @@
border-color: $fallback--border; border-color: $fallback--border;
border-color: var(--border, $fallback--border); border-color: var(--border, $fallback--border);
padding: 0; padding: 0;
}
> li {
&:first-child .menu-item { &:first-child .menu-item {
border-top-right-radius: $fallback--panelRadius; border-top-right-radius: $fallback--panelRadius;
border-top-right-radius: var(--panelRadius, $fallback--panelRadius); border-top-right-radius: var(--panelRadius, $fallback--panelRadius);

View file

@ -3,19 +3,17 @@
trigger="click" trigger="click"
class="TimelineMenu" class="TimelineMenu"
:class="{ 'open': isOpen }" :class="{ 'open': isOpen }"
:margin="{ left: -15, right: -200 }"
:bound-to="{ x: 'container' }" :bound-to="{ x: 'container' }"
popover-class="timeline-menu-popover-wrap" bound-to-selector=".Timeline"
popover-class="timeline-menu-popover popover-default"
@show="openMenu" @show="openMenu"
@close="() => isOpen = false" @close="() => isOpen = false"
> >
<template v-slot:content> <template v-slot:content>
<div class="timeline-menu-popover popover-default">
<TimelineMenuContent /> <TimelineMenuContent />
</div>
</template> </template>
<template v-slot:trigger> <template v-slot:trigger>
<button class="button-unstyled title timeline-menu-title"> <span class="button-unstyled title timeline-menu-title">
<span class="timeline-title">{{ timelineName() }}</span> <span class="timeline-title">{{ timelineName() }}</span>
<span> <span>
<FAIcon <FAIcon
@ -27,7 +25,7 @@
class="click-blocker" class="click-blocker"
@click="blockOpen" @click="blockOpen"
/> />
</button> </span>
</template> </template>
</Popover> </Popover>
</template> </template>
@ -38,42 +36,18 @@
@import '../../_variables.scss'; @import '../../_variables.scss';
.TimelineMenu { .TimelineMenu {
flex-shrink: 1;
margin-right: auto; margin-right: auto;
min-width: 0; min-width: 0;
width: 24rem;
.popover-trigger-button { .popover-trigger-button {
vertical-align: bottom; vertical-align: bottom;
} }
.timeline-menu-popover-wrap {
overflow: hidden;
// Match panel heading padding to line up menu with bottom of heading
margin-top: 0.6rem;
padding: 0 15px 15px 15px;
}
.timeline-menu-popover {
width: 24rem;
max-width: 100vw;
margin: 0;
font-size: 1rem;
border-top-right-radius: 0;
border-top-left-radius: 0;
transform: translateY(-100%);
transition: transform 100ms;
}
.panel::after { .panel::after {
border-top-right-radius: 0; border-top-right-radius: 0;
border-top-left-radius: 0; border-top-left-radius: 0;
} }
&.open .timeline-menu-popover {
transform: translateY(0);
}
.timeline-menu-title { .timeline-menu-title {
margin: 0; margin: 0;
cursor: pointer; cursor: pointer;
@ -108,6 +82,16 @@
box-shadow: var(--popoverShadow); box-shadow: var(--popoverShadow);
} }
}
.timeline-menu-popover {
min-width: 24rem;
max-width: 100vw;
margin-top: 0.6rem;
font-size: 1rem;
border-top-right-radius: 0;
border-top-left-radius: 0;
ul { ul {
list-style: none; list-style: none;
margin: 0; margin: 0;

View file

@ -1,8 +1,8 @@
<template> <template>
<div class="dropdown-menu"> <ul>
<li v-if="currentUser">
<router-link <router-link
v-if="currentUser" class="menu-item"
class="dropdown-item button-default"
:to="{ name: 'friends' }" :to="{ name: 'friends' }"
> >
<FAIcon <FAIcon
@ -11,9 +11,10 @@
icon="home" icon="home"
/>{{ $t("nav.home_timeline") }} />{{ $t("nav.home_timeline") }}
</router-link> </router-link>
</li>
<li v-if="currentUser || !privateMode">
<router-link <router-link
v-if="currentUser || !privateMode" class="menu-item"
class="dropdown-item button-default"
:to="{ name: 'public-timeline' }" :to="{ name: 'public-timeline' }"
> >
<FAIcon <FAIcon
@ -22,9 +23,10 @@
icon="users" icon="users"
/>{{ $t("nav.public_tl") }} />{{ $t("nav.public_tl") }}
</router-link> </router-link>
</li>
<li v-if="federating && (currentUser || !privateMode)">
<router-link <router-link
v-if="federating && (currentUser || !privateMode)" class="menu-item"
class="dropdown-item button-default"
:to="{ name: 'public-external-timeline' }" :to="{ name: 'public-external-timeline' }"
> >
<FAIcon <FAIcon
@ -33,9 +35,10 @@
icon="globe" icon="globe"
/>{{ $t("nav.twkn") }} />{{ $t("nav.twkn") }}
</router-link> </router-link>
</li>
<li v-if="currentUser">
<router-link <router-link
v-if="currentUser" class="menu-item"
class="dropdown-item button-default"
:to="{ name: 'bookmarks'}" :to="{ name: 'bookmarks'}"
> >
<FAIcon <FAIcon
@ -44,9 +47,10 @@
icon="bookmark" icon="bookmark"
/>{{ $t("nav.bookmarks") }} />{{ $t("nav.bookmarks") }}
</router-link> </router-link>
</li>
<li v-if="currentUser">
<router-link <router-link
v-if="currentUser" class="menu-item"
class="dropdown-item button-default"
:to="{ name: 'dms', params: { username: currentUser.screen_name } }" :to="{ name: 'dms', params: { username: currentUser.screen_name } }"
> >
<FAIcon <FAIcon
@ -55,7 +59,8 @@
icon="envelope" icon="envelope"
/>{{ $t("nav.dms") }} />{{ $t("nav.dms") }}
</router-link> </router-link>
</div> </li>
</ul>
</template> </template>
<script src="./timeline_menu_content.js" ></script> <script src="./timeline_menu_content.js" ></script>