aboutsummaryrefslogtreecommitdiff
path: root/src/components/extra_buttons/extra_buttons.vue
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/extra_buttons/extra_buttons.vue')
-rw-r--r--src/components/extra_buttons/extra_buttons.vue69
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);
}