Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New onboarding flow + console navigation #1517

Merged
merged 171 commits into from
Jan 29, 2025

Conversation

ernstmul
Copy link
Contributor

@ernstmul ernstmul commented Nov 15, 2024

What does this PR do?

New onboarding flow for users after registering.

The first FREE organisation is automatically created ("Personal projects"). The user only has to provide the name of their first project:
image

A loading and welcome animation is shown, before the user is brought to the dashboard:

Screen.Recording.2025-01-09.at.14.29.50.mov

Also in this PR is the new console navigation:
image

As well as get started pages:
image

Have you read the Contributing Guidelines on issues?

@coolify-appwrite-org
Copy link

coolify-appwrite-org bot commented Nov 15, 2024

The preview deployment is in progress. 🟡

Open Build Logs

Last updated at: 2025-01-27 13:33:52 CET

@ernstmul ernstmul requested a review from ItzNotABug January 29, 2025 12:23
Copy link
Contributor

@TorstenDittmann TorstenDittmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome work! there are a few regression on things I worked on because of overlaps, but I can fix them afterwards 💪🏻

Comment on lines +45 to +54
<style lang="scss">
.menu-title {
padding: var(--space-3) var(--space-5);
display: block;
text-transform: uppercase;
font-size: var(--font-size-xs, 12px);
line-height: 130%; /* 15.6px */
letter-spacing: 0.96px;
}
</style>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does it make sense for this to be park of pink itself?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

haha, it was. Arman requested it to be in Console because it was to console specific

src/lib/components/sidebar.svelte Show resolved Hide resolved
src/lib/layout/shell.svelte Show resolved Hide resolved
@@ -31,11 +33,25 @@ export const load: LayoutLoad = async ({ fetch, depends, parent }) => {
}, new Map<Tier, Plan>());
}

let projects = [];
const currentOrgId = params.organization ? params.organization : prefs.organization;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this feel a bit "workaroundy" - in what case do we need all projects of an org from the prefs?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When you are on a /project-[projectId] url the organization Id cannot be fetched from the url right? And for the new breadcrumbs we need to have all the organisations and the current one all the time.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When you are on a /project-[projectId] url the organization Id cannot be fetched from the url right? And for the new breadcrumbs we need to have all the organisations and the current one all the time.

but even prefs is not right then here, in this case we'd need to fetch the projects by the project we fetch 👍🏻

we probably have to fetch the projects under /project-[projectId] anyway by the projects teamId, since prefs is logic on the frontend and can be out of sync.

Comment on lines 25 to 31
if (isCloud) {
regions = await sdk.forConsole.billing.listRegions();
regions.regions.forEach((region) => {
const img = new Image();
img.src = getFlagUrl(region.flag);
});
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you could just fetch the url, no need to create dom elements 👍🏻

src/themes/dark.json Show resolved Hide resolved
src/themes/light.json Show resolved Hide resolved
{#if selectedOrg}
<div use:melt={$itemOrganizations}>
<ActionMenu.Root>
<ActionMenu.Item.Anchor href={`/console/organization-${selectedOrg?.$id}`}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what if I am already on the main org page? wouldn't this just reload the page?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No the page loading we do with the loading indicator is smart enough to do nothing when you are on the same page as you would navigate to :)

src/lib/components/navbar.svelte Show resolved Hide resolved
src/lib/components/navbar.svelte Show resolved Hide resolved

.overlay {
position: fixed;
width: calc(100vw - 200px);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks weird on mobile, the gap is very prominent and visible.
Screenshot 2025-01-29 at 6 53 32 PM

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I might have already fixed this. It isn't happening to me locally anymore. What exact viewport are you using?

src/lib/layout/shell.svelte Outdated Show resolved Hide resolved
Comment on lines +28 to +29
<Typography.Title color="--color-fgcolor-neutral-primary" size="xl"
>Functions</Typography.Title>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is almost same for other product dashboards too. can we rather make the Cover include a title instead if its a part of Console and not Pink2?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah might be good, but I think for a future improvement? It was already like this. Wdyt?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, maybe in a different task/PR but we can definitely avoid code duplicacy. A simple title var in Cover goes fine.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

inline looks a bit off on small devices -
Screenshot 2025-01-29 at 7 28 07 PM

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed!

@TorstenDittmann TorstenDittmann merged commit a32d425 into feat-pink-v2 Jan 29, 2025
0 of 2 checks passed
@TorstenDittmann TorstenDittmann deleted the feat-new-onboarding-flow branch January 29, 2025 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants