Skip to content

Commit 1590206

Browse files
authored
Merge pull request #2476 from appwrite/fix-dat-807
2 parents 48038c9 + f350ecb commit 1590206

8 files changed

Lines changed: 99 additions & 55 deletions

File tree

src/routes/(console)/project-[region]-[project]/overview/onboard.svelte

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@
4040
import { goto } from '$app/navigation';
4141
import { page } from '$app/state';
4242
43+
export let pingCount = 0;
44+
export let platforms: Models.Platform[] = [];
45+
4346
function createKey() {
4447
trackEvent(Click.KeyCreateClick, {
4548
source: 'onboarding'
@@ -52,9 +55,6 @@
5255
);
5356
}
5457
55-
export let platforms: Models.Platform[] = [];
56-
export let pingCount = 0;
57-
5858
function openPlatformWizard(type: number, platform?: Models.Platform) {
5959
if (platform) {
6060
continuePlatform(type, platform.name, platform.key, platform.type);

src/routes/(console)/project-[region]-[project]/overview/platforms/+page.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
state: 'continue'
4242
});
4343
wizard.start(platforms[platform], null, 1, {
44-
isPlatformCreated: true,
44+
isConnectPlatform: true,
4545
platform: type,
4646
key: key
4747
});

src/routes/(console)/project-[region]-[project]/overview/platforms/createAndroid.svelte

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,15 @@
2525
import OnboardingPlatformCard from './components/OnboardingPlatformCard.svelte';
2626
import { PlatformType } from '@appwrite.io/console';
2727
import { project } from '../../store';
28+
import { getCorrectTitle, type PlatformProps } from './store';
29+
30+
let { isConnectPlatform = false }: PlatformProps = $props();
31+
32+
let showExitModal = $state(false);
33+
let isCreatingPlatform = $state(false);
34+
let connectionSuccessful = $state(false);
35+
let isPlatformCreated = $state(isConnectPlatform);
2836
29-
let showExitModal = false;
30-
let isPlatformCreated = false;
31-
let isCreatingPlatform = false;
32-
let connectionSuccessful = false;
3337
const projectId = page.params.project;
3438
3539
const gitCloneCode =
@@ -93,7 +97,10 @@ const val APPWRITE_PUBLIC_ENDPOINT = "${sdk.forProject(page.params.region, page.
9397
});
9498
</script>
9599

96-
<Wizard title="Add Android platform" bind:showExitModal confirmExit={!isPlatformCreated}>
100+
<Wizard
101+
bind:showExitModal
102+
confirmExit={!isPlatformCreated}
103+
title={getCorrectTitle(isConnectPlatform, 'Android')}>
97104
<Layout.Stack gap="xxl">
98105
<!-- Step One -->
99106
{#if !isPlatformCreated}

src/routes/(console)/project-[region]-[project]/overview/platforms/createApple.svelte

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,15 @@
2727
import { PlatformType } from '@appwrite.io/console';
2828
import { app } from '$lib/stores/app';
2929
import { project } from '../../store';
30+
import { getCorrectTitle, type PlatformProps } from './store';
31+
32+
let { isConnectPlatform = false, platform = PlatformType.Appleios }: PlatformProps = $props();
33+
34+
let showExitModal = $state(false);
35+
let isCreatingPlatform = $state(false);
36+
let connectionSuccessful = $state(false);
37+
let isPlatformCreated = $state(isConnectPlatform);
3038
31-
let showExitModal = false;
32-
let isPlatformCreated = false;
33-
let isCreatingPlatform = false;
34-
let connectionSuccessful = false;
3539
const projectId = page.params.project;
3640
3741
const gitCloneCode =
@@ -41,8 +45,6 @@
4145
APPWRITE_PROJECT_NAME: "${$project.name}"
4246
APPWRITE_PUBLIC_ENDPOINT: "${sdk.forProject(page.params.region, page.params.project).client.config.endpoint}"`;
4347
44-
export let platform: PlatformType = PlatformType.Appleios;
45-
4648
let platforms: { [key: string]: PlatformType } = {
4749
iOS: PlatformType.Appleios,
4850
macOS: PlatformType.Applemacos,
@@ -104,7 +106,10 @@ APPWRITE_PUBLIC_ENDPOINT: "${sdk.forProject(page.params.region, page.params.proj
104106
});
105107
</script>
106108

107-
<Wizard title="Add Apple platform" bind:showExitModal confirmExit={!isPlatformCreated}>
109+
<Wizard
110+
bind:showExitModal
111+
confirmExit={!isPlatformCreated}
112+
title={getCorrectTitle(isConnectPlatform, 'Apple')}>
108113
<Layout.Stack gap="xxl">
109114
<Form onSubmit={createApplePlatform}>
110115
<Layout.Stack gap="xxl">

src/routes/(console)/project-[region]-[project]/overview/platforms/createFlutter.svelte

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,16 @@
2626
import OnboardingPlatformCard from './components/OnboardingPlatformCard.svelte';
2727
import { PlatformType } from '@appwrite.io/console';
2828
import { project } from '../../store';
29+
import { getCorrectTitle, type PlatformProps } from './store';
30+
31+
let { isConnectPlatform = false, platform = PlatformType.Flutterandroid }: PlatformProps =
32+
$props();
33+
34+
let showExitModal = $state(false);
35+
let isCreatingPlatform = $state(false);
36+
let connectionSuccessful = $state(false);
37+
let isPlatformCreated = $state(isConnectPlatform);
2938
30-
let showExitModal = false;
31-
let isPlatformCreated = false;
32-
let isCreatingPlatform = false;
33-
let connectionSuccessful = false;
3439
const projectId = page.params.project;
3540
3641
const gitCloneCode =
@@ -42,8 +47,6 @@
4247
static const String appwritePublicEndpoint = '${sdk.forProject(page.params.region, page.params.project).client.config.endpoint}';
4348
}`;
4449
45-
export let platform: PlatformType = PlatformType.Flutterandroid;
46-
4750
let platforms: { [key: string]: PlatformType } = {
4851
Android: PlatformType.Flutterandroid,
4952
iOS: PlatformType.Flutterios,
@@ -169,7 +172,10 @@
169172
});
170173
</script>
171174

