Files
2024-DEV-BUT3/src/components/nav/Navbar.jsx

86 lines
1.9 KiB
React
Raw Normal View History

2024-05-07 01:31:38 +02:00
import React, { useState, useEffect } from "react";
import { Menu } from "antd";
2024-05-07 13:15:21 +02:00
import { HomeOutlined } from "@ant-design/icons"
2024-04-04 09:28:19 +02:00
import { Home } from "../../pages";
import { getRooms } from "../../api/room";
2024-05-07 13:15:21 +02:00
import { isLoggedIn } from "../../api/authentication"
import { Items } from "../../pages/items";
2024-05-07 13:15:21 +02:00
import { Link } from "react-router-dom";
function getItem(key, label) {
//return {
// key: String(key),
// icon,
// children,
// label,
// link,
//};
var item = <Menu.Item key={key}>
<Link to="/test">{label}</Link>
</Menu.Item >
return item
2024-04-04 09:28:19 +02:00
}
2024-05-07 13:15:21 +02:00
const { SubMenu } = Menu;
2024-04-04 09:28:19 +02:00
// Component
const Navbar = () => {
//Hook calls
2024-05-07 01:31:38 +02:00
const [rooms, setRooms] = useState([]);
2024-04-04 09:28:19 +02:00
2024-05-07 13:15:21 +02:00
useEffect(() => {
console.log("NAVBAR EFFECT")
isLoggedIn().then((user) => {
if (user !== "Unauthorized") {
getRooms().then((result) => {
2024-05-07 13:15:21 +02:00
setRooms(result);
})
}
})
}, []);
2024-04-04 09:28:19 +02:00
2024-05-07 01:31:38 +02:00
const roomItems = rooms.map((room, index) => (
2024-05-07 13:15:21 +02:00
console.log(index),
getItem(`sub${index}`, room.name)
2024-05-07 01:31:38 +02:00
));
2024-05-07 13:15:21 +02:00
2024-05-07 01:31:38 +02:00
const items = [
2024-05-07 13:15:21 +02:00
<Menu.Item key="0">
<Link to="/">Menu Principal</Link>
</Menu.Item>,
<Menu.Item key="1" >
<Link to="/home">Home</Link>
</Menu.Item>,
<Menu.Item key="2" >
<Link to="/items">Tous les articles</Link>
2024-05-07 13:15:21 +02:00
</Menu.Item>,
<SubMenu key="3" title="Chambres">
{roomItems}
</SubMenu>
2024-05-07 01:31:38 +02:00
];
2024-04-04 09:28:19 +02:00
2024-05-07 01:31:38 +02:00
// Rendu du composant Navbar
2024-05-07 13:15:21 +02:00
try {
return (
<Menu
defaultSelectedKeys={["1"]}
defaultOpenKeys={["sub1"]}
theme="dark"
mode="inline"
>
{items}
</Menu>
);
} catch (error) {
console.log(error.stack)
}
2024-04-04 09:28:19 +02:00
};
export default Navbar;