fix: add lesson 3
This commit is contained in:
103
v2/Les03-Cursor-Basics/les3-debug-challenge/app/about/page.tsx
Normal file
103
v2/Les03-Cursor-Basics/les3-debug-challenge/app/about/page.tsx
Normal file
@@ -0,0 +1,103 @@
|
||||
export default function AboutPage() {
|
||||
return (
|
||||
<div style={{
|
||||
maxWidth: '800px',
|
||||
margin: '0 auto',
|
||||
padding: '40px 20px'
|
||||
}}>
|
||||
<h1 style={{
|
||||
fontSize: '36px',
|
||||
fontWeight: 'bold',
|
||||
marginBottom: '24px',
|
||||
color: '#1a1a1a'
|
||||
}}>Over Ons</h1>
|
||||
|
||||
<p style={{
|
||||
fontSize: '18px',
|
||||
lineHeight: '1.8',
|
||||
color: '#444',
|
||||
marginBottom: '20px'
|
||||
}}>
|
||||
Wij zijn een team van gepassioneerde developers die geloven in de
|
||||
kracht van AI-assisted development. Onze missie is om het bouwen
|
||||
van websites sneller en toegankelijker te maken voor iedereen.
|
||||
</p>
|
||||
|
||||
<div style={{
|
||||
display: 'flex',
|
||||
gap: '20px',
|
||||
marginTop: '40px',
|
||||
flexWrap: 'wrap'
|
||||
}}>
|
||||
<div style={{
|
||||
flex: '1',
|
||||
minWidth: '250px',
|
||||
padding: '24px',
|
||||
backgroundColor: '#f8f9fa',
|
||||
borderRadius: '12px',
|
||||
border: '1px solid #e0e0e0'
|
||||
}}>
|
||||
<h3 style={{
|
||||
fontSize: '20px',
|
||||
fontWeight: '600',
|
||||
marginBottom: '12px',
|
||||
color: '#333'
|
||||
}}>Onze Visie</h3>
|
||||
<p style={{
|
||||
color: '#666',
|
||||
lineHeight: '1.6'
|
||||
}}>
|
||||
AI maakt development niet makkelijker — het maakt het SNELLER.
|
||||
Je moet nog steeds begrijpen wat je bouwt.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div style={{
|
||||
flex: '1',
|
||||
minWidth: '250px',
|
||||
padding: '24px',
|
||||
backgroundColor: '#f8f9fa',
|
||||
borderRadius: '12px',
|
||||
border: '1px solid #e0e0e0'
|
||||
}}>
|
||||
<h3 style={{
|
||||
fontSize: '20px',
|
||||
fontWeight: '600',
|
||||
marginBottom: '12px',
|
||||
color: '#333'
|
||||
}}>Ons Team</h3>
|
||||
<p style={{
|
||||
color: '#666',
|
||||
lineHeight: '1.6'
|
||||
}}>
|
||||
Vier developers, twee designers, en een AI die nooit slaapt.
|
||||
Samen bouwen we de toekomst.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div style={{
|
||||
flex: '1',
|
||||
minWidth: '250px',
|
||||
padding: '24px',
|
||||
backgroundColor: '#f8f9fa',
|
||||
borderRadius: '12px',
|
||||
border: '1px solid #e0e0e0'
|
||||
}}>
|
||||
<h3 style={{
|
||||
fontSize: '20px',
|
||||
fontWeight: '600',
|
||||
marginBottom: '12px',
|
||||
color: '#333'
|
||||
}}>Contact</h3>
|
||||
<p style={{
|
||||
color: '#666',
|
||||
lineHeight: '1.6'
|
||||
}}>
|
||||
Vragen? Neem contact op via ons contactformulier of stuur
|
||||
een mail naar info@debugchallenge.nl.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
124
v2/Les03-Cursor-Basics/les3-debug-challenge/app/contact/page.tsx
Normal file
124
v2/Les03-Cursor-Basics/les3-debug-challenge/app/contact/page.tsx
Normal file
@@ -0,0 +1,124 @@
|
||||
"use client";
|
||||
|
||||
import { useState } from "react";
|
||||
|
||||
export default function ContactPage() {
|
||||
const [naam, setNaam] = useState("");
|
||||
const [email, setEmail] = useState("");
|
||||
const [bericht, setBericht] = useState("");
|
||||
|
||||
const handleSubmit = (e: React.FormEvent) => {
|
||||
e.preventDefault();
|
||||
alert(`Bedankt ${naam}! Je bericht is verzonden.`);
|
||||
};
|
||||
|
||||
return (
|
||||
<div style={{
|
||||
maxWidth: '600px',
|
||||
margin: '0 auto',
|
||||
padding: '40px 20px'
|
||||
}}>
|
||||
<h1 style={{
|
||||
fontSize: '36px',
|
||||
fontWeight: 'bold',
|
||||
marginBottom: '8px',
|
||||
color: '#1a1a1a'
|
||||
}}>Contact</h1>
|
||||
|
||||
<p style={{
|
||||
color: '#666',
|
||||
marginBottom: '32px',
|
||||
fontSize: '16px'
|
||||
}}>Heb je een vraag? Vul het formulier in!</p>
|
||||
|
||||
<form onSubmit={handleSubmit} style={{
|
||||
display: 'flex',
|
||||
flexDirection: 'column',
|
||||
gap: '16px'
|
||||
}}>
|
||||
<div>
|
||||
<label style={{
|
||||
display: 'block',
|
||||
marginBottom: '6px',
|
||||
fontWeight: '500',
|
||||
color: '#333'
|
||||
}}>Naam</label>
|
||||
<input
|
||||
type="text"
|
||||
value={naam}
|
||||
onChange={(e) => setNaam(e.target.value)}
|
||||
required
|
||||
style={{
|
||||
width: '100%',
|
||||
padding: '10px 14px',
|
||||
border: '1px solid #ccc',
|
||||
borderRadius: '8px',
|
||||
fontSize: '16px',
|
||||
outline: 'none'
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label style={{
|
||||
display: 'block',
|
||||
marginBottom: '6px',
|
||||
fontWeight: '500',
|
||||
color: '#333'
|
||||
}}>Email</label>
|
||||
<input
|
||||
type="email"
|
||||
value={email}
|
||||
onChange={(e) => setEmail(e.target.value)}
|
||||
required
|
||||
style={{
|
||||
width: '100%',
|
||||
padding: '10px 14px',
|
||||
border: '1px solid #ccc',
|
||||
borderRadius: '8px',
|
||||
fontSize: '16px',
|
||||
outline: 'none'
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label style={{
|
||||
display: 'block',
|
||||
marginBottom: '6px',
|
||||
fontWeight: '500',
|
||||
color: '#333'
|
||||
}}>Bericht</label>
|
||||
<textarea
|
||||
value={bericht}
|
||||
onChange={(e) => setBericht(e.target.value)}
|
||||
required
|
||||
rows={5}
|
||||
style={{
|
||||
width: '100%',
|
||||
padding: '10px 14px',
|
||||
border: '1px solid #ccc',
|
||||
borderRadius: '8px',
|
||||
fontSize: '16px',
|
||||
outline: 'none',
|
||||
resize: 'vertical'
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<button type="submit" style={{
|
||||
backgroundColor: '#3b82f6',
|
||||
color: 'white',
|
||||
padding: '12px 24px',
|
||||
border: 'none',
|
||||
borderRadius: '8px',
|
||||
fontSize: '16px',
|
||||
fontWeight: '600',
|
||||
cursor: 'pointer'
|
||||
}}>
|
||||
Verstuur Bericht
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
23
v2/Les03-Cursor-Basics/les3-debug-challenge/app/layout.tsx
Normal file
23
v2/Les03-Cursor-Basics/les3-debug-challenge/app/layout.tsx
Normal file
@@ -0,0 +1,23 @@
|
||||
import type { Metadata } from "next";
|
||||
import "./globals.css";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Debug Challenge - Les 3",
|
||||
description: "Fix alle fouten in dit project!",
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: Readonly<{
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
return (
|
||||
<html lang="nl">
|
||||
<body className="min-h-screen bg-white text-gray-900">
|
||||
<Navbar />
|
||||
{children}
|
||||
<Footer />
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
12
v2/Les03-Cursor-Basics/les3-debug-challenge/app/page.tsx
Normal file
12
v2/Les03-Cursor-Basics/les3-debug-challenge/app/page.tsx
Normal file
@@ -0,0 +1,12 @@
|
||||
import Hero from "@/componenst/Hero";
|
||||
import FeatureCards from "@/components/FeatureCards";
|
||||
|
||||
export default function Home() {
|
||||
return (
|
||||
<main>
|
||||
<Hero />
|
||||
<FeatureCards />
|
||||
<TestimonialSection />
|
||||
</main>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user