Hide launcher down arrow when scrolled to the end.
Deploy Ladill Frontdesk / deploy (push) Successful in 1m40s
Deploy Ladill Frontdesk / deploy (push) Successful in 1m40s
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -13,8 +13,24 @@
|
|||||||
$launcherOverflows = count($launcherApps) > 18;
|
$launcherOverflows = count($launcherApps) > 18;
|
||||||
@endphp
|
@endphp
|
||||||
@if (! empty($launcherApps))
|
@if (! empty($launcherApps))
|
||||||
<div class="relative" x-data="{ appsOpen: false }" @click.outside="appsOpen = false" @keydown.escape.window="appsOpen = false">
|
<div class="relative" x-data="{
|
||||||
<button type="button" @click="appsOpen = !appsOpen"
|
appsOpen: false,
|
||||||
|
showScrollMore: {{ $launcherOverflows ? 'true' : 'false' }},
|
||||||
|
checkScrollEnd() {
|
||||||
|
const el = this.$refs.appsScroller;
|
||||||
|
if (! el) return;
|
||||||
|
this.showScrollMore = el.scrollTop + el.clientHeight < el.scrollHeight - 4;
|
||||||
|
},
|
||||||
|
toggleApps() {
|
||||||
|
this.appsOpen = ! this.appsOpen;
|
||||||
|
if (this.appsOpen) {
|
||||||
|
this.$nextTick(() => this.checkScrollEnd());
|
||||||
|
} else {
|
||||||
|
this.showScrollMore = {{ $launcherOverflows ? 'true' : 'false' }};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}" @click.outside="appsOpen = false" @keydown.escape.window="appsOpen = false">
|
||||||
|
<button type="button" @click="toggleApps()"
|
||||||
@class([
|
@class([
|
||||||
'inline-flex items-center justify-center rounded-xl border border-slate-200 text-slate-600 transition hover:bg-slate-50',
|
'inline-flex items-center justify-center rounded-xl border border-slate-200 text-slate-600 transition hover:bg-slate-50',
|
||||||
'p-2' => ! $sidebar,
|
'p-2' => ! $sidebar,
|
||||||
@@ -39,7 +55,10 @@
|
|||||||
])>
|
])>
|
||||||
<p class="px-1 pb-2 text-[10px] font-bold uppercase tracking-widest text-slate-400">All apps</p>
|
<p class="px-1 pb-2 text-[10px] font-bold uppercase tracking-widest text-slate-400">All apps</p>
|
||||||
<div @class(['ladill-launcher-apps-wrap' => $launcherOverflows])>
|
<div @class(['ladill-launcher-apps-wrap' => $launcherOverflows])>
|
||||||
<div class="ladill-launcher-apps">
|
<div
|
||||||
|
class="ladill-launcher-apps"
|
||||||
|
@if ($launcherOverflows) x-ref="appsScroller" @scroll="checkScrollEnd()" @endif
|
||||||
|
>
|
||||||
<div class="grid grid-cols-3 gap-1">
|
<div class="grid grid-cols-3 gap-1">
|
||||||
@foreach ($launcherApps as $app)
|
@foreach ($launcherApps as $app)
|
||||||
<a href="{{ $app['url'] }}"
|
<a href="{{ $app['url'] }}"
|
||||||
@@ -53,7 +72,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@if ($launcherOverflows)
|
@if ($launcherOverflows)
|
||||||
<div class="ladill-launcher-scroll-more" aria-hidden="true">
|
<div class="ladill-launcher-scroll-more" x-show="showScrollMore" x-cloak aria-hidden="true">
|
||||||
<svg class="h-3.5 w-3.5" viewBox="0 0 20 20" fill="currentColor">
|
<svg class="h-3.5 w-3.5" viewBox="0 0 20 20" fill="currentColor">
|
||||||
<path fill-rule="evenodd" d="M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z" clip-rule="evenodd"/>
|
<path fill-rule="evenodd" d="M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z" clip-rule="evenodd"/>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
Reference in New Issue
Block a user