diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9fe42390d..86a16d699 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -41,7 +41,7 @@ jobs: "PUBLIC_CONSOLE_MODE=cloud" "PUBLIC_CONSOLE_FEATURE_FLAGS=" "PUBLIC_APPWRITE_MULTI_REGION=true" - "PUBLIC_CONSOLE_EMAIL_VERIFICATION=true" + "PUBLIC_CONSOLE_EMAIL_VERIFICATION=false" "PUBLIC_CONSOLE_MOCK_AI_SUGGESTIONS=false" "PUBLIC_GROWTH_ENDPOINT=${{ secrets.PUBLIC_GROWTH_ENDPOINT }}" "PUBLIC_STRIPE_KEY=${{ secrets.PUBLIC_STRIPE_KEY }}" @@ -83,7 +83,7 @@ jobs: "PUBLIC_CONSOLE_MODE=cloud" "PUBLIC_CONSOLE_FEATURE_FLAGS=" "PUBLIC_APPWRITE_MULTI_REGION=true" - "PUBLIC_CONSOLE_EMAIL_VERIFICATION=false" + "PUBLIC_CONSOLE_EMAIL_VERIFICATION=true" "PUBLIC_CONSOLE_MOCK_AI_SUGGESTIONS=false" "PUBLIC_GROWTH_ENDPOINT=${{ secrets.PUBLIC_GROWTH_ENDPOINT }}" "PUBLIC_STRIPE_KEY=${{ secrets.PUBLIC_STRIPE_KEY_STAGE }}" diff --git a/Dockerfile b/Dockerfile index 6bdc2d78a..5da6ccbf2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,7 +11,7 @@ RUN corepack prepare pnpm@10.0.0 --activate ADD ./package.json /app/package.json ADD ./pnpm-lock.yaml /app/pnpm-lock.yaml -RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile +RUN pnpm install --frozen-lockfile ADD ./build.js /app/build.js ADD ./tsconfig.json /app/tsconfig.json diff --git a/src/lib/layout/responsiveContainerHeader.svelte b/src/lib/layout/responsiveContainerHeader.svelte index 0f5358a02..29eed0f56 100644 --- a/src/lib/layout/responsiveContainerHeader.svelte +++ b/src/lib/layout/responsiveContainerHeader.svelte @@ -106,11 +106,11 @@ {#if hasSearch} {/if} + + {#if hasFilters && $columns?.length} {/if} - - {#if hasDisplaySettings} {/if} diff --git a/src/lib/layout/wizardStep.svelte b/src/lib/layout/wizardStep.svelte index 4b64ae445..591fb62e8 100644 --- a/src/lib/layout/wizardStep.svelte +++ b/src/lib/layout/wizardStep.svelte @@ -21,14 +21,21 @@ - - - {#if $$slots.subtitle} - - - - {/if} - + {#if $$slots.title || $$slots.subtitle} + + {#if $$slots.title} + + {/if} + {#if $$slots.subtitle} + + + + {/if} + + {/if} @@ -42,4 +49,8 @@ padding-block-end: 0; border-block-end: none; } + + .only-subtitle { + margin-block-end: 0.5rem; + } diff --git a/src/routes/(console)/organization-[organization]/+page.svelte b/src/routes/(console)/organization-[organization]/+page.svelte index cd2417f29..947d507d1 100644 --- a/src/routes/(console)/organization-[organization]/+page.svelte +++ b/src/routes/(console)/organization-[organization]/+page.svelte @@ -83,12 +83,13 @@ } $: projectCreationDisabled = - (isCloud && getServiceLimit('projects') <= data.projects.total) || + (isCloud && getServiceLimit('projects', null, data.currentPlan) <= data.projects.total) || (isCloud && $readOnly && !GRACE_PERIOD_OVERRIDE) || !$canWriteProjects; - $: reachedProjectLimit = isCloud && getServiceLimit('projects') <= data.projects.total; - $: projectsLimit = getServiceLimit('projects'); + $: reachedProjectLimit = + isCloud && getServiceLimit('projects', null, data.currentPlan) <= data.projects.total; + $: projectsLimit = getServiceLimit('projects', null, data.currentPlan); $: $registerCommands([ { diff --git a/src/routes/(console)/organization-[organization]/header.svelte b/src/routes/(console)/organization-[organization]/header.svelte index 1a81ae48c..38ec2a743 100644 --- a/src/routes/(console)/organization-[organization]/header.svelte +++ b/src/routes/(console)/organization-[organization]/header.svelte @@ -29,7 +29,7 @@ let areMembersLimited: boolean = $state(false); $effect(() => { - const limit = getServiceLimit('members') || Infinity; + const limit = getServiceLimit('members', null, page.data.currentPlan) || Infinity; const isLimited = limit !== 0 && limit < Infinity; areMembersLimited = isCloud && diff --git a/src/routes/(console)/project-[region]-[project]/messaging/+page.svelte b/src/routes/(console)/project-[region]-[project]/messaging/+page.svelte index 991d0ba6c..6f009719b 100644 --- a/src/routes/(console)/project-[region]-[project]/messaging/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/messaging/+page.svelte @@ -243,11 +243,7 @@ {:else if $hasPageQueries} {:else if data.search} - - - Sorry, we couldn't find '{data.search}' - There are no messages that match your search. - + Documentation diff --git a/src/routes/(console)/project-[region]-[project]/messaging/create-[type]/(type)/(components)/schedule.svelte b/src/routes/(console)/project-[region]-[project]/messaging/create-[type]/(type)/(components)/schedule.svelte index 115c5a4d2..c6ab1e4e9 100644 --- a/src/routes/(console)/project-[region]-[project]/messaging/create-[type]/(type)/(components)/schedule.svelte +++ b/src/routes/(console)/project-[region]-[project]/messaging/create-[type]/(type)/(components)/schedule.svelte @@ -21,15 +21,18 @@ const options = [ { label: 'Now', value: 'now' }, - { label: 'Schedule', value: 'later' } + { label: 'Custom', value: 'later' } ]; - const formatOptions: Intl.DateTimeFormatOptions = { + const dateOptions: Intl.DateTimeFormatOptions = { month: 'long', day: 'numeric', - year: 'numeric', + year: 'numeric' + }; + const timeOptions: Intl.DateTimeFormatOptions = { hour: 'numeric', minute: 'numeric', + second: 'numeric', hourCycle: 'h23', timeZoneName: 'longGeneric' }; @@ -57,28 +60,23 @@ - - - + + {#if when === 'later'} + + + + + {/if} {#if when === 'now'} The message will be sent immediately {:else if !dateTime || isNaN(dateTime.getTime())} The message will be sent later {:else} - The message will be sent at {dateTime.toLocaleString('en', formatOptions)} + The message will be sent on {dateTime.toLocaleDateString('en', dateOptions)} at {dateTime.toLocaleTimeString( + 'en', + timeOptions + )} {/if} diff --git a/src/routes/(console)/project-[region]-[project]/messaging/create-[type]/(type)/email.svelte b/src/routes/(console)/project-[region]-[project]/messaging/create-[type]/(type)/email.svelte index 42d352d8e..ff7c0c928 100644 --- a/src/routes/(console)/project-[region]-[project]/messaging/create-[type]/(type)/email.svelte +++ b/src/routes/(console)/project-[region]-[project]/messaging/create-[type]/(type)/email.svelte @@ -133,7 +133,7 @@ - + diff --git a/src/routes/(console)/project-[region]-[project]/messaging/create-[type]/(type)/push.svelte b/src/routes/(console)/project-[region]-[project]/messaging/create-[type]/(type)/push.svelte index 415504dae..727e5e716 100644 --- a/src/routes/(console)/project-[region]-[project]/messaging/create-[type]/(type)/push.svelte +++ b/src/routes/(console)/project-[region]-[project]/messaging/create-[type]/(type)/push.svelte @@ -187,7 +187,7 @@ - + diff --git a/src/routes/(console)/project-[region]-[project]/messaging/create-[type]/(type)/sms.svelte b/src/routes/(console)/project-[region]-[project]/messaging/create-[type]/(type)/sms.svelte index a1f88d7a3..102c20196 100644 --- a/src/routes/(console)/project-[region]-[project]/messaging/create-[type]/(type)/sms.svelte +++ b/src/routes/(console)/project-[region]-[project]/messaging/create-[type]/(type)/sms.svelte @@ -115,7 +115,7 @@ - + diff --git a/src/routes/(console)/project-[region]-[project]/messaging/createMessageDropdown.svelte b/src/routes/(console)/project-[region]-[project]/messaging/createMessageDropdown.svelte index 49e018a16..e91f92669 100644 --- a/src/routes/(console)/project-[region]-[project]/messaging/createMessageDropdown.svelte +++ b/src/routes/(console)/project-[region]-[project]/messaging/createMessageDropdown.svelte @@ -7,7 +7,7 @@ import { page } from '$app/state'; - + diff --git a/src/routes/(console)/project-[region]-[project]/messaging/message-[message]/updateTopics.svelte b/src/routes/(console)/project-[region]-[project]/messaging/message-[message]/updateTopics.svelte index a96e1830b..cd7806998 100644 --- a/src/routes/(console)/project-[region]-[project]/messaging/message-[message]/updateTopics.svelte +++ b/src/routes/(console)/project-[region]-[project]/messaging/message-[message]/updateTopics.svelte @@ -16,6 +16,7 @@ import { IconPlus } from '@appwrite.io/pink-icons-svelte'; import { Icon, Layout, Table, Typography } from '@appwrite.io/pink-svelte'; import { page } from '$app/state'; + import { Link } from '$lib/elements'; export let message: Models.Message; export let selectedTopicsById: Record; @@ -141,17 +142,13 @@ (showTopics = true)}>Add a topic {:else} - - - + + Need a hand? Check out our - Documentation - + external>documentation. diff --git a/src/routes/(console)/project-[region]-[project]/messaging/providers/+page.svelte b/src/routes/(console)/project-[region]-[project]/messaging/providers/+page.svelte index 85b132238..cc80b73af 100644 --- a/src/routes/(console)/project-[region]-[project]/messaging/providers/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/messaging/providers/+page.svelte @@ -1,45 +1,40 @@ - - - - - - - - {#if $canWriteProviders} - - - - Create provider - - - {/if} - - + + {#if $canWriteProviders} + + + + Create provider + + + {/if} + {#if data.providers.total} @@ -52,11 +47,7 @@ {:else if $hasPageQueries} {:else if data.search && data.search !== 'empty'} - - - Sorry, we couldn't find '{data.search}' - There are no providers that match your search. - + @@ -68,7 +59,7 @@ - + {/if} - + {/if} diff --git a/src/routes/(console)/project-[region]-[project]/messaging/providers/create.svelte b/src/routes/(console)/project-[region]-[project]/messaging/providers/create.svelte index a26def4fd..e8a711d86 100644 --- a/src/routes/(console)/project-[region]-[project]/messaging/providers/create.svelte +++ b/src/routes/(console)/project-[region]-[project]/messaging/providers/create.svelte @@ -21,6 +21,8 @@ import { providers } from './store'; import CreateMember from '$routes/(console)/organization-[organization]/createMember.svelte'; + let formRef: Form; + async function create() { try { let response: Models.Provider; @@ -185,7 +187,7 @@ - + @@ -193,9 +195,6 @@ - - Create - @@ -227,7 +226,9 @@ hasDivider href={`https://appwrite.io/docs/products/messaging/${$provider}`} title="Read the guide in the docs" - icon={IconBookOpen} /> + icon={IconBookOpen} + target="_blank" + rel="noreferrer" /> { $newMemberModal = true; @@ -241,4 +242,9 @@ {#if $newMemberModal} {/if} + + + formRef.triggerSubmit()}>Create + + diff --git a/src/routes/(console)/project-[region]-[project]/messaging/providers/createProviderDropdown.svelte b/src/routes/(console)/project-[region]-[project]/messaging/providers/createProviderDropdown.svelte index ea8f54839..b210dc61b 100644 --- a/src/routes/(console)/project-[region]-[project]/messaging/providers/createProviderDropdown.svelte +++ b/src/routes/(console)/project-[region]-[project]/messaging/providers/createProviderDropdown.svelte @@ -9,7 +9,7 @@ import { ActionMenu, Popover } from '@appwrite.io/pink-svelte'; - + {#each Object.entries(providers) as [type, option]} diff --git a/src/routes/(console)/project-[region]-[project]/messaging/providers/popoverContent.svelte b/src/routes/(console)/project-[region]-[project]/messaging/providers/popoverContent.svelte index 7b9a1e723..ea0f6e270 100644 --- a/src/routes/(console)/project-[region]-[project]/messaging/providers/popoverContent.svelte +++ b/src/routes/(console)/project-[region]-[project]/messaging/providers/popoverContent.svelte @@ -1,30 +1,25 @@ - + {#each lines as line} - {@html line} + {@html line} {/each} {#if image} - + + + {/if} - +
- -
+ +
There are no messages that match your search.
There are no providers that match your search.
{@html line}