refactor(vojtechmares.com): migrate homepage to app directory
This commit is contained in:
parent
0370e234ba
commit
b93b731c6b
3 changed files with 113 additions and 20 deletions
62
apps/vojtechmares.com/app/layout.tsx
Normal file
62
apps/vojtechmares.com/app/layout.tsx
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
import type { Metadata } from 'next'
|
||||
import { Analytics } from '@vercel/analytics/react'
|
||||
|
||||
import { Footer } from '@/components/layout/Footer'
|
||||
import { Navigation } from '@/components/layout/Navigation'
|
||||
|
||||
import '@/styles/tailwind.css'
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Vojtěch Mareš - DevOps konzultant, lektor, engineer',
|
||||
description: 'Vojtěch Mareš - DevOps konzultant, lektor, engineer',
|
||||
themeColor: '#ffffff',
|
||||
viewport: 'width=device-width, initial-scale=1.0',
|
||||
icons: {
|
||||
icon: [
|
||||
{ url: '/favicon.ico' },
|
||||
{ url: '/favicon-16x16.png', sizes: '16x16', type: 'image/png' },
|
||||
{ url: '/favicon-32x32.png', sizes: '32x32', type: 'image/png' },
|
||||
],
|
||||
shortcut: '/shortcut-icon.png',
|
||||
apple: '/apple-touch-icon.png',
|
||||
other: {
|
||||
rel: 'apple-touch-icon-precomposed',
|
||||
url: '/apple-touch-icon-precomposed.png',
|
||||
},
|
||||
},
|
||||
manifest: '/site.webmanifest',
|
||||
twitter: {
|
||||
card: 'summary_large_image',
|
||||
site: '@vojtechmares',
|
||||
creator: '@vojtechmares',
|
||||
title: 'Vojtěch Mareš - DevOps konzultant, lektor, engineer',
|
||||
images: [
|
||||
{ url: '/og.png' },
|
||||
]
|
||||
},
|
||||
}
|
||||
|
||||
const RootLayout = ({ children }: { children: React.ReactNode }) => {
|
||||
return (
|
||||
<html
|
||||
className="h-full scroll-smooth bg-white antialiased [font-feature-settings:'ss01']"
|
||||
lang="cs"
|
||||
>
|
||||
<head>
|
||||
<script
|
||||
defer
|
||||
data-domain="vojtechmares.com"
|
||||
src="https://plausible.io/js/script.js"
|
||||
></script>
|
||||
</head>
|
||||
<body className="flex h-full flex-col">
|
||||
<Navigation />
|
||||
{children}
|
||||
<Footer />
|
||||
<Analytics />
|
||||
</body>
|
||||
</html>
|
||||
)
|
||||
}
|
||||
|
||||
export default RootLayout
|
||||
|
|
@ -1,29 +1,15 @@
|
|||
import Head from "next/head";
|
||||
|
||||
import { Header } from "@/components/layout/Header";
|
||||
import { Hero } from "@/components/homepage/Hero";
|
||||
import { CallToAction } from "@/components/homepage/CallToAction";
|
||||
import { Faqs } from "@/components/homepage/Faqs";
|
||||
import { Footer } from "@/components/layout/Footer";
|
||||
import { Services } from "@/components/homepage/Services";
|
||||
import { WhatIDo } from "@/components/homepage/WhatIDo";
|
||||
import { Testimonials } from "@/components/homepage/Testimonials";
|
||||
import { KubernetesEverywhere } from "@/components/homepage/KubernetesEverywhere";
|
||||
import { TrainingList } from "@/components/homepage/Training";
|
||||
|
||||
export default function Home() {
|
||||
const Page = () => {
|
||||
return (
|
||||
<>
|
||||
<Head>
|
||||
<title>Vojtěch Mareš - DevOps konzultant, lektor, engineer</title>
|
||||
|
||||
<meta
|
||||
name="description"
|
||||
content="Vojtěch Mareš - DevOps konzultant, lektor, engineer"
|
||||
/>
|
||||
</Head>
|
||||
<main>
|
||||
<Header />
|
||||
<Hero />
|
||||
<WhatIDo />
|
||||
<TrainingList />
|
||||
|
|
@ -33,7 +19,7 @@ export default function Home() {
|
|||
<Services />
|
||||
{/* <Faqs /> */}
|
||||
</main>
|
||||
<Footer />
|
||||
</>
|
||||
);
|
||||
)
|
||||
}
|
||||
|
||||
export default Page
|
||||
45
apps/vojtechmares.com/components/layout/Navigation.tsx
Normal file
45
apps/vojtechmares.com/components/layout/Navigation.tsx
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
import Link from "next/link";
|
||||
|
||||
import { Container } from "@/components/Container";
|
||||
import { Button } from "@/components/Button";
|
||||
|
||||
export function Navigation() {
|
||||
return (
|
||||
<>
|
||||
<header className="py-10">
|
||||
<Container>
|
||||
<nav className="relative z-50 flex justify-between">
|
||||
<div className="flex items-center md:gap-x-12">
|
||||
<span className="text-2xl font-bold">
|
||||
<Link href="/" className="py-2 px-4 rounded-full focus-visible:outline-black">Vojtěch Mareš</Link>
|
||||
</span>
|
||||
<div className="hidden md:flex md:gap-x-6">
|
||||
<Link
|
||||
href="/#skoleni"
|
||||
className="inline-block rounded-full py-2 px-4 text-lg font-medium text-slate-700 hover:bg-slate-100 hover:text-black focus-visible:outline-black"
|
||||
>
|
||||
Školení
|
||||
</Link>
|
||||
{/* <Link href="/pripadove-studie" className="inline-block rounded-full py-2 px-4 text-lg font-medium text-slate-700 hover:bg-slate-100 hover:text-black focus-visible:outline-black">Případové studie</Link> */}
|
||||
<Link
|
||||
href="https://vojtechmares.blog/"
|
||||
className="inline-block rounded-full py-2 px-4 text-lg font-medium text-slate-700 hover:bg-slate-100 hover:text-black focus-visible:outline-black"
|
||||
>
|
||||
Blog
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex items-center gap-x-5 md:gap-x-8">
|
||||
<Button href="mailto:iam@vojtechmares.com" color="amber">
|
||||
<span className="text-lg">
|
||||
Napište mi{" "}
|
||||
<span className="hidden lg:inline">ještě dnes</span>
|
||||
</span>
|
||||
</Button>
|
||||
</div>
|
||||
</nav>
|
||||
</Container>
|
||||
</header>
|
||||
</>
|
||||
);
|
||||
}
|
||||
Reference in a new issue