From c34ea0bb47226e7e50a45a0f17396bbda451b2a6 Mon Sep 17 00:00:00 2001 From: Luca Stocchi <49404737+lstocchi@users.noreply.github.com> Date: Mon, 13 Feb 2023 16:36:53 +0100 Subject: [PATCH] feat: show no logs view when opening logs tab and waiting for logs to being fetched (#1117) (#1353) * feat: show no logs page when waiting for logs Signed-off-by: luca --- .../src/lib/ContainerDetailsLogs.svelte | 35 +++++++------------ .../src/lib/pod/PodDetailsLogs.svelte | 35 +++++++------------ .../renderer/src/lib/ui/EmptyScreen.svelte | 3 +- packages/renderer/src/lib/ui/NoLogIcon.svelte | 21 +++++++++++ 4 files changed, 49 insertions(+), 45 deletions(-) create mode 100644 packages/renderer/src/lib/ui/NoLogIcon.svelte diff --git a/packages/renderer/src/lib/ContainerDetailsLogs.svelte b/packages/renderer/src/lib/ContainerDetailsLogs.svelte index 111fc81a809..5d00a88cd04 100644 --- a/packages/renderer/src/lib/ContainerDetailsLogs.svelte +++ b/packages/renderer/src/lib/ContainerDetailsLogs.svelte @@ -9,6 +9,8 @@ import { TerminalSettings } from '../../../main/src/plugin/terminal-settings'; import { getPanelDetailColor } from './color/color'; import { isMultiplexedLog } from './stream/stream-utils'; +import EmptyScreen from './ui/EmptyScreen.svelte'; +import NoLogIcon from './ui/NoLogIcon.svelte'; export let container: ContainerInfoUI; @@ -16,7 +18,6 @@ export let container: ContainerInfoUI; let logsXtermDiv: HTMLDivElement; let logsContainer; // logs has been initialized -let logsReady = false; let noLogs = true; // Terminal resize @@ -42,7 +43,6 @@ function callback(name: string, data: string) { logsTerminal?.clear(); } else if (name === 'data') { noLogs = false; - if (isMultiplexedLog(data)) { logsTerminal?.write(data.substring(8) + '\r'); } else { @@ -54,7 +54,6 @@ function callback(name: string, data: string) { async function fetchContainerLogs() { // grab logs of the container await window.logsContainer(container.engineId, container.id, callback); - logsReady = true; } async function refreshTerminal() { @@ -84,6 +83,7 @@ async function refreshTerminal() { logsTerminal.loadAddon(termFit); logsTerminal.open(logsXtermDiv); + // disable cursor logsTerminal.write('\x1b[?25l'); @@ -115,27 +115,18 @@ onDestroy(() => { }); -{#if logsReady} -
-
-
- - -

No Log

- -
Log output of {container.name}
-
-
-
-{/if} +