Fixed navbar

This commit is contained in:
ITQ
2024-04-02 22:45:22 +03:00
parent 747e199b84
commit 162e492f93
3 changed files with 58 additions and 40 deletions
+31 -19
View File
@@ -1,4 +1,4 @@
import less from "./Main.module.less" import less from "./Main.module.less";
import { useTranslation } from "react-i18next"; import { useTranslation } from "react-i18next";
import { Input } from "../../shared/ui/input"; import { Input } from "../../shared/ui/input";
import { submitRegister } from "../../widgets/Header/AuthAPI"; import { submitRegister } from "../../widgets/Header/AuthAPI";
@@ -8,13 +8,24 @@ import { Link, useNavigate } from "react-router-dom";
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import { deleteEvent, eventList } from "../AdminEventPage/AdminEventAPI"; import { deleteEvent, eventList } from "../AdminEventPage/AdminEventAPI";
import VacancyCard from "../../entities/VacancyCard/VacancyCard"; import VacancyCard from "../../entities/VacancyCard/VacancyCard";
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "../../ui/card"; import {
Card,
CardContent,
CardDescription,
CardHeader,
CardTitle,
} from "../../ui/card";
import { TrashIcon } from "lucide-react"; import { TrashIcon } from "lucide-react";
import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, DialogTrigger } from "../../shared/ui/dialog"; import {
Dialog,
DialogContent,
DialogDescription,
DialogHeader,
DialogTitle,
DialogTrigger,
} from "../../shared/ui/dialog";
import { t } from "i18next"; import { t } from "i18next";
const Main = () => { const Main = () => {
const { t } = useTranslation(); const { t } = useTranslation();
const navigate = useNavigate(); const navigate = useNavigate();
@@ -22,17 +33,19 @@ const Main = () => {
const [events, setEvents] = useState<Event[]>([]); const [events, setEvents] = useState<Event[]>([]);
useEffect(() => { useEffect(() => {
eventList().then((data) => { eventList()
setEvents(data) .then((data) => {
}).catch(error => { setEvents(data);
console.error('Возникла ошибка с получением:', error)
}) })
.catch((error) => {
console.error("Возникла ошибка с получением:", error);
});
}, []); }, []);
return ( return (
<div className={less["general-content"]}> <div className={less["general-content"]}>
<div className={less["general-left"]}> <div className={less["general-left"]}>
{events.map((event) => ( {/* {events.map((event) => (
<Card className={`${less["card"]} flex flex-row `}> <Card className={`${less["card"]} flex flex-row `}>
<div className="flex flex-col"> <div className="flex flex-col">
<CardHeader className={less["header"]}> <CardHeader className={less["header"]}>
@@ -70,15 +83,14 @@ return (
</div> </div>
</Card> </Card>
))} ))} */}
<Button variant="link" asChild><Link to={"/dash/admin"}>{t("iorganizer")}</Link></Button> <Button variant="link" asChild>
<Link to={"/dash/admin"}>{t("iorganizer")}</Link>
</Button>
</div> </div>
<div className={less["general-right"] + " shadow"}> <div className={less["general-right"] + " shadow"}></div>
</div> </div>
);
};
</div>
)
}
export default Main; export default Main;
@@ -5,13 +5,15 @@
justify-content:space-between; justify-content:space-between;
align-items: center; align-items: center;
padding: 0px 32px; padding: 0px 32px;
}
.header_no_index {
width: 100%; width: 100%;
z-index: 999; z-index: 999;
position: fixed; position: fixed;
width: 100%; width: 100%;
top: 0; top: 0;
background-color: hsl(var(--background)); background-color: hsl(var(--background));
} }
@logo-size: 80px; @logo-size: 80px;
@@ -1,18 +1,22 @@
import less from "./Header.module.less" import less from "./Header.module.less";
import { ModeToggle } from "../../mode-toggle"; import { ModeToggle } from "../../mode-toggle";
import { Link } from "react-router-dom"; import { Link, useLocation } from "react-router-dom";
const Header = () => { const Header = () => {
const location = useLocation();
const isRoot = location.pathname !== "/";
const headerClasses = isRoot ? `${less.header} ${less.header_no_index}` : less.header;
return ( return (
<header className={less.header}> <header className={headerClasses}>
<Link to={"/"}><img className={less.logo} src='/logo.svg'></img></Link> <Link to={"/"}><img className={less.logo} src='/logo.svg' alt="Logo"></img></Link>
<div className={less["line-block"]}> <div className={less["line-block"]}>
<ModeToggle /> <ModeToggle />
</div> </div>
</header> </header>
) );
} };
export default Header; export default Header;