make all dropdown menus consistent

This commit is contained in:
Henry Jameson 2025-01-13 17:38:44 +02:00
parent 7a3a4e81a1
commit 4887d37110
11 changed files with 601 additions and 460 deletions

View file

@ -9,60 +9,80 @@
<template #content> <template #content>
<div class="dropdown-menu"> <div class="dropdown-menu">
<template v-if="relationship.following"> <template v-if="relationship.following">
<button <div
v-if="relationship.showing_reblogs" v-if="relationship.showing_reblogs"
class="dropdown-item menu-item" class="menu-item dropdown-item"
@click="hideRepeats"
> >
{{ $t('user_card.hide_repeats') }} <button
</button> class="main-button"
<button @click="hideRepeats"
>
{{ $t('user_card.hide_repeats') }}
</button>
</div>
<div
v-if="!relationship.showing_reblogs" v-if="!relationship.showing_reblogs"
class="dropdown-item menu-item" class="menu-item dropdown-item"
@click="showRepeats"
> >
{{ $t('user_card.show_repeats') }} <button
</button> class="main-button"
@click="showRepeats"
>
{{ $t('user_card.show_repeats') }}
</button>
</div>
<div <div
role="separator" role="separator"
class="dropdown-divider" class="dropdown-divider"
/> />
</template> </template>
<UserListMenu :user="user" /> <UserListMenu :user="user" />
<button <div
v-if="relationship.followed_by" v-if="relationship.followed_by"
class="dropdown-item menu-item" class="menu-item dropdown-item"
@click="removeUserFromFollowers"
> >
{{ $t('user_card.remove_follower') }} <button
</button> class="main-button"
<button @click="removeUserFromFollowers"
v-if="relationship.blocking" >
class="dropdown-item menu-item" {{ $t('user_card.remove_follower') }}
@click="unblockUser" </button>
> </div>
{{ $t('user_card.unblock') }} <div class="menu-item dropdown-item">
</button> <button
<button v-if="relationship.blocking"
v-else class="main-button"
class="dropdown-item menu-item" @click="unblockUser"
@click="blockUser" >
> {{ $t('user_card.unblock') }}
{{ $t('user_card.block') }} </button>
</button> <button
<button v-else
class="dropdown-item menu-item" class="main-button"
@click="reportUser" @click="blockUser"
> >
{{ $t('user_card.report') }} {{ $t('user_card.block') }}
</button> </button>
<button </div>
<div class="menu-item dropdown-item">
<button
class="main-button"
@click="reportUser"
>
{{ $t('user_card.report') }}
</button>
</div>
<div
v-if="pleromaChatMessagesAvailable" v-if="pleromaChatMessagesAvailable"
class="dropdown-item menu-item" class="menu-item dropdown-item"
@click="openChat"
> >
{{ $t('user_card.message') }} <button
</button> class="main-button"
@click="openChat"
>
{{ $t('user_card.message') }}
</button>
</div>
</div> </div>
</template> </template>
<template #trigger> <template #trigger>

View file

@ -52,12 +52,14 @@
> >
<template #content> <template #content>
<div class="dropdown-menu"> <div class="dropdown-menu">
<button <div class="menu-item dropdown-item -icon">
class="menu-item dropdown-item dropdown-item-icon" <button
@click="deleteMessage" class="main-button"
> @click="deleteMessage"
<FAIcon icon="times" /> {{ $t("chats.delete") }} >
</button> <FAIcon icon="times" /> {{ $t("chats.delete") }}
</button>
</div>
</div> </div>
</template> </template>
<template #trigger> <template #trigger>

View file

