Skip to content

Commit 3d6c7dc

Browse files
committed
add back button in onboard connection creation flow
1 parent c0b62a2 commit 3d6c7dc

File tree

2 files changed

+45
-4
lines changed

2 files changed

+45
-4
lines changed

packages/web/src/app/[domain]/onboard/components/connectCodeHost.tsx

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import { useCallback } from "react";
1515
import { OnboardingSteps } from "@/lib/constants";
1616
import { Button } from "@/components/ui/button";
1717
import useCaptureEvent from "@/hooks/useCaptureEvent";
18+
import { BackButton } from "./onboardBackButton";
19+
1820
interface ConnectCodeHostProps {
1921
nextStep: OnboardingSteps;
2022
}
@@ -26,6 +28,10 @@ export const ConnectCodeHost = ({ nextStep }: ConnectCodeHostProps) => {
2628
router.push(`?step=${nextStep}`);
2729
}, [nextStep, router]);
2830

31+
const onBack = useCallback(() => {
32+
setSelectedCodeHost(null);
33+
}, []);
34+
2935
if (!selectedCodeHost) {
3036
return (
3137
<CodeHostSelection onSelect={setSelectedCodeHost} />
@@ -34,25 +40,37 @@ export const ConnectCodeHost = ({ nextStep }: ConnectCodeHostProps) => {
3440

3541
if (selectedCodeHost === "github") {
3642
return (
37-
<GitHubConnectionCreationForm onCreated={onCreated} />
43+
<>
44+
<BackButton onClick={onBack} />
45+
<GitHubConnectionCreationForm onCreated={onCreated} />
46+
</>
3847
)
3948
}
4049

4150
if (selectedCodeHost === "gitlab") {
4251
return (
43-
<GitLabConnectionCreationForm onCreated={onCreated} />
52+
<>
53+
<BackButton onClick={onBack} />
54+
<GitLabConnectionCreationForm onCreated={onCreated} />
55+
</>
4456
)
4557
}
4658

4759
if (selectedCodeHost === "gitea") {
4860
return (
49-
<GiteaConnectionCreationForm onCreated={onCreated} />
61+
<>
62+
<BackButton onClick={onBack} />
63+
<GiteaConnectionCreationForm onCreated={onCreated} />
64+
</>
5065
)
5166
}
5267

5368
if (selectedCodeHost === "gerrit") {
5469
return (
55-
<GerritConnectionCreationForm onCreated={onCreated} />
70+
<>
71+
<BackButton onClick={onBack} />
72+
<GerritConnectionCreationForm onCreated={onCreated} />
73+
</>
5674
)
5775
}
5876

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { Button } from "@/components/ui/button"
2+
import { ArrowLeft } from "lucide-react"
3+
4+
interface BackButtonProps {
5+
onClick: () => void
6+
}
7+
8+
export function BackButton({ onClick }: BackButtonProps) {
9+
return (
10+
<div className="mb-4">
11+
<Button
12+
variant="ghost"
13+
size="sm"
14+
onClick={onClick}
15+
className="text-gray-400 hover:text-white hover:bg-gray-800 focus-visible:ring-offset-gray-900 h-8 px-3 rounded-md"
16+
>
17+
<ArrowLeft size={16} className="mr-1" />
18+
<span>Back</span>
19+
</Button>
20+
</div>
21+
)
22+
}
23+

0 commit comments

Comments
 (0)