g1t/apps/web/app/components/clone-box.tsx
| 1 | import { Link } from "react-router"; |
| 2 | |
| 3 | import { AgentSetup } from "./agent-setup"; |
| 4 | import { CopyLine } from "./ui"; |
| 5 | import { Tabs, TabsContent, TabsList, TabsTrigger } from "./ui/tabs"; |
| 6 | |
| 7 | /** The ways to get a repository onto a machine or in front of an agent. */ |
| 8 | export function CloneBox({ path }: { path: string }) { |
| 9 | return ( |
| 10 | <Tabs defaultValue="https"> |
| 11 | <TabsList> |
| 12 | <TabsTrigger value="https">HTTPS</TabsTrigger> |
| 13 | <TabsTrigger value="ssh">SSH</TabsTrigger> |
| 14 | <TabsTrigger value="agent">Agent</TabsTrigger> |
| 15 | </TabsList> |
| 16 | <TabsContent value="https"> |
| 17 | <CopyLine text={`https://g1t.sh/${path}.git`} /> |
| 18 | <p className="mt-2 text-xs text-muted"> |
| 19 | To push, use your username and an{" "} |
| 20 | <Link to="/settings/tokens" className="text-fg underline underline-offset-4"> |
| 21 | access token |
| 22 | </Link>{" "} |
| 23 | as the password. |
| 24 | </p> |
| 25 | </TabsContent> |
| 26 | <TabsContent value="ssh"> |
| 27 | <p className="rounded-lg border border-dashed border-line p-3 text-xs text-muted"> |
| 28 | Git over SSH is waiting on inbound TCP on Cloudflare, which g1t has applied for. Use HTTPS for now: it |
| 29 | clones, fetches and pushes the same. Keys you add under Settings → SSH keys will work as soon as SSH is on. |
| 30 | </p> |
| 31 | </TabsContent> |
| 32 | <TabsContent value="agent"> |
| 33 | <AgentSetup /> |
| 34 | <p className="mt-2 text-xs text-muted"> |
| 35 | Then ask it to work on an issue in <span className="font-mono text-fg">{path}</span>.{" "} |
| 36 | <Link to="https://docs.g1t.sh/guides/bring-your-own-agent/" className="text-fg underline underline-offset-4"> |
| 37 | More |
| 38 | </Link> |
| 39 | </p> |
| 40 | </TabsContent> |
| 41 | </Tabs> |
| 42 | ); |
| 43 | } |