diff --git a/src/lib/commandCenter/commands.ts b/src/lib/commandCenter/commands.ts index 304ccf603..c24491b6d 100644 --- a/src/lib/commandCenter/commands.ts +++ b/src/lib/commandCenter/commands.ts @@ -18,6 +18,7 @@ const groups = [ 'databases', 'functions', 'messaging', + 'messages', 'providers', 'topics', 'storage', diff --git a/src/lib/commandCenter/searchers/messages.ts b/src/lib/commandCenter/searchers/messages.ts index 42f871337..a9d8fc54f 100644 --- a/src/lib/commandCenter/searchers/messages.ts +++ b/src/lib/commandCenter/searchers/messages.ts @@ -18,6 +18,19 @@ const getLabel = (message) => { } }; +const getIcon = (message) => { + switch (message.providerType) { + case MessagingProviderType.Push: + return 'device-mobile'; + case MessagingProviderType.Sms: + return 'annotation'; + case MessagingProviderType.Email: + return 'mail'; + default: + return 'send'; + } +} + export const messagesSearcher = (async (query: string) => { const { messages } = await sdk.forProject.messaging.listMessages([], query || undefined); @@ -29,12 +42,12 @@ export const messagesSearcher = (async (query: string) => { .map( (message) => ({ - group: 'messaging', + group: 'messages', label: getLabel(message), callback: () => { goto(`/console/project-${projectId}/messaging/message-${message.$id}`); }, - icon: 'send', + icon: getIcon(message), }) as const ); }) satisfies Searcher; diff --git a/src/lib/commandCenter/searchers/providers.ts b/src/lib/commandCenter/searchers/providers.ts index 289bbe826..d52877db9 100644 --- a/src/lib/commandCenter/searchers/providers.ts +++ b/src/lib/commandCenter/searchers/providers.ts @@ -4,6 +4,19 @@ import { get } from 'svelte/store'; import type { Searcher } from '../commands'; import { sdk } from '$lib/stores/sdk'; +const getIcon = (provider) => { + switch (provider.type) { + case MessagingProviderType.Push: + return 'device-mobile'; + case MessagingProviderType.Sms: + return 'annotation'; + case MessagingProviderType.Email: + return 'mail'; + default: + return 'send'; + } +} + export const providersSearcher = (async (query: string) => { const { providers } = await sdk.forProject.messaging.listProviders([], query || undefined); @@ -20,7 +33,7 @@ export const providersSearcher = (async (query: string) => { callback: () => { goto(`/console/project-${projectId}/messaging/providers/provider-${provider.$id}`); }, - icon: 'cloud', + icon: getIcon(provider), }) as const ); }) satisfies Searcher; diff --git a/src/routes/auth/+layout.svelte b/src/routes/auth/+layout.svelte index 68866be64..f2ffcf1d2 100644 --- a/src/routes/auth/+layout.svelte +++ b/src/routes/auth/+layout.svelte @@ -1,29 +1,8 @@ diff --git a/src/routes/console/+layout.svelte b/src/routes/console/+layout.svelte index 98ce25767..cca3baecb 100644 --- a/src/routes/console/+layout.svelte +++ b/src/routes/console/+layout.svelte @@ -56,7 +56,7 @@ $: $registerCommands([ { - label: 'Go to projects', + label: 'Go to Projects', callback: () => { goto('/console'); }, @@ -66,7 +66,7 @@ $page.url.pathname.includes('/console/organization-') && !$page.url.pathname.endsWith('/members') && !$page.url.pathname.endsWith('/settings'), - rank: -1 + rank: -1 }, { label: 'Ask the AI', @@ -78,11 +78,11 @@ disabled: !isAssistantEnabled }, { - label: 'Go to account', + label: 'Go to Account', callback: () => { goto('/console/account'); }, - keys: ['i'], + keys: ['g', 'i'], group: 'navigation', rank: -2 }, diff --git a/src/routes/console/project-[project]/+layout.svelte b/src/routes/console/project-[project]/+layout.svelte index f025da2ec..11c9ba940 100644 --- a/src/routes/console/project-[project]/+layout.svelte +++ b/src/routes/console/project-[project]/+layout.svelte @@ -15,6 +15,7 @@ userSearcher } from '$lib/commandCenter/searchers'; import { MigrationBox } from '$lib/components'; + import { page } from '$app/stores'; onMount(() => { return sdk.forConsole.client.subscribe(['project', 'console'], (response) => { @@ -32,7 +33,7 @@ callback: () => { goto(`/console/project-${$project.$id}/auth`); }, - keys: ['a'], + keys: ['g', 'a'], group: 'navigation' }, { @@ -40,7 +41,7 @@ callback: () => { goto(`/console/project-${$project.$id}/databases`); }, - keys: ['d'], + keys: ['g', 'd'], group: 'navigation' }, { @@ -48,7 +49,7 @@ callback: () => { goto(`/console/project-${$project.$id}/functions`); }, - keys: ['f'], + keys: ['g', 'f'], group: 'navigation' }, { @@ -56,7 +57,7 @@ callback: () => { goto(`/console/project-${$project.$id}/messaging`); }, - keys: ['m'], + keys: $page.url.pathname.includes('messaging') ? ['m'] : ['g', 'm'], group: 'navigation' }, { @@ -64,23 +65,23 @@ callback: () => { goto(`/console/project-${$project.$id}/storage`); }, - keys: ['s'], + keys: ['g', 's'], group: 'navigation' }, { - label: 'Go to settings', + label: 'Go to Settings', callback: () => { goto(`/console/project-${$project.$id}/settings`); }, - keys: ['p'], + keys: ['g', 'e'], group: 'navigation' }, { - label: 'Go to overview', + label: 'Go to Overview', callback: () => { goto(`/console/project-${$project.$id}`); }, - keys: ['o'], + keys: ['g', 'o'], group: 'navigation' } ]); diff --git a/src/routes/console/project-[project]/auth/+layout.svelte b/src/routes/console/project-[project]/auth/+layout.svelte index cfb6a198b..ca114d653 100644 --- a/src/routes/console/project-[project]/auth/+layout.svelte +++ b/src/routes/console/project-[project]/auth/+layout.svelte @@ -1,7 +1,8 @@