fix(routes): ui from databases page

This commit is contained in:
Kaname
2022-09-07 00:16:57 +00:00
parent 83e0cafef9
commit b4892e0caf
7 changed files with 292 additions and 296 deletions

View File

@@ -294,7 +294,7 @@
</script>
<div class="flex items-center space-x-2 p-5 px-6 font-bold lg:hidden">
<div class="-mb-5 flex-col">
<div class="flex-col">
<div class="md:max-w-64 truncate text-base tracking-tight md:text-2xl lg:block">
Configuration
</div>

View File

@@ -105,10 +105,10 @@
}
</script>
<div class="mx-auto max-w-4xl px-6">
<div class="mx-auto max-w-4xl p-4">
<form on:submit|preventDefault={handleSubmit} class="py-4">
<div class="flex space-x-1 pb-5">
<div class="title">{$t('general')}</div>
<div class="flex flex-col lg:flex-row justify-between lg:space-x-1 space-y-3 pb-5 items-center">
<h1 class="title">{$t('general')}</h1>
{#if $appSession.isAdmin}
<button
type="submit"
@@ -119,19 +119,16 @@
>
{/if}
</div>
<div class="grid grid-flow-row gap-2 px-10">
<div class="grid grid-cols-2 items-center">
<div class="grid gap-4 grid-cols-2 auto-rows-max">
<label for="name" class="text-base font-bold text-stone-100">{$t('forms.name')}</label>
<input
class="w-full"
readonly={!$appSession.isAdmin}
name="name"
id="name"
bind:value={database.name}
required
/>
</div>
<div class="grid grid-cols-2 items-center">
<label for="destination" class="text-base font-bold text-stone-100"
>{$t('application.destination')}</label
>
@@ -142,13 +139,10 @@
id="destination"
disabled
readonly
class="bg-transparent "
class="bg-transparent w-full"
/>
</div>
{/if}
</div>
<div class="grid grid-cols-2 items-center">
<label for="version" class="text-base font-bold text-stone-100">Version / Tag</label>
<a
href={$appSession.isAdmin && !$status.database.isRunning
@@ -157,17 +151,13 @@
class="no-underline"
>
<input
class="w-full"
value={database.version}
readonly
disabled={$status.database.isRunning || $status.database.initialLoading}
class:cursor-pointer={!$status.database.isRunning}
/></a
>
</div>
</div>
<div class="grid grid-flow-row gap-2 px-10 pt-2">
<div class="grid grid-cols-2 items-center">
<label for="host" class="text-base font-bold text-stone-100">{$t('forms.host')}</label>
<CopyPasswordField
placeholder={$t('forms.generated_automatically_after_start')}
@@ -178,10 +168,7 @@
name="host"
value={database.id}
/>
</div>
<div class="grid grid-cols-2 items-center">
<label for="publicPort" class="text-base font-bold text-stone-100">{$t('forms.port')}</label
>
<label for="publicPort" class="text-base font-bold text-stone-100">{$t('forms.port')}</label>
<CopyPasswordField
placeholder={$t('database.generated_automatically_after_set_to_public')}
id="publicPort"
@@ -191,8 +178,6 @@
value={publicLoading ? 'Loading...' : isPublic ? database.publicPort : privatePort}
/>
</div>
</div>
<div class="grid grid-flow-row gap-2">
{#if database.type === 'mysql'}
<MySql bind:database />
{:else if database.type === 'postgresql'}
@@ -206,7 +191,7 @@
{:else if database.type === 'couchdb'}
<CouchDb {database} />
{/if}
<div class="grid grid-cols-2 items-center px-10 pb-8">
<div class="flex flex-col space-y-3 mt-5">
<div>
<label for="url" class="text-base font-bold text-stone-100"
>{$t('database.connection_string')}
@@ -228,13 +213,11 @@
value={publicLoading || loading ? 'Loading...' : generateUrl()}
/>
</div>
</div>
</form>
<div class="flex space-x-1 pb-5 font-bold">
<div class="title">{$t('application.features')}</div>
<h1 class="title">{$t('application.features')}</h1>
</div>
<div class="px-10 pb-10">
<div class="grid grid-cols-2 items-center">
<div class="grid gap-4 grid-cols-2 auto-rows-max">
<Setting
id="isPublic"
loading={publicLoading}
@@ -244,9 +227,7 @@
description={$t('database.warning_database_public')}
disabled={!$status.database.isRunning}
/>
</div>
{#if database.type === 'redis'}
<div class="grid grid-cols-2 items-center">
<Setting
id="appendOnly"
loading={publicLoading}
@@ -255,7 +236,6 @@
title={$t('database.change_append_only_mode')}
description={$t('database.warning_append_only')}
/>
</div>
{/if}
</div>
</div>

View File

@@ -7,9 +7,9 @@
</script>
<div class="flex space-x-1 py-5 font-bold">
<div class="title">MongoDB</div>
<h1 class="title">MongoDB</h1>
</div>
<div class="space-y-2 px-10">
<div class="space-y-2">
<div class="grid grid-cols-2 items-center">
<label for="rootUser" class="text-base font-bold text-stone-100">{$t('forms.root_user')}</label>
<CopyPasswordField

View File

@@ -7,9 +7,9 @@
</script>
<div class="flex space-x-1 py-5 font-bold">
<div class="title">MySQL</div>
<h1 class="title">MySQL</h1>
</div>
<div class="space-y-2 px-10">
<div class="space-y-2">
<div class="grid grid-cols-2 items-center">
<label for="defaultDatabase" class="text-base font-bold text-stone-100"
>{$t('database.default_database')}</label

View File

@@ -62,6 +62,7 @@
import DeleteIcon from '$lib/components/DeleteIcon.svelte';
import { onDestroy, onMount } from 'svelte';
import Tooltip from '$lib/components/Tooltip.svelte';
import DatabaseLinks from './_DatabaseLinks.svelte';
const { id } = $page.params;
let statusInterval: any = false;
@@ -144,7 +145,21 @@
</script>
{#if id !== 'new'}
<nav class="nav-side">
<nav
class="flex flex-row px-3 justify-center lg:justify-between items-center bg-neutral-focus lg:fixed w-full z-10 lg:-ml-16 lg:pl-16"
>
<div class="hidden items-center space-x-2 p-5 px-6 font-bold lg:flex">
<div class="flex flex-col">
<div class="md:max-w-64 truncate text-base tracking-tight md:text-2xl lg:block">
Configuration
</div>
<span class="text-xs">{database.name}</span>
</div>
<DatabaseLinks {database} />
</div>
<div
class="flex flex-row flex-wrap space-x-4 space-y-3 justify-center lg:justify-start py-2 lg:py-0"
>
{#if database.type && database.destinationDockerId && database.version && database.defaultDatabase}
{#if $status.database.isExited}
<a
@@ -202,7 +217,7 @@
on:click={stopDatabase}
type="submit"
disabled={!$appSession.isAdmin}
class="icons bg-transparent text-sm flex items-center space-x-2 text-red-500"
class="icons bg-transparent text-sm flex items-center space-x-2 text-red-500 mt-3"
>
<svg
xmlns="http://www.w3.org/2000/svg"
@@ -329,6 +344,7 @@
{/if}
<Tooltip triggeredBy="#delete">{'Delete'}</Tooltip>
</div>
</nav>
{/if}
<slot />

View File

@@ -48,8 +48,8 @@
});
</script>
<div class="flex h-20 items-center space-x-2 p-5 px-6 font-bold">
<div class="-mb-5 flex-col">
<div class="flex items-center space-x-2 p-5 font-bold lg:hidden">
<div class="flex-col">
<div class="md:max-w-64 truncate text-base tracking-tight md:text-2xl lg:block">
Configuration
</div>
@@ -58,7 +58,7 @@
<DatabaseLinks {database} />
</div>
<div class="mx-auto max-w-4xl px-6 py-4">
<div class="mx-auto max-w-4xl p-5 lg:pt-32">
<div class="text-2xl font-bold">Database Usage</div>
<div class="text-center">
<div class="stat w-64">

View File

@@ -97,7 +97,7 @@ a {
}
.title {
@apply mr-4 text-base tracking-tight md:text-2xl font-bold;
@apply mr-4 tracking-tight text-2xl font-bold;
}
.nav-main {
@apply fixed top-0 left-0 min-h-screen w-16 min-w-[4rem] overflow-hidden border-r border-stone-800 bg-coolgray-200 scrollbar-w-1 scrollbar-thumb-coollabs scrollbar-track-coolgray-200 xl:overflow-visible;