Merge branch 'tusooa/scroll-emoji-selector-safari' into 'develop'

Fix scrolling emoji selector in modal in safari ios

Closes #1264

See merge request pleroma/pleroma-fe!1844
This commit is contained in:
HJ 2023-06-29 16:09:51 +00:00
commit c9d07c6202
3 changed files with 13 additions and 0 deletions

View File

@ -0,0 +1 @@
Fix scrolling emoji selector in modal in safari ios

View File

@ -105,6 +105,7 @@ const EmojiPicker = {
default: false default: false
} }
}, },
inject: ['popoversZLayer'],
data () { data () {
return { return {
keyword: '', keyword: '',
@ -350,6 +351,9 @@ const EmojiPicker = {
return emoji.displayText return emoji.displayText
} }
},
isInModal () {
return this.popoversZLayer === 'modals'
} }
} }
} }

View File

@ -9,8 +9,14 @@
> >
<template #content> <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.
See https://github.com/willmcpo/body-scroll-lock#vanilla-js
-->
<span <span
ref="header" ref="header"
v-body-scroll-lock="isInModal"
class="emoji-tabs" class="emoji-tabs"
> >
<span <span
@ -75,8 +81,10 @@
@input="$event.target.composing = false" @input="$event.target.composing = false"
> >
</div> </div>
<!-- Enables scrolling for this element on safari iOS. See comments for header. -->
<DynamicScroller <DynamicScroller
ref="emoji-groups" ref="emoji-groups"
v-body-scroll-lock="isInModal"
class="emoji-groups" class="emoji-groups"
:class="groupsScrolledClass" :class="groupsScrolledClass"
:min-item-size="minItemSize" :min-item-size="minItemSize"