Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Home page #2

Merged
merged 15 commits into from
May 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added public/Home_Banner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/blogs_Banner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/card_Img.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion public/next.svg

This file was deleted.

1 change: 0 additions & 1 deletion public/vercel.svg

This file was deleted.

12 changes: 12 additions & 0 deletions src/app/blog/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import React from 'react';

import { HeroComponent } from '../shared/heroComponent';
import { blogsInputs } from '../types/blogsInputs';

export default function blog() {
return (
<div className=" mt-[1px] flex h-[300px] flex-col items-center justify-center gap-2 overflow-hidden text-center">
<HeroComponent heroInputs={blogsInputs} />;
</div>
);
}
Binary file removed src/app/favicon.ico
Binary file not shown.
12 changes: 12 additions & 0 deletions src/app/footer/footer.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import React from 'react';

export const Footer = () => {
return (
<div className="header-bg-gradient-radial-right flex h-[80px] flex-col items-center text-center ">
<div className="flex h-[100%] w-[80%] flex-row items-center justify-start gap-[46px] text-center text-[12px] leading-[16px]">
<p className=" cursor-pointer"> Terms and conditions</p>
<p className=" cursor-pointer"> Privacy statement</p>
</div>
</div>
);
};
28 changes: 28 additions & 0 deletions src/app/globals.css
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

@tailwind base;
@tailwind components;
@tailwind utilities;
Expand Down Expand Up @@ -27,3 +29,29 @@ body {
text-wrap: balance;
}
}

/* header */