@ -10,119 +10,150 @@
> >
<template #content> <template #content>
<div class="dropdown-menu"> <div class="dropdown-menu">
<span v-if="canGrantRole"> <template v-if="canGrantRole">
<button <div class="menu-item dropdown-item -icon-space">
class="menu-item dropdown-item menu-item" <button
@click="toggleRight(&quot;admin&quot;)" class="main-button"
> @click="toggleRight(&quot;admin&quot;)"
{{ $t(!!user.rights.admin ? 'user_card.admin_menu.revoke_admin' : 'user_card.admin_menu.grant_admin') }} >
</button> {{ $t(!!user.rights.admin ? 'user_card.admin_menu.revoke_admin' : 'user_card.admin_menu.grant_admin') }}
<button </button>
class="menu-item dropdown-item menu-item" </div>
@click="toggleRight(&quot;moderator&quot;)" <div class="menu-item dropdown-item -icon-space">
> <button
{{ $t(!!user.rights.moderator ? 'user_card.admin_menu.revoke_moderator' : 'user_card.admin_menu.grant_moderator') }} class="main-button"
</button> @click="toggleRight(&quot;moderator&quot;)"
>
{{ $t(!!user.rights.moderator ? 'user_card.admin_menu.revoke_moderator' : 'user_card.admin_menu.grant_moderator') }}
</button>
</div>
<div <div
v-if="canChangeActivationState || canDeleteAccount" v-if="canChangeActivationState || canDeleteAccount"
role="separator" role="separator"
class="dropdown-divider" class="dropdown-divider"
/> />
</span> </template>
<button
v-if="canChangeActivationState"
class="menu-item dropdown-item menu-item"
@click="toggleActivationStatus()"
>
{{ $t(!!user.deactivated ? 'user_card.admin_menu.activate_account' : 'user_card.admin_menu.deactivate_account') }}
</button>
<button
v-if="canDeleteAccount"
class="menu-item dropdown-item menu-item"
@click="deleteUserDialog(true)"
>
{{ $t('user_card.admin_menu.delete_account') }}
</button>
<div <div
v-if="canUseTagPolicy" v-if="canChangeActivationState"
role="separator" class="menu-item dropdown-item -icon-space"
class="dropdown-divider" >
/>
<span v-if="canUseTagPolicy">
<button <button
class="menu-item dropdown-item menu-item" class="main-button"
@click="toggleTag(tags.FORCE_NSFW)" @click="toggleActivationStatus()"
> >
<span {{ $t(!!user.deactivated ? 'user_card.admin_menu.activate_account' : 'user_card.admin_menu.deactivate_account') }}
class="input menu-checkbox"
:class="{ 'menu-checkbox-checked': hasTag(tags.FORCE_NSFW) }"
/>
{{ $t('user_card.admin_menu.force_nsfw') }}
</button> </button>
</div>
<div
v-if="canDeleteAccount"
class="menu-item dropdown-item -icon-space"
>
<button <button
class="menu-item dropdown-item menu-item" class="main-button"
@click="toggleTag(tags.STRIP_MEDIA)" @click="deleteUserDialog(true)"
> >
<span {{ $t('user_card.admin_menu.delete_account') }}
class="input menu-checkbox"
:class="{ 'menu-checkbox-checked': hasTag(tags.STRIP_MEDIA) }"
/>
{{ $t('user_card.admin_menu.strip_media') }}
</button> </button>
<button </div>
class="menu-item dropdown-item menu-item" <template v-if="canUseTagPolicy">
@click="toggleTag(tags.FORCE_UNLISTED)" <div
> role="separator"
<span class="dropdown-divider"
class="input menu-checkbox" />
:class="{ 'menu-checkbox-checked': hasTag(tags.FORCE_UNLISTED) }" <div class="menu-item dropdown-item -icon">
/> <button
{{ $t('user_card.admin_menu.force_unlisted') }} class="main-button"
</button> @click="toggleTag(tags.FORCE_NSFW)"
<button >
class="menu-item dropdown-item menu-item" <span
@click="toggleTag(tags.SANDBOX)" class="input menu-checkbox"
> :class="{ 'menu-checkbox-checked': hasTag(tags.FORCE_NSFW) }"
<span />
class="input menu-checkbox" {{ $t('user_card.admin_menu.force_nsfw') }}
:class="{ 'menu-checkbox-checked': hasTag(tags.SANDBOX) }" </button>
/> </div>
{{ $t('user_card.admin_menu.sandbox') }} <div class="menu-item dropdown-item -icon">
</button> <button
<button class="main-button"
@click="toggleTag(tags.STRIP_MEDIA)"
>
<span
class="input menu-checkbox"
:class="{ 'menu-checkbox-checked': hasTag(tags.STRIP_MEDIA) }"
/>
{{ $t('user_card.admin_menu.strip_media') }}
</button>
</div>
<div class="menu-item dropdown-item -icon">
<button
class="main-button"
@click="toggleTag(tags.FORCE_UNLISTED)"
>
<span
class="input menu-checkbox"
:class="{ 'menu-checkbox-checked': hasTag(tags.FORCE_UNLISTED) }"
/>
{{ $t('user_card.admin_menu.force_unlisted') }}
</button>
</div>
<div class="menu-item dropdown-item -icon">
<button
class="main-button"
@click="toggleTag(tags.SANDBOX)"
>
<span
class="input menu-checkbox"
:class="{ 'menu-checkbox-checked': hasTag(tags.SANDBOX) }"
/>
{{ $t('user_card.admin_menu.sandbox') }}
</button>
</div>
<div
v-if="user.is_local" v-if="user.is_local"
class="menu-item dropdown-item menu-item" class="menu-item dropdown-item -icon"
@click="toggleTag(tags.DISABLE_REMOTE_SUBSCRIPTION)"
> >
<span <button
class="input menu-checkbox" class="main-button"
:class="{ 'menu-checkbox-checked': hasTag(tags.DISABLE_REMOTE_SUBSCRIPTION) }" @click="toggleTag(tags.DISABLE_REMOTE_SUBSCRIPTION)"
/> >
{{ $t('user_card.admin_menu.disable_remote_subscription') }} <span
</button> class="input menu-checkbox"
<button :class="{ 'menu-checkbox-checked': hasTag(tags.DISABLE_REMOTE_SUBSCRIPTION) }"
/>
{{ $t('user_card.admin_menu.disable_remote_subscription') }}
</button>
</div>
<div
v-if="user.is_local" v-if="user.is_local"
class="menu-item dropdown-item menu-item" class="menu-item dropdown-item -icon"
@click="toggleTag(tags.DISABLE_ANY_SUBSCRIPTION)"
> >
<span <button
class="input menu-checkbox" class="main-button"
:class="{ 'menu-checkbox-checked': hasTag(tags.DISABLE_ANY_SUBSCRIPTION) }" @click="toggleTag(tags.DISABLE_ANY_SUBSCRIPTION)"
/> >
{{ $t('user_card.admin_menu.disable_any_subscription') }} <span
</button> class="input menu-checkbox"
<button :class="{ 'menu-checkbox-checked': hasTag(tags.DISABLE_ANY_SUBSCRIPTION) }"
/>
{{ $t('user_card.admin_menu.disable_any_subscription') }}
</button>
</div>
<div
v-if="user.is_local" v-if="user.is_local"
class="menu-item dropdown-item menu-item" class="menu-item dropdown-item -icon"
@click="toggleTag(tags.QUARANTINE)"
> >
<span <button
class="input menu-checkbox" class="main-button"
:class="{ 'menu-checkbox-checked': hasTag(tags.QUARANTINE) }" @click="toggleTag(tags.QUARANTINE)"
/> >
{{ $t('user_card.admin_menu.quarantine') }} <span
</button> class="input menu-checkbox"
</span> :class="{ 'menu-checkbox-checked': hasTag(tags.QUARANTINE) }"
/>
{{ $t('user_card.admin_menu.quarantine') }}
</button>
</div>
</template>
</div> </div>
</template> </template>
<template #trigger> <template #trigger>

