import { useState } from "react"; import { useRouter } from "next/router"; import { useSaveIntegrationAccessToken } from "@app/hooks/api"; import { Button, Card, CardTitle, FormControl, Input } from "../../../components/v2"; export default function LaravelForgeCreateIntegrationPage() { const router = useRouter(); const { mutateAsync } = useSaveIntegrationAccessToken(); const [apiKey, setApiKey] = useState(""); const [apiKeyErrorText, setApiKeyErrorText] = useState(""); const [serverId, setServerId] = useState(""); const [serverIdErrorText, setServerIdErrorText] = useState(""); const [isLoading, setIsLoading] = useState(false); const handleButtonClick = async () => { try { setApiKeyErrorText(""); setServerIdErrorText(""); if (apiKey.length === 0) { setApiKeyErrorText("Access Token cannot be blank"); return; } if (serverId.length === 0) { setServerIdErrorText("Server Id cannot be blank"); return; } setIsLoading(true); const integrationAuth = await mutateAsync({ workspaceId: localStorage.getItem("projectData.id"), integration: "laravel-forge", accessId: serverId, accessToken: apiKey }); setIsLoading(false); router.push(`/integrations/laravel-forge/create?integrationAuthId=${integrationAuth.id}`); } catch (err) { console.error(err); } }; return (
Laravel Forge Integration setApiKey(e.target.value)} /> setServerId(e.target.value)} />
); } LaravelForgeCreateIntegrationPage.requireAuth = true;