'use client'; import { useState } from "react"; import { CodeHostType } from "@/lib/utils"; import { getCodeHostIcon } from "@/lib/utils"; import { GitHubConnectionCreationForm, GitLabConnectionCreationForm, GiteaConnectionCreationForm, GerritConnectionCreationForm } from "@/app/[domain]/components/connectionCreationForms"; import { useRouter } from "next/navigation"; import { useCallback } from "react"; import { OnboardingSteps } from "@/lib/constants"; import { BackButton } from "./onboardBackButton"; import { CodeHostIconButton } from "../../components/codeHostIconButton"; interface ConnectCodeHostProps { nextStep: OnboardingSteps; } export const ConnectCodeHost = ({ nextStep }: ConnectCodeHostProps) => { const [selectedCodeHost, setSelectedCodeHost] = useState(null); const router = useRouter(); const onCreated = useCallback(() => { router.push(`?step=${nextStep}`); }, [nextStep, router]); const onBack = useCallback(() => { setSelectedCodeHost(null); }, []); if (!selectedCodeHost) { return ( ) } if (selectedCodeHost === "github") { return ( <> ) } if (selectedCodeHost === "gitlab") { return ( <> ) } if (selectedCodeHost === "gitea") { return ( <> ) } if (selectedCodeHost === "gerrit") { return ( <> ) } return null; } interface CodeHostSelectionProps { onSelect: (codeHost: CodeHostType) => void; } const CodeHostSelection = ({ onSelect }: CodeHostSelectionProps) => { return (
onSelect("github")} /> onSelect("gitlab")} /> onSelect("gitea")} /> onSelect("gerrit")} />
) }