diff --git a/public/images/coffee.png b/public/images/coffee.png index 58ce3a1..3b97a8e 100644 Binary files a/public/images/coffee.png and b/public/images/coffee.png differ diff --git a/public/images/dte-mobile.svg b/public/images/dte-mobile.svg new file mode 100644 index 0000000..7647fbd --- /dev/null +++ b/public/images/dte-mobile.svg @@ -0,0 +1,427 @@ + + + + + + diff --git a/public/images/github.svg b/public/images/github.svg new file mode 100644 index 0000000..756d78c --- /dev/null +++ b/public/images/github.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/images/lla-mobile.svg b/public/images/lla-mobile.svg new file mode 100644 index 0000000..a062b0b --- /dev/null +++ b/public/images/lla-mobile.svg @@ -0,0 +1,487 @@ + + + + + + diff --git a/src/app/desktop-page.tsx b/src/app/-/desktop-page.tsx similarity index 98% rename from src/app/desktop-page.tsx rename to src/app/-/desktop-page.tsx index 9d1a712..ae19fc7 100644 --- a/src/app/desktop-page.tsx +++ b/src/app/-/desktop-page.tsx @@ -79,7 +79,7 @@ const data: Item[] = [ export default function DesktopPage() { return ( -
+
+
+ Latté logo + Menu +
+
+ + Latté + + + DevOps & Automation + +
+ +
+
+ +

Who are we ?

+
+
+ + We are 2 DevOps Engineer + + + More about us + +
+
+
+ +

What do we do ?

+
+
+ + {`Automation, CI/CD,\nWeb development &\nCloud deployment`} + +
+
+
+
+ + +
+
+ + +
+ +
+
+
+ +

+ We're here to help +

+
+ + {`Our team is ready to bring your ideas to life.\nLet's create something amazing together!`} + + +
+ +
+
+
+
+

+ © LATTECORPORATION.CO, All Right Reserved. +

+
+
+ ); +} diff --git a/src/app/contact/page.tsx b/src/app/contact/page.tsx index ebf7943..75f41d6 100644 --- a/src/app/contact/page.tsx +++ b/src/app/contact/page.tsx @@ -16,8 +16,8 @@ export default function Page() { }); return ( -
-
+
+
diff --git a/src/app/page.tsx b/src/app/page.tsx index 583b3da..423c6ae 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,10 +1,12 @@ "use client"; -import DesktopPage from "./desktop-page"; +import MobilePage from "./-/mobile-page"; +import DesktopPage from "./-/desktop-page"; export default function Page() { return ( <> + ); } diff --git a/src/components/3d/moka-pot.jsx b/src/components/3d/moka-pot.jsx index 852ef01..1641f15 100644 --- a/src/components/3d/moka-pot.jsx +++ b/src/components/3d/moka-pot.jsx @@ -33,6 +33,7 @@ export default function MokaPot() { diff --git a/src/components/contact-form.tsx b/src/components/contact-form.tsx index 964b535..b797d4a 100644 --- a/src/components/contact-form.tsx +++ b/src/components/contact-form.tsx @@ -8,7 +8,7 @@ import { useMutation } from "@tanstack/react-query"; import axios, { AxiosError } from "axios"; import Form from "next/form"; import { useMemo, useState } from "react"; -import { Button } from "./ui/button"; +import { Button } from "@components/ui/button"; export default function ContactForm() { const [formData, setFormData] = useState({ @@ -72,7 +72,12 @@ export default function ContactForm() { const headerAnimation = useMemo( () => ( - + Let's work together! ), @@ -80,7 +85,7 @@ export default function ContactForm() { ); return ( -
+

{headerAnimation}

@@ -158,7 +163,7 @@ export default function ContactForm() { />
- + +
+
+
+ +
+
+ {/* Mobile */} +
+
{trigram} - -
-
-

{fullName}

- +
+

{fullName}

+ + {role.join("\n")} + +
+
-
-
- -
-
+ ); } diff --git a/src/components/sidebar.tsx b/src/components/sidebar.tsx index 9106109..7cd04f1 100644 --- a/src/components/sidebar.tsx +++ b/src/components/sidebar.tsx @@ -9,7 +9,7 @@ export default function Sidebar() { const pathname = usePathname().split("/")[1]; return ( -
+

Latté

diff --git a/src/components/ui/waves.tsx b/src/components/ui/waves.tsx index 427b5a6..fd88276 100644 --- a/src/components/ui/waves.tsx +++ b/src/components/ui/waves.tsx @@ -1,14 +1,18 @@ -export default function Waves() { +export default function Waves({ + colorTop = "#7f5539", + colorBottom = "#DDB892", + height = "5%", +}) { return ( - + diff --git a/src/middleware.ts b/src/middleware.ts new file mode 100644 index 0000000..afc6824 --- /dev/null +++ b/src/middleware.ts @@ -0,0 +1,15 @@ +import { NextResponse } from "next/server"; +import type { NextRequest } from "next/server"; + +// This function can be marked `async` if using `await` inside +export function middleware(request: NextRequest) { + //if on mobile, redirect to /#contact + if (request.headers.get("user-agent")?.includes("Mobile")) { + return NextResponse.redirect(new URL("/#contact", request.url)); + } + return NextResponse.next(); +} + +export const config = { + matcher: "/contact", +};