View file

@ -7,78 +7,94 @@
> >
<template #content> <template #content>
<div class="dropdown-menu"> <div class="dropdown-menu">
<button <div class="menu-item dropdown-item -icon">
class="menu-item dropdown-item" <button
@click="toggleNotificationFilter('likes')" class="main-button"
> @click="toggleNotificationFilter('likes')"
<span >
class="input menu-checkbox" <span
:class="{ 'menu-checkbox-checked': filters.likes }" class="input menu-checkbox"
/>{{ $t('settings.notification_visibility_likes') }} :class="{ 'menu-checkbox-checked': filters.likes }"
</button> />{{ $t('settings.notification_visibility_likes') }}
<button </button>
class="menu-item dropdown-item" </div>
@click="toggleNotificationFilter('repeats')" <div class="menu-item dropdown-item -icon">
> <button
<span class="main-button"
class="input menu-checkbox" @click="toggleNotificationFilter('repeats')"
:class="{ 'menu-checkbox-checked': filters.repeats }" >
/>{{ $t('settings.notification_visibility_repeats') }} <span
</button> class="input menu-checkbox"
<button :class="{ 'menu-checkbox-checked': filters.repeats }"
class="menu-item dropdown-item" />{{ $t('settings.notification_visibility_repeats') }}
@click="toggleNotificationFilter('follows')" </button>
> </div>
<span <div class="menu-item dropdown-item -icon">
class="input menu-checkbox" <button
:class="{ 'menu-checkbox-checked': filters.follows }" class="main-button"
/>{{ $t('settings.notification_visibility_follows') }} @click="toggleNotificationFilter('follows')"
</button> >
<button <span
class="menu-item dropdown-item" class="input menu-checkbox"
@click="toggleNotificationFilter('mentions')" :class="{ 'menu-checkbox-checked': filters.follows }"
> />{{ $t('settings.notification_visibility_follows') }}
<span </button>
class="input menu-checkbox" </div>
:class="{ 'menu-checkbox-checked': filters.mentions }" <div class="menu-item dropdown-item -icon">
/>{{ $t('settings.notification_visibility_mentions') }} <button
</button> class="main-button"
<button @click="toggleNotificationFilter('mentions')"
class="menu-item dropdown-item" >
@click="toggleNotificationFilter('statuses')" <span
> class="input menu-checkbox"
<span :class="{ 'menu-checkbox-checked': filters.mentions }"
class="input menu-checkbox" />{{ $t('settings.notification_visibility_mentions') }}
:class="{ 'menu-checkbox-checked': filters.statuses }" </button>
/>{{ $t('settings.notification_visibility_statuses') }} </div>
</button> <div class="menu-item dropdown-item -icon">
<button <button
class="menu-item dropdown-item" class="main-button"
@click="toggleNotificationFilter('emojiReactions')" @click="toggleNotificationFilter('statuses')"
> >
<span <span
class="input menu-checkbox" class="input menu-checkbox"
:class="{ 'menu-checkbox-checked': filters.emojiReactions }" :class="{ 'menu-checkbox-checked': filters.statuses }"
/>{{ $t('settings.notification_visibility_emoji_reactions') }} />{{ $t('settings.notification_visibility_statuses') }}
</button> </button>
<button </div>
class="menu-item dropdown-item" <div class="menu-item dropdown-item -icon">
@click="toggleNotificationFilter('moves')" <button
> class="main-button"
<span @click="toggleNotificationFilter('emojiReactions')"
class="input menu-checkbox" >
:class="{ 'menu-checkbox-checked': filters.moves }" <span
/>{{ $t('settings.notification_visibility_moves') }} class="input menu-checkbox"
</button> :class="{ 'menu-checkbox-checked': filters.emojiReactions }"
<button />{{ $t('settings.notification_visibility_emoji_reactions') }}
class="menu-item dropdown-item" </button>
@click="toggleNotificationFilter('polls')" </div>
> <div class="menu-item dropdown-item -icon">
<span <button
class="input menu-checkbox" class="main-button"
:class="{ 'menu-checkbox-checked': filters.polls }" @click="toggleNotificationFilter('moves')"
/>{{ $t('settings.notification_visibility_polls') }} >
</button> <span
class="input menu-checkbox"
:class="{ 'menu-checkbox-checked': filters.moves }"
/>{{ $t('settings.notification_visibility_moves') }}
</button>
</div>
<div class="menu-item dropdown-item -icon">
<button
class="main-button"
@click="toggleNotificationFilter('polls')"
>
<span
class="input menu-checkbox"
:class="{ 'menu-checkbox-checked': filters.polls }"
/>{{ $t('settings.notification_visibility_polls') }}
</button>
</div>
</div> </div>
</template> </template>
<template #trigger> <template #trigger>

