Skip to content

Commit dcc8d89

Browse files
committed
feat: add domain flow sites
1 parent 9add1bd commit dcc8d89

File tree

10 files changed

+360
-450
lines changed

10 files changed

+360
-450
lines changed

src/lib/stores/domains.ts

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
export const statusCodeOptions = [
2+
{
3+
label: '301 Moved permanently',
4+
value: 301
5+
},
6+
{
7+
label: '302 Found',
8+
value: 302
9+
},
10+
{
11+
label: '303 See other',
12+
value: 303
13+
},
14+
{
15+
label: '307 Temporary redirect',
16+
value: 307
17+
},
18+
{
19+
label: '308 Permanent redirect',
20+
value: 308
21+
}
22+
];

src/routes/(console)/project-[project]/sites/site-[site]/domains/+page.svelte

+4-113
Original file line numberDiff line numberDiff line change
@@ -3,40 +3,16 @@
33
import { page } from '$app/stores';
44
import { EmptySearch, PaginationWithLimit } from '$lib/components/index.js';
55
import { Button } from '$lib/elements/forms';
6-
import Link from '$lib/elements/link.svelte';
76
import Container from '$lib/layout/container.svelte';
8-
import { protocol } from '$routes/(console)/store.js';
9-
import type { Models } from '@appwrite.io/console';
10-
import {
11-
IconDotsHorizontal,
12-
IconExternalLink,
13-
IconPlus,
14-
IconRefresh,
15-
IconTrash
16-
} from '@appwrite.io/pink-icons-svelte';
17-
import {
18-
ActionMenu,
19-
Card,
20-
Empty,
21-
Icon,
22-
Layout,
23-
Popover,
24-
Table
25-
} from '@appwrite.io/pink-svelte';
26-
import DeleteDomainModal from './deleteDomainModal.svelte';
27-
import RetryDomainModal from './retryDomainModal.svelte';
7+
import { IconPlus } from '@appwrite.io/pink-icons-svelte';
8+
import { Card, Empty, Icon, Layout } from '@appwrite.io/pink-svelte';
289
import SearchQuery from '$lib/components/searchQuery.svelte';
2910
import { app } from '$lib/stores/app';
3011
import { Click, trackEvent } from '$lib/actions/analytics';
31-
import CreatePreviewDomainModal from './createPreviewDomainModal.svelte';
12+
import Table from './table.svelte';
3213
3314
export let data;
3415
35-
let showDelete = false;
36-
let showRetry = false;
37-
let selectedDomain: Models.ProxyRule = null;
38-
let showPreviewDomainModal = false;
39-
4016
$: console.log(data.domains);
4117
</script>
4218

@@ -56,80 +32,7 @@
5632
</Layout.Stack>
5733

5834
{#if data.domains.total}
59-
<Table.Root columns={4} let:root>
60-
<svelte:fragment slot="header" let:root>
61-
<Table.Header.Cell {root}>Domain</Table.Header.Cell>
62-
<Table.Header.Cell {root}>Redirect to</Table.Header.Cell>
63-
<Table.Header.Cell {root}>Production branch</Table.Header.Cell>
64-
<Table.Header.Cell {root} />
65-
</svelte:fragment>
66-
{#each data.domains.rules as domain}
67-
<Table.Row.Base {root}>
68-
<Table.Cell {root}>
69-
<Link external href={`${$protocol}${domain.domain}`} variant="quiet">
70-
<Layout.Stack direction="row" alignItems="center" gap="xs">
71-
{domain.domain}
72-
<Icon icon={IconExternalLink} size="s" />
73-
</Layout.Stack>
74-
</Link>
75-
</Table.Cell>
76-
<!-- TODO design redirect status code -->
77-
<Table.Cell {root}>
78-
{domain?.redirectUrl || 'No redirect'}
79-
{domain?.redirectStatusCode ? `(${domain.redirectStatusCode})` : ''}
80-
</Table.Cell>
81-
<Table.Cell {root}>
82-
{domain.deploymentVcsProviderBranch || '-'}
83-
</Table.Cell>
84-
<Table.Cell {root}>
85-
<Layout.Stack direction="row" justifyContent="flex-end">
86-
<Popover let:toggle placement="bottom-start" padding="none">
87-
<Button
88-
text
89-
icon
90-
on:click={(e) => {
91-
e.preventDefault();
92-
toggle(e);
93-
}}>
94-
<Icon icon={IconDotsHorizontal} size="s" />
95-
</Button>
96-
97-
<svelte:fragment slot="tooltip" let:toggle>
98-
<ActionMenu.Root>
99-
{#if domain.status !== 'verified'}
100-
<ActionMenu.Item.Button
101-
leadingIcon={IconRefresh}
102-
on:click={(e) => {
103-
e.preventDefault();
104-
selectedDomain = domain;
105-
showRetry = true;
106-
toggle(e);
107-
}}>
108-
Retry
109-
</ActionMenu.Item.Button>
110-
{/if}
111-
<ActionMenu.Item.Button
112-
status="danger"
113-
leadingIcon={IconTrash}
114-
on:click={(e) => {
115-
e.preventDefault();
116-
selectedDomain = domain;
117-
showDelete = true;
118-
toggle(e);
119-
trackEvent(Click.DomainDeleteClick, {
120-
source: 'sites_domain_overview'
121-
});
122-
}}>
123-
Delete
124-
</ActionMenu.Item.Button>
125-
</ActionMenu.Root>
126-
</svelte:fragment>
127-
</Popover>
128-
</Layout.Stack>
129-
</Table.Cell>
130-
</Table.Row.Base>
131-
{/each}
132-
</Table.Root>
35+
<Table domains={data.domains} />
13336

13437
<PaginationWithLimit
13538
name="Domains"
@@ -174,15 +77,3 @@
17477
</Card.Base>
17578
{/if}
17679
</Container>
177-
178-
{#if showDelete}
179-
<DeleteDomainModal bind:show={showDelete} {selectedDomain} />
180-
{/if}
181-
182-
{#if showRetry}
183-
<RetryDomainModal bind:show={showRetry} {selectedDomain} />
184-
{/if}
185-
186-
{#if showPreviewDomainModal}
187-
<CreatePreviewDomainModal bind:show={showPreviewDomainModal} />
188-
{/if}

0 commit comments

Comments
 (0)