import React from "react"; import { Link } from "react-router-dom"; const SIZES = { sm: { square: 12, gap: 4, textGap: 8, title: "text-sm", sub: "text-[10px]" }, md: { square: 16, gap: 5, textGap: 10, title: "text-lg", sub: "text-xs" }, lg: { square: 22, gap: 6, textGap: 12, title: "text-2xl", sub: "text-sm" }, }; function LogoMark({ square = 16, gap = 5, className = "", style }) { const r = Math.max(3, Math.round(square * 0.32)); const w = square * 2 + gap; const fill = style?.["--emo-logo-bg"] || "var(--emo-logo-bg, #8b5cf6)"; return ( ); } export function EmoLogo({ size = "md", layout = "inline", showSubtitle = true, showText = true, subtitle = "Online", className = "", asLink = false, href = "/chat", online = false, }) { const s = SIZES[size] || SIZES.md; const stacked = layout === "stacked"; const logoStyle = online ? { "--emo-logo-bg": "var(--emo-status-online)" } : undefined; const mark = ; const titleEl = showText && ( Émo ); const subtitleEl = showText && showSubtitle && ( {subtitle} ); const inner = stacked ? (
{mark} {showText && (
{titleEl} {subtitleEl}
)}
) : (
{mark} {showText && (
{titleEl} {subtitleEl}
)}
); if (asLink) { return ( {inner} ); } return
{inner}
; } export function AppTopBar({ children, className = "" }) { return (
{children}
); } export default EmoLogo;