Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@
"@ai-sdk/svelte": "^1.1.24",
"@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@f21fc7f",
"@appwrite.io/pink-icons": "0.25.0",
"@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@865e2fc",
"@appwrite.io/pink-icons-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@cb016bd",
"@appwrite.io/pink-legacy": "^1.0.3",
"@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@865e2fc",
"@appwrite.io/pink-svelte": "https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@cb016bd",
"@faker-js/faker": "^9.9.0",
"@popperjs/core": "^2.11.8",
"@sentry/sveltekit": "^8.38.0",
Expand Down
20 changes: 10 additions & 10 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,16 @@
} from '@appwrite.io/pink-svelte';
import DomainMetrics from './domainMetrics.svelte';
import { base } from '$app/paths';
import { isSmallViewport } from '$lib/stores/viewport';
import { app } from '$lib/stores/app';
import { Button } from '$lib/elements/forms';
import { IconDownload, IconPlus, IconUpload } from '@appwrite.io/pink-icons-svelte';
import {
IconDownload,
IconPlus,
IconUpload,
IconAdjustments
} from '@appwrite.io/pink-icons-svelte';
import DisplaySettingsModal from '$lib/layout/displaySettingsModal.svelte';
import { ViewSelector } from '$lib/components';
import { View } from '$lib/helpers/load';
import { columns, presets } from './store';
Expand All @@ -33,6 +40,7 @@
let showCreate = false;
let showPresetModal = false;
let showImportModal = false;
let showDisplaySettingsModal = false;
let selectedPreset = '';

async function downloadRecords() {
Expand Down Expand Up @@ -70,42 +78,115 @@

<Layout.Stack gap="l">
{#if data.recordList.total}
<Layout.Stack direction="row" justifyContent="space-between">
<Layout.Stack direction="row" gap="s" inline>
<Button secondary on:click={() => (showImportModal = true)}>
<Icon icon={IconUpload} size="s" slot="start" />
Import zone file
</Button>
<Tooltip>
<PinkButton.Button variant="secondary" icon on:click={downloadRecords}>
<Icon icon={IconDownload} size="s" />
</PinkButton.Button>
<svelte:fragment slot="tooltip">Export as .txt</svelte:fragment>
</Tooltip>
</Layout.Stack>
<Layout.Stack direction="row" gap="s" inline>
<ViewSelector ui="new" view={View.Table} {columns} hideView />
<Popover let:toggle padding="none">
<Button secondary on:click={toggle}>Add preset</Button>
<svelte:fragment slot="tooltip" let:toggle>
<ActionMenu.Root>
{#each presets as preset}
<ActionMenu.Item.Button
on:click={(e) => {
toggle(e);
selectedPreset = preset;
showPresetModal = true;
}}>{preset}</ActionMenu.Item.Button>
{/each}
</ActionMenu.Root>
</svelte:fragment>
</Popover>
<Button size="s" on:click={() => (showCreate = true)}>
{#if $isSmallViewport}
<Layout.Stack gap="s">
<Layout.Stack direction="row" gap="s">
<div style="flex: 1">
<Popover let:toggle padding="none">
<Button secondary fullWidth on:click={toggle}
>Add preset</Button>
<svelte:fragment slot="tooltip" let:toggle>
<ActionMenu.Root>
{#each presets as preset}
<ActionMenu.Item.Button
on:click={(e) => {
toggle(e);
selectedPreset = preset;
showPresetModal = true;
}}>{preset}</ActionMenu.Item.Button>
{/each}
</ActionMenu.Root>
</svelte:fragment>
</Popover>
</div>
<Button
secondary
icon
ariaLabel="Import zone file"
on:click={() => (showImportModal = true)}>
<Icon size="m" icon={IconUpload} />
</Button>
<Tooltip>
<PinkButton.Button
variant="secondary"
icon
on:click={downloadRecords}>
<Icon icon={IconDownload} size="m" />
</PinkButton.Button>
<svelte:fragment slot="tooltip">Export as .txt</svelte:fragment>
</Tooltip>
<Button
secondary
icon
ariaLabel="Display settings"
on:click={() => (showDisplaySettingsModal = true)}>
<Icon icon={IconAdjustments} />
</Button>
</Layout.Stack>
<Button fullWidth on:click={() => (showCreate = true)}>
<Icon size="s" icon={IconPlus} slot="start" />
Create record
</Button>
</Layout.Stack>
</Layout.Stack>
{:else}
<Layout.Stack
direction="row"
gap="m"
justifyContent="space-between"
alignItems="center"
wrap="wrap">
<Layout.Stack
direction="row"
gap="s"
alignItems="center"
wrap="wrap"
style="flex: 1">
<Button secondary on:click={() => (showImportModal = true)}>
<Icon icon={IconUpload} size="s" slot="start" />
Import zone file
</Button>
<Tooltip>
<PinkButton.Button
variant="secondary"
icon
on:click={downloadRecords}>
<Icon icon={IconDownload} size="s" />
</PinkButton.Button>
<svelte:fragment slot="tooltip">Export as .txt</svelte:fragment>
</Tooltip>
</Layout.Stack>
<Layout.Stack
direction="row"
gap="s"
alignItems="center"
style="flex: 1; min-width: 250px; justify-content: flex-end;">
<ViewSelector ui="new" view={View.Table} {columns} hideView />

<Popover let:toggle padding="none">
<Button secondary on:click={toggle}>Add preset</Button>
<svelte:fragment slot="tooltip" let:toggle>
<ActionMenu.Root>
{#each presets as preset}
<ActionMenu.Item.Button
on:click={(e) => {
toggle(e);
selectedPreset = preset;
showPresetModal = true;
}}>{preset}</ActionMenu.Item.Button>
{/each}
</ActionMenu.Root>
</svelte:fragment>
</Popover>

<div>
<Button on:click={() => (showCreate = true)}>
<Icon size="s" icon={IconPlus} slot="start" />
Create record
</Button>
</div>
</Layout.Stack>
</Layout.Stack>
{/if}
<Table {data} />
{:else}
<Card.Base padding="none">
Expand Down Expand Up @@ -153,3 +234,11 @@
{#if showRetry}
<RetryDomainModal bind:show={showRetry} selectedDomain={data.domain} />
{/if}

{#if showDisplaySettingsModal}
<DisplaySettingsModal
bind:show={showDisplaySettingsModal}
{columns}
hideView
view={View.Table} />
{/if}
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,10 @@
</script>

<Layout.Stack>
<Table.Root columns={[...$columns, { id: 'actions', width: 40 }]} let:root>
<Table.Root
class="responsive-table"
columns={[...$columns, { id: 'actions', width: 40 }]}
let:root>
<svelte:fragment slot="header" let:root>
{#each $columns as { id, title } (id)}
<Table.Header.Cell column={id} {root}>
Expand Down
7 changes: 7 additions & 0 deletions src/routes/+layout.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -309,4 +309,11 @@
background-color: var(--color-mid-neutral-70, #56565c);
}
}

.responsive-table {
overflow: hidden;
width: 100%;
scrollbar-width: thin;
position: relative;
}
</style>