diff --git a/src/lib/components/breadcrumbs.svelte b/src/lib/components/breadcrumbs.svelte
index bbd07c136..daafb4d6c 100644
--- a/src/lib/components/breadcrumbs.svelte
+++ b/src/lib/components/breadcrumbs.svelte
@@ -405,7 +405,7 @@
display: inline-flex;
align-items: center;
justify-content: center;
- padding: var(--space-1, 2px) var(--space-1, 2px) var(--space-1, 2px) var(--space-3, 6px);
+ padding: var(--space-1, 2px) var(--space-2, 4px) var(--space-1, 2px) var(--space-3, 6px);
gap: var(--space-2, 4px);
margin: 0 var(--space-5, 10px) 0 var(--space-5, 10px);
diff --git a/src/lib/components/filters/content.svelte b/src/lib/components/filters/content.svelte
index 45d23abfb..8e4629982 100644
--- a/src/lib/components/filters/content.svelte
+++ b/src/lib/components/filters/content.svelte
@@ -14,7 +14,7 @@
import type { Column } from '$lib/helpers/types';
import type { Writable } from 'svelte/store';
import { TagList } from '.';
- import { Icon } from '@appwrite.io/pink-svelte';
+ import { Icon, Layout } from '@appwrite.io/pink-svelte';
import { IconPlus } from '@appwrite.io/pink-icons-svelte';
// We cast to any to not cause type errors in the input components
@@ -71,7 +71,7 @@
diff --git a/src/lib/components/sidebar.svelte b/src/lib/components/sidebar.svelte
index e8ffdc332..4cf8245cf 100644
--- a/src/lib/components/sidebar.svelte
+++ b/src/lib/components/sidebar.svelte
@@ -355,7 +355,7 @@
}
.link-icon {
- color: var(--color-fgcolor-neutral-primary);
+ color: var(--color-fgcolor-neutral-tertiary);
}
}
}
@@ -365,7 +365,7 @@
color: var(--color-fgcolor-neutral-primary);
}
.link-icon {
- color: var(--color-fgcolor-neutral-primary);
+ color: var(--color-fgcolor-neutral-tertiary);
}
}
@@ -419,15 +419,6 @@
border-bottom: var(--border-width-s, 1px) solid var(--color-border-neutral, #ededf0);
background: var(--color-bgcolor-neutral-primary, #fff);
-
- .icon {
- display: flex;
- padding: var(--space-3, 6px);
- justify-content: center;
- align-items: center;
-
- color: var(--color-fgcolor-neutral-weak);
- }
}
.products-label-container {
@@ -440,7 +431,7 @@
}
.icons .products-label-container {
- margin-block-start: var(--base-32, 32px);
+ margin-block-start: var(--base-20, 20px);
margin-block-end: var(--base-8, 8px);
}
diff --git a/src/lib/layout/container.svelte b/src/lib/layout/container.svelte
index 641ce3b2b..5d229c030 100644
--- a/src/lib/layout/container.svelte
+++ b/src/lib/layout/container.svelte
@@ -27,8 +27,8 @@
margin-inline: 1rem;
}
@media (min-width: 1024px) {
- margin-inline: 2.5rem;
- max-width: 944px;
+ margin-inline: auto;
+ max-width: min(944px, calc(944px - 5rem));
}
@media (min-width: 1280px) {
margin-inline: auto;
diff --git a/src/lib/layout/cover.svelte b/src/lib/layout/cover.svelte
index 1fc815a12..f920c6281 100644
--- a/src/lib/layout/cover.svelte
+++ b/src/lib/layout/cover.svelte
@@ -40,8 +40,8 @@
margin-inline: 1rem;
}
@media (min-width: 1024px) {
- margin-inline: 2.5rem;
- max-width: 944px;
+ margin-inline: auto;
+ max-width: min(944px, calc(944px - 5rem));
}
@media (min-width: 1280px) {
margin-inline: auto;
diff --git a/src/lib/layout/shell.svelte b/src/lib/layout/shell.svelte
index f6f4a201f..d27ab9804 100644
--- a/src/lib/layout/shell.svelte
+++ b/src/lib/layout/shell.svelte
@@ -6,7 +6,7 @@
import { log } from '$lib/stores/logs';
import { wizard } from '$lib/stores/wizard';
import { activeHeaderAlert } from '$routes/(console)/store';
- import { type ComponentType, onDestroy, setContext } from 'svelte';
+ import { type ComponentType, setContext } from 'svelte';
import { writable } from 'svelte/store';
import { showSubNavigation } from '$lib/stores/layout';
import { organization, organizationList } from '$lib/stores/organization';
@@ -135,7 +135,6 @@
{
}, new Map());
}
+ const organizations = await sdk.forConsole.teams.list();
+
let projects = [];
- const currentOrgId = params.organization ? params.organization : prefs.organization;
+ let currentOrgId = params.organization ? params.organization : prefs.organization;
+
+ if (!currentOrgId && organizations.teams.length > 0) {
+ currentOrgId = organizations.teams[0].$id;
+ }
if (currentOrgId) {
const orgProjects = await sdk.forConsole.projects.list([
Query.equal('teamId', currentOrgId),
@@ -53,6 +59,6 @@ export const load: LayoutLoad = async ({ params, fetch, depends, parent }) => {
scopes: [],
projects: projects,
currentProjectId: params.project ?? '',
- organizations: await sdk.forConsole.teams.list()
+ organizations: organizations
};
};
diff --git a/src/routes/(console)/project-[project]/functions/function-[function]/settings/dangerZone.svelte b/src/routes/(console)/project-[project]/functions/function-[function]/settings/dangerZone.svelte
index 37d1e094e..20af9413e 100644
--- a/src/routes/(console)/project-[project]/functions/function-[function]/settings/dangerZone.svelte
+++ b/src/routes/(console)/project-[project]/functions/function-[function]/settings/dangerZone.svelte
@@ -27,4 +27,4 @@
-
+
diff --git a/src/routes/(console)/project-[project]/functions/function-[function]/settings/deleteModal.svelte b/src/routes/(console)/project-[project]/functions/function-[function]/settings/deleteModal.svelte
index aa9a9fdf8..969906129 100644
--- a/src/routes/(console)/project-[project]/functions/function-[function]/settings/deleteModal.svelte
+++ b/src/routes/(console)/project-[project]/functions/function-[function]/settings/deleteModal.svelte
@@ -6,13 +6,18 @@
import Confirm from '$lib/components/confirm.svelte';
import { addNotification } from '$lib/stores/notifications';
import { sdk } from '$lib/stores/sdk';
+ import { type Models } from '@appwrite.io/console';
+ import { FormList, InputCheckbox } from '$lib/elements/forms';
export let showDelete = false;
- const functionId = $page.params.function;
+ export let projectFunction: Models.Function;
+
let error: string;
+ let confirmedDeletion = false;
+
const handleSubmit = async () => {
try {
- await sdk.forProject.functions.delete(functionId);
+ await sdk.forProject.functions.delete(projectFunction.$id);
showDelete = false;
addNotification({
type: 'success',
@@ -27,6 +32,25 @@
};
-
- Are you sure you want to delete this function and all associated deployments from your project?
+
+
+ Are you sure you want to delete {projectFunction.name}?
+
+
+ The function and all associated deployments will be permanently deleted. This action is
+ irreversible.
+
+
+
+
diff --git a/src/routes/(console)/project-[project]/overview/header.svelte b/src/routes/(console)/project-[project]/overview/header.svelte
index d3251dceb..89110e70c 100644
--- a/src/routes/(console)/project-[project]/overview/header.svelte
+++ b/src/routes/(console)/project-[project]/overview/header.svelte
@@ -48,10 +48,8 @@
on:click={async () => {
trackEvent('onboarding_hub_platform_dismiss');
await setHasOnboardingDismissed($project.$id);
+ await invalidate(Dependencies.ORGANIZATION);
goto(`${base}/project-${$project.$id}/overview`);
- requestAnimationFrame(() => {
- invalidate(Dependencies.ORGANIZATION);
- });
}}>Dismiss this page
{/if}
diff --git a/src/routes/(console)/project-[project]/sites/(components)/connectRepoModal.svelte b/src/routes/(console)/project-[project]/sites/(components)/connectRepoModal.svelte
index b855373c9..fb88fcc60 100644
--- a/src/routes/(console)/project-[project]/sites/(components)/connectRepoModal.svelte
+++ b/src/routes/(console)/project-[project]/sites/(components)/connectRepoModal.svelte
@@ -93,7 +93,9 @@
hideFooter={!repositoryBehaviour}
onSubmit={connectRepo}
bind:error>
- Connect to a new repository or an existing one.
+
+ Connect your site to an existing repository or create a new one.
+
{#if hasInstallations}
@@ -127,7 +129,10 @@
{#if repositoryBehaviour === 'existing'}
- Missing a repository? check your permissions
+
+ Missing a repository? check your permissions
+
{:else if repositoryBehaviour === 'new'}
diff --git a/src/routes/(console)/project-[project]/sites/(components)/deploymentActionMenu.svelte b/src/routes/(console)/project-[project]/sites/(components)/deploymentActionMenu.svelte
index 3b2244564..0c0f89062 100644
--- a/src/routes/(console)/project-[project]/sites/(components)/deploymentActionMenu.svelte
+++ b/src/routes/(console)/project-[project]/sites/(components)/deploymentActionMenu.svelte
@@ -1,5 +1,4 @@
-
-
-
- Deployment logs
-
-
+ {#if !hideTitle}
+
+
+
+ Deployment logs
+
+
+
+
+ {#if ['processing', 'building'].includes(status)}
+
+
+
+
+
+
+ {:else}
+
+ {formatTimeDetailed(deployment.buildTime)}
+
+ {/if}
+
-
- {#if ['processing', 'building'].includes(status)}
-
-
-
-
-
-
- {:else}
-
- {formatTimeDetailed(deployment.buildTime)}
-
- {/if}
-
-
+ {/if}
{#key buildLogs}
{/key}
diff --git a/src/routes/(console)/project-[project]/sites/(components)/openOnMobileModal.svelte b/src/routes/(console)/project-[project]/sites/(components)/openOnMobileModal.svelte
index 9883291d9..50edf6aed 100644
--- a/src/routes/(console)/project-[project]/sites/(components)/openOnMobileModal.svelte
+++ b/src/routes/(console)/project-[project]/sites/(components)/openOnMobileModal.svelte
@@ -23,7 +23,7 @@
Open the preview of your site on any mobile or tablet device.
-
+
diff --git a/src/routes/(console)/project-[project]/sites/(components)/siteCard.svelte b/src/routes/(console)/project-[project]/sites/(components)/siteCard.svelte
index f35854f74..182906f4b 100644
--- a/src/routes/(console)/project-[project]/sites/(components)/siteCard.svelte
+++ b/src/routes/(console)/project-[project]/sites/(components)/siteCard.svelte
@@ -1,6 +1,5 @@
-
+
Connect later
Deploy now and connect your version control later via CLI or Git integration in your settings.
-
+
diff --git a/src/routes/(console)/project-[project]/sites/create-site/updateVariableModal.svelte b/src/routes/(console)/project-[project]/sites/create-site/updateVariableModal.svelte
index 061729272..e6dda3e49 100644
--- a/src/routes/(console)/project-[project]/sites/create-site/updateVariableModal.svelte
+++ b/src/routes/(console)/project-[project]/sites/create-site/updateVariableModal.svelte
@@ -1,5 +1,5 @@
-
-
-
+
+
+ {#if data.deployment?.status === 'ready'}
+
+ {/if}
+
+
+
+
+
+
+
+
+
+
+
+
+
+{#if showActivate}
+
+{/if}
diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/deployments/deployment-[deployment]/+page.ts b/src/routes/(console)/project-[project]/sites/site-[site]/deployments/deployment-[deployment]/+page.ts
index a5896c33d..122527316 100644
--- a/src/routes/(console)/project-[project]/sites/site-[site]/deployments/deployment-[deployment]/+page.ts
+++ b/src/routes/(console)/project-[project]/sites/site-[site]/deployments/deployment-[deployment]/+page.ts
@@ -1,14 +1,19 @@
import { sdk } from '$lib/stores/sdk';
import { Dependencies } from '$lib/constants';
import type { PageLoad } from './$types';
+import { Query } from '@appwrite.io/console';
export const load: PageLoad = async ({ params, depends, parent }) => {
depends(Dependencies.DEPLOYMENT);
- const { site, proxyRuleList } = await parent();
+ const { site } = await parent();
- const [deployment] = await Promise.all([
- sdk.forProject.sites.getDeployment(params.site, params.deployment)
+ const [deployment, proxyRuleList] = await Promise.all([
+ sdk.forProject.sites.getDeployment(params.site, params.deployment),
+ sdk.forProject.proxy.listRules([
+ Query.equal('resourceId', params.deployment),
+ Query.equal('resourceType', 'deployment')
+ ])
]);
return {
diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/deployments/quickFilters.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/deployments/quickFilters.svelte
index 0252024c3..b7cfd3337 100644
--- a/src/routes/(console)/project-[project]/sites/site-[site]/deployments/quickFilters.svelte
+++ b/src/routes/(console)/project-[project]/sites/site-[site]/deployments/quickFilters.svelte
@@ -12,7 +12,8 @@
} from '$lib/components/filters/store';
import { SelectSearchCheckbox } from '$lib/elements';
import type { Column } from '$lib/helpers/types';
- import { ActionMenu, Popover, Tag } from '@appwrite.io/pink-svelte';
+ import { IconChevronDown, IconChevronUp } from '@appwrite.io/pink-icons-svelte';
+ import { ActionMenu, Icon, Popover, Tag } from '@appwrite.io/pink-svelte';
import { type Writable } from 'svelte/store';
export let columns: Writable;
@@ -184,13 +185,13 @@
{#each [typeFilter] as filter}
-
+
{#key filter.tag}
{filter?.tag ?? filter.title}
{/key}
-
+
@@ -233,14 +234,14 @@
-
+
{#key filter.tag}
{filter?.tag ?? filter.title}
{/key}
-
+
diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/deployments/store.ts b/src/routes/(console)/project-[project]/sites/site-[site]/deployments/store.ts
index a7915b8c5..f383a7772 100644
--- a/src/routes/(console)/project-[project]/sites/site-[site]/deployments/store.ts
+++ b/src/routes/(console)/project-[project]/sites/site-[site]/deployments/store.ts
@@ -16,16 +16,7 @@ export const columns = writable([
elements: ['ready', 'processing', 'building', 'waiting', 'cancelled', 'failed'],
filter: false
},
- {
- id: 'domains',
- title: 'Domains',
- type: 'string',
- show: true,
- width: 150,
- array: true,
- format: 'string',
- filter: false
- },
+
{
id: 'buildTime',
title: 'Build time',
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 54fc8ee74..066062e47 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
@@ -1,5 +1,5 @@
- Settings
diff --git a/src/routes/(console)/project-[project]/sites/site-[site]/settings/dangerZone.svelte b/src/routes/(console)/project-[project]/sites/site-[site]/settings/dangerZone.svelte
index 290d5cbd0..bfe14638e 100644
--- a/src/routes/(console)/project-[project]/sites/site-[site]/settings/dangerZone.svelte
+++ b/src/routes/(console)/project-[project]/sites/site-[site]/settings/dangerZone.svelte
@@ -1,6 +1,5 @@
Coming soon
diff --git a/src/routes/(console)/project-[project]/sites/usage/+page.ts b/src/routes/(console)/project-[project]/sites/usage/+page.ts
new file mode 100644
index 000000000..1be4eb88b
--- /dev/null
+++ b/src/routes/(console)/project-[project]/sites/usage/+page.ts
@@ -0,0 +1,13 @@
+import { sdk } from '$lib/stores/sdk';
+import { Dependencies } from '$lib/constants';
+import { Query } from '@appwrite.io/console';
+
+export const load = async ({ params, depends, parent }) => {
+ depends(Dependencies.SITES);
+
+ const usage = await sdk.forProject.sites.listUsage();
+
+ return {
+ usage
+ };
+};