import clsx from "clsx"; import { Heart, LogIn, MessageSquare } from "lucide-react"; import { useTranslation } from "react-i18next"; import { GlobalStatusIndicator } from "~/features/global-status/components/GlobalStatusIndicator"; import { useGlobalStatus } from "~/features/global-status/GlobalStatusProvider"; import { SUPPORT_PAGE } from "~/utils/urls"; import { LinkButton, SendouButton } from "../elements/Button"; import { AnythingAdder } from "./AnythingAdder"; import { GlobalSearch, LoggedOutGlobalSearch } from "./GlobalSearch"; import { LogInButtonContainer } from "./LogInButtonContainer"; import styles from "./TopRightButtons.module.css"; export function TopRightButtons({ showSupport, isLoggedIn, onChatToggle, onChatModalToggle, chatUnreadCount, }: { showSupport: boolean; isLoggedIn: boolean; onChatToggle?: () => void; onChatModalToggle?: () => void; chatUnreadCount?: number; }) { const { t } = useTranslation(["common", "front"]); const { status: globalStatus } = useGlobalStatus(); const hasGlobalStatus = globalStatus !== null; return (
{showSupport ? ( <>
} variant="outlined" > {t("common:pages.support")}
} variant="outlined" shape="square" />
) : null}
{isLoggedIn ? : }
{isLoggedIn ? : null}
{isLoggedIn ? ( <> {onChatToggle ? (
) : null} {onChatModalToggle ? (
) : null} ) : ( }> {t("front:mobileNav.login")} )}
); } function ChatButton({ variant, onClick, unreadCount, }: { variant: "outlined" | "primary"; onClick: () => void; unreadCount?: number; }) { return ( <> } variant={variant} onClick={onClick} testId="chat-toggle-button" /> {unreadCount ? ( {unreadCount} ) : null} ); }