diff --git a/src/routes/(console)/project-[project]/databases/+page.svelte b/src/routes/(console)/project-[project]/databases/+page.svelte index ff290a965..273073b13 100644 --- a/src/routes/(console)/project-[project]/databases/+page.svelte +++ b/src/routes/(console)/project-[project]/databases/+page.svelte @@ -4,7 +4,7 @@ import { page } from '$app/stores'; import { Empty, PaginationWithLimit, SearchQuery, ViewSelector } from '$lib/components'; import { Button } from '$lib/elements/forms'; - import { Container, ContainerHeader } from '$lib/layout'; + import { Container } from '$lib/layout'; import type { Models } from '@appwrite.io/console'; import type { PageData } from './$types'; @@ -14,7 +14,7 @@ import Table from './table.svelte'; import { registerCommands } from '$lib/commandCenter'; import { canWriteDatabases } from '$lib/stores/roles'; - import { Layout, Tooltip } from '@appwrite.io/pink-svelte'; + import { Layout } from '@appwrite.io/pink-svelte'; export let data: PageData; diff --git a/src/routes/(console)/project-[project]/sites/+page.svelte b/src/routes/(console)/project-[project]/sites/+page.svelte index 2d5adc9f1..ed96263de 100644 --- a/src/routes/(console)/project-[project]/sites/+page.svelte +++ b/src/routes/(console)/project-[project]/sites/+page.svelte @@ -1,29 +1,22 @@ + +
+ {#each siteList.sites as site} + + + + + + + { + e.preventDefault(); + selectedSite = site; + showRedeploy = true; + toggle(e); + }}> + Redeploy + + + Domains + + + Settings + + + + + + + {/each} +
+ +{#if selectedSite?.$id && showRedeploy} + +{/if} + + diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/deployments/redeployModal.svelte b/src/routes/(console)/project-[project]/sites/redeployModal.svelte similarity index 90% rename from src/routes/(console)/project-[project]/sites/site-[site]/deployments/redeployModal.svelte rename to src/routes/(console)/project-[project]/sites/redeployModal.svelte index 6eeda93fa..b13fa14d8 100644 --- a/src/routes/(console)/project-[project]/sites/site-[site]/deployments/redeployModal.svelte +++ b/src/routes/(console)/project-[project]/sites/redeployModal.svelte @@ -9,13 +9,13 @@ import type { Models } from '@appwrite.io/console'; export let show = false; - export let selectedDeployment: Models.Deployment = null; + export let selectedDeploymentId: string; export let site: Models.Site; let error: string; async function redeploy() { try { - await sdk.forProject.sites.createBuild(site.$id, selectedDeployment.$id); + await sdk.forProject.sites.updateDeploymentBuild(site.$id, selectedDeploymentId); addNotification({ type: 'success', message: `Redeploying ${site.name}` diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/deployments/+page.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/deployments/+page.svelte index db3cc80ac..4ca40a66a 100644 --- a/src/routes/(console)/project-[project]/sites/site-[site]/deployments/+page.svelte +++ b/src/routes/(console)/project-[project]/sites/site-[site]/deployments/+page.svelte @@ -14,7 +14,7 @@ import { toLocaleDate } from '$lib/helpers/date'; import Table from './table.svelte'; import QuickFilters from './quickFilters.svelte'; - import RedeployModal from './redeployModal.svelte'; + import RedeployModal from '../../redeployModal.svelte'; import CreateGitDeploymentModal from './createGitDeploymentModal.svelte'; import UsageCard from './usageCard.svelte'; import ConnectRepoModal from '../../(components)/connectRepoModal.svelte'; @@ -237,7 +237,10 @@ {#if selectedDeployment} - + {/if} {#if showConnectRepo} diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/deployments/table.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/deployments/table.svelte index 6f60fd8ca..0b537fdf6 100644 --- a/src/routes/(console)/project-[project]/sites/site-[site]/deployments/table.svelte +++ b/src/routes/(console)/project-[project]/sites/site-[site]/deployments/table.svelte @@ -9,7 +9,7 @@ import { calculateSize } from '$lib/helpers/sizeConvertion'; import { page } from '$app/stores'; import Delete from './deleteDeploymentModal.svelte'; - import RedeployModal from './redeployModal.svelte'; + import RedeployModal from '../../redeployModal.svelte'; import Cancel from './cancelDeploymentModal.svelte'; import { base } from '$app/paths'; import { ActionMenu, Popover, Status, Table } from '@appwrite.io/pink-svelte'; @@ -174,5 +174,8 @@ - + {/if} diff --git a/src/routes/(console)/project-[project]/sites/store.ts b/src/routes/(console)/project-[project]/sites/store.ts index 751e1c907..b0557b307 100644 --- a/src/routes/(console)/project-[project]/sites/store.ts +++ b/src/routes/(console)/project-[project]/sites/store.ts @@ -1,5 +1,44 @@ +import type { Column } from '$lib/helpers/types'; import { Framework, type Models } from '@appwrite.io/console'; +import { + IconAngular, + IconNuxt, + IconReact, + IconSvelte, + IconVue +} from '@appwrite.io/pink-icons-svelte'; +import { writable } from 'svelte/store'; export function getEnumFromModel(model: Models.Framework): Framework { return Framework[model.name]; } + +export const columns = writable([ + { id: 'name', title: 'Name', type: 'string', show: true, width: 100 }, + // { id: 'domains', title: 'Domains', type: 'string', show: true, width: 120 }, + { id: '$updatedAt', title: 'Updated', type: 'datetime', show: true, width: 120 }, + { id: '$createdAt', title: 'Created', type: 'datetime', show: true, width: 120 } +]); + +export function getFrameworkIcon(framework: string) { + console.log(framework); + switch (true) { + case framework.toLocaleLowerCase().includes('sveltekit'): + return IconSvelte; + case framework.toLocaleLowerCase().includes('nuxt'): + return IconNuxt; + case framework.toLocaleLowerCase().includes('vue'): + return IconVue; + case framework.toLocaleLowerCase().includes('react'): + return IconReact; + case framework.toLocaleLowerCase().includes('angular'): + return IconAngular; + case framework.toLocaleLowerCase().includes('svelte'): + return IconSvelte; + case framework.toLocaleLowerCase().includes('next'): + return IconReact; //TODO: add next icon + + default: + return undefined; + } +} diff --git a/src/routes/(console)/project-[project]/sites/table.svelte b/src/routes/(console)/project-[project]/sites/table.svelte new file mode 100644 index 000000000..017242efd --- /dev/null +++ b/src/routes/(console)/project-[project]/sites/table.svelte @@ -0,0 +1,44 @@ + + + + + {#each $columns as column} + {#if column.show} + + {column.title} + + {/if} + {/each} + + {#each siteList.sites as site} + + {#each $columns as column} + {#if column.show} + {#if column.id === 'name'} + + + {:else if column.id === '$updatedAt'} + + {toLocaleDateTime(site[column.id])} + + {:else if column.id === '$createdAt'} + + {toLocaleDateTime(site[column.id])} + + {/if} + {/if} + {/each} + + {/each} +