diff --git a/src/lib/components/apiEndpoint.svelte b/src/lib/components/apiEndpoint.svelte
new file mode 100644
index 0000000000..33e70341d0
--- /dev/null
+++ b/src/lib/components/apiEndpoint.svelte
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+ API endpoint
+
+
+
diff --git a/src/lib/components/copy.svelte b/src/lib/components/copy.svelte
index c178913c76..d9a619e013 100644
--- a/src/lib/components/copy.svelte
+++ b/src/lib/components/copy.svelte
@@ -57,6 +57,7 @@
disabled={tooltipDisabled}
portal={tooltipPortal}
delay={tooltipDelay}
+ maxWidth="500px"
placement={tooltipPlacement}>
{#key value}
-
+
import { Copy } from '.';
import { sdk } from '$lib/stores/sdk';
- import { Layout, Tag } from '@appwrite.io/pink-svelte';
+ import { Icon, Tag } from '@appwrite.io/pink-svelte';
+ import { IconDuplicate } from '@appwrite.io/pink-icons-svelte';
import { Flag, type Models } from '@appwrite.io/console';
- import { truncateText } from '$lib/components/id.svelte';
import { isValueOfStringEnum } from '$lib/helpers/types';
import { getProjectEndpoint } from '$lib/helpers/project';
@@ -21,28 +21,28 @@
{#if region}
-
-
-
- {#if flagSrc}
-
- {/if}
-
-
- {region?.name}
-
-
+
+
+
+ API endpoint
+ {#if flagSrc}
+
+ {/if}
{/if}
+
+
diff --git a/src/routes/(console)/project-[region]-[project]/overview/(components)/create.svelte b/src/routes/(console)/project-[region]-[project]/overview/(components)/create.svelte
index 0df14759c5..0a2d0e88b5 100644
--- a/src/routes/(console)/project-[region]-[project]/overview/(components)/create.svelte
+++ b/src/routes/(console)/project-[region]-[project]/overview/(components)/create.svelte
@@ -28,7 +28,7 @@
async function create() {
try {
- const { $id } = await sdk.forConsole.projects.createKey({
+ const { $id, secret } = await sdk.forConsole.projects.createKey({
projectId,
name,
scopes,
@@ -45,7 +45,18 @@
);
addNotification({
message: `API key has been created`,
- type: 'success'
+ type: 'success',
+ buttons: [
+ {
+ name: 'Copy API key',
+ method: () => navigator.clipboard.writeText(secret)
+ },
+ {
+ name: 'Copy endpoint',
+ method: () =>
+ navigator.clipboard.writeText(sdk.forConsole.client.config.endpoint)
+ }
+ ]
});
} catch (error) {
addNotification({
diff --git a/src/routes/(console)/project-[region]-[project]/overview/api-keys/[key]/header.svelte b/src/routes/(console)/project-[region]-[project]/overview/api-keys/[key]/header.svelte
index 0b4b527d63..5713e9e50b 100644
--- a/src/routes/(console)/project-[region]-[project]/overview/api-keys/[key]/header.svelte
+++ b/src/routes/(console)/project-[region]-[project]/overview/api-keys/[key]/header.svelte
@@ -3,6 +3,10 @@
import { page } from '$app/state';
import { Cover, CoverTitle } from '$lib/layout';
import { key } from './store';
+ import { RegionEndpoint, Copy } from '$lib/components';
+ import { Layout, Tag, Icon } from '@appwrite.io/pink-svelte';
+ import { IconDuplicate } from '@appwrite.io/pink-icons-svelte';
+ import { projectRegion } from '../../../store';
const projectId = page.params.project;
@@ -12,5 +16,23 @@
{$key?.name}
+
+ {#if $key?.secret}
+
+
+
+
+ API secret
+
+
+
+ {/if}
+ {#if $projectRegion}
+
+ {/if}
+
diff --git a/src/routes/(console)/project-[region]-[project]/overview/assets/platform-sdk-dark.png b/src/routes/(console)/project-[region]-[project]/overview/assets/platform-sdk-dark.png
new file mode 100644
index 0000000000..e778c55b9e
Binary files /dev/null and b/src/routes/(console)/project-[region]-[project]/overview/assets/platform-sdk-dark.png differ
diff --git a/src/routes/(console)/project-[region]-[project]/overview/assets/platform-sdk.jpg b/src/routes/(console)/project-[region]-[project]/overview/assets/platform-sdk.jpg
new file mode 100644
index 0000000000..b891d6a12c
Binary files /dev/null and b/src/routes/(console)/project-[region]-[project]/overview/assets/platform-sdk.jpg differ
diff --git a/src/routes/(console)/project-[region]-[project]/overview/header.svelte b/src/routes/(console)/project-[region]-[project]/overview/header.svelte
index 8a412281c1..6456510b29 100644
--- a/src/routes/(console)/project-[region]-[project]/overview/header.svelte
+++ b/src/routes/(console)/project-[region]-[project]/overview/header.svelte
@@ -28,8 +28,10 @@
- {$project.$id}
-
+ {$project.$id}
+ {#if $projectRegion}
+
+ {/if}
diff --git a/src/routes/(console)/project-[region]-[project]/overview/onboard.svelte b/src/routes/(console)/project-[region]-[project]/overview/onboard.svelte
index c1c3811e4b..d3e4239024 100644
--- a/src/routes/(console)/project-[region]-[project]/overview/onboard.svelte
+++ b/src/routes/(console)/project-[region]-[project]/overview/onboard.svelte
@@ -14,12 +14,7 @@
import { app } from '$lib/stores/app';
import AuthPreview from './assets/auth-preview.svg';
import AuthPreviewDark from './assets/auth-preview-dark.svg';
- import {
- IconArrowRight,
- IconNodeJs,
- IconPhp,
- IconPython
- } from '@appwrite.io/pink-icons-svelte';
+ import { IconArrowRight } from '@appwrite.io/pink-icons-svelte';
import DatabaseImgSource from './assets/database.png';
import DatabaseImgSourceDark from './assets/database-dark.png';
import DiscordImgSource from './assets/discord.png';
@@ -31,9 +26,10 @@
import PlatformAndroidImgSourceDark from './assets/platform-android-dark.svg';
import PlatformFlutterImgSource from './assets/platform-flutter.svg';
import PlatformFlutterImgSourceDark from './assets/platform-flutter-dark.svg';
+ import PlatformSdkImgSource from './assets/platform-sdk.jpg';
+ import PlatformSdkImgSourceDark from './assets/platform-sdk-dark.png';
import { base } from '$app/paths';
import { isSmallViewport } from '$lib/stores/viewport';
- import { AvatarGroup } from '$lib/components';
import type { Models } from '@appwrite.io/console';
import { getPlatformInfo } from '$lib/helpers/platform';
import { Click, trackEvent } from '$lib/actions/analytics';
@@ -103,7 +99,9 @@
-
+
{
openPlatformWizard(0, platformMap.get('Web'));
@@ -341,17 +339,34 @@
-
- Or connect
- server side
-
-
+ or
+
+
+
+
+
+
+ Create API key
+ Connect your server or backend to Appwrite
+
+
+
+
+
+
+
+