Skip to content
Merged
Show file tree
Hide file tree
Changes from 67 commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
498ba4d
update: make empty sheet interactive [wip].
ItzNotABug Oct 2, 2025
a53d5cc
update: column selection for delete!
ItzNotABug Oct 2, 2025
106b529
lint.
ItzNotABug Oct 2, 2025
c4c7472
fix: previousColumnId setter.
ItzNotABug Oct 2, 2025
dec5acd
add: delete support as per new designs.
ItzNotABug Oct 2, 2025
963e3e6
add: delete for mobile.
ItzNotABug Oct 2, 2025
d45599e
add: menu for inner icon as well.
ItzNotABug Oct 3, 2025
d1c8633
update: column selection logic.
ItzNotABug Oct 3, 2025
6af5d1a
Merge branch 'main' into revamp-designs
ItzNotABug Oct 6, 2025
1c37717
update: empty sheet actions centering.
ItzNotABug Oct 6, 2025
05d8689
update: widths.
ItzNotABug Oct 6, 2025
9ec11dc
update: columns ai suggestions [wip].
ItzNotABug Oct 6, 2025
9c0162b
Merge branch 'main' into revamp-designs
ItzNotABug Oct 8, 2025
bd26eea
update: smoother slides.
ItzNotABug Oct 8, 2025
d492a0a
new: empty states.
ItzNotABug Oct 8, 2025
00b15cd
update: design comments.
ItzNotABug Oct 19, 2025
2f6346f
feat: undo delete.
ItzNotABug Oct 19, 2025
f3457e6
fix: expanded fab shown when creating columns.
ItzNotABug Oct 19, 2025
63ac081
feat: column suggestions modal.
ItzNotABug Oct 19, 2025
1c8191f
update: index suggestions empty state.
ItzNotABug Oct 19, 2025
292829d
fix: permissions check on empty state options
ItzNotABug Oct 19, 2025
09c6242
fix: view disappearing on columns gen modal > thinking sheet.
ItzNotABug Oct 19, 2025
daf83bf
address comments from coderabbit.
ItzNotABug Oct 19, 2025
f579797
update: empty states on indexes for self-hosted.
ItzNotABug Oct 19, 2025
b2fb9dd
update: empty states on rows for self-hosted.
ItzNotABug Oct 19, 2025
cc795fa
update: hide ai suggestion inline alert if not cloud, for now.
ItzNotABug Oct 19, 2025
5380a6a
fix: column id for deletion.
ItzNotABug Oct 19, 2025
d8cd72c
ci: empty commit
ItzNotABug Oct 20, 2025
a4e1622
Merge branch 'main' into revamp-designs
ItzNotABug Oct 20, 2025
5eaeccf
address design review comments.
ItzNotABug Oct 21, 2025
bff47da
adjust: padding.
ItzNotABug Oct 21, 2025
5ac8c01
adjust: things and address comments during review.
ItzNotABug Oct 21, 2025
d2fd6d6
Merge branch 'main' into revamp-designs
ItzNotABug Oct 21, 2025
5dff420
ci: empty commit
ItzNotABug Oct 21, 2025
18e05e9
add: supports check!
ItzNotABug Oct 21, 2025
1e5bb59
address design comments.
ItzNotABug Oct 22, 2025
7ff7318
update: move required columns to beside `column.key`.
ItzNotABug Oct 22, 2025
c891c34
update: dimensions, colors of the input select.
ItzNotABug Oct 22, 2025
24664fb
update: don't hijack clicks for selections.
ItzNotABug Oct 22, 2025
075e833
fix: link.
ItzNotABug Oct 22, 2025
27ab69a
Merge branch 'main' into revamp-designs
ItzNotABug Oct 22, 2025
92ba08d
Merge branch 'main' into revamp-designs
ItzNotABug Oct 22, 2025
884887d
ci: empty commit
ItzNotABug Oct 22, 2025
9245e3e
fix: encrypts on suggestions.
ItzNotABug Oct 22, 2025
6221e38
lint.
ItzNotABug Oct 22, 2025
c1c6624
Merge pull request #2494 from appwrite/fix-encrypt
ItzNotABug Oct 22, 2025
e304a36
fix: don't use derived store.
ItzNotABug Oct 22, 2025
aa97c95
lint.
ItzNotABug Oct 22, 2025
c54797d
Merge pull request #2495 from appwrite/ditch-store
ItzNotABug Oct 23, 2025
cc193c4
fix: mobile logic.
ItzNotABug Oct 23, 2025
2eb0b80
update: custom hover state.
ItzNotABug Oct 23, 2025
b9702f9
add: tooltips to header.
ItzNotABug Oct 24, 2025
35a6d95
add: fix and add for hovered column.
ItzNotABug Oct 24, 2025
04dfca5
add: randomize the tooltip positions.
ItzNotABug Oct 24, 2025
18d7f4c
lint.
ItzNotABug Oct 24, 2025
4e45b99
address comment.
ItzNotABug Oct 27, 2025
d16ba32
Merge branch 'main' into 'revamp-designs'.
ItzNotABug Oct 27, 2025
c23dfa0
revert: unfinished changes.
ItzNotABug Oct 27, 2025
cce531e
apply: changes as per design reviews.
ItzNotABug Oct 28, 2025
73638d9
fix: crash on side sheet.
ItzNotABug Oct 28, 2025
9039c60
Merge branch 'main' into 'revamp-designs'.
ItzNotABug Oct 28, 2025
1fa62ad
Merge branch 'main' into revamp-designs
ItzNotABug Oct 29, 2025
ae9ac4e
fix: views broken on userColumns.
ItzNotABug Oct 29, 2025
01daaa1
fix: over width of the fab.
ItzNotABug Oct 29, 2025
47d8733
fix: column title long names.
ItzNotABug Oct 29, 2025
b223e9e
revert: mock column name.
ItzNotABug Oct 29, 2025
2b7bf48
fix: de-select the column when creating columns!
ItzNotABug Oct 29, 2025
805e477
fix: diagnostics.
ItzNotABug Oct 29, 2025
413d8e6
fix: diagnostics.
ItzNotABug Oct 29, 2025
f7db048
add: animation variants.
ItzNotABug Nov 1, 2025
e405c3c
update: delay.
ItzNotABug Nov 2, 2025
66b6fa3
update: animations.
ItzNotABug Nov 2, 2025
17d7fc2
fix: ai icon.
ItzNotABug Nov 2, 2025
3a65420
fix: area not clickable.
ItzNotABug Nov 2, 2025
5eb8c54
fix: area not clickable.
ItzNotABug Nov 2, 2025
5b87b94
update: cache on format.
ItzNotABug Nov 2, 2025
d37201c
fix: userColumn check.
ItzNotABug Nov 2, 2025
e146042
update: animation.
ItzNotABug Nov 7, 2025
1d95514
update the shimmer color on new animation for light/dark themes.
ItzNotABug Nov 7, 2025
90c5680
update: animation.
ItzNotABug Nov 9, 2025
ad3e23e
cleanup.
ItzNotABug Nov 11, 2025
9206e3b
Merge pull request #2536 from appwrite/revamp-animation
ItzNotABug Nov 11, 2025
631e349
Merge branch 'main' into 'revamp-designs'.
ItzNotABug Nov 12, 2025
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
22 changes: 16 additions & 6 deletions src/lib/components/card.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,23 @@
};

