Spaces:
Build error
Build error
import { useTranslation } from "react-i18next"; | |
import { useCreateConversation } from "#/hooks/mutation/use-create-conversation"; | |
import { useIsCreatingConversation } from "#/hooks/use-is-creating-conversation"; | |
import { BrandButton } from "../settings/brand-button"; | |
import AllHandsLogo from "#/assets/branding/all-hands-logo-spark.svg?react"; | |
export function HomeHeader() { | |
const { | |
mutate: createConversation, | |
isPending, | |
isSuccess, | |
} = useCreateConversation(); | |
const isCreatingConversationElsewhere = useIsCreatingConversation(); | |
const { t } = useTranslation(); | |
// We check for isSuccess because the app might require time to render | |
// into the new conversation screen after the conversation is created. | |
const isCreatingConversation = | |
isPending || isSuccess || isCreatingConversationElsewhere; | |
return ( | |
<header className="flex flex-col gap-5"> | |
<AllHandsLogo /> | |
<div className="flex items-center justify-between"> | |
<h1 className="heading">{t("HOME$LETS_START_BUILDING")}</h1> | |
<BrandButton | |
testId="header-launch-button" | |
variant="primary" | |
type="button" | |
onClick={() => createConversation({})} | |
isDisabled={isCreatingConversation} | |
> | |
{!isCreatingConversation && t("HOME$LAUNCH_FROM_SCRATCH")} | |
{isCreatingConversation && t("HOME$LOADING")} | |
</BrandButton> | |
</div> | |
<div className="flex items-center justify-between"> | |
<p className="text-sm max-w-[424px]"> | |
{t("HOME$OPENHANDS_DESCRIPTION")} | |
</p> | |
<p className="text-sm"> | |
{t("HOME$NOT_SURE_HOW_TO_START")}{" "} | |
<a | |
href="https://docs.all-hands.dev/usage/getting-started" | |
target="_blank" | |
rel="noopener noreferrer" | |
className="underline underline-offset-2" | |
> | |
{t("HOME$READ_THIS")} | |
</a> | |
</p> | |
</div> | |
</header> | |
); | |
} | |