const imgIconLogoTvu = "https://www.figma.com/api/mcp/asset/567101fd-6017-4e39-a2f0-a18147214c79";
const imgUnion = "https://www.figma.com/api/mcp/asset/49342b51-59f0-44a1-bca7-f04cc00d9d47";
const img = "https://www.figma.com/api/mcp/asset/21091b10-2ccc-431a-b5ab-bc4dc7ed5c44";
const imgSubtract = "https://www.figma.com/api/mcp/asset/b40a04ce-beaf-4e56-8818-686dbf0bf6c4";
function IconLogoTvu({ className }: { className?: string }) {
return (
);
}
type MenuProps = {
className?: string;
icon?: "No";
property1?: "active" | "Normal";
};
function Menu({ className, icon = "No", property1 = "Normal" }: MenuProps) {
const isActiveAndNo = property1 === "active" && icon === "No";
return (
);
}
type TopBarProps = {
className?: string;
menu?: React.ReactNode | null;
rightContent?: React.ReactNode | null;
showMenu?: boolean;
showSearchBox?: boolean;
tag?: "After Login" | "Before Login";
};
export default function TopBar({ className, menu = null, rightContent = null, showMenu = true, showSearchBox = false, tag = "After Login" }: TopBarProps) {
const isAfterLogin = tag === "After Login";
const isBeforeLogin = tag === "Before Login";
return (
{isAfterLogin && (
<>
{showSearchBox && (
)}
{showMenu && (
)}
{rightContent || (
<>
>
)}
>
)}
{isBeforeLogin && (
<>
{menu || null}
>
)}
);
}SUPER CRITICAL: The generated React+Tailwind code MUST be converted to match the target project's technology stack and styling system.
1. Analyze the target codebase to identify: technology stack, styling approach, component patterns, and design tokens
2. Convert React syntax to the target framework/library
3. Transform all Tailwind classes to the target styling system while preserving exact visual design
4. Follow the project's existing patterns and conventions
DO NOT install any Tailwind as a dependency unless the user instructs you to do so.
Node ids have been added to the code as data attributes, e.g. `data-node-id="1:2"`.These styles are contained in the design: Roboto/16 pop title: Font(family: "Roboto", style: SemiBold, size: 16, weight: 600, lineHeight: 1.5, letterSpacing: 0), Roboto/18 headline 2: Font(family: "Roboto", style: SemiBold, size: 18, weight: 600, lineHeight: 1.5, letterSpacing: 0).Images and SVGs will be stored as constants, e.g. const image = 'https://www.figma.com/api/mcp/asset/550e8400-e29b-41d4-a716-446655440000'. These constants will be used in the code as the source for the image, ex:
. Image assets are stored on a remote server for 7 days and can be fetched using the provided URLs until they expire.