View file

@ -55,22 +55,6 @@
a.dropdown-item, a.dropdown-item,
button.dropdown-item, button.dropdown-item,
.dropdown-item:not(button, a) { .dropdown-item:not(button, a) {
&.disabled {
cursor: not-allowed;
}
&:not(.disabled) {
cursor: pointer;
}
.main-button,
.extra-button {
display: grid;
box-sizing: border-box;
border: none;
align-items: center;
}
.extra-button { .extra-button {
border-left: 1px solid var(--icon); border-left: 1px solid var(--icon);
padding-left: calc(var(--__horizontal-gap) - 1px); padding-left: calc(var(--__horizontal-gap) - 1px);
@ -115,10 +99,31 @@
} }
} }
.main-button,
.extra-button {
display: grid;
box-sizing: border-box;
align-items: center;
&.disabled {
cursor: not-allowed;
}
&:not(.disabled) {
cursor: pointer;
}
}
&.-icon { &.-icon {
.main-button { .main-button {
grid-template-columns: var(--__line-height) 1fr; grid-template-columns: var(--__line-height) 1fr;
} }
} }
&.-icon-space {
.main-button {
padding-left: calc(var(--__line-height) + var(--__horizontal-gap) * 2);
}
}
} }
} }

View file

@ -14,106 +14,126 @@
v-if="loggedIn" v-if="loggedIn"
role="group" role="group"
> >
<button <div class="menu-item dropdown-item -icon">
<button
v-if="!conversation"
class="main-button"
:aria-checked="replyVisibilityAll"
role="menuitemradio"
@click="replyVisibilityAll = true"
>
<span
class="input menu-checkbox -radio"
:class="{ 'menu-checkbox-checked': replyVisibilityAll }"
:aria-hidden="true"
/>{{ $t('settings.reply_visibility_all') }}
</button>
</div>
<div
v-if="!conversation" v-if="!conversation"
class="menu-item dropdown-item" class="menu-item dropdown-item -icon"
:aria-checked="replyVisibilityAll"
role="menuitemradio"
@click="replyVisibilityAll = true"
> >
<span <button
class="input menu-checkbox -radio" class="main-button"
:class="{ 'menu-checkbox-checked': replyVisibilityAll }" :aria-checked="replyVisibilityFollowing"
:aria-hidden="true" role="menuitemradio"
/>{{ $t('settings.reply_visibility_all') }} @click="replyVisibilityFollowing = true"
</button> >
<button <span
class="input menu-checkbox -radio"
:class="{ 'menu-checkbox-checked': replyVisibilityFollowing }"
:aria-hidden="true"
/>{{ $t('settings.reply_visibility_following_short') }}
</button>
</div>
<div
v-if="!conversation" v-if="!conversation"
class="menu-item dropdown-item" class="menu-item dropdown-item -icon"
:aria-checked="replyVisibilityFollowing"
role="menuitemradio"
@click="replyVisibilityFollowing = true"
> >
<span <button
class="input menu-checkbox -radio" class="main-button"
:class="{ 'menu-checkbox-checked': replyVisibilityFollowing }" :aria-checked="replyVisibilitySelf"
:aria-hidden="true" role="menuitemradio"
/>{{ $t('settings.reply_visibility_following_short') }} @click="replyVisibilitySelf = true"
</button> >
<button <span
v-if="!conversation" class="input menu-checkbox -radio"
class="menu-item dropdown-item" :class="{ 'menu-checkbox-checked': replyVisibilitySelf }"
:aria-checked="replyVisibilitySelf" :aria-hidden="true"
role="menuitemradio" />{{ $t('settings.reply_visibility_self_short') }}
@click="replyVisibilitySelf = true" </button>
> </div>
<span
class="input menu-checkbox -radio"
:class="{ 'menu-checkbox-checked': replyVisibilitySelf }"
:aria-hidden="true"
/>{{ $t('settings.reply_visibility_self_short') }}
</button>
<div <div
v-if="!conversation" v-if="!conversation"
role="separator" role="separator"
class="dropdown-divider" class="dropdown-divider"
/> />
</div> </div>
<button <div class="menu-item dropdown-item -icon">
class="menu-item dropdown-item" <button
role="menuitemcheckbox" class="main-button"
:aria-checked="muteBotStatuses" role="menuitemcheckbox"
@click="muteBotStatuses = !muteBotStatuses" :aria-checked="muteBotStatuses"
> @click="muteBotStatuses = !muteBotStatuses"
<span >
class="input menu-checkbox" <span
:class="{ 'menu-checkbox-checked': muteBotStatuses }" class="input menu-checkbox"
:aria-hidden="true" :class="{ 'menu-checkbox-checked': muteBotStatuses }"
/>{{ $t('settings.mute_bot_posts') }} :aria-hidden="true"
</button> />{{ $t('settings.mute_bot_posts') }}
<button </button>
class="menu-item dropdown-item" </div>
role="menuitemcheckbox" <div class="menu-item dropdown-item -icon">
:aria-checked="muteSensitiveStatuses" <button
@click="muteSensitiveStatuses = !muteSensitiveStatuses" class="main-button"
> role="menuitemcheckbox"
<span :aria-checked="muteSensitiveStatuses"
class="input menu-checkbox" @click="muteSensitiveStatuses = !muteSensitiveStatuses"
:class="{ 'menu-checkbox-checked': muteSensitiveStatuses }" >
:aria-hidden="true" <span
/>{{ $t('settings.mute_sensitive_posts') }} class="input menu-checkbox"
</button> :class="{ 'menu-checkbox-checked': muteSensitiveStatuses }"
<button :aria-hidden="true"
class="menu-item dropdown-item" />{{ $t('settings.mute_sensitive_posts') }}
role="menuitemcheckbox" </button>
:aria-checked="hideMedia" </div>
@click="hideMedia = !hideMedia" <div class="menu-item dropdown-item -icon">
> <button
<span class="main-button"
class="input menu-checkbox" role="menuitemcheckbox"
:class="{ 'menu-checkbox-checked': hideMedia }" :aria-checked="hideMedia"
:aria-hidden="true" @click="hideMedia = !hideMedia"
/>{{ $t('settings.hide_media_previews') }} >
</button> <span
<button class="input menu-checkbox"
class="menu-item dropdown-item" :class="{ 'menu-checkbox-checked': hideMedia }"
role="menuitemcheckbox" :aria-hidden="true"
:aria-checked="hideMutedPosts" />{{ $t('settings.hide_media_previews') }}
@click="hideMutedPosts = !hideMutedPosts" </button>
> </div>
<span <div class="menu-item dropdown-item -icon">
class="input menu-checkbox" <button
:class="{ 'menu-checkbox-checked': hideMutedPosts }" class="main-button"
:aria-hidden="true" role="menuitemcheckbox"
/>{{ $t('settings.hide_all_muted_posts') }} :aria-checked="hideMutedPosts"
</button> @click="hideMutedPosts = !hideMutedPosts"
<button >
class="menu-item dropdown-item -icon" <span
role="menuitem" class="input menu-checkbox"
@click="openTab('filtering')" :class="{ 'menu-checkbox-checked': hideMutedPosts }"
> :aria-hidden="true"
<FAIcon icon="font" />{{ $t('settings.word_filter_and_more') }} />{{ $t('settings.hide_all_muted_posts') }}
</button> </button>
</div>
<div class="menu-item dropdown-item -icon">
<button
class="main-button"
role="menuitem"
@click="openTab('filtering')"
>
<FAIcon fixed-width icon="font" />{{ $t('settings.word_filter_and_more') }}
</button>
</div>
</div> </div>
</template> </template>
<template #trigger> <template #trigger>

