"use client" import { buttonVariants } from "@/components/ui/button" import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from "@/components/ui/dialog"; import { IconSlack } from "@/components/ui/icons" import { Separator } from "@/components/ui/separator"; import { useHealth } from "@/lib/hooks/use-health"; import { PropsWithChildren, useEffect, useState } from "react"; const COMMUNITY_DIALOG_SHOWN_KEY = "community-dialog-shown"; export default function IndexPage() { const [open, setOpen] = useState(false); useEffect(() => { if (!localStorage.getItem(COMMUNITY_DIALOG_SHOWN_KEY)) { setOpen(true); localStorage.setItem(COMMUNITY_DIALOG_SHOWN_KEY, "true"); } }, []); return
Join the Tabby community Connect with other contributors building Tabby. Share knowledge, get help, and contribute to the open-source project. Join us on Slack
} interface LinkProps { href: string } function Link({ href, children }: PropsWithChildren) { return {children} } function toBadgeString(str: string) { return encodeURIComponent(str.replaceAll("-", "--")); } function MainPanel() { const { data: healthInfo } = useHealth(); if (!healthInfo) return return

Congratulations, your tabby instance is running!

You can find our documentation here.
  • 💻 IDE/Editor Extensions
  • ⚙️ Configuration
}