Ignore:
Timestamp:
02/05/26 20:52:11 (5 months ago)
Author:
Filip Gavrilovski <filipgavrilovski28@…>
Branches:
main
Children:
2ce7c1e
Parents:
694fc25
Message:

add working server side search to landing page; change some endpoints

File:
1 edited

Legend:

Unmodified
Added
Removed
  • frontend/src/App.tsx

    r694fc25 rcb4a1da  
     1import { useState } from "react";
    12import { createBrowserRouter, Outlet, RouterProvider } from "react-router-dom";
    23import { ToastContainer } from "react-toastify";
    34import "react-toastify/dist/ReactToastify.css";
     5import Sidebar from "./components/Sidebar";
    46import AllUsers from "./pages/AllUsers";
    57import LandingPage from "./pages/LandingPage";
    68import Login from "./pages/Login";
     9import MusicalCollection from "./pages/MusicalCollection";
    710import Nav from "./pages/Nav";
    811import Register from "./pages/Register";
    912import UserDetail from "./pages/UserDetail";
    10 import MusicalCollection from "./pages/MusicalCollection";
    1113
    1214const Layout = () => {
    13   return (
    14     <div className="flex flex-col min-h-screen">
    15       <Nav />
    16       <ToastContainer
    17         position="top-right"
    18         autoClose={2000}
    19         hideProgressBar={false}
    20         newestOnTop={false}
    21         closeOnClick
    22         rtl={false}
    23         pauseOnFocusLoss
    24         draggable
    25         pauseOnHover
    26         theme="light"
    27       />
    28       <main className="grow">
    29         <Outlet />
    30       </main>
    31     </div>
    32   );
     15        const [isSidebarOpen, setIsSidebarOpen] = useState(true);
     16
     17        return (
     18                <div className="flex flex-col min-h-screen bg-[#121212]">
     19                        <Nav
     20                                isSidebarOpen={isSidebarOpen}
     21                                onToggleSidebar={() => setIsSidebarOpen(!isSidebarOpen)}
     22                        />
     23                        <Sidebar isOpen={isSidebarOpen} onClose={() => setIsSidebarOpen(false)} />
     24                        <ToastContainer
     25                                position="top-right"
     26                                autoClose={2000}
     27                                hideProgressBar={false}
     28                                newestOnTop={false}
     29                                closeOnClick
     30                                rtl={false}
     31                                pauseOnFocusLoss
     32                                draggable
     33                                pauseOnHover
     34                                theme="light"
     35                        />
     36                        <main
     37                                className={`grow transition-all duration-300 pt-20 ${
     38                                        isSidebarOpen ? "ml-64" : "ml-0"
     39                                }`}
     40                        >
     41                                <Outlet />
     42                        </main>
     43                </div>
     44        );
    3345};
    3446
    3547const router = createBrowserRouter([
    36   {
    37     path: "",
    38     element: <Layout />,
    39     children: [
    40       {
    41         path: "/",
    42         element: <LandingPage />,
    43       },
    44       {
    45         path: "/login",
    46         element: <Login />,
    47       },
    48       {
    49         path: "/users",
    50         element: <AllUsers />,
    51       },
    52       {
    53         path: "/users/:username",
    54         element: <UserDetail />,
    55       },
    56       {
    57         path: "/register",
    58         element: <Register />,
    59       },
    60       {
    61         path: "/collection/:type/:id",
    62         element: <MusicalCollection />,
    63       },
    64     ],
    65   },
     48        {
     49                path: "",
     50                element: <Layout />,
     51                children: [
     52                        {
     53                                path: "/",
     54                                element: <LandingPage />,
     55                        },
     56                        {
     57                                path: "/login",
     58                                element: <Login />,
     59                        },
     60                        {
     61                                path: "/users",
     62                                element: <AllUsers />,
     63                        },
     64                        {
     65                                path: "/users/:username",
     66                                element: <UserDetail />,
     67                        },
     68                        {
     69                                path: "/register",
     70                                element: <Register />,
     71                        },
     72                        {
     73                                path: "/collection/:type/:id",
     74                                element: <MusicalCollection />,
     75                        },
     76                ],
     77        },
    6678]);
    6779
    6880function App() {
    69   return <RouterProvider router={router} />;
     81        return <RouterProvider router={router} />;
    7082}
    7183
Note: See TracChangeset for help on using the changeset viewer.