'use client'
import { cn } from '@/lib/utils'
import { ToggleGroup, ToggleGroupItem } from '@/components/ui/toggle-group'
import { Bold, Calendar1, Ellipsis, Italic, Strikethrough, Underline } from 'lucide-react'
import { Button } from '@/components/ui/button'
export default function ContentSection() {
return (
<section>
<div className="bg-muted/50 py-24">
<div className="mx-auto w-full max-w-5xl px-6">
<div>
<span className="text-primary">Smart Editor</span>
<h2 className="text-foreground mt-4 text-4xl font-semibold">Ask Tailark to Edit anything</h2>
<p className="text-muted-foreground mb-12 mt-4 text-lg">Efficient content creation is our mission. With Tailark, you can effortlessly edit text, generate code snippets, format documents, create visualizations from data, and seamlessly integrate with your existing workflow.</p>
</div>
<div className="border-foreground/5 space-y-6 [--color-border:color-mix(in_oklab,var(--color-foreground)10%,transparent)] sm:space-y-0 sm:divide-y">
<div className="grid sm:grid-cols-5 sm:divide-x">
<CodeIllustration className="sm:col-span-2" />
<div className="mt-6 sm:col-span-3 sm:mt-0 sm:border-l sm:pl-12">
<h3 className="text-foreground text-xl font-semibold">Marketing Campaigns</h3>
<p className="text-muted-foreground mt-4 text-lg">We'll put together your schedule on automatically. You'll keep app deadlines, and will work on the highest priority items first.</p>
</div>
</div>
<div className="grid sm:grid-cols-5 sm:divide-x">
<div className="pt-12 sm:col-span-3 sm:border-r sm:pr-12">
<h3 className="text-foreground text-xl font-semibold">AI Meeting Scheduler</h3>
<p className="text-muted-foreground mt-4 text-lg">Ask the chat to create or update your events. Ask it how much time you've spent on demo calls last week. Or have it prepare today's agendas.</p>
</div>
<div className="row-start-1 flex items-center justify-center pt-12 sm:col-span-2 sm:row-start-auto">
<ScheduleIllustation className="pt-8" />
</div>
</div>
</div>
</div>
</div>
</section>
)
}
type IllustrationProps = {
className?: string
variant?: 'elevated' | 'outlined' | 'mixed'
}
export const ScheduleIllustation = ({ className, variant = 'elevated' }: IllustrationProps) => {
return (
<div className={cn('relative', className)}>
<div
className={cn('bg-background -translate-x-1/8 absolute flex -translate-y-[110%] items-center gap-2 rounded-lg p-1', {
'shadow-black-950/10 shadow-lg': variant === 'elevated',
'border-foreground/10 border': variant === 'outlined',
'border-foreground/10 border shadow-md shadow-black/5': variant === 'mixed',
})}>
<Button
size="sm"
className="rounded-sm">
<Calendar1 className="size-3" />
<span className="text-sm font-medium">Schedule</span>
</Button>
<span className="bg-border block h-4 w-px"></span>
<ToggleGroup
type="multiple"
size="sm"
className="gap-0.5 *:rounded-md">
<ToggleGroupItem
value="bold"
aria-label="Toggle bold">
<Bold className="size-4" />
</ToggleGroupItem>
<ToggleGroupItem
value="italic"
aria-label="Toggle italic">
<Italic className="size-4" />
</ToggleGroupItem>
<ToggleGroupItem
value="underline"
aria-label="Toggle underline">
<Underline className="size-4" />
</ToggleGroupItem>
<ToggleGroupItem
value="strikethrough"
aria-label="Toggle strikethrough">
<Strikethrough className="size-4" />
</ToggleGroupItem>
</ToggleGroup>
<span className="bg-border block h-4 w-px"></span>
<Button
size="icon"
className="size-8"
variant="ghost">
<Ellipsis className="size-3" />
</Button>
</div>
<span>
<span className="bg-secondary text-secondary-foreground py-1">Tomorrow 8:30 pm</span> is our priority.
</span>
</div>
)
}
export const CodeIllustration = ({ className }: { className?: string }) => {
return (
<div className={cn('[mask-image:radial-gradient(ellipse_50%_50%_at_50%_50%,#000_50%,transparent_100%)]', className)}>
<ul className="text-muted-foreground mx-auto w-fit font-mono text-2xl font-medium">
{['Images', 'Variables', 'Pages', 'Components', 'Styles'].map((item, index) => (
<li
key={index}
className={cn(index == 2 && "text-foreground before:absolute before:-translate-x-[110%] before:text-orange-500 before:content-['Import']")}>
{item}
</li>
))}
</ul>
</div>
)
}