View file

@ -11,86 +11,107 @@
role="menu" role="menu"
> >
<div role="group"> <div role="group">
<button <div class="menu-item dropdown-item -icon">
class="menu-item dropdown-item" <button
:aria-checked="conversationDisplay === 'tree'" class="main-button"
role="menuitemradio" :aria-checked="conversationDisplay === 'tree'"
@click="conversationDisplay = 'tree'" role="menuitemradio"
> @click="conversationDisplay = 'tree'"
<span >
class="input menu-checkbox -radio" <span
:aria-hidden="true" class="input menu-checkbox -radio"
:class="{ 'menu-checkbox-checked': conversationDisplay === 'tree' }" :aria-hidden="true"
/><FAIcon :class="{ 'menu-checkbox-checked': conversationDisplay === 'tree' }"
icon="folder-tree" /><FAIcon
:aria-hidden="true" icon="folder-tree"
/> {{ $t('settings.conversation_display_tree_quick') }} :aria-hidden="true"
</button> fixed-width
<button /> {{ $t('settings.conversation_display_tree_quick') }}
class="menu-item dropdown-item" </button>
:aria-checked="conversationDisplay === 'linear'" </div>
role="menuitemradio" <div class="menu-item dropdown-item -icon">
@click="conversationDisplay = 'linear'" <button
> class="main-button"
<span :aria-checked="conversationDisplay === 'linear'"
class="input menu-checkbox -radio" role="menuitemradio"
:class="{ 'menu-checkbox-checked': conversationDisplay === 'linear' }" @click="conversationDisplay = 'linear'"
:aria-hidden="true" >
/><FAIcon <span
icon="list" class="input menu-checkbox -radio"
:aria-hidden="true" :class="{ 'menu-checkbox-checked': conversationDisplay === 'linear' }"
/> {{ $t('settings.conversation_display_linear_quick') }} :aria-hidden="true"
</button> /><FAIcon
icon="list"
:aria-hidden="true"
fixed-width
/> {{ $t('settings.conversation_display_linear_quick') }}
</button>
</div>
</div> </div>
<div <div
role="separator" role="separator"
class="dropdown-divider" class="dropdown-divider"
/> />
<button <div class="menu-item dropdown-item -icon">
class="menu-item dropdown-item" <button
role="menuitemcheckbox" class="main-button"
:aria-checked="showUserAvatars" role="menuitemcheckbox"
@click="showUserAvatars = !showUserAvatars" :aria-checked="showUserAvatars"
> @click="showUserAvatars = !showUserAvatars"
<span >
class="input menu-checkbox" <span
:class="{ 'menu-checkbox-checked': showUserAvatars }" class="main-button"
:aria-hidden="true" :class="{ 'menu-checkbox-checked': showUserAvatars }"
/>{{ $t('settings.mention_link_show_avatar_quick') }} :aria-hidden="true"
</button> />{{ $t('settings.mention_link_show_avatar_quick') }}
<button </button>
</div>
<div
v-if="!conversation" v-if="!conversation"
class="menu-item dropdown-item"
role="menuitemcheckbox"
:aria-checked="autoUpdate"
@click="autoUpdate = !autoUpdate"
>
<span
class="input menu-checkbox"
:class="{ 'menu-checkbox-checked': autoUpdate }"
:aria-hidden="true"
/>{{ $t('settings.auto_update') }}
</button>
<button
v-if="!conversation"
class="menu-item dropdown-item"
role="menuitemcheckbox"
:aria-checked="collapseWithSubjects"
@click="collapseWithSubjects = !collapseWithSubjects"
>
<span
class="input menu-checkbox"
:class="{ 'menu-checkbox-checked': collapseWithSubjects }"
:aria-hidden="true"
/>{{ $t('settings.collapse_subject') }}
</button>
<button
class="menu-item dropdown-item -icon" class="menu-item dropdown-item -icon"
role="menuitem"
@click="openTab('general')"
> >
<FAIcon icon="wrench" />{{ $t('settings.more_settings') }} <button
</button> class="main-button"
role="menuitemcheckbox"
:aria-checked="autoUpdate"
@click="autoUpdate = !autoUpdate"
>
<span
class="input menu-checkbox"
:class="{ 'menu-checkbox-checked': autoUpdate }"
:aria-hidden="true"
/>{{ $t('settings.auto_update') }}
</button>
</div>
<div
v-if="!conversation"
class="menu-item dropdown-item -icon"
>
<button
class="main-button"
role="menuitemcheckbox"
:aria-checked="collapseWithSubjects"
@click="collapseWithSubjects = !collapseWithSubjects"
>
<span
class="input menu-checkbox"
:class="{ 'menu-checkbox-checked': collapseWithSubjects }"
:aria-hidden="true"
/>{{ $t('settings.collapse_subject') }}
</button>
</div>
<div class="menu-item dropdown-item -icon">
<button
class="main-button"
role="menuitem"
@click="openTab('general')"
>
<FAIcon
icon="wrench"
fixed-width
/>{{ $t('settings.more_settings') }}
</button>
</div>
</div> </div>
</template> </template>
<template #trigger> <template #trigger>

