import Link from "next/link"
import { ChevronRight, Zap, Star, Home } from "lucide-react"
import { Button } from "@/components/ui/button"
import { DEVICE_COST, SUBSCRIPTION_COST } from "@/lib/data";
import { createClient } from "@/utils/supabase/server"
import { getAllPersonalities } from "@/db/personalities"
import { CharacterShowcase } from "./components/LandingPage/CharacterShowcase";
import { CreateCharacterShowcase } from "./components/LandingPage/CreateCharacterShowcase";
import ProductsSection from "./components/LandingPage/ProductsSection";
import Image from "next/image";
import { fetchGithubStars } from "./actions";
import YoutubeDemo from "./components/LandingPage/YoutubeDemo";
import { PricingSection } from "./components/LandingPage/PricingSection";
export default async function LandingPage() {
const supabase = createClient();
const { stars = 0 } = await fetchGithubStars("akdeb/ElatoAI");
const allPersonalities = await getAllPersonalities(supabase);
const adultPersonalities = allPersonalities.filter((personality) => !personality.is_story && !personality.is_child_voice);
return (
{/* Hero Section */}
Realtime, Conversational AI
{" "} on ESP32 with Arduino and Edge Functions
Attach your Elato device to any toy or plushie and watch them become AI characters you can talk
to!
{[...Array(5)].map((_, i) => (
))}
200+ Happy Customers
{/*
*/}
{/* Products Section */}
{/* How It Works */}
Super Simple to Use
Just 3 easy steps to epic conversations
1
Attach
Attach the Elato device to any toy or plushie
2
Configure
Use our web app to set up your toy's personality
3
Talk
Start chatting with your toy - it's that simple!
{/* Character Showcase */}
{/* Create Character Showcase */}
{/* Pricing */}
{/* FAQ */}
{/* */}
{/* CTA */}
{/*
Ready to Bring Your Toys to Life?
Order your Elato device today and watch the magic happen!
First month subscription FREE, then just ${SUBSCRIPTION_COST}/month (or use your own OpenAI API key)
*/}
)
}