diff options
Diffstat (limited to 'src/components/extra_buttons/extra_buttons.vue')
| -rw-r--r-- | src/components/extra_buttons/extra_buttons.vue | 69 |
1 files changed, 47 insertions, 22 deletions
diff --git a/src/components/extra_buttons/extra_buttons.vue b/src/components/extra_buttons/extra_buttons.vue index a761d313..ed0f3aa4 100644 --- a/src/components/extra_buttons/extra_buttons.vue +++ b/src/components/extra_buttons/extra_buttons.vue @@ -1,34 +1,58 @@ <template> - <Popper + <v-popover + v-if="canDelete || canMute || canPin" trigger="click" - @hide='showDropDown = false' - append-to-body - v-if="enabled && showPopper" - :options="{ - placement: 'top', - modifiers: { - arrow: { enabled: true }, - offset: { offset: '0, 5px' }, - } - }" + placement="top" + class="extra-button-popover" + :offset="5" + :container="false" > - <div class="popper-wrapper"> + <div slot="popover"> <div class="dropdown-menu"> - <button class="dropdown-item dropdown-item-icon" @click.prevent="pinStatus" v-if="!status.pinned && canPin"> - <i class="icon-pin"></i><span>{{$t("status.pin")}}</span> + <button + v-if="canMute && !status.muted" + class="dropdown-item dropdown-item-icon" + @click.prevent="muteConversation" + > + <i class="icon-eye-off" /><span>{{ $t("status.mute_conversation") }}</span> </button> - <button class="dropdown-item dropdown-item-icon" @click.prevent="unpinStatus" v-if="status.pinned && canPin"> - <i class="icon-pin"></i><span>{{$t("status.unpin")}}</span> + <button + v-if="canMute && status.muted" + class="dropdown-item dropdown-item-icon" + @click.prevent="unmuteConversation" + > + <i class="icon-eye-off" /><span>{{ $t("status.unmute_conversation") }}</span> </button> - <button class="dropdown-item dropdown-item-icon" @click.prevent="deleteStatus" v-if="canDelete"> - <i class="icon-cancel"></i><span>{{$t("status.delete")}}</span> + <button + v-if="!status.pinned && canPin" + v-close-popover + class="dropdown-item dropdown-item-icon" + @click.prevent="pinStatus" + > + <i class="icon-pin" /><span>{{ $t("status.pin") }}</span> + </button> + <button + v-if="status.pinned && canPin" + v-close-popover + class="dropdown-item dropdown-item-icon" + @click.prevent="unpinStatus" + > + <i class="icon-pin" /><span>{{ $t("status.unpin") }}</span> + </button> + <button + v-if="canDelete" + v-close-popover + class="dropdown-item dropdown-item-icon" + @click.prevent="deleteStatus" + > + <i class="icon-cancel" /><span>{{ $t("status.delete") }}</span> </button> </div> </div> - <div class="button-icon" slot="reference" @click="toggleMenu"> - <i class='icon-ellipsis' :class="{'icon-clicked': showDropDown}"></i> + <div class="button-icon"> + <i class="icon-ellipsis" /> </div> - </Popper> + </v-popover> </template> <script src="./extra_buttons.js" ></script> @@ -40,7 +64,8 @@ .icon-ellipsis { cursor: pointer; - &:hover, &.icon-clicked { + &:hover, + .extra-button-popover.open & { color: $fallback--text; color: var(--text, $fallback--text); } |
