diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 4b8c57a..016b702 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -3,13 +3,10 @@ import HomePage from "./pages/homePage/homePage"; import CategoryPage from "./pages/categoryPage/categoryPage"; import PcBuilderPage from "./pages/pcBuilderPage/pcBuilderPage"; import CommunityPage from "./pages/communityPage/communityPage"; -import NavBar from "./components/pageSections/Header"; -import Footer from "./components/pageSections/Footer"; -import BackToTopButton from "./components/buttons/BackToTopButton"; +import Layout from "./components/Layout"; import LoginPage from "./pages/loginPage/loginPage"; import AccountPage from "./pages/accountPage/accountPage"; import { Routes, Route, useLocation, useParams } from "react-router"; -import Notification from "./components/Notification"; import { useSelector } from "react-redux"; import type { RootState } from "./state/store"; @@ -28,29 +25,21 @@ function App() { (state: RootState) => state.auth.user?.uid ?? "guest", ); return ( -
-
- -
-
- - } /> - } /> - } - /> - } /> - } /> - } /> - } /> - 404 - Page not found

} /> -
-
-
+ + + } /> + } /> + } /> + } /> + } /> + } /> + } /> + 404 - Page not found

} + /> +
+
); } export default App; diff --git a/frontend/src/components/AllPartsPreview.tsx b/frontend/src/components/AllPartsPreview.tsx index 21b531d..8679e4d 100644 --- a/frontend/src/components/AllPartsPreview.tsx +++ b/frontend/src/components/AllPartsPreview.tsx @@ -178,13 +178,14 @@ function PartsResults({ }, [featured, handleLoadMore, loading, error, pageInfo?.hasNextPage]); return ( -
+
+ {viewenabled && ( )} {!featured && ( -

+

Showing {visibleParts.length} of {totalCount} components

)} diff --git a/frontend/src/components/CategorySelection.tsx b/frontend/src/components/CategorySelection.tsx index 1df2333..b9f0c59 100644 --- a/frontend/src/components/CategorySelection.tsx +++ b/frontend/src/components/CategorySelection.tsx @@ -32,7 +32,7 @@ export default function CategorySelection({ showViewAll = true, }: CategorySelectionProps) { return ( -
+

diff --git a/frontend/src/components/FilterComponent.tsx b/frontend/src/components/FilterComponent.tsx index 8efd99a..6f6ac83 100644 --- a/frontend/src/components/FilterComponent.tsx +++ b/frontend/src/components/FilterComponent.tsx @@ -48,7 +48,7 @@ export default function FilterComponent({ return (
{isDesktopSize ? ( diff --git a/frontend/src/components/Layout.tsx b/frontend/src/components/Layout.tsx new file mode 100644 index 0000000..8613810 --- /dev/null +++ b/frontend/src/components/Layout.tsx @@ -0,0 +1,27 @@ +import type { ReactNode } from "react"; +import NavBar from "./pageSections/Header"; +import Footer from "./pageSections/Footer"; +import BackToTopButton from "./buttons/BackToTopButton"; +import Notification from "./Notification"; + +const contentWidth = "mx-auto w-full max-w-[100rem] px-4 sm:px-6"; + +export default function Layout({ children }: { children: ReactNode }) { + return ( +
+
+
+ +
+
+
{children}
+
+
+
+
+
+ + +
+ ); +} diff --git a/frontend/src/components/pageSections/Footer.tsx b/frontend/src/components/pageSections/Footer.tsx index acc6f9c..408c7c1 100644 --- a/frontend/src/components/pageSections/Footer.tsx +++ b/frontend/src/components/pageSections/Footer.tsx @@ -1,16 +1,14 @@ export default function Footer() { return ( -
-
-
-

Full Circuit

-

- Explore PC components and plan your build. -

-
- -

© 2026 Team 15, IT2810

+
+
+

Full Circuit

+

+ Explore PC components and plan your build. +

-
+ +

© 2026 Team 15, IT2810

+

); } diff --git a/frontend/src/components/pageSections/Header.tsx b/frontend/src/components/pageSections/Header.tsx index 02f633e..22aa0cb 100644 --- a/frontend/src/components/pageSections/Header.tsx +++ b/frontend/src/components/pageSections/Header.tsx @@ -32,7 +32,7 @@ export default function NavBar() { return (