From 92623879c2c5a45d03db323806d188fda0e7166a Mon Sep 17 00:00:00 2001 From: Aman Kumar Bairagi Date: Fri, 14 Feb 2025 05:06:40 +0530 Subject: [PATCH 1/4] feat: revamped the landing page --- apps/web/app/globals.css | 140 ++++--- apps/web/app/layout.tsx | 2 +- apps/web/app/page.tsx | 8 +- apps/web/components/Hero.tsx | 394 ++++++++++++++++++ apps/web/components/landing/faq.tsx | 52 +++ apps/web/components/landing/features.tsx | 53 +++ apps/web/components/landing/footer.tsx | 31 ++ apps/web/components/landing/hero.tsx | 133 ++++++ .../illustrations/avatar-component.tsx | 49 +++ .../illustrations/img-illustration.tsx | 42 ++ .../landing/illustrations/rotating-people.tsx | 55 +++ apps/web/components/toggler.tsx | 26 ++ apps/web/components/ui/accordion.tsx | 59 +++ apps/web/components/ui/badge.tsx | 36 ++ apps/web/constants/data.ts | 56 +++ apps/web/package.json | 1 + bun.lockb | Bin 300704 -> 0 bytes package.json | 8 +- 18 files changed, 1094 insertions(+), 51 deletions(-) create mode 100644 apps/web/components/Hero.tsx create mode 100644 apps/web/components/landing/faq.tsx create mode 100644 apps/web/components/landing/features.tsx create mode 100644 apps/web/components/landing/footer.tsx create mode 100644 apps/web/components/landing/hero.tsx create mode 100644 apps/web/components/landing/illustrations/avatar-component.tsx create mode 100644 apps/web/components/landing/illustrations/img-illustration.tsx create mode 100644 apps/web/components/landing/illustrations/rotating-people.tsx create mode 100644 apps/web/components/toggler.tsx create mode 100644 apps/web/components/ui/accordion.tsx create mode 100644 apps/web/components/ui/badge.tsx create mode 100644 apps/web/constants/data.ts delete mode 100755 bun.lockb diff --git a/apps/web/app/globals.css b/apps/web/app/globals.css index d8c9c45..523ac36 100644 --- a/apps/web/app/globals.css +++ b/apps/web/app/globals.css @@ -78,58 +78,49 @@ } :root { - --background: hsl(0 0% 100%); - --foreground: hsl(0 0% 3.9%); - --card: hsl(0 0% 100%); - --card-foreground: hsl(0 0% 3.9%); - --popover: hsl(0 0% 100%); - --popover-foreground: hsl(0 0% 3.9%); - --primary: hsl(0 0% 9%); - --primary-foreground: hsl(0 0% 98%); - --secondary: hsl(0 0% 96.1%); - --secondary-foreground: hsl(0 0% 9%); - --muted: hsl(0 0% 96.1%); - --muted-foreground: hsl(0 0% 45.1%); - --accent: hsl(0 0% 96.1%); - --accent-foreground: hsl(0 0% 9%); - --destructive: hsl(0 84.2% 60.2%); - --destructive-foreground: hsl(0 0% 98%); - --border: hsl(0 0% 89.8%); - --input: hsl(0 0% 89.8%); - --ring: hsl(0 0% 3.9%); - --chart-1: hsl(12 76% 61%); - --chart-2: hsl(173 58% 39%); - --chart-3: hsl(197 37% 24%); - --chart-4: hsl(43 74% 66%); - --chart-5: hsl(27 87% 67%); + --background: hsl(292 0% 100%); + --foreground: hsl(292 0% 10%); + --card: hsl(292 0% 100%); + --card-foreground: hsl(292 0% 15%); + --popover: hsl(292 0% 100%); + --popover-foreground: hsl(292 95% 10%); + --primary: hsl(292 72% 59%); + --primary-foreground: hsl(0 0% 100%); + --secondary: hsl(292 10% 90%); + --secondary-foreground: hsl(0 0% 0%); + --muted: hsl(254 10% 95%); + --muted-foreground: hsl(292 0% 40%); + --accent: hsl(0, 0%, 95%); + --accent-foreground: hsl(292 0% 15%); + --destructive: hsl(0 50% 50%); + --destructive-foreground: hsl(292 0% 100%); + --border: hsl(285, 6%, 87%); + --input: hsl(292 20% 50%); + --ring: hsl(292 72% 59%); --radius: 0.6rem; } .dark { - --background: hsl(0 0% 3.9%); - --foreground: hsl(0 0% 98%); - --card: hsl(0 0% 3.9%); - --card-foreground: hsl(0 0% 98%); - --popover: hsl(0 0% 3.9%); - --popover-foreground: hsl(0 0% 98%); - --primary: hsl(0 0% 98%); - --primary-foreground: hsl(0 0% 9%); - --secondary: hsl(0 0% 14.9%); - --secondary-foreground: hsl(0 0% 98%); - --muted: hsl(0 0% 14.9%); - --muted-foreground: hsl(0 0% 63.9%); - --accent: hsl(0 0% 14.9%); - --accent-foreground: hsl(0 0% 98%); - --destructive: hsl(0 62.8% 30.6%); - --destructive-foreground: hsl(0 0% 98%); - --border: hsl(0 0% 14.9%); - --input: hsl(0 0% 14.9%); - --ring: hsl(0 0% 83.1%); - --chart-1: hsl(220 70% 50%); - --chart-2: hsl(160 60% 45%); - --chart-3: hsl(30 80% 55%); - --chart-4: hsl(280 65% 60%); - --chart-5: hsl(340 75% 55%); + --background: hsl(292 10% 7%); + --foreground: hsl(292 0% 90%); + --card: hsl(292 0% 7%); + --card-foreground: hsl(292 0% 90%); + --popover: hsl(292 10% 5%); + --popover-foreground: hsl(292 0% 90%); + --primary: hsl(292 72% 59%); + --primary-foreground: 0 0% 100%; + --secondary: hsl(292 10% 10%); + --secondary-foreground: 0 0% 100%; + --muted: hsl(254 10% 15%); + --muted-foreground: hsl(292 0% 60%); + --accent: hsl(254 10% 15%); + --accent-foreground: hsl(292 0% 90%); + --destructive: hsl(0 50% 30%); + --destructive-foreground: hsl(292 0% 90%); + --border: hsl(300, 6%, 13%); + --input: hsl(292 20% 18%); + --ring: hsl(292 72% 59%); + --radius: 0.6rem; } @theme inline { @@ -172,6 +163,11 @@ } } +@theme { + --font-primary: "Manrope", sans-serif; + --font-secondary: "Instrument Serif", serif; +} + @layer base { :root { --sidebar-background: 0 0% 98%; @@ -195,3 +191,51 @@ --sidebar-ring: 217.2 91.2% 59.8%; } } + +/* Animations */ + +@keyframes rotate { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +.rotate-circle { + animation: rotate 60s linear infinite; +} + +.counter-rotate { + animation: spin 60s linear infinite reverse; +} + +/* Accordion */ + +@keyframes accordion-down { + from { + height: 0; + } + to { + height: var(--radix-accordion-content-height); + } +} + +@keyframes accordion-up { + from { + height: var(--radix-accordion-content-height); + } + to { + height: 0; + } +} + +/* Animation classes you can apply to your elements */ +.animate-accordion-down { + animation: accordion-down 0.2s ease-out; +} + +.animate-accordion-up { + animation: accordion-up 0.2s ease-out; +} diff --git a/apps/web/app/layout.tsx b/apps/web/app/layout.tsx index 6c35438..1dfdc52 100644 --- a/apps/web/app/layout.tsx +++ b/apps/web/app/layout.tsx @@ -1,5 +1,5 @@ import type { Metadata } from "next"; -import localFont from "next/font/local"; +import { Figtree, Instrument_Serif, Manrope } from "next/font/google"; import "./globals.css"; import { Appbar } from "@/components/Appbar"; import { Providers } from "@/components/providers/Providers"; diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx index fb0800a..5bfe438 100644 --- a/apps/web/app/page.tsx +++ b/apps/web/app/page.tsx @@ -1,9 +1,15 @@ -import { Hero } from "@/components/home/Hero"; +import Features from "@/components/landing/features"; +import FAQ from "@/components/landing/faq"; +import Footer from "@/components/landing/footer"; +import Hero from "@/components/landing/hero"; export default function Home() { return (
+ + +
); } diff --git a/apps/web/components/Hero.tsx b/apps/web/components/Hero.tsx new file mode 100644 index 0000000..72dcf2c --- /dev/null +++ b/apps/web/components/Hero.tsx @@ -0,0 +1,394 @@ +"use client"; +import { SignInButton, SignedIn, SignedOut } from "@clerk/nextjs"; +import { Button } from "./ui/button"; +import { useRouter } from "next/navigation"; +import { motion } from "motion/react"; +import { + ArrowRight, + Sparkles, + Camera, + Wand2, + Users, + Star, + Clock, + CheckCircle2, + Zap, +} from "lucide-react"; +import useEmblaCarousel from "embla-carousel-react"; +import Autoplay from "embla-carousel-autoplay"; +import { useEffect, useState } from "react"; + +export function Hero() { + const router = useRouter(); + const [emblaRef, emblaApi] = useEmblaCarousel( + { + loop: true, + align: "start", + skipSnaps: false, + dragFree: true, + }, + [ + Autoplay({ + delay: 3000, + stopOnInteraction: false, + stopOnMouseEnter: true, + }), + ] + ); + const [selectedIndex, setSelectedIndex] = useState(0); + const [scrollSnaps, setScrollSnaps] = useState([]); + + useEffect(() => { + if (emblaApi) { + setScrollSnaps(emblaApi.scrollSnapList()); + emblaApi.on("select", () => { + setSelectedIndex(emblaApi.selectedScrollSnap()); + }); + } + }, [emblaApi]); + + const features = [ + { + icon: , + title: "Professional Quality", + description: "Studio-grade portraits generated in seconds", + gradient: "from-blue-500 to-purple-500", + }, + { + icon: , + title: "Magic Editing", + description: "Advanced AI tools to perfect every detail", + gradient: "from-purple-500 to-pink-500", + }, + { + icon: , + title: "Family Collections", + description: "Create stunning portraits for the whole family", + gradient: "from-pink-500 to-red-500", + }, + { + icon: , + title: "Instant Delivery", + description: "Get your photos in minutes, not days", + gradient: "from-red-500 to-orange-500", + }, + ]; + + const testimonials = [ + { + text: "The quality of these AI portraits is absolutely incredible. They look better than my professional headshots!", + author: "Sarah J.", + role: "Marketing Director", + avatar: + "https://r2-us-west.photoai.com/1739277231-0b2465581e9551abecd467b163d0d48a-1.png", + }, + { + text: "We used this for our family portraits and the results were stunning. So much easier than a traditional photoshoot.", + author: "Michael R.", + role: "Family of 5", + avatar: + "https://r2-us-west.photoai.com/1739273789-920e7410ef180855f9a5718d1e37eb3a-1.png", + }, + { + text: "Game-changer for my professional brand. The variety of styles and quick delivery is unmatched.", + author: "David L.", + role: "Entrepreneur", + avatar: + "https://r2-us-west.photoai.com/1739273783-9effbeb7239423cba9629e7dd06f3565-1.png", + }, + ]; + + return ( +
+ {/* Animated background elements */} +
+
+
+
+
+
+
+ +
+ {/* Hero Header Section */} + +
+ + + Next-Gen AI Portrait Generation + + + + Powered by Advanced AI + +
+

+ Transform Your Photos +
+ + Into Magic + +

+

+ Experience the next evolution in portrait photography. Create + stunning, professional-quality portraits that capture your essence + in seconds. +

+ +
+ + + 100% AI-Powered + + + + Instant Results + + + + Professional Quality + +
+
+ + {/* Main CTA and Carousel Section */} + +
+ + + + + + +
+ +
+
+
+
+
+ {[ + "https://r2-us-west.photoai.com/1739277231-0b2465581e9551abecd467b163d0d48a-1.png", + "https://r2-us-west.photoai.com/1739273789-920e7410ef180855f9a5718d1e37eb3a-1.png", + "https://r2-us-west.photoai.com/1739273783-9effbeb7239423cba9629e7dd06f3565-1.png", + "https://r2-us-west.photoai.com/1738861046-1175c64ebe0ecfe10b857e205b3b4a1e-3.png", + "https://r2-us-west.photoai.com/1738859038-086cec35785b734c68f99cab1f23d5a2-3.png", + "https://r2-us-west.photoai.com/1738859049-0c3f5f8cbb13210cf7bb1e356fd5a30a-3.png", + ].map((src, index) => ( +
+
+ + {`AI +
+
+

+ Portrait Style {index + 1} +

+

+ Professional Grade Output +

+
+
+
+
+
+ ))} +
+
+
+ emblaApi?.scrollPrev()} + > + + +
+ {scrollSnaps.map((_, i) => ( + emblaApi?.scrollTo(i)} + /> + ))} +
+ emblaApi?.scrollNext()} + > + + +
+
+
+ + + {/* Features Section */} + + {features.map((feature, index) => ( + +
+
+ {feature.icon} +
+
+

+ {feature.title} +

+

{feature.description}

+
+ ))} +
+ + {/* Testimonials Section */} + +

+ Loved by Creators +

+

+ Join thousands of satisfied users who have transformed their + portraits +

+
+ {testimonials.map((testimonial, index) => ( + +
+
+ {testimonial.author} +
+
+ +

{testimonial.text}

+
+

+ {testimonial.author} +

+

{testimonial.role}

+
+
+ ))} +
+
+ + {/* Final CTA Section */} + +
+

+ Ready to Transform Your Photos? +

+

+ Join the future of portrait photography. Create stunning, + professional portraits in seconds. +

+ + + + +
+
+ ); +} diff --git a/apps/web/components/landing/faq.tsx b/apps/web/components/landing/faq.tsx new file mode 100644 index 0000000..e6c7a7c --- /dev/null +++ b/apps/web/components/landing/faq.tsx @@ -0,0 +1,52 @@ +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "@/components/ui/accordion"; +import { faq } from "@/constants/data"; +import { Question } from "@phosphor-icons/react/dist/ssr"; + +export default function FAQ() { + return ( + <> +
+
+
+

+ + FAQ +

+
+ Frequently Asked +
{" "} + + Questions + +
+
+

+ Here are some of the questions that we get asked about PhotoAI. +

+
+
+ {/* add shadcn accordion component here */} + + {faq.map((item, index) => ( + + + {item.question} + + {item.answer} + + ))} + +
+
+ + ); +} diff --git a/apps/web/components/landing/features.tsx b/apps/web/components/landing/features.tsx new file mode 100644 index 0000000..3944e67 --- /dev/null +++ b/apps/web/components/landing/features.tsx @@ -0,0 +1,53 @@ +import { features } from "@/constants/data"; +import { Medal } from "@phosphor-icons/react/dist/ssr"; + +export default function Features() { + return ( + <> +
+
+
+

+ + Features +

+
+ Benefits of using +
{" "} + + PhotoAI + +
+
+

+ PhotoAI is a platform that allows you to create stunning images + using +
+ AI and also let's you customize the images to your liking. +

+
+
+ {features.map((feature) => ( +
+
+ +
+
+

+ {feature.title} +

+

+ {feature.description} +

+
+
+
+ ))} +
+
+ + ); +} diff --git a/apps/web/components/landing/footer.tsx b/apps/web/components/landing/footer.tsx new file mode 100644 index 0000000..7adf750 --- /dev/null +++ b/apps/web/components/landing/footer.tsx @@ -0,0 +1,31 @@ +import { Sparkle } from "@phosphor-icons/react/dist/ssr"; + +export default function Footer() { + return ( + <> +
+
+
+
+ +
+ + PhotoAI + +
+
+

+ © {new Date().getFullYear()}{" "} + PhotoAI. All rights + reserved. +

+
+
+ +
+ PhotoAI +
+
+ + ); +} diff --git a/apps/web/components/landing/hero.tsx b/apps/web/components/landing/hero.tsx new file mode 100644 index 0000000..8fb12f4 --- /dev/null +++ b/apps/web/components/landing/hero.tsx @@ -0,0 +1,133 @@ +"use client"; +import { + ArrowRight, + Cube, + CubeFocus, + Robot, + Rocket, + RocketLaunch, + ShootingStar, + Sliders, + Sparkle, +} from "@phosphor-icons/react/dist/ssr"; +import { Button } from "../ui/button"; +import ImgIllustration from "./illustrations/img-illustration"; +import { Badge } from "../ui/badge"; +import RotatingPeople from "./illustrations/rotating-people"; +import AvatarComponent from "./illustrations/avatar-component"; +import { SignedIn, SignedOut, SignInButton } from "@clerk/nextjs"; +import { useRouter } from "next/navigation"; + +export default function Hero() { + const router = useRouter(); + return ( + <> +
+
+ + Next-Gen AI + Portrait Generation + +
+
+ Transform any +
+ + photo +
{" "} +
+

+ into{" "} + + Magic + {" "} + with AI +

+
+

+ Experience the{" "} + + next evolution + {" "} + in portrait photography. +
+ Create stunning,{" "} + + professional-quality + {" "} + portraits that capture your essence in{" "} + + seconds + + . +

+
+ + + + + + + + +
+ + +
+ + +
+
+
+ +
+ PhotoAI +
+
+
+
+ +
+
+ + Top Quality +
+
+ + AI-Powered +
+
+ + Customizable +
+
+ + Instant Results +
+
+
+
+ + ); +} diff --git a/apps/web/components/landing/illustrations/avatar-component.tsx b/apps/web/components/landing/illustrations/avatar-component.tsx new file mode 100644 index 0000000..b842638 --- /dev/null +++ b/apps/web/components/landing/illustrations/avatar-component.tsx @@ -0,0 +1,49 @@ +"use client"; + +import { cn } from "@/lib/utils"; + +export default function AvatarComponent({ className }: { className?: string }) { + return ( +
+
+ Avatar 01 + Avatar 02 + Avatar 03 + Avatar 04 +
+

+ Trusted by 50+{" "} + founders. +

+
+ ); +} diff --git a/apps/web/components/landing/illustrations/img-illustration.tsx b/apps/web/components/landing/illustrations/img-illustration.tsx new file mode 100644 index 0000000..c881302 --- /dev/null +++ b/apps/web/components/landing/illustrations/img-illustration.tsx @@ -0,0 +1,42 @@ +import Image from "next/image"; + +export default function ImgIllustration() { + const IMAGES = [ + "https://r2-us-west.photoai.com/1739277231-0b2465581e9551abecd467b163d0d48a-1.png", + "https://r2-us-west.photoai.com/1739273783-9effbeb7239423cba9629e7dd06f3565-1.png", + "https://r2-us-west.photoai.com/1738859038-086cec35785b734c68f99cab1f23d5a2-3.png", + ]; + return ( + <> +
+
+ img-illustration-1 +
+
+ img-illustration-2 +
+
+ img-illustration-3 +
+
+ + ); +} diff --git a/apps/web/components/landing/illustrations/rotating-people.tsx b/apps/web/components/landing/illustrations/rotating-people.tsx new file mode 100644 index 0000000..8e7945c --- /dev/null +++ b/apps/web/components/landing/illustrations/rotating-people.tsx @@ -0,0 +1,55 @@ +import React from "react"; +import { Users } from "lucide-react"; +import Image from "next/image"; +import { cn } from "@/lib/utils"; + +export default function RotatingPeople({ className }: { className?: string }) { + const profiles = [ + "https://r2-us-west.photoai.com/1739277231-0b2465581e9551abecd467b163d0d48a-1.png", + "https://r2-us-west.photoai.com/1739273789-920e7410ef180855f9a5718d1e37eb3a-1.png", + "https://r2-us-west.photoai.com/1739273783-9effbeb7239423cba9629e7dd06f3565-1.png", + "https://r2-us-west.photoai.com/1738861046-1175c64ebe0ecfe10b857e205b3b4a1e-3.png", + "https://r2-us-west.photoai.com/1738859038-086cec35785b734c68f99cab1f23d5a2-3.png", + "https://r2-us-west.photoai.com/1738859049-0c3f5f8cbb13210cf7bb1e356fd5a30a-3.png", + "https://r2-us-west.photoai.com/1739273783-9effbeb7239423cba9629e7dd06f3565-1.png", + "https://r2-us-west.photoai.com/1738861046-1175c64ebe0ecfe10b857e205b3b4a1e-3.png", + ]; + + return ( +
+
+ {profiles.map((profile, index) => { + const angle = (index * 360) / profiles.length; + const radius = 550; // Adjust this value to change the circle size + const radian = (angle * Math.PI) / 180; + const x = Math.cos(radian) * radius; + const y = Math.sin(radian) * radius; + + return ( +
+
+ {`Profile +
+
+ ); + })} +
+
+ ); +} diff --git a/apps/web/components/toggler.tsx b/apps/web/components/toggler.tsx new file mode 100644 index 0000000..46655a6 --- /dev/null +++ b/apps/web/components/toggler.tsx @@ -0,0 +1,26 @@ +"use client"; + +import * as React from "react"; +import { useTheme } from "next-themes"; +import { Moon, Sun } from "@phosphor-icons/react"; + +export function ToggleTheme() { + const { setTheme, theme } = useTheme(); + return ( + <> +
setTheme(theme === "light" ? "dark" : "light")} + > + + +
+ + ); +} diff --git a/apps/web/components/ui/accordion.tsx b/apps/web/components/ui/accordion.tsx new file mode 100644 index 0000000..0378817 --- /dev/null +++ b/apps/web/components/ui/accordion.tsx @@ -0,0 +1,59 @@ +"use client"; + +import * as React from "react"; +import * as AccordionPrimitive from "@radix-ui/react-accordion"; +import { ChevronDown } from "lucide-react"; + +import { cn } from "@/lib/utils"; + +const Accordion = AccordionPrimitive.Root; + +function AccordionItem({ + className, + ...props +}: React.ComponentProps) { + return ( + + ); +} +AccordionItem.displayName = "AccordionItem"; + +function AccordionTrigger({ + className, + children, + ...props +}: React.ComponentProps) { + return ( + + svg]:rotate-180", + className + )} + {...props} + > + {children} + + + + ); +} +AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName; + +function AccordionContent({ + className, + children, + ...props +}: React.ComponentProps) { + return ( + +
{children}
+
+ ); +} +AccordionContent.displayName = AccordionPrimitive.Content.displayName; + +export { Accordion, AccordionItem, AccordionTrigger, AccordionContent }; diff --git a/apps/web/components/ui/badge.tsx b/apps/web/components/ui/badge.tsx new file mode 100644 index 0000000..e87d62b --- /dev/null +++ b/apps/web/components/ui/badge.tsx @@ -0,0 +1,36 @@ +import * as React from "react" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "@/lib/utils" + +const badgeVariants = cva( + "inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", + { + variants: { + variant: { + default: + "border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80", + secondary: + "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80", + destructive: + "border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80", + outline: "text-foreground", + }, + }, + defaultVariants: { + variant: "default", + }, + } +) + +export interface BadgeProps + extends React.HTMLAttributes, + VariantProps {} + +function Badge({ className, variant, ...props }: BadgeProps) { + return ( +
+ ) +} + +export { Badge, badgeVariants } diff --git a/apps/web/constants/data.ts b/apps/web/constants/data.ts new file mode 100644 index 0000000..6b8ebf9 --- /dev/null +++ b/apps/web/constants/data.ts @@ -0,0 +1,56 @@ +import { + Aperture, + MagicWand, + Users, + Clock, +} from "@phosphor-icons/react/dist/ssr"; + +export const features = [ + { + icon: Aperture, + title: "Professional Quality", + description: "Studio-grade portraits generated in seconds", + gradient: "from-blue-500 to-purple-500", + }, + { + icon: MagicWand, + title: "Magic Editing", + description: "Advanced AI tools to perfect every detail", + gradient: "from-purple-500 to-pink-500", + }, + { + icon: Users, + title: "Family Collections", + description: "Create stunning portraits for the whole family", + gradient: "from-pink-500 to-red-500", + }, + { + icon: Clock, + title: "Instant Delivery", + description: "Get your photos in minutes, not days", + gradient: "from-red-500 to-orange-500", + }, +]; + +export const faq = [ + { + question: "What is PhotoAI?", + answer: + "PhotoAI is an advanced AI-powered platform that transforms your ideas into stunning, professional-quality images in seconds. Whether you're a designer, content creator, or business owner, our platform helps you generate unique visuals using state-of-the-art artificial intelligence.", + }, + { + question: "How does PhotoAI work?", + answer: + "Simply describe the image you want to create using natural language, and our AI engine will generate high-quality images based on your description. You can further refine your results by adjusting parameters like style, composition, and color scheme. Our advanced algorithms ensure each creation is unique and tailored to your needs.", + }, + { + question: "Is there a limit to how many images I can generate?", + answer: + "The number of images you can generate depends on your subscription plan. Free users can create up to 15 images per month, while our premium plans offer unlimited generations, priority processing, and access to advanced features like higher resolutions and commercial usage rights.", + }, + { + question: "Can I use PhotoAI-generated images commercially?", + answer: + "Yes, premium subscribers receive full commercial rights to their generated images. This means you can use them for business purposes, marketing materials, websites, and social media. However, we recommend reviewing our terms of service for specific usage guidelines and restrictions.", + }, +]; diff --git a/apps/web/package.json b/apps/web/package.json index 300686c..464230b 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -11,6 +11,7 @@ "check-types": "tsc --noEmit" }, "dependencies": { + "@radix-ui/react-accordion": "^1.2.3", "@radix-ui/react-dialog": "^1.1.6", "@radix-ui/react-dropdown-menu": "^2.1.6", "@radix-ui/react-label": "^2.1.2", diff --git a/bun.lockb b/bun.lockb deleted file mode 100755 index 6aa8ab4bfd4276c59b5b08cd769672ad148c5a6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 300704 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 R4Ss)>-#(`E^HcTj{{dvb1h@bI diff --git a/package.json b/package.json index d540811..fd51d9c 100644 --- a/package.json +++ b/package.json @@ -19,5 +19,11 @@ "workspaces": [ "apps/*", "packages/*" - ] + ], + "dependencies": { + "@phosphor-icons/react": "^2.1.7", + "embla-carousel-autoplay": "^8.5.2", + "motion": "^12.4.2", + "next-themes": "^0.4.4" + } } From d9d81fce47b3f19e90da67e86b05df93f5c4410a Mon Sep 17 00:00:00 2001 From: Aman Kumar Bairagi Date: Fri, 14 Feb 2025 18:04:30 +0530 Subject: [PATCH 2/4] feat: polished the featured section --- apps/web/components/landing/features.tsx | 46 ++-- apps/web/components/landing/hero.tsx | 6 +- .../illustrations/img-illustration.tsx | 8 +- .../components/magicui/flickering-grid.tsx | 199 ++++++++++++++++++ apps/web/constants/data.ts | 10 +- 5 files changed, 246 insertions(+), 23 deletions(-) create mode 100644 apps/web/components/magicui/flickering-grid.tsx diff --git a/apps/web/components/landing/features.tsx b/apps/web/components/landing/features.tsx index 3944e67..a1226b9 100644 --- a/apps/web/components/landing/features.tsx +++ b/apps/web/components/landing/features.tsx @@ -1,5 +1,8 @@ import { features } from "@/constants/data"; -import { Medal } from "@phosphor-icons/react/dist/ssr"; +import { ArrowUpRight, Medal } from "@phosphor-icons/react/dist/ssr"; +import { FlickeringGrid } from "../magicui/flickering-grid"; +import { Button } from "../ui/button"; +import { Badge } from "../ui/badge"; export default function Features() { return ( @@ -30,20 +33,37 @@ export default function Features() { {features.map((feature) => (

