snowbase-templates-installer 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -0
- package/bin/cli.js +140 -0
- package/landing-pages/ai-saas-template/.orchids/orchids.json +8 -0
- package/landing-pages/ai-saas-template/README.md +36 -0
- package/landing-pages/ai-saas-template/bun.lock +2062 -0
- package/landing-pages/ai-saas-template/components.json +22 -0
- package/landing-pages/ai-saas-template/eslint.config.mjs +33 -0
- package/landing-pages/ai-saas-template/next.config.ts +24 -0
- package/landing-pages/ai-saas-template/package-lock.json +11708 -0
- package/landing-pages/ai-saas-template/package.json +114 -0
- package/landing-pages/ai-saas-template/postcss.config.mjs +7 -0
- package/landing-pages/ai-saas-template/public/file.svg +1 -0
- package/landing-pages/ai-saas-template/public/globe.svg +1 -0
- package/landing-pages/ai-saas-template/public/next.svg +1 -0
- package/landing-pages/ai-saas-template/public/vercel.svg +1 -0
- package/landing-pages/ai-saas-template/public/window.svg +1 -0
- package/landing-pages/ai-saas-template/src/app/favicon.ico +0 -0
- package/landing-pages/ai-saas-template/src/app/global-error.tsx +5 -0
- package/landing-pages/ai-saas-template/src/app/globals.css +172 -0
- package/landing-pages/ai-saas-template/src/app/layout.tsx +42 -0
- package/landing-pages/ai-saas-template/src/app/page.tsx +23 -0
- package/landing-pages/ai-saas-template/src/components/ErrorReporter.tsx +136 -0
- package/landing-pages/ai-saas-template/src/components/sections/cta.tsx +62 -0
- package/landing-pages/ai-saas-template/src/components/sections/features-grid.tsx +205 -0
- package/landing-pages/ai-saas-template/src/components/sections/footer.tsx +111 -0
- package/landing-pages/ai-saas-template/src/components/sections/hero.tsx +92 -0
- package/landing-pages/ai-saas-template/src/components/sections/logos.tsx +69 -0
- package/landing-pages/ai-saas-template/src/components/sections/navbar.tsx +83 -0
- package/landing-pages/ai-saas-template/src/components/sections/testimonials-header.tsx +41 -0
- package/landing-pages/ai-saas-template/src/components/sections/value-props.tsx +97 -0
- package/landing-pages/ai-saas-template/src/components/ui/accordion.tsx +66 -0
- package/landing-pages/ai-saas-template/src/components/ui/alert-dialog.tsx +157 -0
- package/landing-pages/ai-saas-template/src/components/ui/alert.tsx +66 -0
- package/landing-pages/ai-saas-template/src/components/ui/aspect-ratio.tsx +11 -0
- package/landing-pages/ai-saas-template/src/components/ui/avatar.tsx +53 -0
- package/landing-pages/ai-saas-template/src/components/ui/badge.tsx +46 -0
- package/landing-pages/ai-saas-template/src/components/ui/breadcrumb.tsx +109 -0
- package/landing-pages/ai-saas-template/src/components/ui/button-group.tsx +83 -0
- package/landing-pages/ai-saas-template/src/components/ui/button.tsx +59 -0
- package/landing-pages/ai-saas-template/src/components/ui/calendar.tsx +213 -0
- package/landing-pages/ai-saas-template/src/components/ui/card.tsx +92 -0
- package/landing-pages/ai-saas-template/src/components/ui/carousel.tsx +241 -0
- package/landing-pages/ai-saas-template/src/components/ui/chart.tsx +353 -0
- package/landing-pages/ai-saas-template/src/components/ui/checkbox.tsx +32 -0
- package/landing-pages/ai-saas-template/src/components/ui/collapsible.tsx +33 -0
- package/landing-pages/ai-saas-template/src/components/ui/command.tsx +184 -0
- package/landing-pages/ai-saas-template/src/components/ui/context-menu.tsx +252 -0
- package/landing-pages/ai-saas-template/src/components/ui/dialog.tsx +143 -0
- package/landing-pages/ai-saas-template/src/components/ui/drawer.tsx +135 -0
- package/landing-pages/ai-saas-template/src/components/ui/dropdown-menu.tsx +257 -0
- package/landing-pages/ai-saas-template/src/components/ui/empty.tsx +104 -0
- package/landing-pages/ai-saas-template/src/components/ui/field.tsx +248 -0
- package/landing-pages/ai-saas-template/src/components/ui/form.tsx +167 -0
- package/landing-pages/ai-saas-template/src/components/ui/hover-card.tsx +44 -0
- package/landing-pages/ai-saas-template/src/components/ui/input-group.tsx +170 -0
- package/landing-pages/ai-saas-template/src/components/ui/input-otp.tsx +77 -0
- package/landing-pages/ai-saas-template/src/components/ui/input.tsx +21 -0
- package/landing-pages/ai-saas-template/src/components/ui/item.tsx +193 -0
- package/landing-pages/ai-saas-template/src/components/ui/kbd.tsx +28 -0
- package/landing-pages/ai-saas-template/src/components/ui/label.tsx +24 -0
- package/landing-pages/ai-saas-template/src/components/ui/menubar.tsx +276 -0
- package/landing-pages/ai-saas-template/src/components/ui/navigation-menu.tsx +168 -0
- package/landing-pages/ai-saas-template/src/components/ui/pagination.tsx +127 -0
- package/landing-pages/ai-saas-template/src/components/ui/popover.tsx +48 -0
- package/landing-pages/ai-saas-template/src/components/ui/progress.tsx +31 -0
- package/landing-pages/ai-saas-template/src/components/ui/radio-group.tsx +45 -0
- package/landing-pages/ai-saas-template/src/components/ui/resizable.tsx +56 -0
- package/landing-pages/ai-saas-template/src/components/ui/scroll-area.tsx +58 -0
- package/landing-pages/ai-saas-template/src/components/ui/select.tsx +185 -0
- package/landing-pages/ai-saas-template/src/components/ui/separator.tsx +28 -0
- package/landing-pages/ai-saas-template/src/components/ui/sheet.tsx +139 -0
- package/landing-pages/ai-saas-template/src/components/ui/sidebar.tsx +726 -0
- package/landing-pages/ai-saas-template/src/components/ui/skeleton.tsx +13 -0
- package/landing-pages/ai-saas-template/src/components/ui/slider.tsx +63 -0
- package/landing-pages/ai-saas-template/src/components/ui/sonner.tsx +25 -0
- package/landing-pages/ai-saas-template/src/components/ui/spinner.tsx +16 -0
- package/landing-pages/ai-saas-template/src/components/ui/switch.tsx +31 -0
- package/landing-pages/ai-saas-template/src/components/ui/table.tsx +116 -0
- package/landing-pages/ai-saas-template/src/components/ui/tabs.tsx +66 -0
- package/landing-pages/ai-saas-template/src/components/ui/textarea.tsx +18 -0
- package/landing-pages/ai-saas-template/src/components/ui/toggle-group.tsx +73 -0
- package/landing-pages/ai-saas-template/src/components/ui/toggle.tsx +47 -0
- package/landing-pages/ai-saas-template/src/components/ui/tooltip.tsx +61 -0
- package/landing-pages/ai-saas-template/src/hooks/use-mobile.ts +19 -0
- package/landing-pages/ai-saas-template/src/lib/hooks/use-mobile.tsx +21 -0
- package/landing-pages/ai-saas-template/src/lib/utils.ts +6 -0
- package/landing-pages/ai-saas-template/src/visual-edits/VisualEditsMessenger.tsx +2159 -0
- package/landing-pages/ai-saas-template/src/visual-edits/component-tagger-loader.js +460 -0
- package/landing-pages/ai-saas-template/tsconfig.json +42 -0
- package/landing-pages/open-engineer-template/.orchids/orchids.json +8 -0
- package/landing-pages/open-engineer-template/README.md +36 -0
- package/landing-pages/open-engineer-template/bun.lock +2062 -0
- package/landing-pages/open-engineer-template/components.json +22 -0
- package/landing-pages/open-engineer-template/eslint.config.mjs +33 -0
- package/landing-pages/open-engineer-template/next.config.ts +24 -0
- package/landing-pages/open-engineer-template/package-lock.json +13669 -0
- package/landing-pages/open-engineer-template/package.json +114 -0
- package/landing-pages/open-engineer-template/postcss.config.mjs +7 -0
- package/landing-pages/open-engineer-template/public/file.svg +1 -0
- package/landing-pages/open-engineer-template/public/globe.svg +1 -0
- package/landing-pages/open-engineer-template/public/next.svg +1 -0
- package/landing-pages/open-engineer-template/public/vercel.svg +1 -0
- package/landing-pages/open-engineer-template/public/window.svg +1 -0
- package/landing-pages/open-engineer-template/src/app/favicon.ico +0 -0
- package/landing-pages/open-engineer-template/src/app/global-error.tsx +5 -0
- package/landing-pages/open-engineer-template/src/app/globals.css +189 -0
- package/landing-pages/open-engineer-template/src/app/layout.tsx +42 -0
- package/landing-pages/open-engineer-template/src/app/page.tsx +31 -0
- package/landing-pages/open-engineer-template/src/components/ErrorReporter.tsx +136 -0
- package/landing-pages/open-engineer-template/src/components/sections/cta-stats.tsx +71 -0
- package/landing-pages/open-engineer-template/src/components/sections/faq.tsx +188 -0
- package/landing-pages/open-engineer-template/src/components/sections/features-grid.tsx +193 -0
- package/landing-pages/open-engineer-template/src/components/sections/footer.tsx +137 -0
- package/landing-pages/open-engineer-template/src/components/sections/header.tsx +105 -0
- package/landing-pages/open-engineer-template/src/components/sections/hero.tsx +118 -0
- package/landing-pages/open-engineer-template/src/components/sections/how-it-works.tsx +123 -0
- package/landing-pages/open-engineer-template/src/components/sections/pricing.tsx +168 -0
- package/landing-pages/open-engineer-template/src/components/sections/testimonials-logos.tsx +88 -0
- package/landing-pages/open-engineer-template/src/components/sections/use-cases.tsx +141 -0
- package/landing-pages/open-engineer-template/src/components/sections/workflow-tabs.tsx +792 -0
- package/landing-pages/open-engineer-template/src/components/ui/accordion.tsx +66 -0
- package/landing-pages/open-engineer-template/src/components/ui/alert-dialog.tsx +157 -0
- package/landing-pages/open-engineer-template/src/components/ui/alert.tsx +66 -0
- package/landing-pages/open-engineer-template/src/components/ui/aspect-ratio.tsx +11 -0
- package/landing-pages/open-engineer-template/src/components/ui/avatar.tsx +53 -0
- package/landing-pages/open-engineer-template/src/components/ui/badge.tsx +46 -0
- package/landing-pages/open-engineer-template/src/components/ui/breadcrumb.tsx +109 -0
- package/landing-pages/open-engineer-template/src/components/ui/button-group.tsx +83 -0
- package/landing-pages/open-engineer-template/src/components/ui/button.tsx +59 -0
- package/landing-pages/open-engineer-template/src/components/ui/calendar.tsx +213 -0
- package/landing-pages/open-engineer-template/src/components/ui/card.tsx +92 -0
- package/landing-pages/open-engineer-template/src/components/ui/carousel.tsx +241 -0
- package/landing-pages/open-engineer-template/src/components/ui/chart.tsx +353 -0
- package/landing-pages/open-engineer-template/src/components/ui/checkbox.tsx +32 -0
- package/landing-pages/open-engineer-template/src/components/ui/collapsible.tsx +33 -0
- package/landing-pages/open-engineer-template/src/components/ui/command.tsx +184 -0
- package/landing-pages/open-engineer-template/src/components/ui/context-menu.tsx +252 -0
- package/landing-pages/open-engineer-template/src/components/ui/dialog.tsx +143 -0
- package/landing-pages/open-engineer-template/src/components/ui/drawer.tsx +135 -0
- package/landing-pages/open-engineer-template/src/components/ui/dropdown-menu.tsx +257 -0
- package/landing-pages/open-engineer-template/src/components/ui/empty.tsx +104 -0
- package/landing-pages/open-engineer-template/src/components/ui/field.tsx +248 -0
- package/landing-pages/open-engineer-template/src/components/ui/form.tsx +167 -0
- package/landing-pages/open-engineer-template/src/components/ui/hover-card.tsx +44 -0
- package/landing-pages/open-engineer-template/src/components/ui/input-group.tsx +170 -0
- package/landing-pages/open-engineer-template/src/components/ui/input-otp.tsx +77 -0
- package/landing-pages/open-engineer-template/src/components/ui/input.tsx +21 -0
- package/landing-pages/open-engineer-template/src/components/ui/item.tsx +193 -0
- package/landing-pages/open-engineer-template/src/components/ui/kbd.tsx +28 -0
- package/landing-pages/open-engineer-template/src/components/ui/label.tsx +24 -0
- package/landing-pages/open-engineer-template/src/components/ui/menubar.tsx +276 -0
- package/landing-pages/open-engineer-template/src/components/ui/navigation-menu.tsx +168 -0
- package/landing-pages/open-engineer-template/src/components/ui/pagination.tsx +127 -0
- package/landing-pages/open-engineer-template/src/components/ui/popover.tsx +48 -0
- package/landing-pages/open-engineer-template/src/components/ui/progress.tsx +31 -0
- package/landing-pages/open-engineer-template/src/components/ui/radio-group.tsx +45 -0
- package/landing-pages/open-engineer-template/src/components/ui/resizable.tsx +56 -0
- package/landing-pages/open-engineer-template/src/components/ui/scroll-area.tsx +58 -0
- package/landing-pages/open-engineer-template/src/components/ui/select.tsx +185 -0
- package/landing-pages/open-engineer-template/src/components/ui/separator.tsx +28 -0
- package/landing-pages/open-engineer-template/src/components/ui/sheet.tsx +139 -0
- package/landing-pages/open-engineer-template/src/components/ui/sidebar.tsx +726 -0
- package/landing-pages/open-engineer-template/src/components/ui/skeleton.tsx +13 -0
- package/landing-pages/open-engineer-template/src/components/ui/slider.tsx +63 -0
- package/landing-pages/open-engineer-template/src/components/ui/sonner.tsx +25 -0
- package/landing-pages/open-engineer-template/src/components/ui/spinner.tsx +16 -0
- package/landing-pages/open-engineer-template/src/components/ui/switch.tsx +31 -0
- package/landing-pages/open-engineer-template/src/components/ui/table.tsx +116 -0
- package/landing-pages/open-engineer-template/src/components/ui/tabs.tsx +66 -0
- package/landing-pages/open-engineer-template/src/components/ui/textarea.tsx +18 -0
- package/landing-pages/open-engineer-template/src/components/ui/toggle-group.tsx +73 -0
- package/landing-pages/open-engineer-template/src/components/ui/toggle.tsx +47 -0
- package/landing-pages/open-engineer-template/src/components/ui/tooltip.tsx +61 -0
- package/landing-pages/open-engineer-template/src/hooks/use-mobile.ts +19 -0
- package/landing-pages/open-engineer-template/src/lib/hooks/use-mobile.tsx +21 -0
- package/landing-pages/open-engineer-template/src/lib/utils.ts +6 -0
- package/landing-pages/open-engineer-template/src/visual-edits/VisualEditsMessenger.tsx +2159 -0
- package/landing-pages/open-engineer-template/src/visual-edits/component-tagger-loader.js +460 -0
- package/landing-pages/open-engineer-template/tsconfig.json +42 -0
- package/package.json +36 -0
- package/templates.json +22 -0
|
@@ -0,0 +1,792 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import React, { useState } from "react";
|
|
4
|
+
import Image from "next/image";
|
|
5
|
+
import {
|
|
6
|
+
TrendingUp,
|
|
7
|
+
Users,
|
|
8
|
+
Calendar,
|
|
9
|
+
RefreshCcw,
|
|
10
|
+
FileText,
|
|
11
|
+
PenTool,
|
|
12
|
+
MoreVertical,
|
|
13
|
+
Play,
|
|
14
|
+
ArrowRight,
|
|
15
|
+
Database,
|
|
16
|
+
Building2,
|
|
17
|
+
Linkedin
|
|
18
|
+
} from "lucide-react";
|
|
19
|
+
import { cn } from "@/lib/utils";
|
|
20
|
+
|
|
21
|
+
const tabs = [
|
|
22
|
+
{ id: "lead-qualifier", label: "Lead Qualifier", icon: TrendingUp },
|
|
23
|
+
{ id: "meeting-prep", label: "Meeting Prep", icon: Users },
|
|
24
|
+
{ id: "follow-ups", label: "Follow-ups", icon: Calendar },
|
|
25
|
+
{ id: "data-sync", label: "Data Sync", icon: RefreshCcw },
|
|
26
|
+
{ id: "reporting", label: "Reporting", icon: FileText },
|
|
27
|
+
{ id: "content-drafting", label: "Content Drafting", icon: PenTool },
|
|
28
|
+
];
|
|
29
|
+
|
|
30
|
+
export default function WorkflowTabs() {
|
|
31
|
+
const [activeTab, setActiveTab] = useState("lead-qualifier");
|
|
32
|
+
|
|
33
|
+
return (
|
|
34
|
+
<section className="w-full bg-background">
|
|
35
|
+
<div className="border-b border-border px-4 sm:px-6 lg:px-8">
|
|
36
|
+
<div className="mx-auto max-w-7xl border-x border-border">
|
|
37
|
+
{/* Tabs Navigation */}
|
|
38
|
+
<div className="flex w-full overflow-x-auto no-scrollbar border-b border-border">
|
|
39
|
+
{tabs.map((tab) => {
|
|
40
|
+
const Icon = tab.icon;
|
|
41
|
+
const isActive = activeTab === tab.id;
|
|
42
|
+
return (
|
|
43
|
+
<button
|
|
44
|
+
key={tab.id}
|
|
45
|
+
onClick={() => setActiveTab(tab.id)}
|
|
46
|
+
className={cn(
|
|
47
|
+
"flex flex-1 items-center justify-center gap-2 px-4 py-5 text-sm font-medium transition-all duration-200 min-w-[160px] border-r border-border last:border-r-0 relative group",
|
|
48
|
+
isActive
|
|
49
|
+
? "bg-muted text-foreground"
|
|
50
|
+
: "text-muted-foreground hover:bg-muted/50 hover:text-foreground"
|
|
51
|
+
)}
|
|
52
|
+
>
|
|
53
|
+
<Icon className={cn("size-4", isActive ? "text-foreground" : "text-muted-foreground")} />
|
|
54
|
+
{tab.label}
|
|
55
|
+
{isActive && (
|
|
56
|
+
<div className="absolute top-0 left-0 right-0 h-[2px] bg-foreground" />
|
|
57
|
+
)}
|
|
58
|
+
</button>
|
|
59
|
+
);
|
|
60
|
+
})}
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
{/* Workflow Content Area */}
|
|
64
|
+
<div className="relative min-h-[600px] w-full p-8 md:p-16 overflow-hidden dot-grid">
|
|
65
|
+
<div className="absolute inset-0 bg-gradient-to-b from-transparent to-background/50 pointer-events-none" />
|
|
66
|
+
|
|
67
|
+
<div className="relative mx-auto max-w-5xl">
|
|
68
|
+
{/* Lead Qualifier Visual Diagram */}
|
|
69
|
+
{activeTab === "lead-qualifier" && (
|
|
70
|
+
<div className="relative flex flex-col items-center justify-between gap-12 md:flex-row md:items-start">
|
|
71
|
+
|
|
72
|
+
{/* Step 1: Input */}
|
|
73
|
+
<div className="z-10 w-full max-w-[320px] animate-in fade-in slide-in-from-left-4 duration-700">
|
|
74
|
+
<div className="mb-3 inline-flex items-center gap-1.5 rounded-md bg-zinc-100 px-2 py-1 text-[10px] font-bold text-zinc-600 uppercase tracking-wider">
|
|
75
|
+
<PenTool className="size-3" /> Input
|
|
76
|
+
</div>
|
|
77
|
+
<div className="rounded-xl border border-border bg-white p-5 shadow-sm">
|
|
78
|
+
<div className="flex items-start justify-between">
|
|
79
|
+
<div className="flex items-center gap-2 mb-4">
|
|
80
|
+
<div className="p-1 rounded bg-muted">
|
|
81
|
+
<RefreshCcw className="size-4" />
|
|
82
|
+
</div>
|
|
83
|
+
<h4 className="text-sm font-semibold">New Lead Inquiry</h4>
|
|
84
|
+
</div>
|
|
85
|
+
<MoreVertical className="size-4 text-muted-foreground" />
|
|
86
|
+
</div>
|
|
87
|
+
<p className="text-xs text-muted-foreground mb-4">
|
|
88
|
+
Automatically qualify new inbound leads from email or forms.
|
|
89
|
+
</p>
|
|
90
|
+
|
|
91
|
+
<div className="space-y-2">
|
|
92
|
+
<div className="rounded-lg bg-zinc-50 p-3">
|
|
93
|
+
<span className="text-[10px] font-medium text-zinc-600 bg-zinc-200 px-1.5 py-0.5 rounded">Fetching detail...</span>
|
|
94
|
+
<div className="mt-2 space-y-2">
|
|
95
|
+
<div className="flex items-center gap-2 text-[11px] text-muted-foreground">
|
|
96
|
+
<Building2 className="size-3 text-zinc-600" />
|
|
97
|
+
Company details
|
|
98
|
+
</div>
|
|
99
|
+
<div className="flex items-center gap-2 text-[11px] text-muted-foreground">
|
|
100
|
+
<Linkedin className="size-3 text-zinc-600" />
|
|
101
|
+
LinkedIn profiles
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
104
|
+
</div>
|
|
105
|
+
<div className="flex items-center justify-end text-[10px] text-muted-foreground italic">
|
|
106
|
+
<span>🕒 0.3 sec</span>
|
|
107
|
+
</div>
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
110
|
+
</div>
|
|
111
|
+
|
|
112
|
+
{/* Connecting Arrows (Desktop) */}
|
|
113
|
+
<svg className="absolute left-[320px] top-[140px] hidden h-[300px] w-[calc(100%-640px)] md:block" fill="none">
|
|
114
|
+
<path
|
|
115
|
+
d="M 0 0 L 100 0 C 120 0 120 80 140 80 H 300"
|
|
116
|
+
stroke="#E4E4E7"
|
|
117
|
+
strokeWidth="2"
|
|
118
|
+
strokeDasharray="4 4"
|
|
119
|
+
/>
|
|
120
|
+
<path
|
|
121
|
+
d="M 300 80 H 400 C 420 80 420 0 440 0 H 600"
|
|
122
|
+
stroke="#E4E4E7"
|
|
123
|
+
strokeWidth="2"
|
|
124
|
+
strokeDasharray="4 4"
|
|
125
|
+
/>
|
|
126
|
+
</svg>
|
|
127
|
+
|
|
128
|
+
{/* Step 2: Action - Positioned middle bottom */}
|
|
129
|
+
<div className="z-10 mt-24 w-full max-w-[320px] self-center animate-in fade-in zoom-in-95 duration-1000">
|
|
130
|
+
<div className="mb-3 inline-flex items-center gap-1.5 rounded-md bg-zinc-200 px-2 py-1 text-[10px] font-bold text-zinc-700 uppercase tracking-wider">
|
|
131
|
+
<Play className="size-3 fill-current" /> Action
|
|
132
|
+
</div>
|
|
133
|
+
<div className="rounded-xl border border-border bg-white p-5 shadow-sm">
|
|
134
|
+
<div className="flex items-start justify-between mb-4">
|
|
135
|
+
<div className="flex items-center gap-2">
|
|
136
|
+
<TrendingUp className="size-4 text-primary" />
|
|
137
|
+
<h4 className="text-sm font-semibold">Scoring & Categorization</h4>
|
|
138
|
+
</div>
|
|
139
|
+
<MoreVertical className="size-4 text-muted-foreground" />
|
|
140
|
+
</div>
|
|
141
|
+
<p className="text-xs text-muted-foreground mb-4">
|
|
142
|
+
Using AI logic, the lead is scored based on size, industry, and engagement.
|
|
143
|
+
</p>
|
|
144
|
+
|
|
145
|
+
<div className="flex items-center justify-between">
|
|
146
|
+
<div className="flex items-center gap-2 text-[11px]">
|
|
147
|
+
<span className="text-muted-foreground">🕒 1.8 sec</span>
|
|
148
|
+
</div>
|
|
149
|
+
<div className="flex items-center gap-1.5 rounded-full bg-zinc-100 px-2 py-1 text-[10px] font-medium text-primary border border-primary/20">
|
|
150
|
+
GPT-4-Turbo
|
|
151
|
+
</div>
|
|
152
|
+
</div>
|
|
153
|
+
</div>
|
|
154
|
+
</div>
|
|
155
|
+
|
|
156
|
+
{/* Step 3: Output */}
|
|
157
|
+
<div className="z-10 w-full max-w-[320px] animate-in fade-in slide-in-from-right-4 duration-700">
|
|
158
|
+
<div className="mb-3 inline-flex items-center gap-1.5 rounded-md bg-zinc-900 px-2 py-1 text-[10px] font-bold text-white uppercase tracking-wider">
|
|
159
|
+
<Database className="size-3" /> Output
|
|
160
|
+
</div>
|
|
161
|
+
<div className="rounded-xl border border-border bg-white p-5 shadow-sm">
|
|
162
|
+
<div className="flex items-start justify-between">
|
|
163
|
+
<div className="flex items-center gap-2 mb-4">
|
|
164
|
+
<FileText className="size-4 text-zinc-600" />
|
|
165
|
+
<h4 className="text-sm font-semibold">Response</h4>
|
|
166
|
+
</div>
|
|
167
|
+
<MoreVertical className="size-4 text-muted-foreground" />
|
|
168
|
+
</div>
|
|
169
|
+
<p className="text-xs text-muted-foreground mb-4">
|
|
170
|
+
The agent have prepared a tailored response.
|
|
171
|
+
</p>
|
|
172
|
+
|
|
173
|
+
<div className="rounded-lg bg-zinc-50 p-4">
|
|
174
|
+
<span className="text-[10px] font-medium text-[#71717A] bg-white border border-border px-1.5 py-0.5 rounded shadow-sm uppercase tracking-tighter">Answer</span>
|
|
175
|
+
<p className="mt-3 text-[11px] leading-relaxed text-muted-foreground">
|
|
176
|
+
Lead status, notes, and follow-up are logged in the CRM, ready for the sales team.
|
|
177
|
+
</p>
|
|
178
|
+
<div className="mt-4 flex items-center gap-2 text-[11px] text-zinc-900 font-medium border-t border-border/50 pt-3">
|
|
179
|
+
<Database className="size-3 text-zinc-500" />
|
|
180
|
+
File updated
|
|
181
|
+
</div>
|
|
182
|
+
</div>
|
|
183
|
+
|
|
184
|
+
<div className="mt-3 flex items-center justify-end text-[10px] text-muted-foreground italic">
|
|
185
|
+
<span>🕒 0.3 sec</span>
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
188
|
+
</div>
|
|
189
|
+
</div>
|
|
190
|
+
)}
|
|
191
|
+
|
|
192
|
+
{/* Meeting Prep Visual Diagram */}
|
|
193
|
+
{activeTab === "meeting-prep" && (
|
|
194
|
+
<div className="relative flex flex-col items-center justify-center gap-8 animate-in fade-in duration-500">
|
|
195
|
+
{/* Top: Input Card */}
|
|
196
|
+
<div className="z-10 w-full max-w-[340px] animate-in fade-in slide-in-from-top-4 duration-700">
|
|
197
|
+
<div className="mb-3 inline-flex items-center gap-1.5 rounded-md bg-zinc-200 px-2 py-1 text-[10px] font-bold text-zinc-700 uppercase tracking-wider">
|
|
198
|
+
<PenTool className="size-3" /> Input
|
|
199
|
+
</div>
|
|
200
|
+
<div className="rounded-xl border border-border bg-white p-5 shadow-sm">
|
|
201
|
+
<div className="flex items-start justify-between">
|
|
202
|
+
<div className="flex items-center gap-2 mb-2">
|
|
203
|
+
<div className="p-1.5 rounded bg-muted">
|
|
204
|
+
<svg className="size-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><rect width="18" height="18" x="3" y="4" rx="2" ry="2"/><line x1="16" x2="16" y1="2" y2="6"/><line x1="8" x2="8" y1="2" y2="6"/><line x1="3" x2="21" y1="10" y2="10"/></svg>
|
|
205
|
+
</div>
|
|
206
|
+
<h4 className="text-sm font-semibold">Upcoming Meeting</h4>
|
|
207
|
+
</div>
|
|
208
|
+
<span className="text-[11px] text-muted-foreground">1:32 AM</span>
|
|
209
|
+
</div>
|
|
210
|
+
<p className="text-xs text-muted-foreground">
|
|
211
|
+
Four hours before a scheduled event, the agent triggers prep mode.
|
|
212
|
+
</p>
|
|
213
|
+
</div>
|
|
214
|
+
</div>
|
|
215
|
+
|
|
216
|
+
{/* Center Row: Action Cards with Connecting Lines */}
|
|
217
|
+
<div className="relative flex w-full items-start justify-center gap-6 md:gap-12 lg:gap-24">
|
|
218
|
+
{/* SVG Connector Lines */}
|
|
219
|
+
<svg className="absolute inset-0 h-full w-full pointer-events-none hidden md:block" preserveAspectRatio="none">
|
|
220
|
+
<line x1="50%" y1="0" x2="25%" y2="50%" stroke="#E4E4E7" strokeWidth="1.5" strokeDasharray="4 4" />
|
|
221
|
+
<line x1="50%" y1="0" x2="75%" y2="50%" stroke="#E4E4E7" strokeWidth="1.5" strokeDasharray="4 4" />
|
|
222
|
+
<line x1="25%" y1="50%" x2="50%" y2="100%" stroke="#E4E4E7" strokeWidth="1.5" strokeDasharray="4 4" />
|
|
223
|
+
<line x1="75%" y1="50%" x2="50%" y2="100%" stroke="#E4E4E7" strokeWidth="1.5" strokeDasharray="4 4" />
|
|
224
|
+
</svg>
|
|
225
|
+
|
|
226
|
+
{/* Left Action: Context Gathering */}
|
|
227
|
+
<div className="z-10 w-full max-w-[300px] animate-in fade-in slide-in-from-left-4 duration-700 delay-150">
|
|
228
|
+
<div className="mb-3 inline-flex items-center gap-1.5 rounded-md bg-zinc-200 px-2 py-1 text-[10px] font-bold text-zinc-700 uppercase tracking-wider">
|
|
229
|
+
<Play className="size-3 fill-current" /> Action
|
|
230
|
+
</div>
|
|
231
|
+
<div className="rounded-xl border border-border bg-white p-5 shadow-sm">
|
|
232
|
+
<div className="flex items-start justify-between mb-3">
|
|
233
|
+
<div className="flex items-center gap-2">
|
|
234
|
+
<svg className="size-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>
|
|
235
|
+
<h4 className="text-sm font-semibold">Context Gathering</h4>
|
|
236
|
+
</div>
|
|
237
|
+
<MoreVertical className="size-4 text-muted-foreground" />
|
|
238
|
+
</div>
|
|
239
|
+
|
|
240
|
+
<div className="rounded-lg bg-zinc-100 p-3 space-y-2.5">
|
|
241
|
+
<span className="text-[10px] font-medium text-muted-foreground bg-white border border-border px-1.5 py-0.5 rounded shadow-sm">Fetching detail...</span>
|
|
242
|
+
<div className="flex items-center gap-2 text-[11px] text-muted-foreground">
|
|
243
|
+
<svg className="size-3.5 text-zinc-600" viewBox="0 0 24 24" fill="currentColor"><path d="M24 5.457v13.909c0 .904-.732 1.636-1.636 1.636h-3.819V11.73L12 16.64l-6.545-4.91v9.273H1.636A1.636 1.636 0 0 1 0 19.366V5.457c0-2.023 2.309-3.178 3.927-1.964L5.455 4.64 12 9.548l6.545-4.91 1.528-1.145C21.69 2.28 24 3.434 24 5.457z"/></svg>
|
|
244
|
+
Collect recent emails
|
|
245
|
+
</div>
|
|
246
|
+
<div className="flex items-center gap-2 text-[11px] text-muted-foreground">
|
|
247
|
+
<svg className="size-3.5 text-zinc-600" viewBox="0 0 24 24" fill="currentColor"><path d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zM6.313 15.165a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zM8.834 6.313a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zM18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zM17.688 8.834a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zM15.165 17.688a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z"/></svg>
|
|
248
|
+
Check participant messages
|
|
249
|
+
</div>
|
|
250
|
+
<div className="flex items-center gap-2 text-[11px] text-muted-foreground">
|
|
251
|
+
<svg className="size-3.5 text-zinc-600" viewBox="0 0 24 24" fill="currentColor"><path d="M19.5 3.5L18 2l-1.5 1.5L15 2l-1.5 1.5L12 2l-1.5 1.5L9 2 7.5 3.5 6 2 4.5 3.5 3 2v20l1.5-1.5L6 22l1.5-1.5L9 22l1.5-1.5L12 22l1.5-1.5L15 22l1.5-1.5L18 22l1.5-1.5L21 22V2l-1.5 1.5zM19 19H5V5h14v14z"/><path d="M9 12h6v2H9v-2zm0-4h6v2H9V8zm0 8h4v2H9v-2z"/></svg>
|
|
252
|
+
Past meeting notes
|
|
253
|
+
</div>
|
|
254
|
+
</div>
|
|
255
|
+
|
|
256
|
+
<div className="mt-3 flex items-center justify-between">
|
|
257
|
+
<span className="text-[10px] text-muted-foreground">⏱ 4 sec</span>
|
|
258
|
+
<div className="flex items-center gap-1.5 rounded-full bg-zinc-200 border border-zinc-300 px-2 py-1 text-[10px] font-medium text-zinc-700">
|
|
259
|
+
<svg className="size-3" viewBox="0 0 24 24" fill="currentColor"><path d="M22.2819 9.8211a5.9847 5.9847 0 0 0-.5153-4.9066 6.0462 6.0462 0 0 0-6.5145-2.3254 6.1291 6.1291 0 0 0-4.6544-1.8925 6.0515 6.0515 0 0 0-5.8159 4.3184 6.1055 6.1055 0 0 0-4.1108 2.9836 6.0459 6.0459 0 0 0 .7428 7.121 5.9847 5.9847 0 0 0 .5153 4.9066 6.0462 6.0462 0 0 0 6.5145 2.3254 6.13 6.13 0 0 0 4.6544 1.8925 6.0515 6.0515 0 0 0 5.8159-4.3184 6.0994 6.0994 0 0 0 4.1108-2.9836 6.0461 6.0461 0 0 0-.7428-7.121z"/></svg>
|
|
260
|
+
GPT-4-1 Mini
|
|
261
|
+
</div>
|
|
262
|
+
</div>
|
|
263
|
+
</div>
|
|
264
|
+
</div>
|
|
265
|
+
|
|
266
|
+
{/* Right Action: Brief Generation */}
|
|
267
|
+
<div className="z-10 w-full max-w-[300px] animate-in fade-in slide-in-from-right-4 duration-700 delay-150">
|
|
268
|
+
<div className="mb-3 inline-flex items-center gap-1.5 rounded-md bg-zinc-200 px-2 py-1 text-[10px] font-bold text-zinc-700 uppercase tracking-wider">
|
|
269
|
+
<Play className="size-3 fill-current" /> Action
|
|
270
|
+
</div>
|
|
271
|
+
<div className="rounded-xl border border-border bg-white p-5 shadow-sm">
|
|
272
|
+
<div className="flex items-start justify-between mb-3">
|
|
273
|
+
<div className="flex items-center gap-2">
|
|
274
|
+
<FileText className="size-4" />
|
|
275
|
+
<h4 className="text-sm font-semibold">Brief Generation</h4>
|
|
276
|
+
</div>
|
|
277
|
+
<MoreVertical className="size-4 text-muted-foreground" />
|
|
278
|
+
</div>
|
|
279
|
+
|
|
280
|
+
<div className="rounded-lg bg-zinc-100 p-3 space-y-2.5">
|
|
281
|
+
<span className="text-[10px] font-medium text-muted-foreground bg-white border border-border px-1.5 py-0.5 rounded shadow-sm">Generating</span>
|
|
282
|
+
<div className="flex items-center gap-2 text-[11px] text-muted-foreground">
|
|
283
|
+
<svg className="size-3 text-zinc-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="3"><polyline points="20 6 9 17 4 12"/></svg>
|
|
284
|
+
Summaries key points
|
|
285
|
+
</div>
|
|
286
|
+
<div className="flex items-center gap-2 text-[11px] text-muted-foreground">
|
|
287
|
+
<svg className="size-3 text-zinc-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="3"><polyline points="20 6 9 17 4 12"/></svg>
|
|
288
|
+
Open tasks
|
|
289
|
+
</div>
|
|
290
|
+
<div className="flex items-center gap-2 text-[11px] text-muted-foreground">
|
|
291
|
+
<svg className="size-3 text-zinc-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="3"><polyline points="20 6 9 17 4 12"/></svg>
|
|
292
|
+
Recommended discussion topics
|
|
293
|
+
</div>
|
|
294
|
+
</div>
|
|
295
|
+
|
|
296
|
+
<div className="mt-3 flex items-center justify-between">
|
|
297
|
+
<span className="text-[10px] text-muted-foreground">⏱ 1.3 sec</span>
|
|
298
|
+
<div className="flex items-center gap-1.5 rounded-full bg-zinc-200 border border-zinc-300 px-2 py-1 text-[10px] font-medium text-zinc-700">
|
|
299
|
+
<svg className="size-3" viewBox="0 0 24 24" fill="currentColor"><path d="M22.2819 9.8211a5.9847 5.9847 0 0 0-.5153-4.9066 6.0462 6.0462 0 0 0-6.5145-2.3254 6.1291 6.1291 0 0 0-4.6544-1.8925 6.0515 6.0515 0 0 0-5.8159 4.3184 6.1055 6.1055 0 0 0-4.1108 2.9836 6.0459 6.0459 0 0 0 .7428 7.121 5.9847 5.9847 0 0 0 .5153 4.9066 6.0462 6.0462 0 0 0 6.5145 2.3254 6.13 6.13 0 0 0 4.6544 1.8925 6.0515 6.0515 0 0 0 5.8159-4.3184 6.0994 6.0994 0 0 0 4.1108-2.9836 6.0461 6.0461 0 0 0-.7428-7.121z"/></svg>
|
|
300
|
+
GPT-4-1 Mini
|
|
301
|
+
</div>
|
|
302
|
+
</div>
|
|
303
|
+
</div>
|
|
304
|
+
</div>
|
|
305
|
+
</div>
|
|
306
|
+
|
|
307
|
+
{/* Bottom: Output Card */}
|
|
308
|
+
<div className="z-10 w-full max-w-[360px] animate-in fade-in slide-in-from-bottom-4 duration-700 delay-300">
|
|
309
|
+
<div className="mb-3 inline-flex items-center gap-1.5 rounded-md bg-zinc-900 px-2 py-1 text-[10px] font-bold text-white uppercase tracking-wider">
|
|
310
|
+
<svg className="size-3" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><polyline points="20 6 9 17 4 12"/></svg> Output
|
|
311
|
+
</div>
|
|
312
|
+
<div className="rounded-xl border border-border bg-white p-5 shadow-sm">
|
|
313
|
+
<div className="flex items-start justify-between mb-3">
|
|
314
|
+
<div className="flex items-center gap-2">
|
|
315
|
+
<svg className="size-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"/><polyline points="14 2 14 8 20 8"/><line x1="16" x2="8" y1="13" y2="13"/><line x1="16" x2="8" y1="17" y2="17"/><line x1="10" x2="8" y1="9" y2="9"/></svg>
|
|
316
|
+
<h4 className="text-sm font-semibold">Meeting Brief Document</h4>
|
|
317
|
+
</div>
|
|
318
|
+
<MoreVertical className="size-4 text-muted-foreground" />
|
|
319
|
+
</div>
|
|
320
|
+
<p className="text-xs text-muted-foreground mb-4">
|
|
321
|
+
A polished meeting brief sended to the organizer.
|
|
322
|
+
</p>
|
|
323
|
+
|
|
324
|
+
<div className="rounded-lg bg-zinc-50 p-3 flex items-center gap-2">
|
|
325
|
+
<svg className="size-4 text-zinc-600" viewBox="0 0 24 24" fill="currentColor"><path d="M19 4h-1V3c0-.6-.4-1-1-1s-1 .4-1 1v1H8V3c0-.6-.4-1-1-1s-1 .4-1 1v1H5C3.3 4 2 5.3 2 7v12c0 1.7 1.3 3 3 3h14c1.7 0 3-1.3 3-3V7c0-1.7-1.3-3-3-3zm1 15c0 .6-.4 1-1 1H5c-.6 0-1-.4-1-1v-9h16v9zm0-11H4V7c0-.6.4-1 1-1h1v1c0 .6.4 1 1 1s1-.4 1-1V6h8v1c0 .6.4 1 1 1s1-.4 1-1V6h1c.6 0 1 .4 1 1v1z"/></svg>
|
|
326
|
+
<span className="text-[11px] text-muted-foreground">Attached to the calendar</span>
|
|
327
|
+
</div>
|
|
328
|
+
|
|
329
|
+
<div className="mt-3 flex items-center justify-end">
|
|
330
|
+
<span className="text-[10px] text-muted-foreground">⏱ 0.8 sec</span>
|
|
331
|
+
</div>
|
|
332
|
+
</div>
|
|
333
|
+
</div>
|
|
334
|
+
</div>
|
|
335
|
+
)}
|
|
336
|
+
|
|
337
|
+
{/* Follow-ups Workflow */}
|
|
338
|
+
{activeTab === "follow-ups" && (
|
|
339
|
+
<div className="relative flex flex-col items-center justify-between gap-12 md:flex-row md:items-start">
|
|
340
|
+
{/* Input: Missed Response Detection */}
|
|
341
|
+
<div className="z-10 w-full max-w-[320px] animate-in fade-in slide-in-from-left-4 duration-700">
|
|
342
|
+
<div className="mb-3 inline-flex items-center gap-1.5 rounded-md bg-zinc-100 px-2 py-1 text-[10px] font-bold text-zinc-600 uppercase tracking-wider">
|
|
343
|
+
<PenTool className="size-3" /> Input
|
|
344
|
+
</div>
|
|
345
|
+
<div className="rounded-xl border border-border bg-white p-5 shadow-sm">
|
|
346
|
+
<div className="flex items-start justify-between">
|
|
347
|
+
<div className="flex items-center gap-2 mb-4">
|
|
348
|
+
<div className="p-1 rounded bg-muted">
|
|
349
|
+
<Calendar className="size-4" />
|
|
350
|
+
</div>
|
|
351
|
+
<h4 className="text-sm font-semibold">Missed Response</h4>
|
|
352
|
+
</div>
|
|
353
|
+
<MoreVertical className="size-4 text-muted-foreground" />
|
|
354
|
+
</div>
|
|
355
|
+
<p className="text-xs text-muted-foreground mb-4">
|
|
356
|
+
Detects emails or messages that haven't received a reply within 48 hours.
|
|
357
|
+
</p>
|
|
358
|
+
<div className="rounded-lg bg-zinc-50 p-3">
|
|
359
|
+
<span className="text-[10px] font-medium text-zinc-600 bg-zinc-200 px-1.5 py-0.5 rounded">Scanning inbox...</span>
|
|
360
|
+
<div className="mt-2 space-y-2">
|
|
361
|
+
<div className="flex items-center gap-2 text-[11px] text-muted-foreground">
|
|
362
|
+
<svg className="size-3 text-zinc-600" viewBox="0 0 24 24" fill="currentColor"><path d="M24 5.457v13.909c0 .904-.732 1.636-1.636 1.636h-3.819V11.73L12 16.64l-6.545-4.91v9.273H1.636A1.636 1.636 0 0 1 0 19.366V5.457c0-2.023 2.309-3.178 3.927-1.964L5.455 4.64 12 9.548l6.545-4.91 1.528-1.145C21.69 2.28 24 3.434 24 5.457z"/></svg>
|
|
363
|
+
12 unanswered emails
|
|
364
|
+
</div>
|
|
365
|
+
<div className="flex items-center gap-2 text-[11px] text-muted-foreground">
|
|
366
|
+
<svg className="size-3.5 text-zinc-600" viewBox="0 0 24 24" fill="currentColor"><path d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52z"/><path d="M8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834z"/></svg>
|
|
367
|
+
5 pending Slack DMs
|
|
368
|
+
</div>
|
|
369
|
+
</div>
|
|
370
|
+
</div>
|
|
371
|
+
<div className="mt-2 flex items-center justify-end text-[10px] text-muted-foreground">
|
|
372
|
+
<span>🕒 1.2 sec</span>
|
|
373
|
+
</div>
|
|
374
|
+
</div>
|
|
375
|
+
</div>
|
|
376
|
+
|
|
377
|
+
{/* Action: Draft Follow-up */}
|
|
378
|
+
<div className="z-10 mt-24 w-full max-w-[320px] self-center animate-in fade-in zoom-in-95 duration-1000">
|
|
379
|
+
<div className="mb-3 inline-flex items-center gap-1.5 rounded-md bg-zinc-200 px-2 py-1 text-[10px] font-bold text-zinc-700 uppercase tracking-wider">
|
|
380
|
+
<Play className="size-3 fill-current" /> Action
|
|
381
|
+
</div>
|
|
382
|
+
<div className="rounded-xl border border-border bg-white p-5 shadow-sm">
|
|
383
|
+
<div className="flex items-start justify-between mb-4">
|
|
384
|
+
<div className="flex items-center gap-2">
|
|
385
|
+
<PenTool className="size-4 text-primary" />
|
|
386
|
+
<h4 className="text-sm font-semibold">Draft Follow-up Messages</h4>
|
|
387
|
+
</div>
|
|
388
|
+
<MoreVertical className="size-4 text-muted-foreground" />
|
|
389
|
+
</div>
|
|
390
|
+
<p className="text-xs text-muted-foreground mb-4">
|
|
391
|
+
AI drafts personalized follow-up messages based on conversation context and urgency.
|
|
392
|
+
</p>
|
|
393
|
+
<div className="flex items-center justify-between">
|
|
394
|
+
<span className="text-[10px] text-muted-foreground">🕒 2.1 sec</span>
|
|
395
|
+
<div className="flex items-center gap-1.5 rounded-full bg-zinc-100 px-2 py-1 text-[10px] font-medium text-primary border border-primary/20">
|
|
396
|
+
GPT-4-Turbo
|
|
397
|
+
</div>
|
|
398
|
+
</div>
|
|
399
|
+
</div>
|
|
400
|
+
</div>
|
|
401
|
+
|
|
402
|
+
{/* Output: Scheduled Messages */}
|
|
403
|
+
<div className="z-10 w-full max-w-[320px] animate-in fade-in slide-in-from-right-4 duration-700">
|
|
404
|
+
<div className="mb-3 inline-flex items-center gap-1.5 rounded-md bg-zinc-900 px-2 py-1 text-[10px] font-bold text-white uppercase tracking-wider">
|
|
405
|
+
<Database className="size-3" /> Output
|
|
406
|
+
</div>
|
|
407
|
+
<div className="rounded-xl border border-border bg-white p-5 shadow-sm">
|
|
408
|
+
<div className="flex items-start justify-between">
|
|
409
|
+
<div className="flex items-center gap-2 mb-4">
|
|
410
|
+
<svg className="size-4 text-zinc-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><polyline points="22 4 12 14.01 9 11.01"/></svg>
|
|
411
|
+
<h4 className="text-sm font-semibold">Queued for Review</h4>
|
|
412
|
+
</div>
|
|
413
|
+
<MoreVertical className="size-4 text-muted-foreground" />
|
|
414
|
+
</div>
|
|
415
|
+
<div className="rounded-lg bg-zinc-50 p-4 space-y-3">
|
|
416
|
+
<div className="flex items-center justify-between text-[11px]">
|
|
417
|
+
<span className="text-muted-foreground">17 drafts ready</span>
|
|
418
|
+
<span className="text-zinc-600 font-medium">Pending approval</span>
|
|
419
|
+
</div>
|
|
420
|
+
<div className="flex items-center gap-2 text-[11px] text-zinc-900 font-medium border-t border-border/50 pt-3">
|
|
421
|
+
<svg className="size-3 text-zinc-500" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><rect width="18" height="18" x="3" y="4" rx="2" ry="2"/><line x1="16" x2="16" y1="2" y2="6"/><line x1="8" x2="8" y1="2" y2="6"/><line x1="3" x2="21" y1="10" y2="10"/></svg>
|
|
422
|
+
Scheduled for 9:00 AM
|
|
423
|
+
</div>
|
|
424
|
+
</div>
|
|
425
|
+
<div className="mt-3 flex items-center justify-end text-[10px] text-muted-foreground">
|
|
426
|
+
<span>🕒 0.5 sec</span>
|
|
427
|
+
</div>
|
|
428
|
+
</div>
|
|
429
|
+
</div>
|
|
430
|
+
</div>
|
|
431
|
+
)}
|
|
432
|
+
|
|
433
|
+
{/* Data Sync Workflow */}
|
|
434
|
+
{activeTab === "data-sync" && (
|
|
435
|
+
<div className="relative flex flex-col items-center justify-center gap-8 animate-in fade-in duration-500">
|
|
436
|
+
{/* Top Row: Multiple Input Sources */}
|
|
437
|
+
<div className="flex w-full justify-center gap-6 flex-wrap">
|
|
438
|
+
{/* CRM Source */}
|
|
439
|
+
<div className="z-10 w-full max-w-[200px] animate-in fade-in slide-in-from-top-4 duration-700">
|
|
440
|
+
<div className="mb-2 inline-flex items-center gap-1 rounded-md bg-zinc-100 px-2 py-1 text-[9px] font-bold text-zinc-600 uppercase tracking-wider">
|
|
441
|
+
Source
|
|
442
|
+
</div>
|
|
443
|
+
<div className="rounded-xl border border-border bg-white p-4 shadow-sm text-center">
|
|
444
|
+
<div className="mx-auto mb-2 flex size-10 items-center justify-center rounded-lg bg-zinc-50">
|
|
445
|
+
<svg className="size-5 text-zinc-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>
|
|
446
|
+
</div>
|
|
447
|
+
<h4 className="text-xs font-semibold">Salesforce CRM</h4>
|
|
448
|
+
<p className="text-[10px] text-muted-foreground mt-1">2,847 contacts</p>
|
|
449
|
+
</div>
|
|
450
|
+
</div>
|
|
451
|
+
{/* Spreadsheet Source */}
|
|
452
|
+
<div className="z-10 w-full max-w-[200px] animate-in fade-in slide-in-from-top-4 duration-700 delay-100">
|
|
453
|
+
<div className="mb-2 inline-flex items-center gap-1 rounded-md bg-zinc-100 px-2 py-1 text-[9px] font-bold text-zinc-600 uppercase tracking-wider">
|
|
454
|
+
Source
|
|
455
|
+
</div>
|
|
456
|
+
<div className="rounded-xl border border-border bg-white p-4 shadow-sm text-center">
|
|
457
|
+
<div className="mx-auto mb-2 flex size-10 items-center justify-center rounded-lg bg-zinc-50">
|
|
458
|
+
<svg className="size-5 text-zinc-600" viewBox="0 0 24 24" fill="currentColor"><path d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"/></svg>
|
|
459
|
+
</div>
|
|
460
|
+
<h4 className="text-xs font-semibold">Google Sheets</h4>
|
|
461
|
+
<p className="text-[10px] text-muted-foreground mt-1">15 active sheets</p>
|
|
462
|
+
</div>
|
|
463
|
+
</div>
|
|
464
|
+
{/* Database Source */}
|
|
465
|
+
<div className="z-10 w-full max-w-[200px] animate-in fade-in slide-in-from-top-4 duration-700 delay-200">
|
|
466
|
+
<div className="mb-2 inline-flex items-center gap-1 rounded-md bg-zinc-100 px-2 py-1 text-[9px] font-bold text-zinc-600 uppercase tracking-wider">
|
|
467
|
+
Source
|
|
468
|
+
</div>
|
|
469
|
+
<div className="rounded-xl border border-border bg-white p-4 shadow-sm text-center">
|
|
470
|
+
<div className="mx-auto mb-2 flex size-10 items-center justify-center rounded-lg bg-zinc-50">
|
|
471
|
+
<Database className="size-5 text-zinc-600" />
|
|
472
|
+
</div>
|
|
473
|
+
<h4 className="text-xs font-semibold">PostgreSQL</h4>
|
|
474
|
+
<p className="text-[10px] text-muted-foreground mt-1">Main database</p>
|
|
475
|
+
</div>
|
|
476
|
+
</div>
|
|
477
|
+
</div>
|
|
478
|
+
|
|
479
|
+
{/* Center: Sync Engine */}
|
|
480
|
+
<div className="z-10 w-full max-w-[380px] animate-in fade-in zoom-in-95 duration-1000 delay-300">
|
|
481
|
+
<div className="mb-3 inline-flex items-center gap-1.5 rounded-md bg-zinc-200 px-2 py-1 text-[10px] font-bold text-zinc-700 uppercase tracking-wider">
|
|
482
|
+
<Play className="size-3 fill-current" /> Sync Engine
|
|
483
|
+
</div>
|
|
484
|
+
<div className="rounded-xl border border-border bg-white p-6 shadow-sm">
|
|
485
|
+
<div className="flex items-center gap-3 mb-4">
|
|
486
|
+
<div className="flex size-12 items-center justify-center rounded-xl bg-primary/10">
|
|
487
|
+
<RefreshCcw className="size-6 text-primary animate-spin" style={{ animationDuration: '3s' }} />
|
|
488
|
+
</div>
|
|
489
|
+
<div>
|
|
490
|
+
<h4 className="text-sm font-semibold">Real-time Data Sync</h4>
|
|
491
|
+
<p className="text-xs text-muted-foreground">Bi-directional sync across all platforms</p>
|
|
492
|
+
</div>
|
|
493
|
+
</div>
|
|
494
|
+
<div className="space-y-2">
|
|
495
|
+
<div className="flex items-center justify-between rounded-lg bg-zinc-100 p-2">
|
|
496
|
+
<span className="text-[11px] text-muted-foreground">Conflict resolution</span>
|
|
497
|
+
<span className="text-[10px] font-medium text-zinc-900">Auto-merge</span>
|
|
498
|
+
</div>
|
|
499
|
+
<div className="flex items-center justify-between rounded-lg bg-zinc-100 p-2">
|
|
500
|
+
<span className="text-[11px] text-muted-foreground">Last sync</span>
|
|
501
|
+
<span className="text-[10px] font-medium text-zinc-900">2 min ago</span>
|
|
502
|
+
</div>
|
|
503
|
+
<div className="flex items-center justify-between rounded-lg bg-zinc-100 p-2">
|
|
504
|
+
<span className="text-[11px] text-muted-foreground">Records updated</span>
|
|
505
|
+
<span className="text-[10px] font-medium text-zinc-900">1,247</span>
|
|
506
|
+
</div>
|
|
507
|
+
</div>
|
|
508
|
+
</div>
|
|
509
|
+
</div>
|
|
510
|
+
|
|
511
|
+
{/* Bottom: Output Status */}
|
|
512
|
+
<div className="z-10 w-full max-w-[400px] animate-in fade-in slide-in-from-bottom-4 duration-700 delay-500">
|
|
513
|
+
<div className="mb-3 inline-flex items-center gap-1.5 rounded-md bg-zinc-900 px-2 py-1 text-[10px] font-bold text-white uppercase tracking-wider">
|
|
514
|
+
<svg className="size-3" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><polyline points="20 6 9 17 4 12"/></svg> Sync Complete
|
|
515
|
+
</div>
|
|
516
|
+
<div className="rounded-xl border border-border bg-white p-5 shadow-sm">
|
|
517
|
+
<div className="grid grid-cols-3 gap-4 text-center">
|
|
518
|
+
<div>
|
|
519
|
+
<div className="text-2xl font-semibold text-zinc-900">99.8%</div>
|
|
520
|
+
<div className="text-[10px] text-muted-foreground">Accuracy</div>
|
|
521
|
+
</div>
|
|
522
|
+
<div>
|
|
523
|
+
<div className="text-2xl font-semibold text-zinc-900">0</div>
|
|
524
|
+
<div className="text-[10px] text-muted-foreground">Conflicts</div>
|
|
525
|
+
</div>
|
|
526
|
+
<div>
|
|
527
|
+
<div className="text-2xl font-semibold text-zinc-900">3.2s</div>
|
|
528
|
+
<div className="text-[10px] text-muted-foreground">Avg. sync time</div>
|
|
529
|
+
</div>
|
|
530
|
+
</div>
|
|
531
|
+
</div>
|
|
532
|
+
</div>
|
|
533
|
+
</div>
|
|
534
|
+
)}
|
|
535
|
+
|
|
536
|
+
{/* Reporting Workflow */}
|
|
537
|
+
{activeTab === "reporting" && (
|
|
538
|
+
<div className="relative flex flex-col items-center justify-between gap-12 md:flex-row md:items-start">
|
|
539
|
+
{/* Input: Data Sources */}
|
|
540
|
+
<div className="z-10 w-full max-w-[320px] animate-in fade-in slide-in-from-left-4 duration-700">
|
|
541
|
+
<div className="mb-3 inline-flex items-center gap-1.5 rounded-md bg-zinc-100 px-2 py-1 text-[10px] font-bold text-zinc-600 uppercase tracking-wider">
|
|
542
|
+
<PenTool className="size-3" /> Input
|
|
543
|
+
</div>
|
|
544
|
+
<div className="rounded-xl border border-border bg-white p-5 shadow-sm">
|
|
545
|
+
<div className="flex items-start justify-between">
|
|
546
|
+
<div className="flex items-center gap-2 mb-4">
|
|
547
|
+
<div className="p-1 rounded bg-muted">
|
|
548
|
+
<Database className="size-4" />
|
|
549
|
+
</div>
|
|
550
|
+
<h4 className="text-sm font-semibold">Data Collection</h4>
|
|
551
|
+
</div>
|
|
552
|
+
<MoreVertical className="size-4 text-muted-foreground" />
|
|
553
|
+
</div>
|
|
554
|
+
<p className="text-xs text-muted-foreground mb-4">
|
|
555
|
+
Aggregates metrics from multiple sources for comprehensive reporting.
|
|
556
|
+
</p>
|
|
557
|
+
<div className="rounded-lg bg-zinc-50 p-3 space-y-2">
|
|
558
|
+
<div className="flex items-center gap-2 text-[11px] text-muted-foreground">
|
|
559
|
+
<svg className="size-3 text-zinc-600" viewBox="0 0 24 24" fill="currentColor"><path d="M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"/></svg>
|
|
560
|
+
Google Analytics
|
|
561
|
+
</div>
|
|
562
|
+
<div className="flex items-center gap-2 text-[11px] text-muted-foreground">
|
|
563
|
+
<svg className="size-3 text-zinc-600" viewBox="0 0 24 24" fill="currentColor"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1.41 16.09V20h-2.67v-1.93c-1.71-.36-3.16-1.46-3.27-3.4h1.96c.1 1.05.82 1.87 2.65 1.87 1.96 0 2.4-.98 2.4-1.59 0-.83-.44-1.61-2.67-2.14-2.48-.6-4.18-1.62-4.18-3.67 0-1.72 1.39-2.84 3.11-3.21V4h2.67v1.95c1.86.45 2.79 1.86 2.85 3.39H14.3c-.05-1.11-.64-1.87-2.22-1.87-1.5 0-2.4.68-2.4 1.64 0 .84.65 1.39 2.67 1.91s4.18 1.39 4.18 3.91c-.01 1.83-1.38 2.83-3.12 3.16z"/></svg>
|
|
564
|
+
Stripe Revenue
|
|
565
|
+
</div>
|
|
566
|
+
<div className="flex items-center gap-2 text-[11px] text-muted-foreground">
|
|
567
|
+
<svg className="size-3 text-zinc-600" viewBox="0 0 24 24" fill="currentColor"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"/></svg>
|
|
568
|
+
HubSpot CRM
|
|
569
|
+
</div>
|
|
570
|
+
</div>
|
|
571
|
+
<div className="mt-2 flex items-center justify-end text-[10px] text-muted-foreground">
|
|
572
|
+
<span>🕒 2.4 sec</span>
|
|
573
|
+
</div>
|
|
574
|
+
</div>
|
|
575
|
+
</div>
|
|
576
|
+
|
|
577
|
+
{/* Action: Report Generation */}
|
|
578
|
+
<div className="z-10 mt-24 w-full max-w-[320px] self-center animate-in fade-in zoom-in-95 duration-1000">
|
|
579
|
+
<div className="mb-3 inline-flex items-center gap-1.5 rounded-md bg-zinc-200 px-2 py-1 text-[10px] font-bold text-zinc-700 uppercase tracking-wider">
|
|
580
|
+
<Play className="size-3 fill-current" /> Action
|
|
581
|
+
</div>
|
|
582
|
+
<div className="rounded-xl border border-border bg-white p-5 shadow-sm">
|
|
583
|
+
<div className="flex items-start justify-between mb-4">
|
|
584
|
+
<div className="flex items-center gap-2">
|
|
585
|
+
<FileText className="size-4 text-primary" />
|
|
586
|
+
<h4 className="text-sm font-semibold">AI Report Generation</h4>
|
|
587
|
+
</div>
|
|
588
|
+
<MoreVertical className="size-4 text-muted-foreground" />
|
|
589
|
+
</div>
|
|
590
|
+
<p className="text-xs text-muted-foreground mb-4">
|
|
591
|
+
Analyzes trends, generates insights, and creates visual dashboards automatically.
|
|
592
|
+
</p>
|
|
593
|
+
<div className="rounded-lg bg-zinc-100 p-3 space-y-2">
|
|
594
|
+
<div className="flex items-center gap-2 text-[11px] text-muted-foreground">
|
|
595
|
+
<svg className="size-3 text-zinc-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="3"><polyline points="20 6 9 17 4 12"/></svg>
|
|
596
|
+
Executive summary
|
|
597
|
+
</div>
|
|
598
|
+
<div className="flex items-center gap-2 text-[11px] text-muted-foreground">
|
|
599
|
+
<svg className="size-3 text-zinc-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="3"><polyline points="20 6 9 17 4 12"/></svg>
|
|
600
|
+
KPI visualizations
|
|
601
|
+
</div>
|
|
602
|
+
<div className="flex items-center gap-2 text-[11px] text-muted-foreground">
|
|
603
|
+
<svg className="size-3 text-zinc-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="3"><polyline points="20 6 9 17 4 12"/></svg>
|
|
604
|
+
Trend analysis
|
|
605
|
+
</div>
|
|
606
|
+
</div>
|
|
607
|
+
<div className="mt-3 flex items-center justify-between">
|
|
608
|
+
<span className="text-[10px] text-muted-foreground">🕒 4.7 sec</span>
|
|
609
|
+
<div className="flex items-center gap-1.5 rounded-full bg-zinc-100 px-2 py-1 text-[10px] font-medium text-primary border border-primary/20">
|
|
610
|
+
GPT-4-Turbo
|
|
611
|
+
</div>
|
|
612
|
+
</div>
|
|
613
|
+
</div>
|
|
614
|
+
</div>
|
|
615
|
+
|
|
616
|
+
{/* Output: Generated Report */}
|
|
617
|
+
<div className="z-10 w-full max-w-[320px] animate-in fade-in slide-in-from-right-4 duration-700">
|
|
618
|
+
<div className="mb-3 inline-flex items-center gap-1.5 rounded-md bg-zinc-900 px-2 py-1 text-[10px] font-bold text-white uppercase tracking-wider">
|
|
619
|
+
<Database className="size-3" /> Output
|
|
620
|
+
</div>
|
|
621
|
+
<div className="rounded-xl border border-border bg-white p-5 shadow-sm">
|
|
622
|
+
<div className="flex items-start justify-between">
|
|
623
|
+
<div className="flex items-center gap-2 mb-4">
|
|
624
|
+
<svg className="size-4 text-zinc-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"/><polyline points="14 2 14 8 20 8"/></svg>
|
|
625
|
+
<h4 className="text-sm font-semibold">Weekly Report</h4>
|
|
626
|
+
</div>
|
|
627
|
+
<MoreVertical className="size-4 text-muted-foreground" />
|
|
628
|
+
</div>
|
|
629
|
+
<div className="rounded-lg bg-zinc-50 p-4">
|
|
630
|
+
<div className="flex items-center justify-between mb-3">
|
|
631
|
+
<span className="text-[10px] font-medium text-zinc-700">Q4 Performance</span>
|
|
632
|
+
<span className="text-[10px] text-zinc-600 font-semibold">+23% ↑</span>
|
|
633
|
+
</div>
|
|
634
|
+
<div className="h-16 flex items-end gap-1">
|
|
635
|
+
{[40, 55, 45, 70, 60, 85, 75].map((h, i) => (
|
|
636
|
+
<div key={i} className="flex-1 bg-primary/20 rounded-t" style={{ height: `${h}%` }} />
|
|
637
|
+
))}
|
|
638
|
+
</div>
|
|
639
|
+
<div className="mt-3 flex items-center gap-2 text-[11px] text-zinc-900 font-medium border-t border-border/50 pt-3">
|
|
640
|
+
<svg className="size-3 text-zinc-500" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><path d="M4 4v16a2 2 0 0 0 2 2h12"/><path d="M4 4h16"/></svg>
|
|
641
|
+
Sent to stakeholders
|
|
642
|
+
</div>
|
|
643
|
+
</div>
|
|
644
|
+
<div className="mt-3 flex items-center justify-end text-[10px] text-muted-foreground">
|
|
645
|
+
<span>🕒 0.8 sec</span>
|
|
646
|
+
</div>
|
|
647
|
+
</div>
|
|
648
|
+
</div>
|
|
649
|
+
</div>
|
|
650
|
+
)}
|
|
651
|
+
|
|
652
|
+
{/* Content Drafting Workflow */}
|
|
653
|
+
{activeTab === "content-drafting" && (
|
|
654
|
+
<div className="relative flex flex-col items-center justify-center gap-8 animate-in fade-in duration-500">
|
|
655
|
+
{/* Top: Input Brief */}
|
|
656
|
+
<div className="z-10 w-full max-w-[400px] animate-in fade-in slide-in-from-top-4 duration-700">
|
|
657
|
+
<div className="mb-3 inline-flex items-center gap-1.5 rounded-md bg-zinc-100 px-2 py-1 text-[10px] font-bold text-zinc-600 uppercase tracking-wider">
|
|
658
|
+
<PenTool className="size-3" /> Input
|
|
659
|
+
</div>
|
|
660
|
+
<div className="rounded-xl border border-border bg-white p-5 shadow-sm">
|
|
661
|
+
<div className="flex items-start justify-between mb-4">
|
|
662
|
+
<div className="flex items-center gap-2">
|
|
663
|
+
<div className="p-1.5 rounded bg-muted">
|
|
664
|
+
<FileText className="size-4" />
|
|
665
|
+
</div>
|
|
666
|
+
<h4 className="text-sm font-semibold">Content Brief</h4>
|
|
667
|
+
</div>
|
|
668
|
+
<span className="text-[10px] text-muted-foreground bg-muted px-2 py-0.5 rounded">New request</span>
|
|
669
|
+
</div>
|
|
670
|
+
<div className="rounded-lg bg-zinc-100 p-3">
|
|
671
|
+
<p className="text-xs text-muted-foreground italic">"Write a blog post about AI productivity tools for remote teams, targeting startup founders..."</p>
|
|
672
|
+
</div>
|
|
673
|
+
<div className="mt-3 flex flex-wrap gap-2">
|
|
674
|
+
<span className="text-[10px] bg-blue-50 text-blue-700 px-2 py-0.5 rounded-full">Blog Post</span>
|
|
675
|
+
<span className="text-[10px] bg-purple-50 text-purple-700 px-2 py-0.5 rounded-full">1500 words</span>
|
|
676
|
+
<span className="text-[10px] bg-green-50 text-green-700 px-2 py-0.5 rounded-full">SEO optimized</span>
|
|
677
|
+
</div>
|
|
678
|
+
</div>
|
|
679
|
+
</div>
|
|
680
|
+
|
|
681
|
+
{/* Center Row: Action Cards */}
|
|
682
|
+
<div className="relative flex w-full items-start justify-center gap-6 md:gap-12">
|
|
683
|
+
{/* Research Action */}
|
|
684
|
+
<div className="z-10 w-full max-w-[280px] animate-in fade-in slide-in-from-left-4 duration-700 delay-150">
|
|
685
|
+
<div className="mb-3 inline-flex items-center gap-1.5 rounded-md bg-zinc-200 px-2 py-1 text-[10px] font-bold text-zinc-700 uppercase tracking-wider">
|
|
686
|
+
<Play className="size-3 fill-current" /> Research
|
|
687
|
+
</div>
|
|
688
|
+
<div className="rounded-xl border border-border bg-white p-4 shadow-sm">
|
|
689
|
+
<div className="flex items-center gap-2 mb-3">
|
|
690
|
+
<svg className="size-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></svg>
|
|
691
|
+
<h4 className="text-sm font-semibold">Topic Research</h4>
|
|
692
|
+
</div>
|
|
693
|
+
<div className="space-y-2 text-[11px] text-muted-foreground">
|
|
694
|
+
<div className="flex items-center gap-2">
|
|
695
|
+
<svg className="size-3 text-zinc-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="3"><polyline points="20 6 9 17 4 12"/></svg>
|
|
696
|
+
Competitor analysis
|
|
697
|
+
</div>
|
|
698
|
+
<div className="flex items-center gap-2">
|
|
699
|
+
<svg className="size-3 text-zinc-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="3"><polyline points="20 6 9 17 4 12"/></svg>
|
|
700
|
+
Keyword research
|
|
701
|
+
</div>
|
|
702
|
+
<div className="flex items-center gap-2">
|
|
703
|
+
<svg className="size-3 text-zinc-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="3"><polyline points="20 6 9 17 4 12"/></svg>
|
|
704
|
+
Trend analysis
|
|
705
|
+
</div>
|
|
706
|
+
</div>
|
|
707
|
+
<div className="mt-3 text-[10px] text-muted-foreground">🕒 3.2 sec</div>
|
|
708
|
+
</div>
|
|
709
|
+
</div>
|
|
710
|
+
|
|
711
|
+
{/* Writing Action */}
|
|
712
|
+
<div className="z-10 w-full max-w-[280px] animate-in fade-in slide-in-from-right-4 duration-700 delay-150">
|
|
713
|
+
<div className="mb-3 inline-flex items-center gap-1.5 rounded-md bg-zinc-200 px-2 py-1 text-[10px] font-bold text-zinc-700 uppercase tracking-wider">
|
|
714
|
+
<Play className="size-3 fill-current" /> Writing
|
|
715
|
+
</div>
|
|
716
|
+
<div className="rounded-xl border border-border bg-white p-4 shadow-sm">
|
|
717
|
+
<div className="flex items-center gap-2 mb-3">
|
|
718
|
+
<PenTool className="size-4" />
|
|
719
|
+
<h4 className="text-sm font-semibold">Content Generation</h4>
|
|
720
|
+
</div>
|
|
721
|
+
<div className="space-y-2 text-[11px] text-muted-foreground">
|
|
722
|
+
<div className="flex items-center gap-2">
|
|
723
|
+
<svg className="size-3 text-zinc-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="3"><polyline points="20 6 9 17 4 12"/></svg>
|
|
724
|
+
Outline created
|
|
725
|
+
</div>
|
|
726
|
+
<div className="flex items-center gap-2">
|
|
727
|
+
<svg className="size-3 text-zinc-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="3"><polyline points="20 6 9 17 4 12"/></svg>
|
|
728
|
+
Draft written
|
|
729
|
+
</div>
|
|
730
|
+
<div className="flex items-center gap-2">
|
|
731
|
+
<svg className="size-3 text-zinc-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="3"><polyline points="20 6 9 17 4 12"/></svg>
|
|
732
|
+
SEO optimized
|
|
733
|
+
</div>
|
|
734
|
+
</div>
|
|
735
|
+
<div className="mt-3 flex items-center justify-between">
|
|
736
|
+
<span className="text-[10px] text-muted-foreground">🕒 8.5 sec</span>
|
|
737
|
+
<div className="flex items-center gap-1 rounded-full bg-zinc-200 px-2 py-0.5 text-[9px] font-medium text-zinc-700">
|
|
738
|
+
GPT-4o
|
|
739
|
+
</div>
|
|
740
|
+
</div>
|
|
741
|
+
</div>
|
|
742
|
+
</div>
|
|
743
|
+
</div>
|
|
744
|
+
|
|
745
|
+
{/* Bottom: Output */}
|
|
746
|
+
<div className="z-10 w-full max-w-[450px] animate-in fade-in slide-in-from-bottom-4 duration-700 delay-300">
|
|
747
|
+
<div className="mb-3 inline-flex items-center gap-1.5 rounded-md bg-zinc-900 px-2 py-1 text-[10px] font-bold text-white uppercase tracking-wider">
|
|
748
|
+
<svg className="size-3" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><polyline points="20 6 9 17 4 12"/></svg> Output
|
|
749
|
+
</div>
|
|
750
|
+
<div className="rounded-xl border border-border bg-white p-5 shadow-sm">
|
|
751
|
+
<div className="flex items-start justify-between mb-4">
|
|
752
|
+
<div className="flex items-center gap-2">
|
|
753
|
+
<svg className="size-4 text-zinc-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2"><path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"/><polyline points="14 2 14 8 20 8"/></svg>
|
|
754
|
+
<h4 className="text-sm font-semibold">Draft Ready for Review</h4>
|
|
755
|
+
</div>
|
|
756
|
+
<MoreVertical className="size-4 text-muted-foreground" />
|
|
757
|
+
</div>
|
|
758
|
+
<div className="rounded-lg bg-zinc-100 p-4">
|
|
759
|
+
<div className="flex items-center justify-between mb-2">
|
|
760
|
+
<span className="text-[11px] font-medium text-zinc-700">AI Productivity Tools for Remote Teams</span>
|
|
761
|
+
</div>
|
|
762
|
+
<div className="text-[10px] text-muted-foreground leading-relaxed line-clamp-2">
|
|
763
|
+
In today's fast-paced digital landscape, remote teams are constantly seeking ways to optimize their workflows and boost productivity...
|
|
764
|
+
</div>
|
|
765
|
+
<div className="mt-4 flex items-center justify-between border-t border-border/50 pt-3">
|
|
766
|
+
<div className="flex gap-3 text-[10px] text-muted-foreground">
|
|
767
|
+
<span>📝 1,523 words</span>
|
|
768
|
+
<span>⏱ 6 min read</span>
|
|
769
|
+
</div>
|
|
770
|
+
<button className="text-[10px] font-medium text-primary hover:underline">
|
|
771
|
+
Open in editor →
|
|
772
|
+
</button>
|
|
773
|
+
</div>
|
|
774
|
+
</div>
|
|
775
|
+
</div>
|
|
776
|
+
</div>
|
|
777
|
+
</div>
|
|
778
|
+
)}
|
|
779
|
+
</div>
|
|
780
|
+
</div>
|
|
781
|
+
|
|
782
|
+
{/* Footer Info */}
|
|
783
|
+
<div className="border-t border-border px-8 py-6 text-center">
|
|
784
|
+
<p className="text-sm text-muted-foreground">
|
|
785
|
+
Boost your efficiency with an AI agent that eliminates manual work and streamlines your operations.
|
|
786
|
+
</p>
|
|
787
|
+
</div>
|
|
788
|
+
</div>
|
|
789
|
+
</div>
|
|
790
|
+
</section>
|
|
791
|
+
);
|
|
792
|
+
}
|