import { AnimatePresence, motion } from "framer-motion"; import { Brain, Chrome, ExternalLink, Plus } from "lucide-react"; import { useEffect, useState } from "react"; import { ConnectAIModal } from "@/components/connect-ai-modal"; import { analytics } from "@/lib/analytics"; interface GetStartedProps { setShowAddMemoryView?: (show: boolean) => void; } export const GetStarted = ({ setShowAddMemoryView }: GetStartedProps) => { const [imageLoaded, setImageLoaded] = useState(false); const [showContent, setShowContent] = useState(false); const [showConnectAIModal, setShowConnectAIModal] = useState(false); useEffect(() => { const img = new Image(); img.onload = () => { setImageLoaded(true); setTimeout(() => setShowContent(true), 100); }; img.src = "/images/onboarding.png"; }, []); const containerVariants = { hidden: { opacity: 0 }, visible: { opacity: 1, transition: { duration: 0.8, ease: [0.25, 0.1, 0.25, 1] as const, staggerChildren: 0.15, delayChildren: 0.2, }, }, }; const leftColumnVariants = { hidden: { opacity: 0, x: -40, }, visible: { opacity: 1, x: 0, transition: { duration: 1, ease: [0.25, 0.1, 0.25, 1] as const, staggerChildren: 0.1, }, }, }; const rightColumnVariants = { hidden: { opacity: 0, x: 40, }, visible: { opacity: 1, x: 0, transition: { duration: 0.8, ease: [0.25, 0.1, 0.25, 1] as const, delay: 0.6, staggerChildren: 0.1, }, }, }; const textLineVariants = { hidden: { opacity: 0, y: 30, }, visible: { opacity: 1, y: 0, transition: { duration: 0.8, ease: [0.25, 0.1, 0.25, 1] as const, }, }, }; const cardVariants = { hidden: { opacity: 0, y: 20, scale: 0.95, }, visible: { opacity: 1, y: 0, scale: 1, transition: { duration: 0.6, ease: [0.25, 0.1, 0.25, 1] as const, }, }, }; const backgroundVariants = { hidden: { scale: 1.1, opacity: 0, }, visible: { scale: 1, opacity: 1, transition: { duration: 1.5, ease: [0.25, 0.1, 0.25, 1] as const, }, }, }; const handleChromeExtension = () => { analytics.extensionInstallClicked(); window.open( "https://chromewebstore.google.com/detail/supermemory/afpgkkipfdpeaflnpoaffkcankadgjfc", "_blank", ); }; const handleAddMemory = () => { setShowConnectAIModal(false); if (setShowAddMemoryView) { setShowAddMemoryView(true); } }; return (
Save items and use supermemory with ChatGPT and other apps. Import your ChatGPT memories, twitter bookmarks, and other data.
Set up your AI connection for intelligent assistance
Start building your knowledge base