statusbar

This commit is contained in:
Jan Prochazka
2021-03-01 21:09:03 +01:00
parent ca517f9c73
commit a0aa508e8d
7 changed files with 86 additions and 2 deletions

View File

@@ -0,0 +1,64 @@
<script lang="ts">
import FontIcon from '../icons/FontIcon.svelte';
import { currentDatabase } from '../stores';
import { useDatabaseStatus } from '../utility/metadataLoaders';
$: databaseName = $currentDatabase && $currentDatabase.name;
$: connection = $currentDatabase && $currentDatabase.connection;
$: status = useDatabaseStatus(connection ? { conid: connection._id, database: databaseName } : {});
</script>
<div class="main">
<div class="container">
{#if databaseName}
<div class="item">
<FontIcon icon="icon database" />
{databaseName}
</div>
{/if}
{#if connection && (connection.displayName || connection.server)}
<div class="item">
<FontIcon icon="icon server" />
{connection.displayName || connection.server}
</div>
{/if}
{#if connection && connection.user}
<div class="item">
<FontIcon icon="icon account" />
{connection.user}
</div>
{/if}
{#if connection && $status}
<div class="item">
{#if $status.name == 'pending'}
<FontIcon icon="icon loading" /> Loading
{:else if $status.name == 'ok'}
<FontIcon icon="img ok-inv" /> Connected
{:else if $status.name == 'error'}
<FontIcon icon="img error-inv" /> Error
{/if}
</div>
{/if}
{#if !connection}
<div class="item">
<FontIcon icon="icon disconnected" /> Not connected
</div>
{/if}
</div>
</div>
<style>
.main {
display: flex;
color: var(--theme-font-inv-1);
align-items: stretch;
justify-content: space-between;
}
.container {
display: flex;
}
.item {
padding: 2px 10px;
}
</style>