"use client"; import { cn } from "@/lib/utils"; import React, { useState, useEffect } from "react"; import { BentoGrid, BentoGridItem } from "../ui/bento-grid"; import { IconBoxAlignRightFilled, IconClipboardCopy, IconFileBroken, IconSignature, IconTableColumn, } from "@tabler/icons-react"; import { motion, AnimatePresence } from "framer-motion"; import { FaPlay } from "react-icons/fa"; export function BentoFeatures() { const variants = { hidden: { opacity: 0, y: 50 }, visible: { opacity: 1, y: 0 }, }; return (
All-in-One Platform for AI-Powered Services
{items.map((item, i) => ( p:text-lg] ", item.className)} icon={item.icon} /> ))}
); } const SkeletonOne = () => { const [isHovered, setIsHovered] = useState(false); const [animationState, setAnimationState] = useState('idle'); // Control animation cycle useEffect(() => { if (isHovered) { const animationSequence = async () => { setAnimationState('drag'); setTimeout(() => setAnimationState('drop'), 1500); setTimeout(() => setAnimationState('complete'), 2000); setTimeout(() => setAnimationState('drag'), 3500); }; animationSequence(); const interval = setInterval(animationSequence, 4000); return () => clearInterval(interval); } else { setAnimationState('idle'); } }, [isHovered]); return ( setIsHovered(true)} onHoverEnd={() => setIsHovered(false)} >
No Coding Needed Learn more
{/* Drag and drop animation container */}
{/* Drop zone */} Drop here {/* File being dragged */} {/* File icon */}
WORKFLOW
Drag me
{/* Success checkmark that appears after drop */}
); }; const SkeletonTwo = () => { const [isTyping, setIsTyping] = useState(false); return ( setIsTyping(true)} onHoverEnd={() => setIsTyping(false)} >
{isTyping && ( console.log("Hello World!"); | )}
); }; const SkeletonThree = () => { const [isHovered, setIsHovered] = useState(false); return ( setIsHovered(true)} onHoverEnd={() => setIsHovered(false)} >
{/*
$0
*/} {/* Graph container */} {/* Growing graph line */} {/*
$499
*/}
); }; const SkeletonFour = () => { return (
Form Builder
Newsletter Creator
); }; // const SkeletonFive = () => { // return ( // //
//
// //
//
// //
//
// //
//
// //
//
//
// ); // }; const items = [ { title: "Drag & Drop No-Code Builder", description: ( Easily create robust MicroSaaS applications using our intuitive drag-and-drop interface. Empower yourself to design custom workflows without writing a single line of code, streamlining operations and enhancing efficiency. ), header: , className: "md:col-span-1 md:row-span-2", icon: , }, { title: "Writing Simplified", description: ( Transform your writing process with the power of AI. Use the built-in AI writer to generate, refine, or continue content effortlessly. ), header: , className: "md:col-span-1", icon: , }, { title: "Monetize Smarter", description: ( Launch your own community or tap into our marketplace to sell AI subscriptions to SMBs and beyond. Transform your ideas into profitable ventures. ), header: , className: "md:col-span-1", icon: , }, { title: "Integrated Creative Tools", description: ( From forms to video editors, AI writers to newsletter creators, we've got you covered. Access a comprehensive suite of tools designed to enhance your creative workflow. ), header: , className: "md:col-span-2", icon: , }, // { // title: "Smart Templates", // description: ( // // Access a library of intelligent templates that adapt to your needs. Each template is powered by AI to provide personalized starting points. // // ), // header: , // className: "md:col-span-1", // icon: , // } ];