diff --git a/client/public/fonts/Mixcase/MixcaseMixed.eot b/client/public/fonts/Mixcase/MixcaseMixed.eot new file mode 100644 index 0000000..d1db234 Binary files /dev/null and b/client/public/fonts/Mixcase/MixcaseMixed.eot differ diff --git a/client/public/fonts/Mixcase/MixcaseMixed.ttf b/client/public/fonts/Mixcase/MixcaseMixed.ttf new file mode 100644 index 0000000..99cf69e Binary files /dev/null and b/client/public/fonts/Mixcase/MixcaseMixed.ttf differ diff --git a/client/public/fonts/Mixcase/MixcaseMixed.woff b/client/public/fonts/Mixcase/MixcaseMixed.woff new file mode 100644 index 0000000..9c3ba70 Binary files /dev/null and b/client/public/fonts/Mixcase/MixcaseMixed.woff differ diff --git a/client/public/fonts/Mixcase/MixcaseMixed.woff2 b/client/public/fonts/Mixcase/MixcaseMixed.woff2 new file mode 100644 index 0000000..563d99c Binary files /dev/null and b/client/public/fonts/Mixcase/MixcaseMixed.woff2 differ diff --git a/client/public/fonts/Mixcase/MixcaseUnmixed.eot b/client/public/fonts/Mixcase/MixcaseUnmixed.eot new file mode 100644 index 0000000..5513489 Binary files /dev/null and b/client/public/fonts/Mixcase/MixcaseUnmixed.eot differ diff --git a/client/public/fonts/Mixcase/MixcaseUnmixed.ttf b/client/public/fonts/Mixcase/MixcaseUnmixed.ttf new file mode 100644 index 0000000..ade8e74 Binary files /dev/null and b/client/public/fonts/Mixcase/MixcaseUnmixed.ttf differ diff --git a/client/public/fonts/Mixcase/MixcaseUnmixed.woff b/client/public/fonts/Mixcase/MixcaseUnmixed.woff new file mode 100644 index 0000000..19c9665 Binary files /dev/null and b/client/public/fonts/Mixcase/MixcaseUnmixed.woff differ diff --git a/client/public/fonts/Mixcase/MixcaseUnmixed.woff2 b/client/public/fonts/Mixcase/MixcaseUnmixed.woff2 new file mode 100644 index 0000000..669c798 Binary files /dev/null and b/client/public/fonts/Mixcase/MixcaseUnmixed.woff2 differ diff --git a/client/public/fonts/Mixcase/demo.html b/client/public/fonts/Mixcase/demo.html new file mode 100644 index 0000000..8b14c4f --- /dev/null +++ b/client/public/fonts/Mixcase/demo.html @@ -0,0 +1,221 @@ + + + + + + + + + Transfonter demo + + + + +
+
+

Mixcase Mixed

+
.your-style {
+    font-family: 'Mixcase Mixed';
+    font-weight: normal;
+    font-style: normal;
+}
+
+<link rel="preload" href="MixcaseMixed.woff2" as="font" type="font/woff2" crossorigin>
+
+

+ abcdefghijklmnopqrstuvwxyz
+ABCDEFGHIJKLMNOPQRSTUVWXYZ
+ 0123456789.:,;()*!?'@#<>$%&^+-=~ +

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+
+
+ +
+

Mixcase Unmixed

+
.your-style {
+    font-family: 'Mixcase Unmixed';
+    font-weight: normal;
+    font-style: normal;
+}
+
+<link rel="preload" href="MixcaseUnmixed.woff2" as="font" type="font/woff2" crossorigin>
+
+

+ abcdefghijklmnopqrstuvwxyz
+ABCDEFGHIJKLMNOPQRSTUVWXYZ
+ 0123456789.:,;()*!?'@#<>$%&^+-=~ +

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+

The quick brown fox jumps over the lazy dog.

