mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
fix: fallback to 'default' region in project switcher dropdown for self-hosted
This commit is contained in:
@@ -112,10 +112,13 @@
|
||||
};
|
||||
|
||||
if (loadedProjects.total > 1 && selectedOrg) {
|
||||
const projectLinks = loadedProjects.projects.slice(0, 4).map((project) => ({
|
||||
name: project.name,
|
||||
href: `${base}/project-${project.region}-${project.$id}/overview/platforms`
|
||||
}));
|
||||
const projectLinks = loadedProjects.projects.slice(0, 4).map((project) => {
|
||||
const region = project.region || (!isCloud ? 'default' : project.region);
|
||||
return {
|
||||
name: project.name,
|
||||
href: `${base}/project-${region}-${project.$id}/overview/platforms`
|
||||
};
|
||||
});
|
||||
|
||||
if (loadedProjects.projects.length > 4) {
|
||||
projectLinks.push({
|
||||
@@ -341,7 +344,7 @@
|
||||
<div use:melt={$itemProjects}>
|
||||
<ActionMenu.Root>
|
||||
<ActionMenu.Item.Anchor
|
||||
href={`${base}/project-${project.region}-${project.$id}/overview/platforms`}>
|
||||
href={`${base}/project-${project.region || (!isCloud ? 'default' : project.region)}-${project.$id}/overview/platforms`}>
|
||||
<span class="projectName dropdown">{project.name}</span>
|
||||
</ActionMenu.Item.Anchor>
|
||||
</ActionMenu.Root>
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
canWriteSites
|
||||
} from '$lib/stores/roles';
|
||||
import CsvImportBox from '$lib/components/csvImportBox.svelte';
|
||||
import { isCloud } from '$lib/system';
|
||||
|
||||
onMount(() => {
|
||||
return realtime
|
||||
@@ -42,7 +43,8 @@
|
||||
{
|
||||
label: 'Go to Auth',
|
||||
callback: () => {
|
||||
goto(`${base}/project-${$project.region}-${$project.$id}/auth`);
|
||||
const region = $project.region || (!isCloud ? 'default' : $project.region);
|
||||
goto(`${base}/project-${region}-${$project.$id}/auth`);
|
||||
},
|
||||
keys: ['g', 'a'],
|
||||
group: 'navigation'
|
||||
@@ -50,7 +52,8 @@
|
||||
{
|
||||
label: 'Go to Databases',
|
||||
callback: () => {
|
||||
goto(`${base}/project-${$project.region}-${$project.$id}/databases`);
|
||||
const region = $project.region || (!isCloud ? 'default' : $project.region);
|
||||
goto(`${base}/project-${region}-${$project.$id}/databases`);
|
||||
},
|
||||
keys: ['g', 'd'],
|
||||
group: 'navigation',
|
||||
@@ -59,7 +62,8 @@
|
||||
{
|
||||
label: 'Go to Functions',
|
||||
callback: () => {
|
||||
goto(`${base}/project-${$project.region}-${$project.$id}/functions`);
|
||||
const region = $project.region || (!isCloud ? 'default' : $project.region);
|
||||
goto(`${base}/project-${region}-${$project.$id}/functions`);
|
||||
},
|
||||
keys: ['g', 'f'],
|
||||
group: 'navigation',
|
||||
@@ -68,7 +72,8 @@
|
||||
{
|
||||
label: 'Go to Messaging',
|
||||
callback: () => {
|
||||
goto(`${base}/project-${$project.region}-${$project.$id}/messaging`);
|
||||
const region = $project.region || (!isCloud ? 'default' : $project.region);
|
||||
goto(`${base}/project-${region}-${$project.$id}/messaging`);
|
||||
},
|
||||
keys: ['g', 'm'],
|
||||
disabled: page.url.pathname.endsWith('messaging') || !$canSeeMessages,
|
||||
@@ -77,7 +82,8 @@
|
||||
{
|
||||
label: 'Go to Storage',
|
||||
callback: () => {
|
||||
goto(`${base}/project-${$project.region}-${$project.$id}/storage`);
|
||||
const region = $project.region || (!isCloud ? 'default' : $project.region);
|
||||
goto(`${base}/project-${region}-${$project.$id}/storage`);
|
||||
},
|
||||
keys: ['g', 's'],
|
||||
group: 'navigation',
|
||||
@@ -86,7 +92,8 @@
|
||||
{
|
||||
label: 'Go to Settings',
|
||||
callback: () => {
|
||||
goto(`${base}/project-${$project.region}-${$project.$id}/settings`);
|
||||
const region = $project.region || (!isCloud ? 'default' : $project.region);
|
||||
goto(`${base}/project-${region}-${$project.$id}/settings`);
|
||||
},
|
||||
keys: ['g', 'e'],
|
||||
group: 'navigation',
|
||||
@@ -95,7 +102,8 @@
|
||||
{
|
||||
label: 'Go to Sites',
|
||||
callback: () => {
|
||||
goto(`${base}/project-${$project.region}-${$project.$id}/sites`);
|
||||
const region = $project.region || (!isCloud ? 'default' : $project.region);
|
||||
goto(`${base}/project-${region}-${$project.$id}/sites`);
|
||||
},
|
||||
keys: ['g', 'i'],
|
||||
group: 'navigation',
|
||||
@@ -104,7 +112,8 @@
|
||||
{
|
||||
label: 'Go to Overview',
|
||||
callback: () => {
|
||||
goto(`${base}/project-${$project.region}-${$project.$id}`);
|
||||
const region = $project.region || (!isCloud ? 'default' : $project.region);
|
||||
goto(`${base}/project-${region}-${$project.$id}`);
|
||||
},
|
||||
keys: ['g', 'o'],
|
||||
group: 'navigation'
|
||||
|
||||
@@ -17,6 +17,8 @@ export const load: LayoutLoad = async ({ params, depends, parent }) => {
|
||||
|
||||
const project = await sdk.forConsole.projects.get(params.project);
|
||||
|
||||
if (!isCloud && !project.region) project.region = 'default';
|
||||
|
||||
// fast path without a network call!
|
||||
let organization = (organizations as OrganizationList)?.teams?.find(
|
||||
(org) => org.$id === project.teamId
|
||||
|
||||
Reference in New Issue
Block a user