diff --git a/package.json b/package.json index 4e054db55..3d6a0a353 100644 --- a/package.json +++ b/package.json @@ -21,9 +21,9 @@ "dependencies": { "@appwrite.io/console": "https://pkg.pr.new/appwrite/appwrite/@appwrite.io/console@08ec153", "@appwrite.io/pink-icons": "0.25.0", - "@appwrite.io/pink-icons-svelte": "https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@3ff9ac59", + "@appwrite.io/pink-icons-svelte": "https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@50ea3ca7", "@appwrite.io/pink-legacy": "^1.0.1", - "@appwrite.io/pink-svelte": "https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@3ff9ac59", + "@appwrite.io/pink-svelte": "https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@50ea3ca7", "@popperjs/core": "^2.11.8", "@sentry/sveltekit": "^8.38.0", "@stripe/stripe-js": "^3.5.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f912777ae..94cd0b1df 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,14 +15,14 @@ importers: specifier: 0.25.0 version: 0.25.0 '@appwrite.io/pink-icons-svelte': - specifier: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@3ff9ac59 - version: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@3ff9ac59(svelte@4.2.19) + specifier: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@50ea3ca7 + version: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@50ea3ca7(svelte@4.2.19) '@appwrite.io/pink-legacy': specifier: ^1.0.1 version: 1.0.1 '@appwrite.io/pink-svelte': - specifier: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@3ff9ac59 - version: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@3ff9ac59(react-dom@18.3.1(react@18.3.1))(svelte@4.2.19) + specifier: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@50ea3ca7 + version: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@50ea3ca7(react-dom@18.3.1(react@18.3.1))(svelte@4.2.19) '@popperjs/core': specifier: ^2.11.8 version: 2.11.8 @@ -215,14 +215,14 @@ packages: resolution: {tarball: https://pkg.pr.new/appwrite/appwrite/@appwrite.io/console@08ec153} version: 1.2.1 - '@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@3ff9ac59': - resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@3ff9ac59} + '@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@50ea3ca7': + resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@50ea3ca7} version: 1.0.0-next.7 peerDependencies: svelte: ^4.0.0 - '@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@3ff9ac598ef40fccedd1cf50366527036e64827c': - resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@3ff9ac598ef40fccedd1cf50366527036e64827c} + '@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@50ea3ca70a483ffd9040f8ce9cb40a8d5f1ee30e': + resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@50ea3ca70a483ffd9040f8ce9cb40a8d5f1ee30e} version: 1.0.0-next.7 peerDependencies: svelte: ^4.0.0 @@ -236,8 +236,8 @@ packages: '@appwrite.io/pink-legacy@1.0.1': resolution: {integrity: sha512-e5IZx2drqSxgl2WXvmr0eLfg/WiOCzuqQE8oksD+9GoFBkcL9HWvXul5GjFni3RBAN9XFRL3nUExGk4T0H8sFw==} - '@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@3ff9ac59': - resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@3ff9ac59} + '@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@50ea3ca7': + resolution: {tarball: https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@50ea3ca7} version: 1.0.0-next.85 peerDependencies: react-dom: ^18.0.0 @@ -4099,11 +4099,11 @@ snapshots: '@appwrite.io/console@https://pkg.pr.new/appwrite/appwrite/@appwrite.io/console@08ec153': {} - '@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@3ff9ac59(svelte@4.2.19)': + '@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@50ea3ca7(svelte@4.2.19)': dependencies: svelte: 4.2.19 - '@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@3ff9ac598ef40fccedd1cf50366527036e64827c(svelte@4.2.19)': + '@appwrite.io/pink-icons-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@50ea3ca70a483ffd9040f8ce9cb40a8d5f1ee30e(svelte@4.2.19)': dependencies: svelte: 4.2.19 @@ -4116,9 +4116,9 @@ snapshots: '@appwrite.io/pink-icons': 1.0.0 the-new-css-reset: 1.11.3 - '@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@3ff9ac59(react-dom@18.3.1(react@18.3.1))(svelte@4.2.19)': + '@appwrite.io/pink-svelte@https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-svelte@50ea3ca7(react-dom@18.3.1(react@18.3.1))(svelte@4.2.19)': dependencies: - '@appwrite.io/pink-icons-svelte': https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@3ff9ac598ef40fccedd1cf50366527036e64827c(svelte@4.2.19) + '@appwrite.io/pink-icons-svelte': https://pkg.pr.new/appwrite/pink/@appwrite.io/pink-icons-svelte@50ea3ca70a483ffd9040f8ce9cb40a8d5f1ee30e(svelte@4.2.19) '@floating-ui/dom': 1.6.13 '@melt-ui/pp': 0.3.2(@melt-ui/svelte@0.86.3(svelte@4.2.19))(svelte@4.2.19) '@melt-ui/svelte': 0.86.3(svelte@4.2.19) diff --git a/src/lib/components/filters/filters.svelte b/src/lib/components/filters/filters.svelte index e6f4587e9..bad4a6fe5 100644 --- a/src/lib/components/filters/filters.svelte +++ b/src/lib/components/filters/filters.svelte @@ -1,6 +1,6 @@ + + diff --git a/src/routes/(console)/project-[project]/overview/platforms/createWeb.svelte b/src/routes/(console)/project-[project]/overview/platforms/createWeb.svelte index 132e25dc9..5acb0e972 100644 --- a/src/routes/(console)/project-[project]/overview/platforms/createWeb.svelte +++ b/src/routes/(console)/project-[project]/overview/platforms/createWeb.svelte @@ -21,7 +21,8 @@ IconReact, IconNuxt, IconInfo, - IconExternalLink + IconExternalLink, + IconAngular } from '@appwrite.io/pink-icons-svelte'; import { page } from '$app/stores'; import { type ComponentType, onMount } from 'svelte'; @@ -38,6 +39,7 @@ import NextjsFrameworkIcon from '$routes/(console)/project-[project]/overview/platforms/components/NextjsFrameworkIcon.svelte'; import VueFrameworkIcon from '$routes/(console)/project-[project]/overview/platforms/components/VueFrameworkIcon.svelte'; import NoFrameworkIcon from './components/NoFrameworkIcon.svelte'; + import AngularFrameworkIcon from '$routes/(console)/project-[project]/overview/platforms/components/AngularFrameworkIcon.svelte'; export let key; @@ -97,6 +99,13 @@ APPWRITE_PUBLIC_ENDPOINT = "${sdk.forProject.client.config.endpoint}" icon: VueFrameworkIcon, smallIcon: IconVue, portNumber: 5173 + }, + { + key: 'angular', + label: 'Angular', + icon: AngularFrameworkIcon, + smallIcon: IconAngular, + portNumber: 4200 } ]; @@ -225,10 +234,18 @@ APPWRITE_PUBLIC_ENDPOINT = "${sdk.forProject.client.config.endpoint}" code={`\ngit clone https://github.com/appwrite/starter-for-${selectedFramework.key}\ncd starter-for--${selectedFramework.key}`} /> - 2. Rename into and update the values. + {#if selectedFramework.key === 'angular'} + 2. Change + to reflect the values below: + {:else} + 2. Rename into and update the values. + {/if}
diff --git a/src/routes/(console)/project-[project]/sites/(components)/connectRepoModal.svelte b/src/routes/(console)/project-[project]/sites/(components)/connectRepoModal.svelte index fce286b89..b855373c9 100644 --- a/src/routes/(console)/project-[project]/sites/(components)/connectRepoModal.svelte +++ b/src/routes/(console)/project-[project]/sites/(components)/connectRepoModal.svelte @@ -29,6 +29,7 @@ let selectedRepository = ''; let installations = { installations: [], total: 0 }; let hasInstallations = !!installations?.total; + let error = ''; onMount(async () => { installations = await sdk.forProject.vcs.listInstallations(); @@ -54,18 +55,17 @@ repository.set(repo); selectedRepository = repo.id; } - console.log(Object.keys(Framework)); const s = await sdk.forProject.sites.update( site.$id, site.name, - Framework[site.framework], + site.framework as Framework, site.enabled, site.timeout, site.installCommand, site.buildCommand, site.outputDirectory, - BuildRuntime[site.buildRuntime], + site.buildRuntime as BuildRuntime, site.adapter, site.fallbackFile, selectedInstallationId, @@ -79,20 +79,20 @@ type: 'success', message: 'Repository connected successfully' }); - } catch (error) { - addNotification({ - type: 'error', - message: error.message - }); + } catch (e) { + error = e.message; } } + + $: console.log(selectedInstallationId); + onSubmit={connectRepo} + bind:error> Connect to a new repository or an existing one. {#if hasInstallations} diff --git a/src/routes/(console)/project-[project]/sites/(components)/deploymentActionMenu.svelte b/src/routes/(console)/project-[project]/sites/(components)/deploymentActionMenu.svelte new file mode 100644 index 000000000..3b2244564 --- /dev/null +++ b/src/routes/(console)/project-[project]/sites/(components)/deploymentActionMenu.svelte @@ -0,0 +1,118 @@ + + + + + + + { + e.preventDefault(); + selectedDeployment = deployment; + showRedeploy = true; + toggle(e); + }}> + Redeploy + + { + e.preventDefault(); + toggle(e); + }}> + View details + + {#if deployment?.status === 'ready' && deployment?.$id !== activeDeployment} + { + e.preventDefault(); + selectedDeployment = deployment; + showActivate = true; + toggle(e); + }}> + Activate + + {/if} + {#if deployment?.status === 'ready'} + { + toggle(e); + }}> + Download + + {/if} + + {#if deployment?.status === 'processing' || deployment?.status === 'building' || deployment.status === 'waiting'} + { + e.preventDefault(); + selectedDeployment = deployment; + showCancel = true; + toggle(e); + }}> + Cancel + + {/if} + {#if deployment.status !== 'building' && deployment.status !== 'processing' && deployment?.status !== 'waiting'} + { + e.preventDefault(); + selectedDeployment = deployment; + showDelete = true; + toggle(e); + }}> + Delete + + {/if} + + + diff --git a/src/routes/(console)/project-[project]/sites/(components)/siteCard.svelte b/src/routes/(console)/project-[project]/sites/(components)/siteCard.svelte index 11e4a2dc8..f35854f74 100644 --- a/src/routes/(console)/project-[project]/sites/(components)/siteCard.svelte +++ b/src/routes/(console)/project-[project]/sites/(components)/siteCard.svelte @@ -41,11 +41,11 @@ return deployment.screenshotDark ? getFilePreview(deployment.screenshotDark) : `${base}/images/sites/screenshot-placeholder-dark.svg`; + } else { + return deployment.screenshotLight + ? getFilePreview(deployment.screenshotLight) + : `${base}/images/sites/screenshot-placeholder-light.svg`; } - - return deployment.screenshotLight - ? getFilePreview(deployment.screenshotLight) - : `${base}/images/sites/screenshot-placeholder-light.svg`; } function getFilePreview(fileId: string) { diff --git a/src/routes/(console)/project-[project]/sites/create-site/createVariableModal.svelte b/src/routes/(console)/project-[project]/sites/create-site/createVariableModal.svelte index 50b9abc13..15ee60a15 100644 --- a/src/routes/(console)/project-[project]/sites/create-site/createVariableModal.svelte +++ b/src/routes/(console)/project-[project]/sites/create-site/createVariableModal.svelte @@ -99,12 +99,14 @@ {/each} - +
+ +
diff --git a/src/routes/(console)/project-[project]/sites/createSiteModal.svelte b/src/routes/(console)/project-[project]/sites/createSiteModal.svelte index a21f16b3a..56d81324c 100644 --- a/src/routes/(console)/project-[project]/sites/createSiteModal.svelte +++ b/src/routes/(console)/project-[project]/sites/createSiteModal.svelte @@ -24,6 +24,7 @@ repositories Clone a template @@ -42,6 +43,7 @@ repositories diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/+page.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/+page.svelte index abda0ca03..024e35ff7 100644 --- a/src/routes/(console)/project-[project]/sites/site-[site]/+page.svelte +++ b/src/routes/(console)/project-[project]/sites/site-[site]/+page.svelte @@ -6,7 +6,7 @@ import DeploymentsOverview from './deploymentsOverview.svelte'; import { Button } from '$lib/elements/forms'; import { protocol } from '$routes/(console)/store'; - import InstantRollbackDomain from './instantRollbackDomain.svelte'; + import InstantRollbackDomain from './instantRollbackModal.svelte'; import { app } from '$lib/stores/app'; import EmptyDeploymentDark from './empty-deployment-dark.svg'; import EmptyDeploymentLight from './empty-deployment-light.svg'; @@ -43,8 +43,9 @@ - + {:else if data.deployment?.status === 'building'} @@ -61,11 +62,11 @@ {:else} - You haven't deployed any sites yet. Get started by deploying your first - site. + Deploy your site to get started. Once deployed, you'll see your latest build + details here. 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 0b696c04f..18649a675 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 @@ -6,8 +6,7 @@ import { Filters } from '$lib/components/filters'; import { queries, tags } from '$lib/components/filters/store'; import { View } from '$lib/helpers/load'; - import { Pill } from '$lib/elements'; - import { ActionMenu, Icon, Layout, Popover } from '@appwrite.io/pink-svelte'; + import { ActionMenu, Icon, Layout, Popover, Tag } from '@appwrite.io/pink-svelte'; import Table from './table.svelte'; import QuickFilters from './quickFilters.svelte'; import RedeployModal from '../../redeployModal.svelte'; @@ -21,6 +20,7 @@ import { sdk } from '$lib/stores/sdk'; import { invalidate } from '$app/navigation'; import { Dependencies } from '$lib/constants'; + import CreateCliModal from './createCliModal.svelte'; export let data; @@ -55,92 +55,47 @@ {/if} - - {#if data.deploymentList.total} - - - - - {#if $tags?.length} - -
-
- - {/if} -
-
- {/if} -
- - {#if data.deploymentList.total} - - {/if} - - - - - { - toggle(e); - if (!hasInstallation) { - showConnectRepo = true; - } else { - showCreateDeployment = true; - } - }}> - Git - - { - toggle(e); - showConnectCLI = true; - }}> - CLI - - { - toggle(e); - showConnectManual = true; - }}> - Manual - - - - - -
- {#if data.deploymentList.total} -
- - - - +
+ + {#if data.deploymentList.total} + + + + + {#if $tags?.length} + +
+
+ + {/if} +
+
+ {/if}
+
+
+
- + More filters - +
- {/if} +
+ + {#if data.deploymentList.total} + + {/if} + + + + + { + toggle(e); + if (!hasInstallation) { + showConnectRepo = true; + } else { + showCreateDeployment = true; + } + }}> + Git + + { + toggle(e); + showConnectCLI = true; + }}> + CLI + + { + toggle(e); + showConnectManual = true; + }}> + Manual + + + + + +
+
+ {#if data.deploymentList.total} @@ -208,3 +202,6 @@ {#if showConnectManual} {/if} +{#if showConnectCLI} + +{/if} diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/deployments/createCliModal.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/deployments/createCliModal.svelte new file mode 100644 index 000000000..0f777549a --- /dev/null +++ b/src/routes/(console)/project-[project]/sites/site-[site]/deployments/createCliModal.svelte @@ -0,0 +1,101 @@ + + + + + Deploy your site using the Appwrite CLI by running the following command inside your + function's folder. + + + + + + {#each ['Unix', 'CMD', 'PowerShell'] as cat} + (category = cat)} + active={category === cat}> + {cat} + + {/each} + + + {#each ['Unix', 'CMD', 'PowerShell'] as cat} + {#if category === cat} + + {/if} + {/each} + + + + If you did not create your site using the CLI, initialize your function by following our documentation. + + + + + + diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/deployments/deleteDeploymentModal.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/deployments/deleteDeploymentModal.svelte index 7447bde6e..9ac0ca240 100644 --- a/src/routes/(console)/project-[project]/sites/site-[site]/deployments/deleteDeploymentModal.svelte +++ b/src/routes/(console)/project-[project]/sites/site-[site]/deployments/deleteDeploymentModal.svelte @@ -1,10 +1,8 @@ @@ -99,9 +97,16 @@ on:change={fetchUsage} /> - - {#each metrics as metric} - - {/each} - + + + {#each metrics.slice(0, 3) as metric} + + {/each} + + + {#each metrics.slice(3) as metric} + + {/each} + + 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 4fc263b15..54fc8ee74 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 @@ -12,20 +12,13 @@ import RedeployModal from '../../redeployModal.svelte'; import Cancel from './cancelDeploymentModal.svelte'; import { base } from '$app/paths'; - import { ActionMenu, Icon, Layout, Popover, Status, Table } from '@appwrite.io/pink-svelte'; - import { - IconDotsHorizontal, - IconLightningBolt, - IconRefresh, - IconTerminal, - IconTrash, - IconXCircle - } from '@appwrite.io/pink-icons-svelte'; + import { Layout, Status, Table } from '@appwrite.io/pink-svelte'; + import { columns } from './store'; import ActivateDeploymentModal from '../../activateDeploymentModal.svelte'; import { deploymentStatusConverter } from '../store'; import { capitalize } from '$lib/helpers/string'; - import { Button } from '$lib/elements/forms'; + import DeploymentActionMenu from '../../(components)/deploymentActionMenu.svelte'; export let data: PageData; @@ -107,80 +100,14 @@ {/each} - - - - - { - e.preventDefault(); - selectedDeployment = deployment; - showRedeploy = true; - toggle(e); - }}> - Redeploy - - { - e.preventDefault(); - toggle(e); - }}> - View details - - {#if deployment?.status === 'ready' && deployment?.$id !== data.site.deploymentId} - { - e.preventDefault(); - selectedDeployment = deployment; - showActivate = true; - toggle(e); - }}> - Activate - - {/if} - - {#if deployment?.status === 'processing' || deployment?.status === 'building' || deployment.status === 'waiting'} - { - e.preventDefault(); - selectedDeployment = deployment; - showCancel = true; - toggle(e); - }}> - Cancel - - {/if} - {#if deployment.status !== 'building' && deployment.status !== 'processing' && deployment?.status !== 'waiting'} - { - e.preventDefault(); - selectedDeployment = deployment; - showDelete = true; - toggle(e); - }}> - Delete - - {/if} - - - + diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/deploymentsOverview.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/deploymentsOverview.svelte index fdba19de6..485a4a4e9 100644 --- a/src/routes/(console)/project-[project]/sites/site-[site]/deploymentsOverview.svelte +++ b/src/routes/(console)/project-[project]/sites/site-[site]/deploymentsOverview.svelte @@ -1,15 +1,5 @@ @@ -90,57 +78,14 @@ - - - - - { - e.preventDefault(); - selectedDeployment = deployment; - showRedeploy = true; - toggle(e); - }}> - Redeploy - - {#if deployment?.status === 'ready' && deployment?.$id !== site.deploymentId} - { - e.preventDefault(); - selectedDeployment = deployment; - showActivate = true; - toggle(e); - }}> - Activate - - {/if} - {#if deployment?.status === 'processing' || deployment?.status === 'building' || deployment.status === 'waiting'} - { - e.preventDefault(); - selectedDeployment = deployment; - showCancel = true; - toggle(e); - }}> - Cancel - - {/if} - - - + @@ -172,3 +117,6 @@ {#if selectedDeployment && showCancel} {/if} +{#if selectedDeployment && showDelete} + +{/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 e88da8ba8..09fa45572 100644 --- a/src/routes/(console)/project-[project]/sites/site-[site]/domainsOverview.svelte +++ b/src/routes/(console)/project-[project]/sites/site-[site]/domainsOverview.svelte @@ -50,12 +50,14 @@ unique domain. - +
+ +
{#if proxyRuleList?.rules?.length} @@ -68,7 +70,7 @@ direction="row" gap="xl"> - + {rule.domain} diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/instantRollbackDomain.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/instantRollbackModal.svelte similarity index 100% rename from src/routes/(console)/project-[project]/sites/site-[site]/instantRollbackDomain.svelte rename to src/routes/(console)/project-[project]/sites/site-[site]/instantRollbackModal.svelte