diff --git a/app/page.tsx b/app/page.tsx index e26b9b2..293ced7 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,30 +1,31 @@ -"use client" +"use client"; -import { Navbar } from "@/components/landing/navbar" -import { Footer } from "@/components/landing/footer" -import { LandingHero } from "@/components/landing/hero-section" -import { ComicCreationForm } from "@/components/landing/comic-creation-form" -import { useState, useEffect } from "react" +import { Navbar } from "@/components/landing/navbar"; +import { Footer } from "@/components/landing/footer"; +import { LandingHero } from "@/components/landing/hero-section"; +import { ComicCreationForm } from "@/components/landing/comic-creation-form"; +import { ComicPreview } from "@/components/landing/comic-preview"; +import { useState, useEffect } from "react"; export default function Home() { - const [currentPage, setCurrentPage] = useState(1) - const [prompt, setPrompt] = useState("") - const [style, setStyle] = useState("noir") - const [characterFiles, setCharacterFiles] = useState([]) - const [isLoading, setIsLoading] = useState(false) + const [currentPage, setCurrentPage] = useState(1); + const [prompt, setPrompt] = useState(""); + const [style, setStyle] = useState("noir"); + const [characterFiles, setCharacterFiles] = useState([]); + const [isLoading, setIsLoading] = useState(false); // Auto-loop through pages every 6 seconds useEffect(() => { const interval = setInterval(() => { - setCurrentPage((prev) => (prev === 3 ? 1 : prev + 1)) - }, 6000) + setCurrentPage((prev) => (prev === 4 ? 1 : prev + 1)); + }, 6000); - return () => clearInterval(interval) - }, []) + return () => clearInterval(interval); + }, []); const goToPage = (page: number) => { - setCurrentPage(page) - } + setCurrentPage(page); + }; return (
@@ -42,186 +43,28 @@ export default function Home() {
-
-
- -
-
+
+
+ +
+
{/* Right: Visual Preview / Canvas */} -
- {/* Dot grid background */} -
- -
- {/* Background floating comics - less prominent */} -
-
-
- Background comic -
-
-
- -
-
-
- Background comic -
-
-
- -
-
-
- Background comic -
-
-
- -
-
-
- Background comic -
-
-
- -
-
-
- {/* Page transition container */} -
- {/* Page 1 */} -
- Comic preview page 1 -
-
- Page 1 -
-
- {'"The city needs a hero..."'} -
-
- - {/* Page 2 */} -
- Comic preview page 2 -
-
- Page 2 -
-
- {'"And a hero shall rise!"'} -
-
- -
- Comic preview page 3 -
-
- Page 3 -
-
- {'"The battle begins!"'} -
-
-
-
-
-
- -
- - - -
-
-
+
- ) + ); } diff --git a/components/landing/comic-preview.tsx b/components/landing/comic-preview.tsx new file mode 100644 index 0000000..a1ce0f5 --- /dev/null +++ b/components/landing/comic-preview.tsx @@ -0,0 +1,224 @@ +export function ComicPreview({ + currentPage, + goToPage, +}: { + currentPage: number; + goToPage: (page: number) => void; +}) { + return ( +
+ {/* Dot grid background */} +
+ +
+ {/* Background floating comics - less prominent - hidden on mobile */} +
+
+
+ Background comic +
+
+
+ +
+
+
+ Background comic +
+
+
+ +
+
+
+ Background comic +
+
+
+ +
+
+
+ Background comic +
+
+
+ +
+
+
+ {/* Page transition container */} +
+ {/* Page 1 */} +
+ Comic preview page 1 +
+
+ American Modern +
+
+ {"\"And a hero shall rise!\""} +
+
+ + {/* Page 2 */} +
+ Comic preview page 2 +
+
+ Manga +
+
+ {"\"The battle begins!\""} +
+
+ +
+ Comic preview page 3 +
+
+ Noir +
+
+ {"\"The city needs a hero...\""} +
+
+ + {/* Page 4 */} +
+ Comic preview page 4 +
+
+ Vintage +
+
+ {"\"Super Action\""} +
+
+
+
+
+
+ +
+ + + + +
+
+
+ ); +} \ No newline at end of file diff --git a/public/vintage-superman.jpg b/public/vintage-superman.jpg new file mode 100644 index 0000000..4f74797 Binary files /dev/null and b/public/vintage-superman.jpg differ