View file

@ -115,22 +115,28 @@
> >
<template #content="{close}"> <template #content="{close}">
<div class="dropdown-menu"> <div class="dropdown-menu">
<button <div
v-for="ref in frontend.refs" v-for="ref in frontend.refs"
:key="ref" :key="ref"
class="menu-item dropdown-item" class="menu-item dropdown-item"
@click.prevent="update(frontend, ref)"
@click="close"
> >
<i18n-t <button
keypath="admin_dash.frontend.install_version" class="main-button"
scope="global" @click.prevent="update(frontend, ref)"
@click="close"
> >
<template #version> <span>
<code>{{ ref }}</code> <i18n-t
</template> keypath="admin_dash.frontend.install_version"
</i18n-t> scope="global"
</button> >
<template #version>
<code>{{ ref }}</code>
</template>
</i18n-t>
</span>
</button>
</div>
</div> </div>
</template> </template>
<template #trigger> <template #trigger>
@ -175,22 +181,28 @@
> >
<template #content="{close}"> <template #content="{close}">
<div class="dropdown-menu"> <div class="dropdown-menu">
<button <div
class="menu-item dropdown-item"
v-for="ref in frontend.installedRefs || frontend.refs" v-for="ref in frontend.installedRefs || frontend.refs"
:key="ref" :key="ref"
class="menu-item dropdown-item"
@click.prevent="setDefault(frontend, ref)"
@click="close"
> >
<i18n-t <button
keypath="admin_dash.frontend.set_default_version" class="main-button"
scope="global" @click.prevent="setDefault(frontend, ref)"
@click="close"
> >
<template #version> <span>
<code>{{ ref }}</code> <i18n-t
</template> keypath="admin_dash.frontend.set_default_version"
</i18n-t> scope="global"
</button> >
<template #version>
<code>{{ ref }}</code>
</template>
</i18n-t>
</span>
</button>
</div>
</div> </div>
</template> </template>
<template #trigger> <template #trigger>

