diff --git a/app/Dashboard/page.tsx b/app/Dashboard/page.tsx
new file mode 100644
index 0000000..a3a4eba
--- /dev/null
+++ b/app/Dashboard/page.tsx
@@ -0,0 +1,121 @@
+"use client";
+
+import React, { useState } from "react";
+import { useRouter } from "next/navigation";
+import Link from 'next/link';
+
+export default function Dashboard() {
+ const router = useRouter();
+ const [query, setQuery] = useState("");
+ const [sideBarOpen, setSidebarOpen] = useState(true);
+
+ const projects = [
+ { name: "Alpha Project", createdAt: "2025-01-01" },
+ { name: "Beta Board", createdAt: "2025-02-15" },
+ { name: "Gamma Tasl", createdAt: "2025-03-10" },
+ ];
+ const filtered = projects.filter((p) =>
+ p.name.toLowerCase().includes(query.toLowerCase())
+ );
+
+ return (
+
+
+
+
+
+
+
+
+ Project Names
+
+
+
+
+ {filtered.map((project, index) => (
+ -
+ {project.name}
+
+ Created: {project.createdAt}
+
+
+ ))}
+ {filtered.length === 0 && (
+ - No results found
+ )}
+
+
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/app/favicon.ico b/app/favicon.ico
deleted file mode 100644
index 718d6fe..0000000
Binary files a/app/favicon.ico and /dev/null differ
diff --git a/app/globals.css b/app/globals.css
index a2dc41e..89e0fba 100644
--- a/app/globals.css
+++ b/app/globals.css
@@ -1,26 +1,45 @@
+/* 1. Import BOTH fonts in one go */
+@import url('https://fonts.googleapis.com/css2?family=Concert+One&family=Pixelify+Sans:wght@400;700&display=swap');
+
@import "tailwindcss";
:root {
- --background: #ffffff;
- --foreground: #171717;
+ --background: #FEEEDF;
+ --foreground: #DEE5D4;
}
@theme inline {
--color-background: var(--background);
--color-foreground: var(--foreground);
- --font-sans: var(--font-geist-sans);
+
+ /* 3. Assign fonts to Tailwind's theme */
+
+ /* --font-sans is for regular text (Concert One) */
+ --font-sans: var(--font-concert-one);
+
+ /* We add a new font family for headers (Pixelify Sans) */
+ /* This also creates a 'font-header' utility class */
+ --font-header: var(--font-pixelify);
+
--font-mono: var(--font-geist-mono);
}
@media (prefers-color-scheme: dark) {
:root {
- --background: #0a0a0a;
- --foreground: #ededed;
+ --background: #e2dede;
+ --foreground: #000000;
}
}
body {
background: var(--background);
color: var(--foreground);
- font-family: Arial, Helvetica, sans-serif;
+
+ /* 4. Body uses --font-sans (Concert One) by default */
+ font-family: var(--font-sans);
}
+
+/* 5. (Optional but helpful) Apply header font to h-tags by default */
+h1, h2, h3, h4, h5, h6 {
+ font-family: var(--font-header);
+}
\ No newline at end of file
diff --git a/app/layout.tsx b/app/layout.tsx
index f7fa87e..a396698 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -1,14 +1,20 @@
+// app/layout.tsx
+
import type { Metadata } from "next";
-import { Geist, Geist_Mono } from "next/font/google";
+// 1. Import your two new fonts
+import { Concert_One, Pixelify_Sans } from "next/font/google";
import "./globals.css";
-const geistSans = Geist({
- variable: "--font-geist-sans",
+// 2. Set up Concert One as the body/sans font
+const concertOne = Concert_One({
+ variable: "--font-sans", // Use --font-sans for the default
subsets: ["latin"],
+ weight: "400", // This font only has one weight
});
-const geistMono = Geist_Mono({
- variable: "--font-geist-mono",
+// 3. Set up Pixelify Sans as the header font
+const pixelifySans = Pixelify_Sans({
+ variable: "--font-header", // Use a custom --font-header variable
subsets: ["latin"],
});
@@ -24,11 +30,12 @@ export default function RootLayout({
}>) {
return (
+ {/* 4. Apply the new variables to the body */}
{children}
);
-}
+}
\ No newline at end of file
diff --git a/app/page.tsx b/app/page.tsx
index 295f8fd..f85cd0b 100644
--- a/app/page.tsx
+++ b/app/page.tsx
@@ -1,65 +1,127 @@
-import Image from "next/image";
+"use client";
-export default function Home() {
- return (
-
-
-
-
-
- To get started, edit the page.tsx file.
-
-
- Looking for a starting point or more instructions? Head over to{" "}
-
- Templates
- {" "}
- or the{" "}
-
- Learning
- {" "}
- center.
-
-
-
-
-
- );
+import { useEffect } from 'react';
+import { useRouter } from 'next/navigation';
+import Image from 'next/image';
+import ProtectedNavButton from "../components/ProtectedNavButton";
+import Link from 'next/link';
+
+export default function Page() {
+ return (
+
+
+
+
+
+
+
+
+ (project name)
+
+
+ Looking for a starting point or more instructions? Head over to{" "}
+
+ Templates
+ {" "}
+ or the{" "}
+
+ Learning
+ {" "}
+ center.
+
+
+
Get Started
+
+
+
+
+ Image Placeholder
+
+
+
+
+
+
+
+ Guide:
+
+
+
+
+
+
+ First Text Block
+
+
+ This is the content for the first text block. You can write anything here.
+
+
+
+
+ Image Placeholder
+
+
+
+
+
+
+
+ Image Placeholder
+
+
+
+
+
+
+ Second Text Block
+
+
+ This is the content for the second text block. You can write anything here.
+
+
+
+
+
+
+
+
+ Third Text Block
+
+
+ This is the content for the third text block. You can write anything here.
+
+
+
+
+ Image Placeholder
+
+
+
+
+
+
+ );
}
diff --git a/components/ProtectedNavButton.tsx b/components/ProtectedNavButton.tsx
new file mode 100644
index 0000000..34fa0e7
--- /dev/null
+++ b/components/ProtectedNavButton.tsx
@@ -0,0 +1,33 @@
+"use client";
+
+import React from "react";
+import { useRouter } from "next/navigation";
+
+export default function ProtectedNavButton({
+ children = "Go to Dashboard",
+ className = "mt-4 inline-block w-fit px-6 py-3 bg-blue-600 hover:bg-blue-700 text-white font-medium rounded-md shadow-md transition-colors",
+}: {
+ children?: React.ReactNode;
+ className?: string;
+}) {
+ const router = useRouter();
+
+ const handleClick = () => {
+ // Simple client-side auth check.
+ // Assumption: if localStorage has 'token' (or 'auth'), user is signed in.
+ // Adjust key to match your real auth storage (cookie, localStorage key, etc.).
+ const token = typeof window !== "undefined" ? localStorage.getItem("token") : null;
+
+ if (token) {
+ router.push("/dashboard");
+ } else {
+ router.push("/auth/login");
+ }
+ };
+
+ return (
+
+ );
+}
diff --git a/public/logo.svg b/public/logo.svg
new file mode 100644
index 0000000..5f08320
--- /dev/null
+++ b/public/logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/tailwind.config.cjs b/tailwind.config.cjs
new file mode 100644
index 0000000..b17ba44
--- /dev/null
+++ b/tailwind.config.cjs
@@ -0,0 +1,12 @@
+/** @type {import('tailwindcss').Config} */
+module.exports = {
+ content: [
+ './app/**/*.{js,ts,jsx,tsx}',
+ './components/**/*.{js,ts,jsx,tsx}',
+ './pages/**/*.{js,ts,jsx,tsx}',
+ ],
+ theme: {
+ extend: {},
+ },
+ plugins: [],
+};