172-
<Wizard title="Add Flutter platform" bind:showExitModal confirmExit={!isPlatformCreated}>
175+
<Wizard
176+
bind:showExitModal
177+
confirmExit={!isPlatformCreated}
178+
title={getCorrectTitle(isConnectPlatform, 'Flutter')}>
173179
<Layout.Stack gap="xxl">
174180
<Form onSubmit={createFlutterPlatform}>
175181
<Layout.Stack gap="xxl">

src/routes/(console)/project-[region]-[project]/overview/platforms/createReactNative.svelte

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,16 @@
2626
import OnboardingPlatformCard from './components/OnboardingPlatformCard.svelte';
2727
import { PlatformType } from '@appwrite.io/console';
2828
import { project } from '../../store';
29+
import { getCorrectTitle, type PlatformProps } from './store';
30+
31+
let { isConnectPlatform = false, platform = PlatformType.Reactnativeandroid }: PlatformProps =
32+
$props();
33+
34+
let showExitModal = $state(false);
35+
let isCreatingPlatform = $state(false);
36+
let connectionSuccessful = $state(false);
37+
let isPlatformCreated = $state(isConnectPlatform);
2938
30-
let showExitModal = false;
31-
let isPlatformCreated = false;
32-
let isCreatingPlatform = false;
33-
let connectionSuccessful = false;
3439
const projectId = page.params.project;
3540
3641
const gitCloneCode =
@@ -40,8 +45,6 @@
4045
EXPO_PUBLIC_APPWRITE_PROJECT_NAME="${$project.name}"
4146
EXPO_PUBLIC_APPWRITE_ENDPOINT=${sdk.forProject(page.params.region, page.params.project).client.config.endpoint}`;
4247
43-
export let platform: PlatformType = PlatformType.Reactnativeandroid;
44-
4548
let platforms: { [key: string]: PlatformType } = {
4649
Android: PlatformType.Reactnativeandroid,
4750
iOS: PlatformType.Reactnativeios
@@ -130,7 +133,10 @@ EXPO_PUBLIC_APPWRITE_ENDPOINT=${sdk.forProject(page.params.region, page.params.p
130133
});
131134
</script>
132135

133-
<Wizard title="Add React Native platform" bind:showExitModal confirmExit={!isPlatformCreated}>
136+
<Wizard
137+
bind:showExitModal
138+
confirmExit={!isPlatformCreated}
139+
title={getCorrectTitle(isConnectPlatform, 'React Native')}>
134140
<Layout.Stack gap="xxl">
135141
<Form onSubmit={createReactNativePlatform}>
136142
<Layout.Stack gap="xxl">

src/routes/(console)/project-[region]-[project]/overview/platforms/createWeb.svelte

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
IconJs
2727
} from '@appwrite.io/pink-icons-svelte';
2828
import { page } from '$app/state';
29-
import { type ComponentType, onMount } from 'svelte';
29+
import { onMount } from 'svelte';
3030
import { sdk } from '$lib/stores/sdk';
3131
import { Submit, trackError, trackEvent } from '$lib/actions/analytics';
3232
import { addNotification } from '$lib/stores/notifications';
@@ -46,34 +46,25 @@
4646
} from './components/index';
4747
import { extendedHostnameRegex } from '$lib/helpers/string';
4848
import { project } from '../../store';
49+
import { type PlatformProps, type FrameworkType, getCorrectTitle } from './store';
4950
50-
export let key;
51+
let { key, isConnectPlatform = false, platform = PlatformType.Web }: PlatformProps = $props();
5152
52-
let showExitModal = false;
53-
let isPlatformCreated = !!key;
54-
let isCreatingPlatform = false;
55-
let connectionSuccessful = false;
56-
let isChangingFramework = false;
53+
let showExitModal = $state(false);
54+
let isCreatingPlatform = $state(false);
55+
let connectionSuccessful = $state(false);
56+
let isChangingFramework = $state(false);
57+
let isPlatformCreated = $state(isConnectPlatform);
5758
5859
const projectId = page.params.project;
5960
6061
const updateConfigCode = (prefix = '') => `${prefix}APPWRITE_PROJECT_ID = "${projectId}"
6162
${prefix}APPWRITE_PROJECT_NAME = "${$project.name}"
6263
${prefix}APPWRITE_ENDPOINT = "${sdk.forProject(page.params.region, page.params.project).client.config.endpoint}"
6364
`;
64-
type FrameworkType = {
65-
key: string;
66-
label: string;
67-
icon: ComponentType;
68-
smallIcon: ComponentType;
69-
portNumber: number;
70-
runCommand: string;
71-
updateConfigCode: string;
72-
};
73-
export let platform: PlatformType = PlatformType.Flutterandroid;
74-
export let selectedFrameworkKey: string | undefined = key ? key : undefined;
75-
let hostname;
76-
let hostnameError = false;
65+
66+
let hostname = $state(null);
67+
let hostnameError = $state(false);
7768
7869
let frameworks: Array<FrameworkType> = [
7970
{
@@ -149,8 +140,11 @@ ${prefix}APPWRITE_ENDPOINT = "${sdk.forProject(page.params.region, page.params.p
149140
}
150141
];
151142
152-
$: selectedFramework = frameworks.find((framework) => framework.key === selectedFrameworkKey);
153-
$: selectedFrameworkIcon = selectedFramework ? selectedFramework.icon : NoFrameworkIcon;
143+
const selectedFramework = $derived(frameworks.find((framework) => framework.key === key));
144+
145+
const selectedFrameworkIcon = $derived(
146+
selectedFramework ? selectedFramework.icon : NoFrameworkIcon
147+
);
154148
155149
async function createWebPlatform() {
156150
hostnameError = hostname !== '' ? !new RegExp(extendedHostnameRegex).test(hostname) : null;
@@ -165,7 +159,7 @@ ${prefix}APPWRITE_ENDPOINT = "${sdk.forProject(page.params.region, page.params.p
165159
projectId,
166160
type: PlatformType.Web,
167161
name: `${selectedFramework.label} app`,
168-
key: selectedFrameworkKey,
162+
key: key,
169163
hostname: hostname === '' ? undefined : hostname
170164
});
171165
@@ -213,7 +207,10 @@ ${prefix}APPWRITE_ENDPOINT = "${sdk.forProject(page.params.region, page.params.p
213207
});
214208
</script>
215209

216-
<Wizard title="Add web platform" bind:showExitModal confirmExit={!isPlatformCreated}>
210+
<Wizard
211+
bind:showExitModal
212+
confirmExit={!isPlatformCreated}
213+
title={getCorrectTitle(isConnectPlatform, 'Web')}>
217214
<Layout.Stack gap="xxl">
218215
<!-- Step One -->
219216
{#if !isPlatformCreated || isChangingFramework}
@@ -224,7 +221,7 @@ ${prefix}APPWRITE_ENDPOINT = "${sdk.forProject(page.params.region, page.params.p
224221
<div class="frameworks">
225222
{#each frameworks as framework}
226223
<Card.Selector
227-
bind:group={selectedFrameworkKey}
224+
bind:group={key}
228225
name="framework"
229226
id={framework.key}
230227
value={framework.key}
@@ -277,6 +274,7 @@ ${prefix}APPWRITE_ENDPOINT = "${sdk.forProject(page.params.region, page.params.p
277274
<Button
278275
size="s"
279276
secondary
277+
disabled={isConnectPlatform}
280278
on:click={() => {
281279
isChangingFramework = true;
282280
}}>Change</Button>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import type { ComponentType } from 'svelte';
2+
import { PlatformType } from '@appwrite.io/console';
3+
4+
export type PlatformProps = {
5+
key?: string;
6+
platform?: PlatformType;
7+
isConnectPlatform: boolean;
8+
};
9+
10+
export type FrameworkType = {
11+
key: string;
12+
label: string;
13+
icon: ComponentType;
14+
smallIcon: ComponentType;
15+
portNumber: number;
16+
runCommand: string;
17+
updateConfigCode: string;
18+
};
19+
20+
export function getCorrectTitle(isConnectPlatform: boolean, platform: string) {
21+
return isConnectPlatform ? `Connect your ${platform} app` : `Add ${platform} platform`;
22+
}

0 commit comments

Comments
 (0)