|
1 | 1 | import { ISection } from "@/utils/interfaces"; |
2 | 2 | import { |
3 | | - Logo, |
4 | | - NavList, |
5 | | - Navbar, |
6 | | - Wrapper, |
7 | | - Name, |
8 | | - LogoContainer, |
9 | | - Gov, |
10 | | -} from "./Header.styles"; |
11 | | -import { Dropdown } from "@/components/Dropdown/Dropdown"; |
| 3 | + NavigationMenu, |
| 4 | + NavigationMenuItem, |
| 5 | + NavigationMenuList, |
| 6 | + NavigationMenuTrigger, |
| 7 | + NavigationMenuContent, |
| 8 | + NavigationMenuLink, |
| 9 | +} from "@/components/ui/navigation-menu"; |
| 10 | +import Link from "next/link"; |
| 11 | +import { Icon } from "../Icon/Icon"; |
| 12 | +import { macroThemes } from "@/utils/constants"; |
12 | 13 |
|
13 | | -const Header = ({ |
14 | | - title, |
15 | | - content, |
16 | | - ...props |
17 | | -}: { |
18 | | - title: string; |
19 | | - content: { fields: ISection }[]; |
20 | | - props?: any; |
21 | | -}) => { |
| 14 | +const Header = ({ content }: { content: { fields: ISection }[] }) => { |
22 | 15 | return ( |
23 | | - <Wrapper {...props}> |
24 | | - <LogoContainer href="/"> |
25 | | - <Logo src="/logo.png" alt="datane logo" width={45} height={45} /> |
26 | | - <Name>{title}</Name> |
27 | | - </LogoContainer> |
28 | | - <Navbar> |
29 | | - <NavList> |
| 16 | + <div className="flex items-center justify-between px-[80px] py-[18px] border-b-2 shadow-sm border-b bg-white"> |
| 17 | + <Link href="/" className="flex items-center gap-2"> |
| 18 | + <Icon id="logo-DNE" width={99} height={47} /> |
| 19 | + </Link> |
| 20 | + |
| 21 | + <NavigationMenu> |
| 22 | + <NavigationMenuList className="flex items-center"> |
30 | 23 | {content |
31 | | - .sort((a, b) => a.fields.name.localeCompare(b.fields.name)) |
32 | | - .filter((a) => a.fields.appears) |
33 | | - .map((item, key) => ( |
34 | | - <Dropdown item={item} key={key} /> |
| 24 | + .filter((item) => item.fields.appears) |
| 25 | + .map((item, idx) => ( |
| 26 | + <NavigationMenuItem key={idx} className="px-4 py-2"> |
| 27 | + {item.fields.children ? ( |
| 28 | + <> |
| 29 | + <NavigationMenuTrigger className="text-md cursor-pointer"> |
| 30 | + {item.fields.name} |
| 31 | + </NavigationMenuTrigger> |
| 32 | + <NavigationMenuContent className="bg-white shadow-md p-2 rounded-md w-auto flex flex-col mt-15"> |
| 33 | + {item.fields.children.map((child) => ( |
| 34 | + <NavigationMenuLink |
| 35 | + key={child.fields.id} |
| 36 | + href={child.fields.path} |
| 37 | + className="flex flex-row items-center py-[6px] px-3 w-full whitespace-nowrap gap-2 hover:bg-green-100 rounded" |
| 38 | + > |
| 39 | + <Icon |
| 40 | + id={macroThemes[child.fields.id] || "list"} |
| 41 | + size={14} |
| 42 | + /> |
| 43 | + {child.fields.name} |
| 44 | + </NavigationMenuLink> |
| 45 | + ))} |
| 46 | + </NavigationMenuContent> |
| 47 | + </> |
| 48 | + ) : ( |
| 49 | + <NavigationMenuLink |
| 50 | + href={item.fields.path} |
| 51 | + className="px-4 py-2 text-md" |
| 52 | + > |
| 53 | + {item.fields.name} |
| 54 | + </NavigationMenuLink> |
| 55 | + )} |
| 56 | + </NavigationMenuItem> |
35 | 57 | ))} |
36 | | - </NavList> |
37 | | - </Navbar> |
38 | | - <LogoContainer target="_blank" href="https://www.gov.br/sudene/pt-br"> |
39 | | - <Gov src="/gov.png" alt="datane logo" width={110} height={40} /> |
40 | | - </LogoContainer> |
41 | | - </Wrapper> |
| 58 | + </NavigationMenuList> |
| 59 | + </NavigationMenu> |
| 60 | + </div> |
42 | 61 | ); |
43 | 62 | }; |
44 | 63 |
|
|
0 commit comments