@necrolab/dashboard 0.5.25 → 0.5.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="proxy-editor-section" :class="{ 'landscape-hidden': isHidden }" v-if="!isHidden">
|
|
3
3
|
<h5 class="text-white text-xl font-bold flex gap-x-3 mb-3">Proxy Editor</h5>
|
|
4
|
-
<div class="flex items-center gap-2 w-full
|
|
4
|
+
<div class="flex items-center gap-2 w-full">
|
|
5
5
|
<div class="flex-1 lg:flex-initial lg:w-64 flex dropdown-container z-dropdown">
|
|
6
6
|
<div class="relative flex-grow">
|
|
7
7
|
<Dropdown
|
|
@@ -50,14 +50,12 @@
|
|
|
50
50
|
</div>
|
|
51
51
|
<transition name="fade">
|
|
52
52
|
<div v-if="isProxyEditorVisible" class="relative my-3">
|
|
53
|
-
<div class="
|
|
54
|
-
<
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
spellcheck="false"></textarea>
|
|
60
|
-
</div>
|
|
53
|
+
<div class="proxy-editor-container">
|
|
54
|
+
<textarea
|
|
55
|
+
:value="proxyContent"
|
|
56
|
+
@input="$emit('update:proxyContent', $event.target.value)"
|
|
57
|
+
class="proxy-editor"
|
|
58
|
+
spellcheck="false"></textarea>
|
|
61
59
|
</div>
|
|
62
60
|
</div>
|
|
63
61
|
</transition>
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
</button>
|
|
56
56
|
<h4 v-if="ui.profile?.name" class="hidden text-sm font-medium text-white lg:block">
|
|
57
57
|
<span class="text-lightgray">Logged in as</span>
|
|
58
|
-
<span class="font-black">{{ ui.profile?.name }}</span>
|
|
58
|
+
<span class="ml-1 font-black">{{ ui.profile?.name }}</span>
|
|
59
59
|
</h4>
|
|
60
60
|
<h4 v-else class="hidden text-sm font-medium text-white lg:block">
|
|
61
61
|
<span class="text-lightgray">Loading</span>
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
<CountryChooser class="ipad-safe-top hidden lg:block" />
|
|
70
70
|
|
|
71
71
|
<button
|
|
72
|
-
class="z-30 ml-auto flex p-2
|
|
72
|
+
class="z-30 -m-2 ml-auto flex p-2 lg:hidden"
|
|
73
73
|
@click="toggleMenu"
|
|
74
74
|
aria-label="Toggle navigation menu"
|
|
75
75
|
:aria-expanded="menuOpen">
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
</button>
|
|
125
125
|
<h4 class="mr-4 text-sm font-medium text-white">
|
|
126
126
|
<span class="text-lightgray">Logged in as</span>
|
|
127
|
-
<span class="font-black">{{ ui.profile?.name }}</span>
|
|
127
|
+
<span class="ml-1 font-black">{{ ui.profile?.name }}</span>
|
|
128
128
|
</h4>
|
|
129
129
|
<img :src="ui.profile?.profilePicture" alt="" class="size-10 rounded-full" />
|
|
130
130
|
</div>
|
|
@@ -15,9 +15,11 @@ export function useDynamicTableHeight(options = {}) {
|
|
|
15
15
|
// Detect PWA mode and small screens
|
|
16
16
|
const isPWA = window.matchMedia('(display-mode: standalone)').matches;
|
|
17
17
|
const isMobile = windowWidth.value <= 768;
|
|
18
|
+
const isIPhonePortrait = windowWidth.value <= 480 && windowHeight.value > windowWidth.value;
|
|
18
19
|
|
|
19
|
-
// Extra buffer for
|
|
20
|
-
|
|
20
|
+
// Extra buffer for mobile PWA to prevent overflow
|
|
21
|
+
// iPhone portrait gets a smaller reserve to use more vertical space
|
|
22
|
+
const extraBuffer = isPWA && isMobile ? (isIPhonePortrait ? 24 : 40) : 0;
|
|
21
23
|
|
|
22
24
|
const availableHeight = windowHeight.value - topReservedSpace - bottomBuffer - extraBuffer;
|
|
23
25
|
const minHeight = minRowsToShow * rowHeight;
|
|
@@ -44,7 +44,7 @@ export function useNotchHandling(logger) {
|
|
|
44
44
|
if (isNotchBusy && !force) return;
|
|
45
45
|
|
|
46
46
|
try {
|
|
47
|
-
if (!isIOS()
|
|
47
|
+
if (!isIOS()) {
|
|
48
48
|
document.documentElement.style.setProperty("--safe-area-top", "0px");
|
|
49
49
|
document.documentElement.style.setProperty("--safe-area-right", "0px");
|
|
50
50
|
document.documentElement.style.setProperty("--safe-area-bottom", "0px");
|
|
@@ -52,6 +52,14 @@ export function useNotchHandling(logger) {
|
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
+
if (isIpadOS()) {
|
|
56
|
+
document.documentElement.style.setProperty("--safe-area-top", "12px");
|
|
57
|
+
document.documentElement.style.setProperty("--safe-area-right", "0px");
|
|
58
|
+
document.documentElement.style.setProperty("--safe-area-bottom", "0px");
|
|
59
|
+
document.documentElement.style.setProperty("--safe-area-left", "0px");
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
|
|
55
63
|
const isLandscape = isLandscapeMode();
|
|
56
64
|
const hasNotch = hasDeviceNotch();
|
|
57
65
|
|