type ButtonProps = {
isButton: true;
isButton: boolean;
href?: never;
};

type AnchorProps = {
href: string;
isButton?: never;
isButton?: boolean;
external?: boolean;
};

let classes = '';
type $$Props = BaseProps & (ButtonProps | AnchorProps | BaseProps) & BaseCardProps;

export let isDashed = false;
export let isButton = false;
export let isDashed: boolean = false;
export let isButton: boolean = false;
export let href: string = null;
let classes = '';
export let external: boolean = false;
export { classes as class };
export let style = '';
export let padding: $$Props['padding'] = 'm';
Expand All @@ -45,7 +47,15 @@
</script>

{#if href}
<Card.Link class={resolvedClasses} {href} {style} {padding} {radius} {variant} on:click>
<Card.Link
{href}
{style}
{padding}
{radius}
{variant}
on:click
class={resolvedClasses}
{...external ? { target: '_blank' } : {}}>
<Layout.Stack gap="xl">
<slot />
</Layout.Stack>
Expand Down
11 changes: 9 additions & 2 deletions src/lib/elements/forms/inputLine.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
onDeletePoint: (index: number) => void;
onChangePoint: (pointIndex: number, coordIndex: number, newValue: number) => void;
addLineButton?: Snippet;
disabled?: boolean;
};

