"use client"; import { ChevronDown, Download, Monitor } from "lucide-react"; import { AnimatePresence, motion } from "motion/react"; import Link from "next/link"; import React, { memo, useCallback, useEffect, useRef, useState } from "react"; import Balancer from "react-wrap-balancer"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { ExpandedMediaOverlay, useExpandedMedia } from "@/components/ui/expanded-gif-overlay"; import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip"; import { GITHUB_RELEASES_URL, getAssetLabel, usePrimaryDownload, } from "@/lib/desktop-download-utils"; import { AUTH_TYPE, BACKEND_URL } from "@/lib/env-config"; import { trackLoginAttempt } from "@/lib/posthog/events"; import { cn } from "@/lib/utils"; const GoogleLogo = ({ className }: { className?: string }) => ( ); const TAB_ITEMS = [ { title: "General Assist", description: "Launch SurfSense instantly from any application.", src: "/homepage/hero_tutorial/general_assist.mp4", featured: true, }, { title: "Quick Assist", description: "Select text anywhere, then ask AI to explain, rewrite, or act on it.", src: "/homepage/hero_tutorial/quick_assist.mp4", featured: true, }, { title: "Extreme Assist", description: "Get inline writing suggestions powered by your knowledge base as you type in any app.", src: "/homepage/hero_tutorial/extreme_assist.mp4", featured: true, }, { title: "Watch Local Folder", description: "Watch a local folder and automatically sync file changes to your knowledge base. Works great with Obsidian vaults.", src: "/homepage/hero_tutorial/folder_watch.mp4", featured: true, }, // { // title: "Connect & Sync", // description: // "Connect data sources like Notion, Drive and Gmail. Automatically sync to keep them updated.", // src: "/homepage/hero_tutorial/ConnectorFlowGif.mp4", // featured: true, // }, // { // title: "Upload Documents", // description: "Upload documents directly, from images to massive PDFs.", // src: "/homepage/hero_tutorial/DocUploadGif.mp4", // featured: true, // }, { title: "Video & Presentations", description: "Create short videos and editable presentations with AI-generated visuals and narration from your sources.", src: "/homepage/hero_tutorial/video_gen_surf.mp4", featured: false, }, { title: "Search & Citation", description: "Ask questions and get cited responses from your knowledge base.", src: "/homepage/hero_tutorial/BSNCGif.mp4", featured: false, }, { title: "Document Q&A", description: "Mention specific documents in chat for targeted answers.", src: "/homepage/hero_tutorial/BQnaGif_compressed.mp4", featured: false, }, { title: "Reports", description: "Generate reports from your sources in many formats.", src: "/homepage/hero_tutorial/ReportGenGif_compressed.mp4", featured: false, }, { title: "Podcasts", description: "Turn anything into a podcast in under 20 seconds.", src: "/homepage/hero_tutorial/PodcastGenGif.mp4", featured: false, }, { title: "Image Generation", description: "Generate high-quality images easily from your conversations.", src: "/homepage/hero_tutorial/ImageGenGif.mp4", featured: false, }, { title: "Collaborative Chat", description: "Collaborate on AI-powered conversations in realtime with your team.", src: "/homepage/hero_realtime/RealTimeChatGif.mp4", featured: false, }, { title: "Comments", description: "Add comments and tag teammates on any message.", src: "/homepage/hero_realtime/RealTimeCommentsFlow.mp4", featured: false, }, ] as const; export function HeroSection() { return (
A free, open source NotebookLM alternative for teams with no data limits. Use ChatGPT, Claude AI, and any AI model for free.
{selectedItem.description}