diff --git a/package-lock.json b/package-lock.json index 279f65287..0d55e1700 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,8 +7,8 @@ "name": "@appwrite/console", "dependencies": { "@appwrite.io/console": "^0.6.2", - "@appwrite.io/pink": "0.20.0", - "@appwrite.io/pink-icons": "0.20.0", + "@appwrite.io/pink": "0.23.0", + "@appwrite.io/pink-icons": "0.23.0", "@popperjs/core": "^2.11.8", "@sentry/svelte": "^7.66.0", "@sentry/tracing": "^7.66.0", @@ -162,19 +162,19 @@ "integrity": "sha512-3qYknuFwhvTN2GnPB8G1w5DgxfVorGtfj4uuEaXbTmMUmjA8fHaW5VkJriuUxCi6/TpxDxqV/hhEkdoXL+5H4w==" }, "node_modules/@appwrite.io/pink": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@appwrite.io/pink/-/pink-0.20.0.tgz", - "integrity": "sha512-17anov7EL+Ic/4fNtCYgG3wA+hoeBXn/j+ZjkfZFfX3g66M8XzVTaQfsAH+EMZ3YjvWuKlHtn+bY4BkGwvMIzQ==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@appwrite.io/pink/-/pink-0.23.0.tgz", + "integrity": "sha512-AGV0o0pjcKEHFc77TBDUEVGdlxwxB66n9XyPWn/meN9amVMPCEWuYcjhI4I5H6mdmPgW1YaFmaUZ2bIsXtyWBA==", "dependencies": { - "@appwrite.io/pink-icons": "0.20.0", + "@appwrite.io/pink-icons": "0.23.0", "normalize.css": "^8.0.1", "the-new-css-reset": "^1.11.2" } }, "node_modules/@appwrite.io/pink-icons": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@appwrite.io/pink-icons/-/pink-icons-0.20.0.tgz", - "integrity": "sha512-nfDy7qE6FQWVO1eC+3nwGjXkj/Zm2V50rhvyj0/HKq8RyWNWFGX31BZoMSim01vl/N5irBilpkaER6mLPp7oEw==" + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@appwrite.io/pink-icons/-/pink-icons-0.23.0.tgz", + "integrity": "sha512-hIvAWf+LxedFePGEckVzM3TO5qkhNn/biBx25itVTWWEF5vI8fBnGfG6Vkv73Yy4PPAScryOc10uJxkWGEWCqw==" }, "node_modules/@babel/code-frame": { "version": "7.24.2", diff --git a/package.json b/package.json index f258ae4db..42ec216dd 100644 --- a/package.json +++ b/package.json @@ -20,8 +20,8 @@ }, "dependencies": { "@appwrite.io/console": "^0.6.2", - "@appwrite.io/pink": "0.20.0", - "@appwrite.io/pink-icons": "0.20.0", + "@appwrite.io/pink": "0.23.0", + "@appwrite.io/pink-icons": "0.23.0", "@popperjs/core": "^2.11.8", "@sentry/svelte": "^7.66.0", "@sentry/tracing": "^7.66.0", diff --git a/src/lib/components/billing/selectPaymentMethod.svelte b/src/lib/components/billing/selectPaymentMethod.svelte index 873814887..0412870a6 100644 --- a/src/lib/components/billing/selectPaymentMethod.svelte +++ b/src/lib/components/billing/selectPaymentMethod.svelte @@ -56,7 +56,7 @@ interactiveOutput let:option={o}> - + diff --git a/src/lib/layout/header.svelte b/src/lib/layout/header.svelte index dfef00d3b..14d58eb68 100644 --- a/src/lib/layout/header.svelte +++ b/src/lib/layout/header.svelte @@ -90,8 +90,8 @@ {#if isCloud}
+ class="tag eyebrow-heading-3 u-padding-block-4" + style="--p-tag-height: 1.785rem; --p-tag-content-height: 1.2rem;"> Beta
{/if} diff --git a/src/lib/layout/wizardExitModal.svelte b/src/lib/layout/wizardExitModal.svelte index c73d2cd2e..b9fd150a2 100644 --- a/src/lib/layout/wizardExitModal.svelte +++ b/src/lib/layout/wizardExitModal.svelte @@ -4,6 +4,7 @@ import { createEventDispatcher } from 'svelte'; export let show = false; + export let href: string = null; const dispatch = createEventDispatcher(); function handleSubmit() { @@ -25,6 +26,10 @@

- + {#if href} + + {:else} + + {/if} diff --git a/src/lib/layout/wizardSecondaryHeader.svelte b/src/lib/layout/wizardSecondaryHeader.svelte index 91a5bda0e..00ee7cb3b 100644 --- a/src/lib/layout/wizardSecondaryHeader.svelte +++ b/src/lib/layout/wizardSecondaryHeader.svelte @@ -1,13 +1,32 @@
-
@@ -15,3 +34,16 @@

{/if}
+ +{#if show} + { + trackEvent('wizard_exit', { + from: 'prompt' + }); + }}> + this process + +{/if} diff --git a/src/lib/stores/marketplace.ts b/src/lib/stores/marketplace.ts index 86625c238..9bc2db0c4 100644 --- a/src/lib/stores/marketplace.ts +++ b/src/lib/stores/marketplace.ts @@ -77,6 +77,244 @@ export const marketplace: MarketplaceTemplate[] = [ } ] }, + { + icon: 'icon-upstash', + id: 'query-upstash-vector', + name: 'Query Upstash Vector', + tagline: 'Vector database that stores text embeddings and context retrieval for LLMs', + permissions: ['any'], + events: [], + cron: '', + timeout: 15, + usecases: ['Databases'], + runtimes: [ + ...getRuntimes( + TemplateRuntimes.NODE, + 'npm install', + 'src/main.js', + 'node/query-upstash-vector' + ) + ], + instructions: `For documentation and instructions check out file.`, + vcsProvider: 'github', + providerRepositoryId: 'templates', + providerOwner: 'appwrite', + providerBranch: 'main', + variables: [ + { + name: 'UPSTASH_URL', + description: `The endpoint to connect to your Upstash Vector database. Learn more.`, + value: '', + placeholder: 'https://resolved-mallard-84564-eu1-vector.upstash.io', + required: true, + type: 'text' + }, + { + name: 'UPSTASH_TOKEN', + description: `Authentication token to access your Upstash Vector database. Learn more.`, + value: '', + placeholder: + 'oe4wNTbwHVLcDNa6oceZfhBEABsCNYh43ii6Xdq4bKBH7mq7qJkUmc4cs3ABbYyuVKWZTxVQjiNjYgydn2dkhABNes4NAuDpj7qxUAmZYqGJT78', + required: true, + type: 'password' + } + ] + }, + { + icon: 'icon-redis', + id: 'query-redis-labs', + name: 'Query Redis Labs', + tagline: 'Key-value database with advanced caching capabilities.', + permissions: ['any'], + events: [], + cron: '', + timeout: 15, + usecases: ['Databases'], + runtimes: [ + ...getRuntimes( + TemplateRuntimes.NODE, + 'npm install', + 'src/main.js', + 'node/query-redis-labs' + ) + ], + instructions: `For documentation and instructions check out file.`, + vcsProvider: 'github', + providerRepositoryId: 'templates', + providerOwner: 'appwrite', + providerBranch: 'main', + variables: [ + { + name: 'REDIS_HOST', + description: `The endpoint to connect to your Redis database. Learn more.`, + value: '', + placeholder: 'redis-13258.c35.eu-central-1-1.ec2.redns.redis-cloud.com', + required: true, + type: 'text' + }, + { + name: 'REDIS_PASSWORD', + description: `Authentication password to access your Redis database. Learn more.`, + value: '', + placeholder: 'efNNehiACfcZiwsTAjcK6xiwPyu6Dpdq', + required: true, + type: 'password' + } + ] + }, + { + icon: 'icon-neo4j', + id: 'query-neo4j-auradb', + name: 'Query Neo4j AuraDB', + tagline: 'Graph database with focus on relations between data.', + permissions: ['any'], + events: [], + cron: '', + timeout: 15, + usecases: ['Databases'], + runtimes: [ + ...getRuntimes( + TemplateRuntimes.NODE, + 'npm install', + 'src/main.js', + 'node/query-neo4j-auradb' + ) + ], + instructions: `For documentation and instructions check out file.`, + vcsProvider: 'github', + providerRepositoryId: 'templates', + providerOwner: 'appwrite', + providerBranch: 'main', + variables: [ + { + name: 'NEO4J_URI', + description: `The endpoint to connect to your Neo4j database. Learn more.`, + value: '', + placeholder: 'neo4j+s://4tg4mddo.databases.neo4j.io', + required: true, + type: 'text' + }, + { + name: 'NEO4J_USER', + description: `Authentication user to access your Neo4j database. Learn more.`, + value: '', + placeholder: 'neo4j', + required: true, + type: 'text' + }, + { + name: 'NEO4J_PASSWORD', + description: `Authentication password to access your Neo4j database. Learn more.`, + value: '', + placeholder: 'mCUc4PbVUQN-_NkTLJLisb6ccnwzQKKhrkF77YMctzx', + required: true, + type: 'password' + } + ] + }, + { + icon: 'icon-mongodb', + id: 'query-mongo-atlas', + name: 'Query MongoDB Atlas', + tagline: + 'Realtime NoSQL document database with geospecial, graph, search, and vector suport.', + permissions: ['any'], + events: [], + cron: '', + timeout: 15, + usecases: ['Databases'], + runtimes: [ + ...getRuntimes( + TemplateRuntimes.NODE, + 'npm install', + 'src/main.js', + 'node/query-mongo-atlas' + ) + ], + instructions: `For documentation and instructions check out file.`, + vcsProvider: 'github', + providerRepositoryId: 'templates', + providerOwner: 'appwrite', + providerBranch: 'main', + variables: [ + { + name: 'MONGO_URI', + description: `The endpoint to connect to your Mongo database. Learn more.`, + value: '', + placeholder: + 'mongodb+srv://appwrite:Yx42hafg7Q4fgkxe@cluster0.7mslfog.mongodb.net/?retryWrites=true&w=majority&appName=Appwrite', + required: true, + type: 'password' + } + ] + }, + { + icon: 'icon-neon', + id: 'query-neon-postgres', + name: 'Query Neon Postgres', + tagline: + 'Reliable SQL database with replication, point-in-time recovery, and pgvector support.', + permissions: ['any'], + events: [], + cron: '', + timeout: 15, + usecases: ['Databases'], + runtimes: [ + ...getRuntimes( + TemplateRuntimes.NODE, + 'npm install', + 'src/main.js', + 'node/query-neon-postgres' + ) + ], + instructions: `For documentation and instructions check out file.`, + vcsProvider: 'github', + providerRepositoryId: 'templates', + providerOwner: 'appwrite', + providerBranch: 'main', + variables: [ + { + name: 'PGHOST', + description: `The endpoint to connect to your Postgres database. Learn more.`, + value: '', + placeholder: 'ep-still-sea-a792sh84.eu-central-1.aws.neon.tech', + required: true, + type: 'text' + }, + { + name: 'PGDATABASE', + description: `Name of our Postgres database. Learn more.`, + value: '', + placeholder: 'main', + required: true, + type: 'text' + }, + { + name: 'PGUSER', + description: `Name of our Postgres user for authentication. Learn more.`, + value: '', + placeholder: 'main_owner', + required: true, + type: 'text' + }, + { + name: 'PGPASSWORD', + description: `Password of our Postgres user for authentication. Learn more.`, + value: '', + placeholder: 'iQCfaUaaWB3B', + required: true, + type: 'password' + }, + { + name: 'ENDPOINT_ID', + description: `Endpoint ID provided for your Postgres database. Learn more.`, + value: '', + placeholder: 'ep-still-sea-a792sh84', + required: true, + type: 'text' + } + ] + }, { icon: 'icon-open-ai', id: 'prompt-chatgpt', diff --git a/src/routes/console/account/updateMfa.svelte b/src/routes/console/account/updateMfa.svelte index a257865f6..86e8eccca 100644 --- a/src/routes/console/account/updateMfa.svelte +++ b/src/routes/console/account/updateMfa.svelte @@ -13,6 +13,7 @@ import MfaRecoveryCodes from './mfaRecoveryCodes.svelte'; import type { Models } from '@appwrite.io/console'; import MfaRegenerateCodes from './mfaRegenerateCodes.svelte'; + import { Pill } from '$lib/elements'; let showSetup: boolean = false; let showDelete: boolean = false; @@ -144,8 +145,11 @@
-
- Email verification +
+
+ Email + verified +
One-time codes will be sent to: {$user.email}
@@ -160,8 +164,11 @@
-
- SMS verification +
+
+ SMS + verified +
One-time codes will be sent to: {$user.phone}
diff --git a/src/routes/console/create-organization/+page.svelte b/src/routes/console/create-organization/+page.svelte index 58959c166..900d213f1 100644 --- a/src/routes/console/create-organization/+page.svelte +++ b/src/routes/console/create-organization/+page.svelte @@ -186,7 +186,9 @@ - Create organization + + Create organization +
diff --git a/src/routes/console/organization-[organization]/billing/planSummary.svelte b/src/routes/console/organization-[organization]/billing/planSummary.svelte index 978afa43c..ce96e098a 100644 --- a/src/routes/console/organization-[organization]/billing/planSummary.svelte +++ b/src/routes/console/organization-[organization]/billing/planSummary.svelte @@ -147,7 +147,9 @@ }}>
- {formatCurrency(currentInvoice?.amount ?? 0)} + {$organization?.billingPlan === BillingPlan.STARTER + ? formatCurrency(0) + : formatCurrency(currentInvoice?.amount ?? 0)}
diff --git a/src/routes/console/organization-[organization]/change-plan/+page.svelte b/src/routes/console/organization-[organization]/change-plan/+page.svelte index 3237fa1e1..824ccd971 100644 --- a/src/routes/console/organization-[organization]/change-plan/+page.svelte +++ b/src/routes/console/organization-[organization]/change-plan/+page.svelte @@ -253,7 +253,7 @@ - Change plan + Change plan diff --git a/src/routes/console/project-[project]/functions/function-[function]/executions/+page.svelte b/src/routes/console/project-[project]/functions/function-[function]/executions/+page.svelte index 8286bde0c..845e80031 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/executions/+page.svelte +++ b/src/routes/console/project-[project]/functions/function-[function]/executions/+page.svelte @@ -62,7 +62,7 @@ {abbreviateNumber(limit)} function executions
  • - ${hoursToDays(logs)} of logs + {hoursToDays(logs)} of logs
  • {#if $organization?.billingPlan === BillingPlan.STARTER}