mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
Merge branch 'main' into 8.x
This commit is contained in:
+2
-2
@@ -24,9 +24,9 @@
|
||||
"@ai-sdk/svelte": "^1.1.24",
|
||||
"@appwrite.io/console": "https://pkg.vc/-/@appwrite/@appwrite.io/console@e621876",
|
||||
"@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@bbad65f",
|
||||
"@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@bbad65f",
|
||||
"@faker-js/faker": "^9.9.0",
|
||||
"@plausible-analytics/tracker": "^0.4.4",
|
||||
"@popperjs/core": "^2.11.8",
|
||||
|
||||
Generated
+10
-10
@@ -18,14 +18,14 @@ importers:
|
||||
specifier: 0.25.0
|
||||
version: 0.25.0
|
||||
'@appwrite.io/pink-icons-svelte':
|
||||
specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@865e2fc
|
||||
version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@865e2fc(svelte@5.25.3)
|
||||
specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bbad65f
|
||||
version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bbad65f(svelte@5.25.3)
|
||||
'@appwrite.io/pink-legacy':
|
||||
specifier: ^1.0.3
|
||||
version: 1.0.3
|
||||
'@appwrite.io/pink-svelte':
|
||||
specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@865e2fc
|
||||
version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@865e2fc(svelte@5.25.3)
|
||||
specifier: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@bbad65f
|
||||
version: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@bbad65f(svelte@5.25.3)
|
||||
'@faker-js/faker':
|
||||
specifier: ^9.9.0
|
||||
version: 9.9.0
|
||||
@@ -281,8 +281,8 @@ packages:
|
||||
peerDependencies:
|
||||
svelte: ^4.0.0
|
||||
|
||||
'@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@865e2fc':
|
||||
resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@865e2fc}
|
||||
'@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bbad65f':
|
||||
resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bbad65f}
|
||||
version: 2.0.0-RC.1
|
||||
peerDependencies:
|
||||
svelte: ^4.0.0
|
||||
@@ -296,8 +296,8 @@ packages:
|
||||
'@appwrite.io/pink-legacy@1.0.3':
|
||||
resolution: {integrity: sha512-GGde5fmPhs+s6/3aFeMPc/kKADG/gTFkYQSy6oBN8pK0y0XNCLrZZgBv+EBbdhwdtqVEWXa0X85Mv9w7jcIlwQ==}
|
||||
|
||||
'@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@865e2fc':
|
||||
resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@865e2fc}
|
||||
'@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@bbad65f':
|
||||
resolution: {tarball: https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@bbad65f}
|
||||
version: 2.0.0-RC.2
|
||||
peerDependencies:
|
||||
svelte: ^4.0.0
|
||||
@@ -3828,7 +3828,7 @@ snapshots:
|
||||
dependencies:
|
||||
svelte: 5.25.3
|
||||
|
||||
'@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@865e2fc(svelte@5.25.3)':
|
||||
'@appwrite.io/pink-icons-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-icons-svelte@bbad65f(svelte@5.25.3)':
|
||||
dependencies:
|
||||
svelte: 5.25.3
|
||||
|
||||
@@ -3841,7 +3841,7 @@ snapshots:
|
||||
'@appwrite.io/pink-icons': 1.0.0
|
||||
the-new-css-reset: 1.11.3
|
||||
|
||||
'@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@865e2fc(svelte@5.25.3)':
|
||||
'@appwrite.io/pink-svelte@https://pkg.vc/-/@appwrite/@appwrite.io/pink-svelte@bbad65f(svelte@5.25.3)':
|
||||
dependencies:
|
||||
'@appwrite.io/pink-icons-svelte': 2.0.0-RC.1(svelte@5.25.3)
|
||||
'@floating-ui/dom': 1.6.13
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
.responsive-table {
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
scrollbar-width: thin;
|
||||
position: relative;
|
||||
}
|
||||
+66
-13
@@ -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';
|
||||
@@ -33,6 +40,7 @@
|
||||
let showCreate = false;
|
||||
let showPresetModal = false;
|
||||
let showImportModal = false;
|
||||
let showDisplaySettingsModal = false;
|
||||
let selectedPreset = '';
|
||||
|
||||
async function downloadRecords() {
|
||||
@@ -70,23 +78,55 @@
|
||||
|
||||
<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
|
||||
<Layout.Stack direction="row" gap="s" alignItems="center" wrap="wrap">
|
||||
<div style:order={$isSmallViewport ? 2 : undefined}>
|
||||
<Button
|
||||
secondary
|
||||
icon={$isSmallViewport}
|
||||
ariaLabel={$isSmallViewport ? 'Import zone file' : undefined}
|
||||
on:click={() => (showImportModal = true)}>
|
||||
{#if $isSmallViewport}
|
||||
<Icon size="m" icon={IconUpload} />
|
||||
{:else}
|
||||
<Icon icon={IconUpload} size="s" slot="start" />
|
||||
Import zone file
|
||||
{/if}
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<div style:order={$isSmallViewport ? 3 : undefined}>
|
||||
<Tooltip>
|
||||
<PinkButton.Button variant="secondary" icon on:click={downloadRecords}>
|
||||
<Icon icon={IconDownload} size="s" />
|
||||
<Icon icon={IconDownload} size={$isSmallViewport ? 'm' : '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 />
|
||||
</div>
|
||||
|
||||
{#if !$isSmallViewport}
|
||||
<div style="flex: 1"></div>
|
||||
{/if}
|
||||
|
||||
<div style:order={$isSmallViewport ? 4 : undefined}>
|
||||
{#if $isSmallViewport}
|
||||
<Button
|
||||
secondary
|
||||
icon
|
||||
ariaLabel="Display settings"
|
||||
on:click={() => (showDisplaySettingsModal = true)}>
|
||||
<Icon icon={IconAdjustments} />
|
||||
</Button>
|
||||
{:else}
|
||||
<ViewSelector ui="new" view={View.Table} {columns} hideView />
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
<div
|
||||
style:order={$isSmallViewport ? 1 : undefined}
|
||||
style:flex={$isSmallViewport ? 1 : undefined}>
|
||||
<Popover let:toggle padding="none">
|
||||
<Button secondary on:click={toggle}>Add preset</Button>
|
||||
<Button secondary fullWidth={$isSmallViewport} on:click={toggle}
|
||||
>Add preset</Button>
|
||||
<svelte:fragment slot="tooltip" let:toggle>
|
||||
<ActionMenu.Root>
|
||||
{#each presets as preset}
|
||||
@@ -100,11 +140,16 @@
|
||||
</ActionMenu.Root>
|
||||
</svelte:fragment>
|
||||
</Popover>
|
||||
<Button size="s" on:click={() => (showCreate = true)}>
|
||||
</div>
|
||||
|
||||
<div
|
||||
style:order={$isSmallViewport ? 5 : undefined}
|
||||
style:width={$isSmallViewport ? '100%' : undefined}>
|
||||
<Button fullWidth={$isSmallViewport} on:click={() => (showCreate = true)}>
|
||||
<Icon size="s" icon={IconPlus} slot="start" />
|
||||
Create record
|
||||
</Button>
|
||||
</Layout.Stack>
|
||||
</div>
|
||||
</Layout.Stack>
|
||||
<Table {data} />
|
||||
{:else}
|
||||
@@ -153,3 +198,11 @@
|
||||
{#if showRetry}
|
||||
<RetryDomainModal bind:show={showRetry} selectedDomain={data.domain} />
|
||||
{/if}
|
||||
|
||||
{#if showDisplaySettingsModal}
|
||||
<DisplaySettingsModal
|
||||
bind:show={showDisplaySettingsModal}
|
||||
{columns}
|
||||
hideView
|
||||
view={View.Table} />
|
||||
{/if}
|
||||
|
||||
+4
-1
@@ -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}>
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
});
|
||||
</script>
|
||||
|
||||
<Fieldset legend="Permissions">
|
||||
<Fieldset legend="Security">
|
||||
<Layout.Stack gap="l">
|
||||
<Selector.Switch
|
||||
id="execute"
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
import { ThemeDark, ThemeLight, ThemeDarkCloud, ThemeLightCloud } from '../themes';
|
||||
import { isSmallViewport, updateViewport } from '$lib/stores/viewport';
|
||||
import { feedback } from '$lib/stores/feedback';
|
||||
import '$lib/profiles/css/base.css';
|
||||
|
||||
function resolveTheme(theme: AppStore['themeInUse']) {
|
||||
switch (theme) {
|
||||
|
||||
Reference in New Issue
Block a user