View file

@ -69,36 +69,42 @@
</template> </template>
<template #content="{close}"> <template #content="{close}">
<div class="dropdown-menu"> <div class="dropdown-menu">
<button <div class="menu-item dropdown-item -icon">
class="menu-item dropdown-item -icon" <button
@click.prevent="backup" class="main-button"
@click="close" @click.prevent="backup"
> @click="close"
<FAIcon >
icon="file-download" <FAIcon
fixed-width icon="file-download"
/><span>{{ $t("settings.file_export_import.backup_settings") }}</span> fixed-width
</button> /><span>{{ $t("settings.file_export_import.backup_settings") }}</span>
<button </button>
class="menu-item dropdown-item -icon" </div>
@click.prevent="backupWithTheme" <div class="menu-item dropdown-item -icon">
@click="close" <button
> class="main-button"
<FAIcon @click.prevent="backupWithTheme"
icon="file-download" @click="close"
fixed-width >
/><span>{{ $t("settings.file_export_import.backup_settings_theme") }}</span> <FAIcon
</button> icon="file-download"
<button fixed-width
class="menu-item dropdown-item -icon" /><span>{{ $t("settings.file_export_import.backup_settings_theme") }}</span>
@click.prevent="restore" </button>
@click="close" </div>
> <div class="menu-item dropdown-item -icon">
<FAIcon <button
icon="file-upload" class="main-button"
fixed-width @click.prevent="restore"
/><span>{{ $t("settings.file_export_import.restore_settings") }}</span> @click="close"
</button> >
<FAIcon
icon="file-upload"
fixed-width
/><span>{{ $t("settings.file_export_import.restore_settings") }}</span>
</button>
</div>
</div> </div>
</template> </template>
</Popover> </Popover>

