diff --git a/src/lib/stores/domains.ts b/src/lib/stores/domains.ts
new file mode 100644
index 000000000..82f716700
--- /dev/null
+++ b/src/lib/stores/domains.ts
@@ -0,0 +1,22 @@
+export const statusCodeOptions = [
+ {
+ label: '301 Moved permanently',
+ value: 301
+ },
+ {
+ label: '302 Found',
+ value: 302
+ },
+ {
+ label: '303 See other',
+ value: 303
+ },
+ {
+ label: '307 Temporary redirect',
+ value: 307
+ },
+ {
+ label: '308 Permanent redirect',
+ value: 308
+ }
+];
diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/domains/+page.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/domains/+page.svelte
index 7b278b2bb..202c8040a 100644
--- a/src/routes/(console)/project-[project]/sites/site-[site]/domains/+page.svelte
+++ b/src/routes/(console)/project-[project]/sites/site-[site]/domains/+page.svelte
@@ -3,41 +3,16 @@
import { page } from '$app/stores';
import { EmptySearch, PaginationWithLimit } from '$lib/components/index.js';
import { Button } from '$lib/elements/forms';
- import Link from '$lib/elements/link.svelte';
import Container from '$lib/layout/container.svelte';
- import { protocol } from '$routes/(console)/store.js';
- import type { Models } from '@appwrite.io/console';
- import {
- IconDotsHorizontal,
- IconExternalLink,
- IconPlus,
- IconRefresh,
- IconTrash
- } from '@appwrite.io/pink-icons-svelte';
- import {
- ActionMenu,
- Card,
- Empty,
- Icon,
- Layout,
- Popover,
- Table
- } from '@appwrite.io/pink-svelte';
- import DeleteDomainModal from './deleteDomainModal.svelte';
- import RetryDomainModal from './retryDomainModal.svelte';
+ import { IconPlus } from '@appwrite.io/pink-icons-svelte';
+ import { Card, Empty, Icon, Layout } from '@appwrite.io/pink-svelte';
import SearchQuery from '$lib/components/searchQuery.svelte';
import { app } from '$lib/stores/app';
import { Click, trackEvent } from '$lib/actions/analytics';
- import CreatePreviewDomainModal from './createPreviewDomainModal.svelte';
- import type { Domain } from '$lib/sdk/domains.js';
+ import Table from './table.svelte';
export let data;
- let showDelete = false;
- let showRetry = false;
- let showPreviewDomainModal = false;
- let selectedDomain: Domain | Models.ProxyRule = null;
-
$: console.log(data.domains);
@@ -57,80 +32,7 @@
{#if data.domains.total}
-
-
- Domain
- Redirect to
- Production branch
-
-
- {#each data.domains.rules as domain}
-
-
-
-
- {domain.domain}
-
-
-
-
-
-
- {domain?.redirectUrl || 'No redirect'}
- {domain?.redirectStatusCode ? `(${domain.redirectStatusCode})` : ''}
-
-
- {domain.deploymentVcsProviderBranch || '-'}
-
-
-
-
-
-
-
-
- {#if domain.status !== 'verified'}
- {
- e.preventDefault();
- selectedDomain = domain;
- showRetry = true;
- toggle(e);
- }}>
- Retry
-
- {/if}
- {
- e.preventDefault();
- selectedDomain = domain;
- showDelete = true;
- toggle(e);
- trackEvent(Click.DomainDeleteClick, {
- source: 'sites_domain_overview'
- });
- }}>
- Delete
-
-
-
-
-
-
-
- {/each}
-
+
{/if}
-
-{#if showDelete}
-
-{/if}
-
-{#if showRetry}
-
-{/if}
-
-{#if showPreviewDomainModal}
-
-{/if}
diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/+page.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/+page.svelte
index d391f5b26..62d8db83d 100644
--- a/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/+page.svelte
+++ b/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/+page.svelte
@@ -1,7 +1,7 @@
-
-
+
-
-{#if showConnectRepo}
-
-{/if}
diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/+page.ts b/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/+page.ts
index 1105f8445..8f61acd19 100644
--- a/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/+page.ts
+++ b/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/+page.ts
@@ -1,9 +1,11 @@
import { Query } from '@appwrite.io/console';
import { sdk } from '$lib/stores/sdk';
import { RuleTrigger, RuleType } from '$lib/stores/sdk';
+import { Dependencies } from '$lib/constants.js';
-export const load = async ({ parent }) => {
+export const load = async ({ parent, depends }) => {
const { site } = await parent();
+ depends(Dependencies.DOMAINS);
const [domains, installations] = await Promise.all([
sdk.forProject.proxy.listRules([
diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/verificationFieldset.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/verificationFieldset.svelte
new file mode 100644
index 000000000..163e4b089
--- /dev/null
+++ b/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/verificationFieldset.svelte
@@ -0,0 +1,136 @@
+
+
+
diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/verify/+page.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/verify/+page.svelte
deleted file mode 100644
index 1c90b2e00..000000000
--- a/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/verify/+page.svelte
+++ /dev/null
@@ -1,182 +0,0 @@
-
-
-
- {#if isVerified}
-
-
- {data.domain.domain}
-
-
-
- {:else}
-
- {/if}
-
diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/verify/+page.ts b/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/verify/+page.ts
index 13d1680f5..e69de29bb 100644
--- a/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/verify/+page.ts
+++ b/src/routes/(console)/project-[project]/sites/site-[site]/domains/add-domain/verify/+page.ts
@@ -1,16 +0,0 @@
-// import { sdk } from '$lib/stores/sdk';
-import { isCloud } from '$lib/system';
-
-export const load = async (/*{ params }*/) => {
- if (isCloud) {
- // if (params?.id) {
- // return {
- // domain: await sdk.forConsole.domains.get(params.id)
- // };
- // }
- } else {
- return {
- domain: undefined
- };
- }
-};
diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/domains/store.ts b/src/routes/(console)/project-[project]/sites/site-[site]/domains/store.ts
new file mode 100644
index 000000000..a31c0f7fd
--- /dev/null
+++ b/src/routes/(console)/project-[project]/sites/site-[site]/domains/store.ts
@@ -0,0 +1,25 @@
+import type { Column } from '$lib/helpers/types';
+import { writable } from 'svelte/store';
+
+export const columns = writable([
+ {
+ id: 'domain',
+ title: 'Domain',
+ type: 'string',
+ format: 'string',
+ width: { min: 120, max: 400 }
+ },
+
+ {
+ id: 'redirectUrl',
+ title: 'Redirect to',
+ type: 'string',
+ width: { min: 120, max: 200 }
+ },
+ {
+ id: 'deploymentVcsProviderBranch',
+ title: 'Production branch',
+ type: 'string',
+ width: { min: 70, max: 150 }
+ }
+]);
diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/domains/table.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/domains/table.svelte
new file mode 100644
index 000000000..f70b3e0bf
--- /dev/null
+++ b/src/routes/(console)/project-[project]/sites/site-[site]/domains/table.svelte
@@ -0,0 +1,110 @@
+
+
+
+
+ {#each $columns as { id, title }}
+
+ {title}
+
+ {/each}
+
+
+ {#each domains.rules as domain}
+
+ {#each $columns as column}
+
+ {#if column.id === 'domain'}
+
+
+ {domain.domain}
+
+
+ {:else if column.id === 'redirectUrl'}
+
+ {domain?.redirectUrl || 'No redirect'}
+ {domain?.redirectStatusCode ? `(${domain.redirectStatusCode})` : ''}
+ {:else if column.id === 'deploymentVcsProviderBranch'}
+ {domain.deploymentVcsProviderBranch || '-'}
+ {/if}
+
+ {/each}
+
+
+
+
+
+
+
+ {#if domain.status !== 'verified'}
+ {
+ e.preventDefault();
+ selectedDomain = domain;
+ showRetry = true;
+ toggle(e);
+ }}>
+ Retry
+
+ {/if}
+ {
+ e.preventDefault();
+ selectedDomain = domain;
+ showDelete = true;
+ toggle(e);
+ trackEvent(Click.DomainDeleteClick, {
+ source: 'sites_domain_overview'
+ });
+ }}>
+ Delete
+
+
+
+
+
+
+
+ {/each}
+
+
+{#if showDelete}
+
+{/if}
+
+{#if showRetry}
+
+{/if}
+
+{#if showPreviewDomainModal}
+
+{/if}
diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/domainsOverview.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/domainsOverview.svelte
index b9b89d0fe..ac6a196ec 100644
--- a/src/routes/(console)/project-[project]/sites/site-[site]/domainsOverview.svelte
+++ b/src/routes/(console)/project-[project]/sites/site-[site]/domainsOverview.svelte
@@ -11,13 +11,14 @@
import { Button } from '$lib/elements/forms';
import { Card, Trim } from '$lib/components';
import { Click, trackEvent } from '$lib/actions/analytics';
+ import { RuleTrigger } from '$lib/stores/sdk';
export let proxyRuleList: Models.ProxyRuleList;
let showDomainQR = false;
let selectedDomainURL: string;
- $: rules = proxyRuleList?.rules?.filter((rule) => rule.trigger === 'manual') ?? [];
+ $: rules = proxyRuleList?.rules?.filter((rule) => rule.trigger === RuleTrigger.MANUAL) ?? [];