mirror of
https://github.com/amir20/dozzle.git
synced 2025-12-21 13:23:07 +01:00
fix: fixes z-index on some menu and improves scroll progress fading (#3989)
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="dropdown dropdown-end dropdown-hover">
|
<div class="dropdown dropdown-end dropdown-hover z-20">
|
||||||
<label tabindex="0" class="btn btn-ghost btn-sm w-10 gap-0.5 px-2">
|
<label tabindex="0" class="btn btn-ghost btn-sm w-10 gap-0.5 px-2">
|
||||||
<carbon:circle-solid class="text-red w-2.5" v-if="streamConfig.stderr" />
|
<carbon:circle-solid class="text-red w-2.5" v-if="streamConfig.stderr" />
|
||||||
<carbon:circle-solid class="text-blue w-2.5" v-if="streamConfig.stdout" />
|
<carbon:circle-solid class="text-blue w-2.5" v-if="streamConfig.stdout" />
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
@click="hideMenu"
|
@click="hideMenu"
|
||||||
>
|
>
|
||||||
<li v-if="!historical">
|
<li v-if="!historical">
|
||||||
<a @click.prevent="clear()">
|
<a @click="clear()">
|
||||||
<octicon:trash-24 /> {{ $t("toolbar.clear") }}
|
<octicon:trash-24 /> {{ $t("toolbar.clear") }}
|
||||||
<KeyShortcut char="k" :modifiers="['shift', 'meta']" />
|
<KeyShortcut char="k" :modifiers="['shift', 'meta']" />
|
||||||
</a>
|
</a>
|
||||||
@@ -19,13 +19,13 @@
|
|||||||
<a :href="downloadUrl" download> <octicon:download-24 /> {{ $t("toolbar.download") }} </a>
|
<a :href="downloadUrl" download> <octicon:download-24 /> {{ $t("toolbar.download") }} </a>
|
||||||
</li>
|
</li>
|
||||||
<li v-if="!historical">
|
<li v-if="!historical">
|
||||||
<a @click.prevent="showSearch = true">
|
<a @click="showSearch = true">
|
||||||
<mdi:magnify /> {{ $t("toolbar.search") }}
|
<mdi:magnify /> {{ $t("toolbar.search") }}
|
||||||
<KeyShortcut char="f" />
|
<KeyShortcut char="f" />
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li v-if="hasComplexLogs">
|
<li v-if="hasComplexLogs">
|
||||||
<a @click.prevent="showDrawer(LogAnalytics, { container }, 'lg')">
|
<a @click="showDrawer(LogAnalytics, { container }, 'lg')">
|
||||||
<ph:file-sql /> SQL Analytics
|
<ph:file-sql /> SQL Analytics
|
||||||
<KeyShortcut char="f" :modifiers="['shift', 'meta']" />
|
<KeyShortcut char="f" :modifiers="['shift', 'meta']" />
|
||||||
</a>
|
</a>
|
||||||
@@ -142,14 +142,14 @@
|
|||||||
<template v-if="enableShell && !historical">
|
<template v-if="enableShell && !historical">
|
||||||
<li class="line"></li>
|
<li class="line"></li>
|
||||||
<li>
|
<li>
|
||||||
<a @click.prevent="showDrawer(Terminal, { container, action: 'attach' }, 'lg')">
|
<a @click="showDrawer(Terminal, { container, action: 'attach' }, 'lg')">
|
||||||
<ri:terminal-window-fill />
|
<ri:terminal-window-fill />
|
||||||
{{ $t("toolbar.attach") }}
|
{{ $t("toolbar.attach") }}
|
||||||
<KeyShortcut char="a" :modifiers="['shift', 'meta']" />
|
<KeyShortcut char="a" :modifiers="['shift', 'meta']" />
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a @click.prevent="showDrawer(Terminal, { container, action: 'exec' }, 'lg')">
|
<a @click="showDrawer(Terminal, { container, action: 'exec' }, 'lg')">
|
||||||
<material-symbols:terminal />
|
<material-symbols:terminal />
|
||||||
{{ $t("toolbar.shell") }}
|
{{ $t("toolbar.shell") }}
|
||||||
<KeyShortcut char="e" :modifiers="['shift', 'meta']" />
|
<KeyShortcut char="e" :modifiers="['shift', 'meta']" />
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="dropdown dropdown-start dropdown-hover absolute -left-2 font-sans" v-show="container">
|
<div class="dropdown dropdown-start dropdown-hover absolute -left-2 z-10 font-sans" v-show="container">
|
||||||
<router-link
|
<router-link
|
||||||
v-if="isSearching"
|
v-if="isSearching"
|
||||||
@click="resetSearch()"
|
@click="resetSearch()"
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ const { containers } = useLoggingContext();
|
|||||||
|
|
||||||
const list = ref<HTMLElement[]>([]);
|
const list = ref<HTMLElement[]>([]);
|
||||||
|
|
||||||
|
let previousDate = new Date();
|
||||||
useIntersectionObserver(
|
useIntersectionObserver(
|
||||||
list,
|
list,
|
||||||
(entries) => {
|
(entries) => {
|
||||||
@@ -36,9 +37,12 @@ useIntersectionObserver(
|
|||||||
const time = entry.target.getAttribute("data-time");
|
const time = entry.target.getAttribute("data-time");
|
||||||
if (time) {
|
if (time) {
|
||||||
const date = new Date(parseInt(time));
|
const date = new Date(parseInt(time));
|
||||||
|
if (+date === +previousDate) break;
|
||||||
|
previousDate = date;
|
||||||
const diff = new Date().getTime() - container.created.getTime();
|
const diff = new Date().getTime() - container.created.getTime();
|
||||||
progress.value = (date.getTime() - container.created.getTime()) / diff;
|
progress.value = (date.getTime() - container.created.getTime()) / diff;
|
||||||
currentDate.value = date;
|
currentDate.value = date;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="dropdown dropdown-end dropdown-hover">
|
<div class="dropdown dropdown-end dropdown-hover z-20">
|
||||||
<label tabindex="0" class="btn btn-ghost btn-sm gap-0.5 px-2">
|
<label tabindex="0" class="btn btn-ghost btn-sm gap-0.5 px-2">
|
||||||
<carbon:circle-solid class="text-red w-2.5" v-if="streamConfig.stderr" />
|
<carbon:circle-solid class="text-red w-2.5" v-if="streamConfig.stderr" />
|
||||||
<carbon:circle-solid class="text-blue w-2.5" v-if="streamConfig.stdout" />
|
<carbon:circle-solid class="text-blue w-2.5" v-if="streamConfig.stdout" />
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
@click="hideMenu"
|
@click="hideMenu"
|
||||||
>
|
>
|
||||||
<li>
|
<li>
|
||||||
<a @click.prevent="clear()">
|
<a @click="clear()">
|
||||||
<octicon:trash-24 /> {{ $t("toolbar.clear") }}
|
<octicon:trash-24 /> {{ $t("toolbar.clear") }}
|
||||||
<KeyShortcut char="k" :modifiers="['shift', 'meta']" />
|
<KeyShortcut char="k" :modifiers="['shift', 'meta']" />
|
||||||
</a>
|
</a>
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
<a :href="downloadUrl" download> <octicon:download-24 /> {{ $t("toolbar.download") }} </a>
|
<a :href="downloadUrl" download> <octicon:download-24 /> {{ $t("toolbar.download") }} </a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a @click.prevent="showSearch = true">
|
<a @click="showSearch = true">
|
||||||
<mdi:magnify /> {{ $t("toolbar.search") }}
|
<mdi:magnify /> {{ $t("toolbar.search") }}
|
||||||
<KeyShortcut char="f" />
|
<KeyShortcut char="f" />
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ exports[`<ContainerEventSource /> > render html correctly > should render dates
|
|||||||
</li>
|
</li>
|
||||||
<li data-v-cf9ff940="" id="1" data-time="1560336942459" class="group/entry">
|
<li data-v-cf9ff940="" id="1" data-time="1560336942459" class="group/entry">
|
||||||
<div data-v-cf9ff940="" class="relative flex w-full items-start gap-x-2 group-[.compact]:items-stretch">
|
<div data-v-cf9ff940="" class="relative flex w-full items-start gap-x-2 group-[.compact]:items-stretch">
|
||||||
<div class="dropdown dropdown-start dropdown-hover absolute -left-2 font-sans"><button tabindex="0" class="btn btn-square btn-xs border-base-content/20 bg-base-100 border opacity-0 shadow-sm group-hover/entry:opacity-90"><svg viewBox="0 0 512 512" width="1.2em" height="1.2em">
|
<div class="dropdown dropdown-start dropdown-hover absolute -left-2 z-10 font-sans"><button tabindex="0" class="btn btn-square btn-xs border-base-content/20 bg-base-100 border opacity-0 shadow-sm group-hover/entry:opacity-90"><svg viewBox="0 0 512 512" width="1.2em" height="1.2em">
|
||||||
<circle cx="256" cy="256" r="48" fill="currentColor"></circle>
|
<circle cx="256" cy="256" r="48" fill="currentColor"></circle>
|
||||||
<circle cx="256" cy="416" r="48" fill="currentColor"></circle>
|
<circle cx="256" cy="416" r="48" fill="currentColor"></circle>
|
||||||
<circle cx="256" cy="96" r="48" fill="currentColor"></circle>
|
<circle cx="256" cy="96" r="48" fill="currentColor"></circle>
|
||||||
@@ -41,7 +41,7 @@ exports[`<ContainerEventSource /> > render html correctly > should render dates
|
|||||||
</li>
|
</li>
|
||||||
<li data-v-cf9ff940="" id="1" data-time="1560336942459" class="group/entry">
|
<li data-v-cf9ff940="" id="1" data-time="1560336942459" class="group/entry">
|
||||||
<div data-v-cf9ff940="" class="relative flex w-full items-start gap-x-2 group-[.compact]:items-stretch">
|
<div data-v-cf9ff940="" class="relative flex w-full items-start gap-x-2 group-[.compact]:items-stretch">
|
||||||
<div class="dropdown dropdown-start dropdown-hover absolute -left-2 font-sans"><button tabindex="0" class="btn btn-square btn-xs border-base-content/20 bg-base-100 border opacity-0 shadow-sm group-hover/entry:opacity-90"><svg viewBox="0 0 512 512" width="1.2em" height="1.2em">
|
<div class="dropdown dropdown-start dropdown-hover absolute -left-2 z-10 font-sans"><button tabindex="0" class="btn btn-square btn-xs border-base-content/20 bg-base-100 border opacity-0 shadow-sm group-hover/entry:opacity-90"><svg viewBox="0 0 512 512" width="1.2em" height="1.2em">
|
||||||
<circle cx="256" cy="256" r="48" fill="currentColor"></circle>
|
<circle cx="256" cy="256" r="48" fill="currentColor"></circle>
|
||||||
<circle cx="256" cy="416" r="48" fill="currentColor"></circle>
|
<circle cx="256" cy="416" r="48" fill="currentColor"></circle>
|
||||||
<circle cx="256" cy="96" r="48" fill="currentColor"></circle>
|
<circle cx="256" cy="96" r="48" fill="currentColor"></circle>
|
||||||
@@ -75,7 +75,7 @@ exports[`<ContainerEventSource /> > render html correctly > should render messag
|
|||||||
</li>
|
</li>
|
||||||
<li data-v-cf9ff940="" id="1" data-time="1560336942459" class="group/entry">
|
<li data-v-cf9ff940="" id="1" data-time="1560336942459" class="group/entry">
|
||||||
<div data-v-cf9ff940="" class="relative flex w-full items-start gap-x-2 group-[.compact]:items-stretch">
|
<div data-v-cf9ff940="" class="relative flex w-full items-start gap-x-2 group-[.compact]:items-stretch">
|
||||||
<div class="dropdown dropdown-start dropdown-hover absolute -left-2 font-sans"><button tabindex="0" class="btn btn-square btn-xs border-base-content/20 bg-base-100 border opacity-0 shadow-sm group-hover/entry:opacity-90"><svg viewBox="0 0 512 512" width="1.2em" height="1.2em">
|
<div class="dropdown dropdown-start dropdown-hover absolute -left-2 z-10 font-sans"><button tabindex="0" class="btn btn-square btn-xs border-base-content/20 bg-base-100 border opacity-0 shadow-sm group-hover/entry:opacity-90"><svg viewBox="0 0 512 512" width="1.2em" height="1.2em">
|
||||||
<circle cx="256" cy="256" r="48" fill="currentColor"></circle>
|
<circle cx="256" cy="256" r="48" fill="currentColor"></circle>
|
||||||
<circle cx="256" cy="416" r="48" fill="currentColor"></circle>
|
<circle cx="256" cy="416" r="48" fill="currentColor"></circle>
|
||||||
<circle cx="256" cy="96" r="48" fill="currentColor"></circle>
|
<circle cx="256" cy="96" r="48" fill="currentColor"></circle>
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ svg {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.fadeout-leave-active {
|
.fadeout-leave-active {
|
||||||
@apply transition-opacity;
|
@apply transition-opacity duration-400;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fadeout-leave-to {
|
.fadeout-leave-to {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<time :datetime="date.toISOString()" data-ci-skip>{{ text }}</time>
|
<time :datetime="date.toISOString()">{{ text }}</time>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
|||||||
Reference in New Issue
Block a user