/* eslint-disable react/no-unescaped-entities */
"use client";
import React from "react";
import Link from "next/link";
import { useRouter } from "next/navigation";
import { Button } from "@/components/ui/button";
import {
Card,
CardContent,
CardDescription,
CardHeader,
CardTitle,
} from "@/components/ui/card";
import { Badge } from "@/components/ui/badge";
import { Navbar } from "@/components/navbar";
import { GitStarButton } from "@/src/components/eldoraui/gitstarbutton";
import { LiveStatsButton } from "@/src/components/ui/live-stats-button";
import { useTheme } from "next-themes";
import { cn } from "@/lib/utils";
import Image from "next/image";
import {
Status,
StatusIndicator,
StatusLabel,
} from "@/src/components/ui/kibo-ui/status";
// import Lenis from "lenis";
import {
Announcement,
AnnouncementTag,
AnnouncementTitle,
} from "@/src/components/ui/kibo-ui/announcement";
import { ArrowUpRightIcon } from "lucide-react";
import { useUser } from "@/components/user-provider";
import {
Kanban,
Zap,
Users,
Shield,
ArrowRight,
Check,
Star,
Crown,
TabletSmartphone,
GithubIcon,
} from "lucide-react";
import { ShineBorder } from "@/src/components/magicui/shine-border";
import TextReveal from "@/src/components/magicui/text-reveal";
import LovedBy from "@/components/customized/avatar/avatar-12";
export default function Home() {
const { user, loading, signOut } = useUser();
const router = useRouter();
const { theme, setTheme } = useTheme();
// Variable declaration for features and pricing plans to prevent manual repetition
// This allows for easier updates and management of features and pricing plans
const [features] = React.useState([
{
icon: ,
title: "Kanban Boards",
description:
"Visualize your workflow with customizable Kanban boards. Drag and drop tasks between columns.",
},
{
icon: ,
title: "Lightning Fast",
description:
"Built with modern technologies for blazing fast performance and real-time updates.",
},
{
icon: ,
title: "Team collaboration",
description:
"Invite team members, assign tasks, and collaborate seamlessly in real-time.",
},
{
icon: ,
title: "Secure & Reliable",
description:
"Your data is protected with enterprise-grade security and backed up automatically.",
},
{
icon: ,
title: "Unlimited Projects",
description:
"Pro plan includes unlimited projects, advanced features, and priority support.",
},
{
icon: (
),
title: "Responsive Design",
description:
"Access your projects from anywhere even on mobile devices, with our fully responsive design.",
},
]);
const [pricingPlans] = React.useState([
{
title: "Free",
isPro: false,
description: "Perfect for personal use",
price: "$0",
priceNote: "/month",
features: [
{ text: "1 Project", available: true },
{ text: "Unlimited Tasks", available: true },
{ text: "All Core Features", available: true },
],
button: {
text: user ? "Go to Dashboard" : "Get Started",
href: user ? "/dashboard" : "/signup",
variant: "outline" as "outline",
},
},
{
title: "Pro",
isPro: true,
description: "For teams and power users",
price: "$4.90",
priceNote: "/month",
features: [
{ text: "Unlimited Projects", available: true },
{ text: "Unlimited Tasks", available: true },
{ text: "All Core Features", available: true },
{ text: "Advanced Features", available: true },
{ text: "Team Management", available: true },
{ text: "Bookmarks", available: true },
{ text: "Integrations (soon)", available: false },
{ text: "Notes (soon)", available: false },
{ text: "Analytics (soon)", available: false },
{ text: "Lists (soon)", available: false },
{ text: "AI Planner (soon)", available: false },
{ text: "Meetings (soon)", available: false },
],
button: {
text: "Upgrade to Pro",
href: user ? "/dashboard/billing" : "/signup",
variant: "default" as "default",
},
},
{
title: "Self-Host",
isPro: false,
description: "Run Kanba on your own server",
price: "Free",
priceNote: "",
features: [
{ text: "Full control", available: true },
{ text: "All Features Included", available: true },
{ text: "Full Access to the Source Code", available: true },
{ text: "Complete Customization", available: true },
{ text: "Your Data Stays with You", available: true },
{ text: "White-label Branding", available: true },
],
button: {
text: (
<>
View on GitHub
>
),
href: "https://github.com/Uaghazade1/kanba",
variant: "outline" as "outline",
external: true,
},
},
]);
const handleSignOut = async () => {
await signOut();
router.push("/");
};
// Initialize Lenis for smooth scrolling
// const lenis = new Lenis({
// autoRaf: true,
// });
if (loading) {
return (
);
}
// Each section has a unique background color controlled by the theme to provide a consistent/contrast look and feel
return (
{/* Hero Section */}
Project Management
Reimagined for Builders
An open-source platform to move fast and build what matters. Simple, powerful, and yes, AI-powered.
{user ? (
) : (
<>
>
)}
Already loved by{" "}
+1000 people
{/* Features Section */}
Everything You Need to
Stay Organized and Productive
{features.map((feature, idx) => (
{feature.icon}
{feature.title}
{feature.description}
))}
You are in good company
{/* Badges Container */}
{/* Product Hunt Badge */}
#4 on Product Hunt
{/* Vercel OSS Badge */}
Supported by Vercel
Kanba is an open-source project management tool for makers and teams. Cut
the noise, focus on what matters. Not trying to replace Trello or Jira, just
doing project management simple and right.
{/* Pricing Section */}