View file

@ -1,17 +1,21 @@
<template> <template>
<div class="dropdown-menu"> <div class="dropdown-menu">
<button <div
v-for="folder in folders" v-for="folder in folders"
:key="folder.id" :key="folder.id"
class="menu-item dropdown-item -icon" class="menu-item dropdown-item -icon"
@click="toggleFolder(folder.id)"
> >
<span <button
class="input menu-checkbox -radio" class="main-button"
:class="{ 'menu-checkbox-checked': status.bookmark_folder_id == folder.id }" @click="toggleFolder(folder.id)"
/> >
{{ folder.name }} <span
</button> class="input menu-checkbox -radio"
:class="{ 'menu-checkbox-checked': status.bookmark_folder_id == folder.id }"
/>
{{ folder.name }}
</button>
</div>
</div> </div>
</template> </template>

View file

@ -8,18 +8,22 @@
> >
<template #content> <template #content>
<div class="dropdown-menu"> <div class="dropdown-menu">
<button <div
v-for="list in lists" v-for="list in lists"
:key="list.id" :key="list.id"
class="menu-item dropdown-item -icon" class="menu-item dropdown-item -icon"
@click="toggleList(list.id)"
> >
<span <button
class="input menu-checkbox" class="main-button"
:class="{ 'menu-checkbox-checked': list.inList }" @click="toggleList(list.id)"
/> >
{{ list.title }} <span
</button> class="input menu-checkbox"
:class="{ 'menu-checkbox-checked': list.inList }"
/>
{{ list.title }}
</button>
</div>
</div> </div>
</template> </template>
<template #trigger> <template #trigger>