diff --git a/apps/web/components/landing/hero.tsx b/apps/web/components/landing/hero.tsx index 8fb12f4..71669f5 100644 --- a/apps/web/components/landing/hero.tsx +++ b/apps/web/components/landing/hero.tsx @@ -22,7 +22,7 @@ export default function Hero() { const router = useRouter(); return ( <> -
+
-
-
+
+
diff --git a/apps/web/components/landing/illustrations/img-illustration.tsx b/apps/web/components/landing/illustrations/img-illustration.tsx index c881302..673ca10 100644 --- a/apps/web/components/landing/illustrations/img-illustration.tsx +++ b/apps/web/components/landing/illustrations/img-illustration.tsx @@ -8,8 +8,8 @@ export default function ImgIllustration() { ]; return ( <> -
-
+
+
img-illustration-1
-
+
img-illustration-2
-
+
img-illustration-3 { + squareSize?: number; + gridGap?: number; + flickerChance?: number; + color?: string; + width?: number; + height?: number; + className?: string; + maxOpacity?: number; +} + +export const FlickeringGrid: React.FC = ({ + squareSize = 4, + gridGap = 6, + flickerChance = 0.3, + color = "rgb(0, 0, 0)", + width, + height, + className, + maxOpacity = 0.3, + ...props +}) => { + const canvasRef = useRef(null); + const containerRef = useRef(null); + const [isInView, setIsInView] = useState(false); + const [canvasSize, setCanvasSize] = useState({ width: 0, height: 0 }); + + const memoizedColor = useMemo(() => { + const toRGBA = (color: string) => { + if (typeof window === "undefined") { + return `rgba(0, 0, 0,`; + } + const canvas = document.createElement("canvas"); + canvas.width = canvas.height = 1; + const ctx = canvas.getContext("2d"); + if (!ctx) return "rgba(255, 0, 0,"; + ctx.fillStyle = color; + ctx.fillRect(0, 0, 1, 1); + const [r, g, b] = Array.from(ctx.getImageData(0, 0, 1, 1).data); + return `rgba(${r}, ${g}, ${b},`; + }; + return toRGBA(color); + }, [color]); + + const setupCanvas = useCallback( + (canvas: HTMLCanvasElement, width: number, height: number) => { + const dpr = window.devicePixelRatio || 1; + canvas.width = width * dpr; + canvas.height = height * dpr; + canvas.style.width = `${width}px`; + canvas.style.height = `${height}px`; + const cols = Math.floor(width / (squareSize + gridGap)); + const rows = Math.floor(height / (squareSize + gridGap)); + + const squares = new Float32Array(cols * rows); + for (let i = 0; i < squares.length; i++) { + squares[i] = Math.random() * maxOpacity; + } + + return { cols, rows, squares, dpr }; + }, + [squareSize, gridGap, maxOpacity], + ); + + const updateSquares = useCallback( + (squares: Float32Array, deltaTime: number) => { + for (let i = 0; i < squares.length; i++) { + if (Math.random() < flickerChance * deltaTime) { + squares[i] = Math.random() * maxOpacity; + } + } + }, + [flickerChance, maxOpacity], + ); + + const drawGrid = useCallback( + ( + ctx: CanvasRenderingContext2D, + width: number, + height: number, + cols: number, + rows: number, + squares: Float32Array, + dpr: number, + ) => { + ctx.clearRect(0, 0, width, height); + ctx.fillStyle = "transparent"; + ctx.fillRect(0, 0, width, height); + + for (let i = 0; i < cols; i++) { + for (let j = 0; j < rows; j++) { + const opacity = squares[i * rows + j]; + ctx.fillStyle = `${memoizedColor}${opacity})`; + ctx.fillRect( + i * (squareSize + gridGap) * dpr, + j * (squareSize + gridGap) * dpr, + squareSize * dpr, + squareSize * dpr, + ); + } + } + }, + [memoizedColor, squareSize, gridGap], + ); + + useEffect(() => { + const canvas = canvasRef.current; + const container = containerRef.current; + if (!canvas || !container) return; + + const ctx = canvas.getContext("2d"); + if (!ctx) return; + + let animationFrameId: number; + let gridParams: ReturnType; + + const updateCanvasSize = () => { + const newWidth = width || container.clientWidth; + const newHeight = height || container.clientHeight; + setCanvasSize({ width: newWidth, height: newHeight }); + gridParams = setupCanvas(canvas, newWidth, newHeight); + }; + + updateCanvasSize(); + + let lastTime = 0; + const animate = (time: number) => { + if (!isInView) return; + + const deltaTime = (time - lastTime) / 1000; + lastTime = time; + + updateSquares(gridParams.squares, deltaTime); + drawGrid( + ctx, + canvas.width, + canvas.height, + gridParams.cols, + gridParams.rows, + gridParams.squares, + gridParams.dpr, + ); + animationFrameId = requestAnimationFrame(animate); + }; + + const resizeObserver = new ResizeObserver(() => { + updateCanvasSize(); + }); + + resizeObserver.observe(container); + + const intersectionObserver = new IntersectionObserver( + ([entry]) => { + setIsInView(entry.isIntersecting); + }, + { threshold: 0 }, + ); + + intersectionObserver.observe(canvas); + + if (isInView) { + animationFrameId = requestAnimationFrame(animate); + } + + return () => { + cancelAnimationFrame(animationFrameId); + resizeObserver.disconnect(); + intersectionObserver.disconnect(); + }; + }, [setupCanvas, updateSquares, drawGrid, width, height, isInView]); + + return ( +
+ +
+ ); +}; diff --git a/apps/web/constants/data.ts b/apps/web/constants/data.ts index 6b8ebf9..ce3d378 100644 --- a/apps/web/constants/data.ts +++ b/apps/web/constants/data.ts @@ -8,25 +8,29 @@ import { export const features = [ { icon: Aperture, + badgeText: "100% Quality", title: "Professional Quality", description: "Studio-grade portraits generated in seconds", gradient: "from-blue-500 to-purple-500", }, { icon: MagicWand, - title: "Magic Editing", + badgeText: "20+ Models", + title: "Advanced AI tools to perfect every detail", description: "Advanced AI tools to perfect every detail", gradient: "from-purple-500 to-pink-500", }, { icon: Users, - title: "Family Collections", + badgeText: "100k+ happy users", + title: "Create stunning portraits for the whole family", description: "Create stunning portraits for the whole family", gradient: "from-pink-500 to-red-500", }, { icon: Clock, - title: "Instant Delivery", + badgeText: "Results in<10s", + title: "Get your photos in minutes, not days", description: "Get your photos in minutes, not days", gradient: "from-red-500 to-orange-500", }, From 9149ce98b9033756579f62e336a66c28d99af1b0 Mon Sep 17 00:00:00 2001 From: Aman Kumar Bairagi Date: Fri, 14 Feb 2025 18:08:12 +0530 Subject: [PATCH 3/4] fix: small issue --- apps/web/components/landing/features.tsx | 4 +++- apps/web/constants/data.ts | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/web/components/landing/features.tsx b/apps/web/components/landing/features.tsx index a1226b9..3cc5a2f 100644 --- a/apps/web/components/landing/features.tsx +++ b/apps/web/components/landing/features.tsx @@ -3,6 +3,7 @@ import { ArrowUpRight, Medal } from "@phosphor-icons/react/dist/ssr"; import { FlickeringGrid } from "../magicui/flickering-grid"; import { Button } from "../ui/button"; import { Badge } from "../ui/badge"; +import { Cube } from "@phosphor-icons/react/dist/ssr"; export default function Features() { return ( @@ -60,7 +61,8 @@ export default function Features() {
- {feature.badgeText} + {feature.badgeText}{" "} +
diff --git a/apps/web/constants/data.ts b/apps/web/constants/data.ts index ce3d378..f01f256 100644 --- a/apps/web/constants/data.ts +++ b/apps/web/constants/data.ts @@ -29,7 +29,7 @@ export const features = [ }, { icon: Clock, - badgeText: "Results in<10s", + badgeText: "Results in <10s", title: "Get your photos in minutes, not days", description: "Get your photos in minutes, not days", gradient: "from-red-500 to-orange-500", From 69bbbf4497dee08e64fcfb13f7d0f07d2ece6779 Mon Sep 17 00:00:00 2001 From: Aman Kumar Bairagi Date: Sat, 15 Feb 2025 10:52:30 +0530 Subject: [PATCH 4/4] fix: merge conflicts --- apps/web/app/layout.tsx | 20 +++++++++++--------- apps/web/app/page.tsx | 1 - apps/web/package.json | 3 ++- package.json | 8 +------- 4 files changed, 14 insertions(+), 18 deletions(-) diff --git a/apps/web/app/layout.tsx b/apps/web/app/layout.tsx index 1dfdc52..94f6135 100644 --- a/apps/web/app/layout.tsx +++ b/apps/web/app/layout.tsx @@ -1,18 +1,20 @@ import type { Metadata } from "next"; -import { Figtree, Instrument_Serif, Manrope } from "next/font/google"; +import { Instrument_Serif, Manrope } from "next/font/google"; import "./globals.css"; import { Appbar } from "@/components/Appbar"; import { Providers } from "@/components/providers/Providers"; -import { Footer } from "@/components/Footer"; +import Footer from "@/components/landing/footer"; -const geistSans = localFont({ - src: "./fonts/GeistVF.woff", - variable: "--font-geist-sans", +const manrope = Manrope({ + subsets: ["latin"], + variable: "--font-manrope", + weight: ["300", "400", "500", "600", "700"], }); -const geistMono = localFont({ - src: "./fonts/GeistMonoVF.woff", - variable: "--font-geist-mono", +const instrumental_serif = Instrument_Serif({ + subsets: ["latin"], + variable: "--font-instrumental-serif", + weight: ["400"], }); export const metadata: Metadata = { @@ -36,7 +38,7 @@ export default function RootLayout({ />
diff --git a/apps/web/app/page.tsx b/apps/web/app/page.tsx index 5bfe438..b3c47c5 100644 --- a/apps/web/app/page.tsx +++ b/apps/web/app/page.tsx @@ -9,7 +9,6 @@ export default function Home() { -
); } diff --git a/apps/web/package.json b/apps/web/package.json index 464230b..d52ab40 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -41,7 +41,8 @@ "react-hot-toast": "^2.5.1", "tailwind-merge": "^3.0.1", "tailwindcss": "^4.0.6", - "tailwindcss-animate": "^1.0.7" + "tailwindcss-animate": "^1.0.7", + "motion": "^12.4.2" }, "devDependencies": { "@repo/eslint-config": "*", diff --git a/package.json b/package.json index fd51d9c..d540811 100644 --- a/package.json +++ b/package.json @@ -19,11 +19,5 @@ "workspaces": [ "apps/*", "packages/*" - ], - "dependencies": { - "@phosphor-icons/react": "^2.1.7", - "embla-carousel-autoplay": "^8.5.2", - "motion": "^12.4.2", - "next-themes": "^0.4.4" - } + ] }