diff --git a/packages/fakeyou.com/public/fakeyou/FakeYou-Logo-Mobile.png b/packages/fakeyou.com/public/fakeyou/FakeYou-Logo-Mobile.png
new file mode 100644
index 0000000000..fdc88d0ef6
Binary files /dev/null and b/packages/fakeyou.com/public/fakeyou/FakeYou-Logo-Mobile.png differ
diff --git a/packages/fakeyou.com/src/AppNew.scss b/packages/fakeyou.com/src/AppNew.scss
index 33a47a4117..17090ea6e9 100644
--- a/packages/fakeyou.com/src/AppNew.scss
+++ b/packages/fakeyou.com/src/AppNew.scss
@@ -1,5 +1,6 @@
// @import "./scss/normalize.scss";
// @import-normalize; /* bring in normalize.css styles */
+@import "./scss/nav.scss";
@import "./scss/colours.scss";
@import "./scss/site-refresh.scss";
@import "./scss/CSSParticles.scss";
diff --git a/packages/fakeyou.com/src/components/layout/MobileMenu/MobileMenu.scss b/packages/fakeyou.com/src/components/layout/MobileMenu/MobileMenu.scss
new file mode 100644
index 0000000000..ba9cd3936c
--- /dev/null
+++ b/packages/fakeyou.com/src/components/layout/MobileMenu/MobileMenu.scss
@@ -0,0 +1,26 @@
+@import "scss/colours.scss";
+
+.mobile-menu-container {
+ padding-bottom: 4.6rem;
+}
+
+.mobile-menu {
+ z-index: 100;
+ position: fixed;
+ min-width: 0px;
+ top: 0rem;
+ left: 0rem;
+ right: 0rem;
+ border-radius: 0rem 0rem 0.5rem 0.5rem;
+ background-color: $panel;
+ border-color: #ffffff12 !important;
+ border: 1px solid;
+ align-items: center;
+ justify-content: space-between;
+ overflow: hidden;
+ transition: all 200ms ease 0s;
+ box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.4);
+ -webkit-box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.4);
+ -moz-box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.4);
+ padding: 0.6rem 1rem;
+}
diff --git a/packages/fakeyou.com/src/components/layout/MobileMenu/MobileMenu.tsx b/packages/fakeyou.com/src/components/layout/MobileMenu/MobileMenu.tsx
new file mode 100644
index 0000000000..5b816d2b30
--- /dev/null
+++ b/packages/fakeyou.com/src/components/layout/MobileMenu/MobileMenu.tsx
@@ -0,0 +1,44 @@
+import React from "react";
+import "./MobileMenu.scss";
+import Button from "components/common/Button/Button";
+import { faBars } from "@fortawesome/pro-solid-svg-icons";
+
+export default function MobileMenu() {
+ const handleMenuButtonClick = () => {
+ const wrapper = document.getElementById("wrapper");
+
+ if (window.innerWidth < 1200) {
+ if (wrapper) {
+ wrapper.classList.toggle("toggled");
+ }
+ }
+ };
+
+ return (
+
+
+
+
+
+
+
+

+
+
+
+
+
+
+
+ );
+}
diff --git a/packages/fakeyou.com/src/components/layout/SideNav/SideNav.tsx b/packages/fakeyou.com/src/components/layout/SideNav/SideNav.tsx
new file mode 100644
index 0000000000..3ad1daa9f3
--- /dev/null
+++ b/packages/fakeyou.com/src/components/layout/SideNav/SideNav.tsx
@@ -0,0 +1,142 @@
+import { faDiscord } from "@fortawesome/free-brands-svg-icons";
+import {
+ faBookOpen,
+ faMessageDots,
+ faTrophy,
+ faVideo,
+ faWaveformLines,
+ faStar,
+} from "@fortawesome/pro-solid-svg-icons";
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import Button from "components/common/Button/Button";
+import React, { useEffect } from "react";
+import { Link, NavLink } from "react-router-dom";
+
+interface SideNavProps {}
+
+export default function SideNav(props: SideNavProps) {
+ const handleNavLinkClick = () => {
+ const wrapper = document.getElementById("wrapper");
+
+ if (window.innerWidth < 1200) {
+ if (wrapper) {
+ wrapper.classList.toggle("toggled");
+ }
+ }
+ };
+
+ useEffect(() => {
+ const handleOutsideClick = (event: MouseEvent) => {
+ const wrapper = document.getElementById("wrapper");
+ const overlay = document.getElementById("overlay");
+
+ if (
+ (!wrapper?.contains(event.target as Node) ||
+ overlay?.contains(event.target as Node)) &&
+ window.innerWidth < 1200
+ ) {
+ wrapper?.classList.remove("toggled");
+ }
+ };
+
+ document.addEventListener("click", handleOutsideClick);
+
+ return () => {
+ document.removeEventListener("click", handleOutsideClick);
+ };
+ }, []);
+
+ return (
+
+ );
+}
diff --git a/packages/fakeyou.com/src/scss/nav.scss b/packages/fakeyou.com/src/scss/nav.scss
new file mode 100644
index 0000000000..99600e4d37
--- /dev/null
+++ b/packages/fakeyou.com/src/scss/nav.scss
@@ -0,0 +1,159 @@
+@import "./colours.scss";
+
+/* Toggle Styles */
+
+#wrapper {
+ padding-left: 0;
+ -webkit-transition: all 0.2s ease;
+ -moz-transition: all 0.2s ease;
+ -o-transition: all 0.2s ease;
+ transition: all 0.2s ease;
+}
+
+#wrapper.toggled {
+ padding-left: 260px;
+}
+
+#sidebar-wrapper {
+ z-index: 1000;
+ position: fixed;
+ left: 260px;
+ width: 0;
+ height: 100%;
+ margin-left: -260px;
+ overflow: auto;
+ -webkit-transition: all 0.2s ease;
+ -moz-transition: all 0.2s ease;
+ -o-transition: all 0.2s ease;
+ transition: all 0.2s ease;
+}
+
+#wrapper.toggled #sidebar-wrapper {
+ width: 260px;
+}
+
+#page-content-wrapper {
+ width: 100%;
+ position: relative;
+}
+
+#wrapper.toggled #page-content-wrapper {
+ position: absolute;
+ margin-right: -260px;
+}
+
+/* Sidebar Styles */
+
+.sidebar-nav {
+ position: absolute;
+ top: 0;
+ width: 260px;
+ margin: 0;
+ padding: 0;
+ list-style: none;
+ min-height: 100vh;
+ background: $panel;
+ border-color: rgba(255, 255, 255, 0.0705882353) !important;
+ border-right: 1px solid;
+}
+
+// .sidebar-nav li {
+// text-indent: 2rem;
+// line-height: 38px;
+// }
+
+.sidebar-nav li a {
+ display: block;
+ text-decoration: none;
+ color: rgba($white, 0.7);
+ font-weight: 500;
+ margin: 0rem 1rem;
+ padding: 0.5rem 1rem;
+ border-radius: 0.5rem;
+ -webkit-transition: all 0.2s ease;
+ -moz-transition: all 0.2s ease;
+ -o-transition: all 0.2s ease;
+ transition: all 0.2s ease;
+}
+
+.sidebar-nav li a:hover {
+ text-decoration: none;
+ color: $white;
+}
+
+.sidebar-nav li a:active,
+.sidebar-nav li a:focus {
+ text-decoration: none;
+}
+
+.sidebar-brand {
+ font-size: 18px;
+ padding-top: 1.5rem;
+ line-height: 0;
+ margin-left: 1.5rem;
+}
+
+.sidebar-buttons {
+ margin-left: 1.5rem;
+}
+
+.sidebar-heading {
+ margin-left: 1.5rem;
+ margin-bottom: 0.5rem;
+ opacity: 0.5;
+ font-size: 14px;
+}
+
+.sidebar-heading-icon {
+ margin-right: 0.75rem;
+}
+
+.active-link {
+ color: $white !important;
+ background-color: $secondary;
+}
+
+#overlay {
+ display: none;
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ background-color: rgba(0, 0, 0, 0.5); /* Semi-black background */
+ z-index: 900; /* Appear on top of the content */
+}
+.toggled #page-content-wrapper {
+ position: relative;
+ z-index: 2; /* Ensure content is above the overlay */
+}
+.toggled #overlay {
+ display: block;
+}
+
+@media (min-width: 992px) {
+ #wrapper {
+ padding-left: 260px;
+ }
+
+ #wrapper.toggled {
+ padding-left: 0;
+ }
+
+ #sidebar-wrapper {
+ width: 260px;
+ }
+
+ #wrapper.toggled #sidebar-wrapper {
+ width: 0;
+ }
+
+ #page-content-wrapper {
+ position: relative;
+ }
+
+ #wrapper.toggled #page-content-wrapper {
+ position: relative;
+ margin-right: 0;
+ }
+}
diff --git a/packages/fakeyou.com/src/v2/view/PageContainer.tsx b/packages/fakeyou.com/src/v2/view/PageContainer.tsx
index 52055651c4..ae63f13ff2 100644
--- a/packages/fakeyou.com/src/v2/view/PageContainer.tsx
+++ b/packages/fakeyou.com/src/v2/view/PageContainer.tsx
@@ -82,6 +82,8 @@ import { ProductUsageInfoPage } from "./pages/product_usage_info/ProductUsageInf
import VcModelViewPage from "./pages/vc/vc_model_view/VcModelViewPage";
import VcModelEditPage from "./pages/vc/vc_model_edit/VcModelEditPage";
import VcModelDeletePage from "./pages/vc/vc_model_delete/VcModelDeletePage";
+import SideNav from "components/layout/SideNav/SideNav";
+import MobileMenu from "components/layout/MobileMenu/MobileMenu";
interface Props {
sessionWrapper: SessionWrapper;
@@ -188,19 +190,21 @@ class PageContainer extends React.Component {
public render() {
return (
-
-
-
+
+
+
+ {/*
-
-
+ /> */}
+
+
{
/>
-
-
+
+ {/* */}
);
}