+
+
+ +
+ + diff --git a/client/public/fonts/Mixcase/stylesheet.css b/client/public/fonts/Mixcase/stylesheet.css new file mode 100644 index 0000000..a8cca53 --- /dev/null +++ b/client/public/fonts/Mixcase/stylesheet.css @@ -0,0 +1,26 @@ +@font-face { + font-family: 'Mixcase Mixed'; + src: url('MixcaseMixed.eot'); + src: local('Mixcase Mixed'), local('MixcaseMixed'), + url('MixcaseMixed.eot?#iefix') format('embedded-opentype'), + url('MixcaseMixed.woff2') format('woff2'), + url('MixcaseMixed.woff') format('woff'), + url('MixcaseMixed.ttf') format('truetype'); + font-weight: normal; + font-style: normal; + font-display: swap; +} + +@font-face { + font-family: 'Mixcase Unmixed'; + src: url('MixcaseUnmixed.eot'); + src: local('Mixcase Unmixed'), local('MixcaseUnmixed'), + url('MixcaseUnmixed.eot?#iefix') format('embedded-opentype'), + url('MixcaseUnmixed.woff2') format('woff2'), + url('MixcaseUnmixed.woff') format('woff'), + url('MixcaseUnmixed.ttf') format('truetype'); + font-weight: normal; + font-style: normal; + font-display: swap; +} + diff --git a/client/src/components/Button2.tsx b/client/src/components/Button2.tsx new file mode 100644 index 0000000..6bff184 --- /dev/null +++ b/client/src/components/Button2.tsx @@ -0,0 +1,50 @@ +interface Props { + variant?: "primary" | "secondary"; + size?: "large" | "medium" | "small"; + roundedFull?: boolean; + icon?: JSX.Element; + onlyIcon?: boolean; + children?: React.ReactNode; + onClick?: () => void; +} + +const variantClasses = { + primary: "bg-[#00BED7] text-white hover:bg-[#0AB3C9]", + secondary: "", +}; + +const sizeClasses = { + large: "px-4 py-3 gap-2 text-base", + medium: "px-3.5 py-2.5 gap-1 text-sm", + small: "px-3 py-2.5 gap-1 text-xs", +}; + +function Button2({ + variant = "primary", + size = "medium", + roundedFull = false, + icon, + onlyIcon = false, + children, + onClick, +}: Props) { + return ( + + ); +} + +export default Button2; diff --git a/client/src/index.css b/client/src/index.css index bdb9e8c..fd5a054 100644 --- a/client/src/index.css +++ b/client/src/index.css @@ -1,3 +1,5 @@ +@import url("/fonts/Mixcase/stylesheet.css"); + @tailwind base; @tailwind components; @tailwind utilities; @@ -45,7 +47,7 @@ body { } .font-mixcase { - font-family: "Mixcase", sans-serif; + font-family: "Mixcase Unmixed", sans-serif; } @layer components { diff --git a/client/src/layouts/WithFooterLayout.tsx b/client/src/layouts/WithFooterLayout.tsx index 93f369b..8f243f8 100644 --- a/client/src/layouts/WithFooterLayout.tsx +++ b/client/src/layouts/WithFooterLayout.tsx @@ -9,7 +9,7 @@ import DesktopHeader from "../components/header/Header/DesktopHeader"; import MobileHeader from "../components/header/Header/MobileHeader"; import Footer from "../components/Footer"; -const WithoutFooterLayout = () => { +function WithFooterLayout() { const { modal } = useModal(); const { setOnFullscreen } = useFullScreen(); const onFullscreenHandle = useFullScreenHandle(); @@ -20,7 +20,10 @@ const WithoutFooterLayout = () => { return ( <> - + {isMobile ? : } {modal} @@ -28,6 +31,6 @@ const WithoutFooterLayout = () => { ); -}; +} -export default WithoutFooterLayout; +export default WithFooterLayout; diff --git a/client/src/main.tsx b/client/src/main.tsx index 137139a..82b8560 100644 --- a/client/src/main.tsx +++ b/client/src/main.tsx @@ -5,7 +5,7 @@ import DefaultLayout from "./layouts/DefaultLayout"; import MasterplanPage from "./pages/MasterplanPage"; import ComplexPage from "./pages/ComplexPage"; import ComplexWingPage from "./pages/ComplexWingPage"; -import AboutProjectsPage from "./pages/AboutProjectsPage"; +// import AboutProjectsPage from "./pages/AboutProjectsPage"; import UnitTypesPage from "./pages/UnitTypesPage"; import AboutPage from "./pages/AboutPage"; // import ApartmentPage from "./pages/ApartmentPage"; @@ -13,7 +13,8 @@ import VirtualTourPage from "./pages/VirtualTourPage"; import UnitTypesItemPage from "./pages/UnitTypesItemPage"; import SearchPage2 from "./pages/SearchPage2"; import FavoritesPage2 from "./pages/FavoritesPage2"; -import WithoutFooterLayout from "./layouts/WithFooterLayout"; +import WithFooterLayout from "./layouts/WithFooterLayout"; +import AboutProjects2Page from "./pages/AboutProjects2Page"; const router = createBrowserRouter([ { @@ -44,11 +45,11 @@ const router = createBrowserRouter([ }, { path: "/", - element: , + element: , children: [ { path: "about-projects", - element: , + element: , }, { path: "about", diff --git a/client/src/pages/AboutProjects2Page.tsx b/client/src/pages/AboutProjects2Page.tsx new file mode 100644 index 0000000..e0e0e24 --- /dev/null +++ b/client/src/pages/AboutProjects2Page.tsx @@ -0,0 +1,61 @@ +import Button2 from "../components/Button2"; +import ArrowLeftIcon from "../components/icons/ArrowLeftIcon"; + +function AboutProjects2Page() { + return ( +
+
+

+ Rove Home this residence a complete ecosystem that has everything + you’ll ever need. This isn’t just where you’ll live. It’s where you’ll + thrive. +

+
+
+
+

ABOUT ROVE HOME

+

+ Embrace Rove’s forever-young spirit at Rove Home, where + inspiring design and vibrant art installations converge with an + exceptional location and an extended playlist of life-enhancing{" "} +

+
+ }>Masterplan +
+
+ +
+
+
+ +
+
+
+
+

Rove Home

+

+ Rove Home branded residences are an extension of the Rove Hotels + brand. These branded residences are for hassle-free living, with + personalized expressions of your ideal living environment. +

+

+ We’ve handpicked prime locations to ensure you get the very best. + From interiors that uplift and energise, and amenities that are + thoughtful and engaging to contemporarily stylish yet cosy + apartments, we decided that this is the kind of place where we’d + like to live – so we set out to build exactly that. We think + you’ll agree. +

+
+
+
+
+
+ ); +} + +export default AboutProjects2Page;