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 (
+
+ );
+}
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 (
-