let {
Expand All @@ -24,7 +25,8 @@
onAddPoint,
onDeletePoint,
onChangePoint,
addLineButton
addLineButton,
disabled
}: Props = $props();

function isDeleteDisabled(index: number) {
Expand All @@ -40,6 +42,7 @@
<Layout.Stack>
{#each values as value, index}
<InputPoint
{disabled}
{nullable}
values={value}
deletePoints
Expand All @@ -52,7 +55,11 @@

{#if values}
<Layout.Stack direction="row" gap="s" alignItems="center">
<Button size="xs" compact on:click={() => onAddPoint(-1)} disabled={nullable}>
<Button
size="xs"
compact
on:click={() => onAddPoint(-1)}
disabled={nullable || disabled}>
<Icon icon={IconPlus} size="s" /> Add coordinate
</Button>
{@render addLineButton?.()}
Expand Down
7 changes: 5 additions & 2 deletions src/lib/elements/forms/inputPoint.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
deletePoints?: boolean;
onDeletePoint?: () => void;
disableDelete?: boolean;
disabled?: boolean;
onChangePoint: (index: number, newValue: number) => void;
}

Expand All @@ -21,7 +22,8 @@
deletePoints = false,
disableDelete = false,
onDeletePoint,
onChangePoint
onChangePoint,
disabled
}: Props = $props();
</script>

Expand All @@ -38,14 +40,15 @@
placeholder="Enter value"
step={0.0001}
value={values[index]}
{disabled}
on:change={(e) => onChangePoint(index, Number.parseFloat(`${e.detail}`))} />
{/each}
{/if}
{#if deletePoints}
<Button
size="s"
secondary
disabled={nullable || disableDelete}
disabled={nullable || disableDelete || disabled}
on:click={() => onDeletePoint?.()}>
<Icon icon={IconX} size="s" />
</Button>
Expand Down
5 changes: 4 additions & 1 deletion src/lib/elements/forms/inputPolygon.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
coordIndex: number,
newValue: number
) => void;
disabled?: boolean;
};

let {
Expand All @@ -26,14 +27,16 @@
onAddPoint,
onAddLine,
onDeletePoint,
onChangePoint
onChangePoint,
disabled
}: Props = $props();
</script>

<Layout.Stack gap="s">
{#each values as value, index}
<Layout.Stack gap="xs">
<InputLine
{disabled}
values={value}
onAddPoint={() => onAddPoint(index)}
{nullable}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<script lang="ts">
import { page } from '$app/state';
import { resolve } from '$app/paths';
import { goto } from '$app/navigation';

import Input from './input.svelte';
import { Modal } from '$lib/components';
import { Button } from '$lib/elements/forms';
import { tableColumnSuggestions } from './store';

let {
show = $bindable(false)
}: {
show?: boolean;
} = $props();

const isOnRowsPage = $derived(page.route?.id?.endsWith('table-[table]'));

function resetSuggestionsStore() {
show = false;

$tableColumnSuggestions.table = null;
$tableColumnSuggestions.context = null;

$tableColumnSuggestions.force = false;
$tableColumnSuggestions.enabled = false;
$tableColumnSuggestions.thinking = false;
}

async function triggerColumnSuggestions() {
if (!isOnRowsPage) {
await goto(
resolve(
'/(console)/project-[region]-[project]/databases/database-[database]/table-[table]',
{
region: page.params.region,
project: page.params.project,
database: page.params.database,
table: page.params.table
}
)
);
}

show = false;
$tableColumnSuggestions.enabled = true;
$tableColumnSuggestions.table = {
id: page.params.table,
name: page.data.table?.name ?? 'Table'
};
$tableColumnSuggestions.force = true;
}
</script>

<Modal bind:show title="Suggest columns" onSubmit={triggerColumnSuggestions}>
<Input isModal />

<svelte:fragment slot="footer">
<Button text on:click={resetSuggestionsStore}>Cancel</Button>
<Button submit>Generate columns</Button>
</svelte:fragment>
</Modal>
Loading
Loading