.header-bg-gradient-radial-right {
background-image: radial-gradient(circle, #020365 0%, #01041f 99.95%);
background-position: 300px;
background-size: cover;
}

.nav-text {
font-size: 18px;
font-family: Barlow, 'Courier New', monospace;
line-height: 24px;
font-style: bold;
font-weight: 600;
}

.nav-text-logo {
font-size: 38px;
height: 28px;
font-family: Barlow, 'Courier New', monospace;
line-height: 24px;
font-style: bold;
font-weight: 600;
letter-spacing: 2px;
}
24 changes: 24 additions & 0 deletions src/app/header/header.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import React from 'react';

import Link from 'next/link';

export default function Header() {
return (
<div className="header-bg-gradient-radial-right flex h-[80px] flex-col items-center text-center ">
<div className="flex h-[100%] w-[80%] flex-row items-center justify-between text-center">
<Link href="/home" className="flex h-[36px] flex-row items-end justify-end text-end">
<p className="nav-text-logo"> 2D/G/TS</p>
<p className="w-[50px] text-start text-[5px]">DEVELOPMENT AGENCY</p>
</Link>
<div className=" flex flex-row gap-[32px] leading-[24px] text-white">
<Link href="/home">
<p className=" nav-text ">Home</p>
</Link>
<Link href="/blog">
<p className="nav-text">Blog</p>
</Link>
</div>
</div>
</div>
);
}
18 changes: 18 additions & 0 deletions src/app/home/components/cards.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import React from 'react';

import BlogCard from '../../shared/blogCard';

export default function Cards() {
return (
<div className="flex h-[690px] w-[100%] flex-col items-center justify-center bg-white">
<div className="ga-[32px] flex h-[530px] w-[80%] flex-col justify-between text-[#041527]">
<h1 className=" m-0 h-[56px] p-0 font-Barlow text-[48px] font-bold leading-[56px] ">
De nieuwste blogs
</h1>
<div className=" flex flex-row items-center justify-center gap-[31px] text-center">
<BlogCard />
</div>
</div>
</div>
);
}
16 changes: 16 additions & 0 deletions src/app/home/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import React from 'react';

import { HeroComponent } from '../shared/heroComponent';
import { bodyInputs } from '../types';
import Cards from './components/cards';

export default function HomePage() {
return (
<div>
<div className=" mt-[1px] flex h-[600px] flex-col items-center justify-center gap-2 overflow-hidden border-t-2 border-white text-center">
<HeroComponent heroInputs={bodyInputs} />
</div>
<Cards />
</div>
);
}
15 changes: 14 additions & 1 deletion src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ import { Inter } from 'next/font/google';

import './globals.css';

import { Footer } from './footer/footer';
import Header from './header/header';

const inter = Inter({ subsets: ['latin'] });

export const metadata: Metadata = {
Expand All @@ -13,7 +16,17 @@ export const metadata: Metadata = {
export default function RootLayout({ children }: Readonly<{ children: React.ReactNode }>) {
return (
<html lang="en">
<body className={inter.className}>{children}</body>
<body className={inter.className}>
<div>
<Header />
</div>

{children}

<div>
<Footer />
</div>
</body>
</html>
);
}
118 changes: 3 additions & 115 deletions src/app/page.tsx
Original file line number Diff line number Diff line change
@@ -1,121 +1,9 @@
import Image from 'next/image';

import { PreprSdk } from '@/server/prepr';
import HomePage from './home/page';

export default async function Home() {
const { Page } = await PreprSdk.Example();

return (
<main className="flex min-h-screen flex-col items-center justify-between p-24">
<div className="z-10 w-full max-w-5xl items-center justify-between font-mono text-sm lg:flex">
<p className="fixed left-0 top-0 flex w-full justify-center border-b border-gray-300 bg-gradient-to-b from-zinc-200 pb-6 pt-8 backdrop-blur-2xl lg:static lg:w-auto lg:rounded-xl lg:border lg:bg-gray-200 lg:p-4 dark:border-neutral-800 dark:bg-zinc-800/30 dark:from-inherit lg:dark:bg-zinc-800/30">
{Page?.page_header?.title}
</p>

<div className="fixed bottom-0 left-0 flex h-48 w-full items-end justify-center bg-gradient-to-t from-white via-white lg:static lg:size-auto lg:bg-none dark:from-black dark:via-black">
<a
className="pointer-events-none flex place-items-center gap-2 p-8 lg:pointer-events-auto lg:p-0"
href="https://vercel.com?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
target="_blank"
rel="noopener noreferrer">
{'By '}

<Image
src="/vercel.svg"
alt="Vercel Logo"
className="dark:invert"
width={100}
height={24}
priority
/>
</a>
</div>
</div>

<div className="relative z-[-1] flex place-items-center before:absolute before:h-[300px] before:w-full before:-translate-x-1/2 before:rounded-full before:bg-gradient-radial before:from-white before:to-transparent before:blur-2xl before:content-[''] after:absolute after:-z-20 after:h-[180px] after:w-full after:translate-x-1/3 after:bg-gradient-conic after:from-sky-200 after:via-blue-200 after:blur-2xl after:content-[''] sm:before:w-[480px] sm:after:w-[240px] before:lg:h-[360px] before:dark:bg-gradient-to-br before:dark:from-transparent before:dark:to-blue-700 before:dark:opacity-10 after:dark:from-sky-900 after:dark:via-[#0141ff] after:dark:opacity-40">
<Image
className="relative dark:drop-shadow-[0_0_0.3rem_#ffffff70] dark:invert"
src="/next.svg"
alt="Next.js Logo"
width={180}
height={37}
priority
/>
</div>

<div className="mb-32 grid text-center lg:mb-0 lg:w-full lg:max-w-5xl lg:grid-cols-4 lg:text-left">
<a
href="https://nextjs.org/docs?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30"
target="_blank"
rel="noopener noreferrer">
<h2 className={`mb-3 text-2xl font-semibold`}>
{'Docs '}

<span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none">
-&gt;
</span>
</h2>

<p className={`m-0 max-w-[30ch] text-sm opacity-50`}>
Find in-depth information about Next.js features and API.
</p>
</a>

<a
href="https://nextjs.org/learn?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app"
className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30"
target="_blank"
rel="noopener noreferrer">
<h2 className={`mb-3 text-2xl font-semibold`}>
{'Learn '}

<span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none">
-&gt;
</span>
</h2>

<p className={`m-0 max-w-[30ch] text-sm opacity-50`}>
Learn about Next.js in an interactive course with&nbsp;quizzes!
</p>
</a>

<a
href="https://vercel.com/templates?framework=next.js&utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30"
target="_blank"
rel="noopener noreferrer">
<h2 className={`mb-3 text-2xl font-semibold`}>
{'Templates '}

<span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none">
-&gt;
</span>
</h2>

<p className={`m-0 max-w-[30ch] text-sm opacity-50`}>
Explore starter templates for Next.js.
</p>
</a>

<a
href="https://vercel.com/new?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30"
target="_blank"
rel="noopener noreferrer">
<h2 className={`mb-3 text-2xl font-semibold`}>
{'Deploy '}

<span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none">
-&gt;
</span>
</h2>

<p className={`m-0 max-w-[30ch] text-balance text-sm opacity-50`}>
Instantly deploy your Next.js site to a shareable URL with Vercel.
</p>
</a>
</div>
<main>
<HomePage />
</main>
);
}
81 changes: 81 additions & 0 deletions src/app/shared/blogCard.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
import React from 'react';

import Image from 'next/image';

import cardImg from '../../../public/card_Img.png';

export default function BlogCard() {
return (
<>
<div className=" flex h-[440px] w-[349px] cursor-pointer flex-col gap-[24px] text-start">
<div className=" relative h-[240px] w-[100%] overflow-hidden rounded-[6px] bg-black">
<Image src={cardImg} alt="card image" className=" -z-10 h-[100%] w-[100%] object-cover" />
<div className=" absolute bottom-[8px] left-[8px] flex h-[32px] w-[91px] flex-col items-center justify-center rounded-[4px] bg-[#EFEFF8] text-center ">
<p className=" mb-[4px] ml-[16px] mr-[16px] mt-[4px] text-[12px] font-medium leading-[24px] text-[#0E1527]">
INTERVIEW
</p>
</div>
</div>

<div className=" flex flex-col items-start justify-between gap-[14px] text-start">
<h2 className="h-[50px] w-[100%] font-Barlow text-[21px] font-bold leading-[23px]">
Werken bij Social Brothers, volgens developer Ryence
</h2>

<p className="h-[72px] w-[100%] text-[16px] leading-[19px]">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent luctus velit id ex
vestibulum, in tristique risus tincidunt.
</p>

<button>Lees meer =</button>
</div>
</div>
<div className=" flex h-[440px] w-[349px] cursor-pointer flex-col gap-[24px] text-start">
<div className=" relative h-[240px] w-[100%] overflow-hidden rounded-[6px] bg-black">
<Image src={cardImg} alt="card image" className=" -z-10 h-[100%] w-[100%] object-cover" />
<div className=" absolute bottom-[8px] left-[8px] flex h-[32px] w-[91px] flex-col items-center justify-center rounded-[4px] bg-[#EFEFF8] text-center ">
<p className=" mb-[4px] ml-[16px] mr-[16px] mt-[4px] text-[12px] font-medium leading-[24px] text-[#0E1527]">
INTERVIEW
</p>
</div>
</div>

<div className=" flex flex-col items-start justify-between gap-[14px] text-start">
<h2 className="h-[50px] w-[100%] font-Barlow text-[21px] font-bold leading-[23px]">
Werken bij Social Brothers, volgens developer Ryence
</h2>

<p className="h-[72px] w-[100%] text-[16px] leading-[19px]">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent luctus velit id ex
vestibulum, in tristique risus tincidunt.
</p>

<button>Lees meer =</button>
</div>
</div>
<div className=" flex h-[440px] w-[349px] cursor-pointer flex-col gap-[24px] text-start">
<div className=" relative h-[240px] w-[100%] overflow-hidden rounded-[6px] bg-black">
<Image src={cardImg} alt="card image" className=" -z-10 h-[100%] w-[100%] object-cover" />
<div className=" absolute bottom-[8px] left-[8px] flex h-[32px] w-[91px] flex-col items-center justify-center rounded-[4px] bg-[#EFEFF8] text-center ">
<p className=" mb-[4px] ml-[16px] mr-[16px] mt-[4px] text-[12px] font-medium leading-[24px] text-[#0E1527]">
INTERVIEW
</p>
</div>
</div>

<div className=" flex flex-col items-start justify-between gap-[14px] text-start">
<h2 className="h-[50px] w-[100%] font-Barlow text-[21px] font-bold leading-[23px]">
Werken bij Social Brothers, volgens developer Ryence
</h2>

<p className="h-[72px] w-[100%] text-[16px] leading-[19px]">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent luctus velit id ex
vestibulum, in tristique risus tincidunt.
</p>

<button>Lees meer =</button>
</div>
</div>
</>
);
}
30 changes: 30 additions & 0 deletions src/app/shared/heroComponent.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import React from 'react';

import Image from 'next/image';

import { bodyInputsType } from '../types';

type HeroComponentProps = {
heroInputs: bodyInputsType;
};

export const HeroComponent: React.FC<HeroComponentProps> = ({ heroInputs }) => {
return (
<>
<Image
src={heroInputs.image}
alt="hero image"
className=" -z-20 h-[100%] w-[100%] bg-center object-cover"
/>
<div className=" absolute flex w-[100%] flex-col items-center justify-center gap-[32px] text-center">
<h1 className=" z-10 w-[60%] font-Barlow text-[72px] font-bold leading-[72px] text-white">
{heroInputs.title}
</h1>

{heroInputs.description ? (
<p className="w-[70%] text-[18px] font-bold leading-[24px]"> {heroInputs.description}</p>
) : null}
</div>
</>
);
};
Loading
Loading