diff --git a/src/app/dashboard/page.tsx b/src/app/dashboard/page.tsx
new file mode 100644
index 0000000..ea5fec3
--- /dev/null
+++ b/src/app/dashboard/page.tsx
@@ -0,0 +1,107 @@
+"use client";
+
+import { useEffect, useState } from "react";
+import { useRouter } from "next/navigation";
+
+export default function DashboardPage() {
+ const router = useRouter();
+ const [userEmail, setUserEmail] = useState("");
+ const [isLoading, setIsLoading] = useState(true);
+
+ useEffect(() => {
+ // Check if user is logged in
+ const email = localStorage.getItem("user_email");
+ if (!email) {
+ router.push("/login");
+ return;
+ }
+ setUserEmail(email);
+ setIsLoading(false);
+ }, [router]);
+
+ const handleLogout = () => {
+ localStorage.removeItem("user_email");
+ router.push("/");
+ };
+
+ if (isLoading) {
+ return (
+
+ );
+ }
+
+ return (
+
+
+
+
+
+
+ Welcome to Your Dashboard!
+
+
+ You have successfully registered and logged in to Learn German. Your teacher will be in touch with you soon to schedule your first lesson.
+
+
+
+
+
+ Your Lessons
+
+
View and manage your scheduled German lessons
+
+
+
+
+ Chat with Teacher
+
+
Send messages to your German teacher
+
+
+
+
+ Progress Tracking
+
+
Monitor your German learning progress
+
+
+
+
+
+ Getting Started
+
+
+ - Complete your profile information
+ - Schedule your first lesson with the teacher
+ - Start learning German in a safe, friendly environment
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 096ff15..bb1f70a 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -1,34 +1,23 @@
import type { Metadata } from "next";
-import { Halant } from "next/font/google";
import { Inter } from "next/font/google";
-import { Montserrat } from "next/font/google";
import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
-const halant = Halant({
- variable: "--font-halant", subsets: ["latin"],
- weight: ["300", "400", "500", "600", "700"],
-});
-
const inter = Inter({
variable: "--font-inter", subsets: ["latin"],
});
-const montserrat = Montserrat({
- variable: "--font-montserrat", subsets: ["latin"],
-});
-
export const metadata: Metadata = {
- title: "Deutsch Lernen für Kinder | Sicherer Online-Unterricht", description: "Deutschunterricht für Kinder (5-12 Jahre) mit persönlicher Betreuung. Sicher, kinderfreundlich und mit direktem Chat zur Lehrerin.", keywords: "Deutschunterricht Kinder, Deutsch lernen, Online Unterricht Kinder, Sprachunterricht", metadataBase: new URL("https://deutsch-lernen-kinder.example.com"),
+ title: "Learn German for Kids | Safe Online Tutoring", description: "German lessons for children (5-12 years) with personal attention. Safe, child-friendly, and direct chat with the teacher.", keywords: "German lessons kids, learn German, online lessons kids, language tutoring", metadataBase: new URL("https://learn-german-kids.example.com"),
openGraph: {
- title: "Deutsch Lernen für Kinder 🌸", description: "Sicherer und freundlicher Deutschunterricht speziell für Kinder zwischen 5 und 12 Jahren.", siteName: "Deutsch Lernen", type: "website", images: [
+ title: "Learn German for Kids", description: "Safe and friendly German lessons specifically for children ages 5-12.", siteName: "Learn German", type: "website", images: [
{
- url: "http://img.b2bpic.net/free-photo/row-multiethnic-elementary-students-reading-book-classroom-vintage-effect-style-pictures_1253-1577.jpg", alt: "Kinder lernen Deutsch"},
+ url: "http://img.b2bpic.net/free-photo/row-multiethnic-elementary-students-reading-book-classroom-vintage-effect-style-pictures_1253-1577.jpg", alt: "Children learning German"},
],
},
twitter: {
- card: "summary_large_image", title: "Deutsch Lernen für Kinder", description: "Freundlicher Online-Deutschunterricht für Kinder (5-12 Jahre)", images: ["http://img.b2bpic.net/free-photo/row-multiethnic-elementary-students-reading-book-classroom-vintage-effect-style-pictures_1253-1577.jpg"],
+ card: "summary_large_image", title: "Learn German for Kids", description: "Friendly online German lessons for children (5-12 years)", images: ["http://img.b2bpic.net/free-photo/row-multiethnic-elementary-students-reading-book-classroom-vintage-effect-style-pictures_1253-1577.jpg"],
},
robots: {
index: true,
@@ -45,7 +34,7 @@ export default function RootLayout({
{children}
diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx
new file mode 100644
index 0000000..423e454
--- /dev/null
+++ b/src/app/login/page.tsx
@@ -0,0 +1,121 @@
+"use client";
+
+import { useState } from "react";
+import { useRouter } from "next/navigation";
+
+export default function LoginPage() {
+ const router = useRouter();
+ const [email, setEmail] = useState("");
+ const [password, setPassword] = useState("");
+ const [error, setError] = useState("");
+ const [isLoading, setIsLoading] = useState(false);
+
+ const handleLogin = async (e: React.FormEvent) => {
+ e.preventDefault();
+ setError("");
+ setIsLoading(true);
+
+ try {
+ // Simulate login API call
+ if (!email || !password) {
+ setError("Please enter both email and password.");
+ return;
+ }
+
+ // Here you would typically make an API call to authenticate
+ // For now, we'll simulate a successful login
+ console.log("Login attempt:", { email, password });
+
+ // Simulate successful login
+ localStorage.setItem("user_email", email);
+ router.push("/dashboard");
+ } catch (err) {
+ setError("Login failed. Please try again.");
+ console.error(err);
+ } finally {
+ setIsLoading(false);
+ }
+ };
+
+ const handleRegister = () => {
+ router.push("/#contact");
+ };
+
+ return (
+
+
+
+
+ Learn German
+
+
Login to your account
+
+
+
+
+
+ Don't have an account?{" "}
+
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/app/page.tsx b/src/app/page.tsx
index ac98bc4..fd70915 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -12,6 +12,12 @@ import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis"
import { Heart, HelpCircle, Sparkles, Star, Zap } from "lucide-react";
export default function LandingPage() {
+ const handleRegistrationSubmit = (data: Record) => {
+ console.log("Registration form submitted:", data);
+ // Handle registration logic here
+ window.location.href = "/login";
+ };
+
return (
@@ -43,23 +49,23 @@ export default function LandingPage() {
@@ -209,27 +216,27 @@ export default function LandingPage() {