Compare commits

...

4 commits

Author SHA1 Message Date
Henry Jameson
5dac99d828 Merge branch 'emoji-fixes' into shigusegubu-themes3 2024-12-23 23:16:05 +02:00
Henry Jameson
0bbdea0e90 make header scrollable Y->X 2024-12-23 23:15:35 +02:00
Henry Jameson
e2bcbd51bb emoji consistency + picker improvements 2024-12-23 23:01:15 +02:00
HJ
1cc9ff70e0 Merge branch 'fixes-batch' into 'develop'
Fixes batch

Closes #1321, #1286, and #1241

See merge request pleroma/pleroma-fe!1955
2024-12-23 19:35:14 +00:00
5 changed files with 50 additions and 26 deletions

View file

@ -135,6 +135,9 @@ const EmojiPicker = {
Popover
},
methods: {
groupScroll (e) {
e.currentTarget.scrollLeft += e.deltaY + e.deltaX
},
updateEmojiSize () {
const css = window.getComputedStyle(this.$refs.popover.$el)
const emojiSize = css.getPropertyValue('--emojiSize')

View file

@ -166,24 +166,6 @@
}
}
&-group {
display: flex;
align-items: center;
flex-wrap: wrap;
justify-content: left;
&-title {
font-size: 0.85em;
width: 100%;
margin: 0;
padding-left: 0.3em;
&.disabled {
display: none;
}
}
}
&-item {
width: var(--emoji-size);
height: var(--emoji-size);
@ -206,9 +188,38 @@
}
.emoji-picker-emoji.-unicode {
font-size: 1.6em;
font-size: calc(var(--emoji-size) * 0.8);
overflow: hidden;
}
}
&-group {
display: grid;
grid-template-columns: repeat(var(--__amount), 1fr);
justify-items: center;
align-items: center;
justify-content: left;
grid-template-rows: repeat(1, auto);
&.first-row {
grid-template-rows: repeat(2, auto);
.emoji-item {
grid-row: 2;
}
}
&-title {
font-size: 0.85em;
grid-column: span var(--__amount);
width: 100%;
margin: 0;
padding-left: 0.3em;
&.disabled {
display: none;
}
}
}
}
}

View file

@ -8,7 +8,9 @@
@close="onPopoverClosed"
>
<template #content>
<div class="heading">
<div
class="heading"
>
<!--
Body scroll lock needs to be on every scrollable element on safari iOS.
Here we tell it to enable scrolling for this element.
@ -18,6 +20,7 @@
ref="header"
v-body-scroll-lock="isInModal"
class="emoji-tabs"
@wheel.prevent="groupScroll"
>
<span
v-for="group in filteredEmojiGroups"
@ -106,6 +109,8 @@
>
<div
class="emoji-group"
:class="{ ['first-row']: group.isFirstRow }"
:style="{ '--__amount': itemPerRow }"
>
<h6
v-if="group.isFirstRow"

View file

@ -1,5 +1,6 @@
import UserAvatar from '../user_avatar/user_avatar.vue'
import UserListPopover from '../user_list_popover/user_list_popover.vue'
import StillImage from 'src/components/still-image/still-image.vue'
import { library } from '@fortawesome/fontawesome-svg-core'
import {
faPlus,
@ -19,7 +20,8 @@ const EmojiReactions = {
name: 'EmojiReactions',
components: {
UserAvatar,
UserListPopover
UserListPopover,
StillImage
},
props: ['status'],
data: () => ({

View file

@ -18,12 +18,11 @@
<span
class="reaction-emoji"
>
<img
<StillImage
v-if="reaction.url"
:src="reaction.url"
class="reaction-emoji-content"
width="1em"
>
/>
<span
v-else
class="reaction-emoji reaction-emoji-content"
@ -132,12 +131,16 @@
.reaction-emoji-content {
max-width: 100%;
max-height: 100%;
width: auto;
height: auto;
width: var(--emoji-size);
height: var(--emoji-size);
line-height: inherit;
overflow: hidden;
font-size: calc(var(--emoji-size) * 0.8);
margin: 0;
img {
object-fit: contain;
}
}
&:focus {