kofi-stack-template-generator 2.1.59 → 2.1.60
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/.turbo/turbo-build.log +6 -6
- package/dist/index.js +1124 -21
- package/package.json +2 -2
- package/src/templates.generated.ts +21 -5
- package/templates/marketing/nextjs/components.json.hbs +44 -0
- package/templates/marketing/nextjs/src/app/about/page.tsx +155 -0
- package/templates/marketing/nextjs/src/app/blog/[slug]/page.tsx +181 -0
- package/templates/marketing/nextjs/src/app/features/analytics/page.tsx +140 -0
- package/templates/marketing/nextjs/src/app/features/automation/page.tsx +171 -0
- package/templates/marketing/nextjs/src/app/features/dashboard/page.tsx +140 -0
- package/templates/marketing/nextjs/src/app/features/integrations/page.tsx +174 -0
- package/templates/marketing/nextjs/src/app/features/security/page.tsx +150 -0
- package/templates/marketing/nextjs/src/app/features/workflows/page.tsx +140 -0
- package/templates/marketing/nextjs/src/app/use-cases/marketing/page.tsx +154 -0
- package/templates/marketing/nextjs/src/app/use-cases/operations/page.tsx +154 -0
- package/templates/marketing/nextjs/src/app/use-cases/product/page.tsx +154 -0
- package/templates/marketing/nextjs/src/app/use-cases/sales/page.tsx +154 -0
- package/templates/marketing/nextjs/src/components/Header/index.tsx +52 -2
- package/templates/marketing/nextjs/src/components/blocks/FAQAccordion.tsx +119 -0
- package/templates/marketing/nextjs/src/components/blocks/HowItWorks.tsx +95 -0
- package/templates/marketing/nextjs/src/components/blocks/index.ts +2 -0
- package/templates/marketing/payload/components.json.hbs +44 -0
- package/templates/web/src/app/globals.css.hbs +460 -14
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { Header } from "@/components/Header"
|
|
2
|
+
import { Footer } from "@/components/Footer"
|
|
3
|
+
import { FinalCTA } from "@/components/blocks"
|
|
4
|
+
import { Zap, GitBranch, Clock, Repeat, Mail, Bell } from "lucide-react"
|
|
5
|
+
|
|
6
|
+
const features = [
|
|
7
|
+
{
|
|
8
|
+
icon: <Zap className="h-6 w-6" />,
|
|
9
|
+
title: "Visual Workflow Builder",
|
|
10
|
+
description:
|
|
11
|
+
"Build powerful automations with our drag-and-drop builder. No coding required.",
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
icon: <GitBranch className="h-6 w-6" />,
|
|
15
|
+
title: "Conditional Logic",
|
|
16
|
+
description:
|
|
17
|
+
"Create smart workflows with if/then rules, filters, and branching paths.",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
icon: <Clock className="h-6 w-6" />,
|
|
21
|
+
title: "Scheduled Triggers",
|
|
22
|
+
description:
|
|
23
|
+
"Run automations on a schedule. Daily reports, weekly syncs, monthly reviews.",
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
icon: <Repeat className="h-6 w-6" />,
|
|
27
|
+
title: "Cross-App Actions",
|
|
28
|
+
description:
|
|
29
|
+
"Trigger actions across all your connected tools. True end-to-end automation.",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
icon: <Mail className="h-6 w-6" />,
|
|
33
|
+
title: "Email Automation",
|
|
34
|
+
description:
|
|
35
|
+
"Send automated emails based on triggers. Follow-ups, reminders, notifications.",
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
icon: <Bell className="h-6 w-6" />,
|
|
39
|
+
title: "Smart Notifications",
|
|
40
|
+
description:
|
|
41
|
+
"Route notifications intelligently. Right message, right person, right time.",
|
|
42
|
+
},
|
|
43
|
+
]
|
|
44
|
+
|
|
45
|
+
const useCases = [
|
|
46
|
+
{
|
|
47
|
+
title: "Lead Assignment",
|
|
48
|
+
description: "Automatically assign new leads to sales reps based on territory or round-robin.",
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
title: "Approval Workflows",
|
|
52
|
+
description: "Route documents for approval with multi-step workflows and escalation.",
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
title: "Onboarding",
|
|
56
|
+
description: "Create welcome sequences for new customers or team members automatically.",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
title: "Status Updates",
|
|
60
|
+
description: "Sync status changes across tools and notify stakeholders automatically.",
|
|
61
|
+
},
|
|
62
|
+
]
|
|
63
|
+
|
|
64
|
+
export default function AutomationPage() {
|
|
65
|
+
return (
|
|
66
|
+
<div className="min-h-screen flex flex-col">
|
|
67
|
+
<Header />
|
|
68
|
+
|
|
69
|
+
<main className="flex-1">
|
|
70
|
+
{/* Hero */}
|
|
71
|
+
<section className="py-16 md:py-24">
|
|
72
|
+
<div className="container mx-auto px-4">
|
|
73
|
+
<div className="max-w-3xl mx-auto text-center">
|
|
74
|
+
<div className="inline-block px-4 py-1 rounded-full bg-primary/10 text-primary text-sm font-medium mb-6">
|
|
75
|
+
Automation
|
|
76
|
+
</div>
|
|
77
|
+
<h1 className="text-4xl md:text-5xl font-bold tracking-tight mb-6">
|
|
78
|
+
Eliminate busywork with smart automation
|
|
79
|
+
</h1>
|
|
80
|
+
<p className="text-xl text-muted-foreground mb-8">
|
|
81
|
+
Build powerful workflows without code. Automate approvals, notifications, data entry, and more to focus on what matters.
|
|
82
|
+
</p>
|
|
83
|
+
<div className="flex flex-wrap gap-4 justify-center">
|
|
84
|
+
<a
|
|
85
|
+
href="/sign-up"
|
|
86
|
+
className="inline-flex items-center justify-center px-6 py-3 text-sm font-medium rounded-md bg-primary text-primary-foreground hover:bg-primary/90 transition-colors"
|
|
87
|
+
>
|
|
88
|
+
Start free trial
|
|
89
|
+
</a>
|
|
90
|
+
<a
|
|
91
|
+
href="/demo"
|
|
92
|
+
className="inline-flex items-center justify-center px-6 py-3 text-sm font-medium rounded-md border border-border bg-background hover:bg-muted transition-colors"
|
|
93
|
+
>
|
|
94
|
+
See it in action
|
|
95
|
+
</a>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
</section>
|
|
100
|
+
|
|
101
|
+
{/* Features Grid */}
|
|
102
|
+
<section className="py-16 md:py-24 bg-muted/30">
|
|
103
|
+
<div className="container mx-auto px-4">
|
|
104
|
+
<div className="text-center mb-12 md:mb-16">
|
|
105
|
+
<h2 className="text-3xl md:text-4xl font-bold tracking-tight mb-4">
|
|
106
|
+
Automation that scales with you
|
|
107
|
+
</h2>
|
|
108
|
+
<p className="text-lg text-muted-foreground max-w-2xl mx-auto">
|
|
109
|
+
From simple triggers to complex workflows, automate anything.
|
|
110
|
+
</p>
|
|
111
|
+
</div>
|
|
112
|
+
|
|
113
|
+
<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8 max-w-5xl mx-auto">
|
|
114
|
+
{features.map((feature) => (
|
|
115
|
+
<div
|
|
116
|
+
key={feature.title}
|
|
117
|
+
className="bg-card rounded-lg border border-border p-6"
|
|
118
|
+
>
|
|
119
|
+
<div className="w-12 h-12 rounded-lg bg-primary/10 text-primary flex items-center justify-center mb-4">
|
|
120
|
+
{feature.icon}
|
|
121
|
+
</div>
|
|
122
|
+
<h3 className="text-lg font-semibold mb-2">{feature.title}</h3>
|
|
123
|
+
<p className="text-muted-foreground text-sm">{feature.description}</p>
|
|
124
|
+
</div>
|
|
125
|
+
))}
|
|
126
|
+
</div>
|
|
127
|
+
</div>
|
|
128
|
+
</section>
|
|
129
|
+
|
|
130
|
+
{/* Use Cases */}
|
|
131
|
+
<section className="py-16 md:py-24">
|
|
132
|
+
<div className="container mx-auto px-4">
|
|
133
|
+
<div className="text-center mb-12 md:mb-16">
|
|
134
|
+
<h2 className="text-3xl md:text-4xl font-bold tracking-tight mb-4">
|
|
135
|
+
Popular automation recipes
|
|
136
|
+
</h2>
|
|
137
|
+
<p className="text-lg text-muted-foreground max-w-2xl mx-auto">
|
|
138
|
+
Get started quickly with pre-built templates for common workflows.
|
|
139
|
+
</p>
|
|
140
|
+
</div>
|
|
141
|
+
|
|
142
|
+
<div className="grid md:grid-cols-2 gap-6 max-w-3xl mx-auto">
|
|
143
|
+
{useCases.map((useCase) => (
|
|
144
|
+
<div
|
|
145
|
+
key={useCase.title}
|
|
146
|
+
className="p-6 rounded-lg border border-border bg-card hover:border-primary/50 transition-colors"
|
|
147
|
+
>
|
|
148
|
+
<h3 className="font-semibold mb-2">{useCase.title}</h3>
|
|
149
|
+
<p className="text-muted-foreground text-sm">{useCase.description}</p>
|
|
150
|
+
</div>
|
|
151
|
+
))}
|
|
152
|
+
</div>
|
|
153
|
+
</div>
|
|
154
|
+
</section>
|
|
155
|
+
|
|
156
|
+
{/* Final CTA */}
|
|
157
|
+
<FinalCTA
|
|
158
|
+
headline="Ready to automate your workflow?"
|
|
159
|
+
subheading="Start your free trial and build your first automation in minutes."
|
|
160
|
+
style="dark"
|
|
161
|
+
links={[
|
|
162
|
+
{ label: "Start free trial", href: "/sign-up", variant: "outline" },
|
|
163
|
+
{ label: "View templates", href: "#", variant: "default" },
|
|
164
|
+
]}
|
|
165
|
+
/>
|
|
166
|
+
</main>
|
|
167
|
+
|
|
168
|
+
<Footer />
|
|
169
|
+
</div>
|
|
170
|
+
)
|
|
171
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { Header } from "@/components/Header"
|
|
2
|
+
import { Footer } from "@/components/Footer"
|
|
3
|
+
import { FinalCTA } from "@/components/blocks"
|
|
4
|
+
import { LayoutDashboard, Layers, Palette, Monitor, Smartphone, Share2 } from "lucide-react"
|
|
5
|
+
|
|
6
|
+
const features = [
|
|
7
|
+
{
|
|
8
|
+
icon: <LayoutDashboard className="h-6 w-6" />,
|
|
9
|
+
title: "Customizable Layouts",
|
|
10
|
+
description:
|
|
11
|
+
"Drag and drop widgets to create the perfect view for your workflow.",
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
icon: <Layers className="h-6 w-6" />,
|
|
15
|
+
title: "Multiple Views",
|
|
16
|
+
description:
|
|
17
|
+
"Switch between board, list, timeline, and calendar views instantly.",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
icon: <Palette className="h-6 w-6" />,
|
|
21
|
+
title: "Personalized Themes",
|
|
22
|
+
description:
|
|
23
|
+
"Choose from light, dark, or system themes. Make it yours.",
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
icon: <Monitor className="h-6 w-6" />,
|
|
27
|
+
title: "Desktop App",
|
|
28
|
+
description:
|
|
29
|
+
"Native apps for Mac and Windows. Full offline support included.",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
icon: <Smartphone className="h-6 w-6" />,
|
|
33
|
+
title: "Mobile Ready",
|
|
34
|
+
description:
|
|
35
|
+
"Full-featured iOS and Android apps. Stay productive on the go.",
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
icon: <Share2 className="h-6 w-6" />,
|
|
39
|
+
title: "Shareable Dashboards",
|
|
40
|
+
description:
|
|
41
|
+
"Share views with stakeholders. Public links or password-protected.",
|
|
42
|
+
},
|
|
43
|
+
]
|
|
44
|
+
|
|
45
|
+
export default function DashboardPage() {
|
|
46
|
+
return (
|
|
47
|
+
<div className="min-h-screen flex flex-col">
|
|
48
|
+
<Header />
|
|
49
|
+
|
|
50
|
+
<main className="flex-1">
|
|
51
|
+
{/* Hero */}
|
|
52
|
+
<section className="py-16 md:py-24">
|
|
53
|
+
<div className="container mx-auto px-4">
|
|
54
|
+
<div className="max-w-3xl mx-auto text-center">
|
|
55
|
+
<div className="inline-block px-4 py-1 rounded-full bg-primary/10 text-primary text-sm font-medium mb-6">
|
|
56
|
+
Dashboard
|
|
57
|
+
</div>
|
|
58
|
+
<h1 className="text-4xl md:text-5xl font-bold tracking-tight mb-6">
|
|
59
|
+
Your command center for everything
|
|
60
|
+
</h1>
|
|
61
|
+
<p className="text-xl text-muted-foreground mb-8">
|
|
62
|
+
A beautiful, customizable dashboard that puts everything you need at your fingertips. Multiple views, drag-and-drop widgets, and full mobile support.
|
|
63
|
+
</p>
|
|
64
|
+
<div className="flex flex-wrap gap-4 justify-center">
|
|
65
|
+
<a
|
|
66
|
+
href="/sign-up"
|
|
67
|
+
className="inline-flex items-center justify-center px-6 py-3 text-sm font-medium rounded-md bg-primary text-primary-foreground hover:bg-primary/90 transition-colors"
|
|
68
|
+
>
|
|
69
|
+
Start free trial
|
|
70
|
+
</a>
|
|
71
|
+
<a
|
|
72
|
+
href="/demo"
|
|
73
|
+
className="inline-flex items-center justify-center px-6 py-3 text-sm font-medium rounded-md border border-border bg-background hover:bg-muted transition-colors"
|
|
74
|
+
>
|
|
75
|
+
Watch demo
|
|
76
|
+
</a>
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
</div>
|
|
80
|
+
</section>
|
|
81
|
+
|
|
82
|
+
{/* Dashboard Preview */}
|
|
83
|
+
<section className="pb-16 md:pb-24">
|
|
84
|
+
<div className="container mx-auto px-4">
|
|
85
|
+
<div className="max-w-5xl mx-auto">
|
|
86
|
+
<div className="aspect-video bg-gradient-to-br from-primary/20 to-primary/5 rounded-lg border border-border flex items-center justify-center">
|
|
87
|
+
<div className="text-center text-muted-foreground">
|
|
88
|
+
<LayoutDashboard className="h-16 w-16 mx-auto mb-4 opacity-50" />
|
|
89
|
+
<p>Dashboard Preview</p>
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|
|
94
|
+
</section>
|
|
95
|
+
|
|
96
|
+
{/* Features Grid */}
|
|
97
|
+
<section className="py-16 md:py-24 bg-muted/30">
|
|
98
|
+
<div className="container mx-auto px-4">
|
|
99
|
+
<div className="text-center mb-12 md:mb-16">
|
|
100
|
+
<h2 className="text-3xl md:text-4xl font-bold tracking-tight mb-4">
|
|
101
|
+
A dashboard that works for you
|
|
102
|
+
</h2>
|
|
103
|
+
<p className="text-lg text-muted-foreground max-w-2xl mx-auto">
|
|
104
|
+
Customize every aspect of your workspace to match how you work best.
|
|
105
|
+
</p>
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8 max-w-5xl mx-auto">
|
|
109
|
+
{features.map((feature) => (
|
|
110
|
+
<div
|
|
111
|
+
key={feature.title}
|
|
112
|
+
className="bg-card rounded-lg border border-border p-6"
|
|
113
|
+
>
|
|
114
|
+
<div className="w-12 h-12 rounded-lg bg-primary/10 text-primary flex items-center justify-center mb-4">
|
|
115
|
+
{feature.icon}
|
|
116
|
+
</div>
|
|
117
|
+
<h3 className="text-lg font-semibold mb-2">{feature.title}</h3>
|
|
118
|
+
<p className="text-muted-foreground text-sm">{feature.description}</p>
|
|
119
|
+
</div>
|
|
120
|
+
))}
|
|
121
|
+
</div>
|
|
122
|
+
</div>
|
|
123
|
+
</section>
|
|
124
|
+
|
|
125
|
+
{/* Final CTA */}
|
|
126
|
+
<FinalCTA
|
|
127
|
+
headline="Ready to build your perfect workspace?"
|
|
128
|
+
subheading="Start your free trial and customize your dashboard in minutes."
|
|
129
|
+
style="dark"
|
|
130
|
+
links={[
|
|
131
|
+
{ label: "Start free trial", href: "/sign-up", variant: "outline" },
|
|
132
|
+
{ label: "Watch demo", href: "/demo", variant: "default" },
|
|
133
|
+
]}
|
|
134
|
+
/>
|
|
135
|
+
</main>
|
|
136
|
+
|
|
137
|
+
<Footer />
|
|
138
|
+
</div>
|
|
139
|
+
)
|
|
140
|
+
}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { Header } from "@/components/Header"
|
|
2
|
+
import { Footer } from "@/components/Footer"
|
|
3
|
+
import { LogoBanner, FinalCTA } from "@/components/blocks"
|
|
4
|
+
import { Link2, RefreshCw, Code2, Zap, ArrowRight, Check } from "lucide-react"
|
|
5
|
+
|
|
6
|
+
const features = [
|
|
7
|
+
{
|
|
8
|
+
icon: <Link2 className="h-6 w-6" />,
|
|
9
|
+
title: "100+ Native Integrations",
|
|
10
|
+
description:
|
|
11
|
+
"Connect with the tools your team already uses. From CRMs to project management, we've got you covered.",
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
icon: <RefreshCw className="h-6 w-6" />,
|
|
15
|
+
title: "Two-Way Sync",
|
|
16
|
+
description:
|
|
17
|
+
"Changes flow automatically between apps. Update in one place, see it everywhere.",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
icon: <Code2 className="h-6 w-6" />,
|
|
21
|
+
title: "Developer API",
|
|
22
|
+
description:
|
|
23
|
+
"Build custom integrations with our comprehensive REST API and webhooks.",
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
icon: <Zap className="h-6 w-6" />,
|
|
27
|
+
title: "Real-Time Updates",
|
|
28
|
+
description:
|
|
29
|
+
"Data syncs instantly, not in batches. Always work with the latest information.",
|
|
30
|
+
},
|
|
31
|
+
]
|
|
32
|
+
|
|
33
|
+
const integrationCategories = [
|
|
34
|
+
{
|
|
35
|
+
name: "CRM & Sales",
|
|
36
|
+
tools: ["Salesforce", "HubSpot", "Pipedrive", "Close"],
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: "Communication",
|
|
40
|
+
tools: ["Slack", "Microsoft Teams", "Discord", "Email"],
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: "Project Management",
|
|
44
|
+
tools: ["Jira", "Asana", "Linear", "Notion"],
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: "Productivity",
|
|
48
|
+
tools: ["Google Workspace", "Microsoft 365", "Dropbox", "Box"],
|
|
49
|
+
},
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
export default function IntegrationsPage() {
|
|
53
|
+
return (
|
|
54
|
+
<div className="min-h-screen flex flex-col">
|
|
55
|
+
<Header />
|
|
56
|
+
|
|
57
|
+
<main className="flex-1">
|
|
58
|
+
{/* Hero */}
|
|
59
|
+
<section className="py-16 md:py-24">
|
|
60
|
+
<div className="container mx-auto px-4">
|
|
61
|
+
<div className="max-w-3xl mx-auto text-center">
|
|
62
|
+
<div className="inline-block px-4 py-1 rounded-full bg-primary/10 text-primary text-sm font-medium mb-6">
|
|
63
|
+
Integrations
|
|
64
|
+
</div>
|
|
65
|
+
<h1 className="text-4xl md:text-5xl font-bold tracking-tight mb-6">
|
|
66
|
+
Connect everything your team uses
|
|
67
|
+
</h1>
|
|
68
|
+
<p className="text-xl text-muted-foreground mb-8">
|
|
69
|
+
Integrate with 100+ popular tools. Two-way sync keeps everything up to date automatically.
|
|
70
|
+
</p>
|
|
71
|
+
<div className="flex flex-wrap gap-4 justify-center">
|
|
72
|
+
<a
|
|
73
|
+
href="/sign-up"
|
|
74
|
+
className="inline-flex items-center justify-center px-6 py-3 text-sm font-medium rounded-md bg-primary text-primary-foreground hover:bg-primary/90 transition-colors"
|
|
75
|
+
>
|
|
76
|
+
Start free trial
|
|
77
|
+
</a>
|
|
78
|
+
<a
|
|
79
|
+
href="/contact"
|
|
80
|
+
className="inline-flex items-center justify-center px-6 py-3 text-sm font-medium rounded-md border border-border bg-background hover:bg-muted transition-colors"
|
|
81
|
+
>
|
|
82
|
+
Request integration
|
|
83
|
+
</a>
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
</section>
|
|
88
|
+
|
|
89
|
+
{/* Features Grid */}
|
|
90
|
+
<section className="py-16 md:py-24 bg-muted/30">
|
|
91
|
+
<div className="container mx-auto px-4">
|
|
92
|
+
<div className="grid md:grid-cols-2 lg:grid-cols-4 gap-8">
|
|
93
|
+
{features.map((feature) => (
|
|
94
|
+
<div
|
|
95
|
+
key={feature.title}
|
|
96
|
+
className="bg-card rounded-lg border border-border p-6"
|
|
97
|
+
>
|
|
98
|
+
<div className="w-12 h-12 rounded-lg bg-primary/10 text-primary flex items-center justify-center mb-4">
|
|
99
|
+
{feature.icon}
|
|
100
|
+
</div>
|
|
101
|
+
<h3 className="text-lg font-semibold mb-2">{feature.title}</h3>
|
|
102
|
+
<p className="text-muted-foreground text-sm">{feature.description}</p>
|
|
103
|
+
</div>
|
|
104
|
+
))}
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
</section>
|
|
108
|
+
|
|
109
|
+
{/* Integration Categories */}
|
|
110
|
+
<section className="py-16 md:py-24">
|
|
111
|
+
<div className="container mx-auto px-4">
|
|
112
|
+
<div className="text-center mb-12 md:mb-16">
|
|
113
|
+
<h2 className="text-3xl md:text-4xl font-bold tracking-tight mb-4">
|
|
114
|
+
Integrations for every workflow
|
|
115
|
+
</h2>
|
|
116
|
+
<p className="text-lg text-muted-foreground max-w-2xl mx-auto">
|
|
117
|
+
Connect the tools you already use to streamline your work.
|
|
118
|
+
</p>
|
|
119
|
+
</div>
|
|
120
|
+
|
|
121
|
+
<div className="grid md:grid-cols-2 lg:grid-cols-4 gap-8 max-w-5xl mx-auto">
|
|
122
|
+
{integrationCategories.map((category) => (
|
|
123
|
+
<div key={category.name} className="bg-card rounded-lg border border-border p-6">
|
|
124
|
+
<h3 className="font-semibold mb-4">{category.name}</h3>
|
|
125
|
+
<ul className="space-y-3">
|
|
126
|
+
{category.tools.map((tool) => (
|
|
127
|
+
<li key={tool} className="flex items-center text-sm text-muted-foreground">
|
|
128
|
+
<Check className="h-4 w-4 text-primary mr-2 shrink-0" />
|
|
129
|
+
{tool}
|
|
130
|
+
</li>
|
|
131
|
+
))}
|
|
132
|
+
</ul>
|
|
133
|
+
<a
|
|
134
|
+
href="#"
|
|
135
|
+
className="inline-flex items-center text-sm text-primary hover:underline mt-4"
|
|
136
|
+
>
|
|
137
|
+
See all <ArrowRight className="h-4 w-4 ml-1" />
|
|
138
|
+
</a>
|
|
139
|
+
</div>
|
|
140
|
+
))}
|
|
141
|
+
</div>
|
|
142
|
+
</div>
|
|
143
|
+
</section>
|
|
144
|
+
|
|
145
|
+
{/* Logo Banner */}
|
|
146
|
+
<LogoBanner
|
|
147
|
+
heading="Integrates with your favorite tools"
|
|
148
|
+
style="grid"
|
|
149
|
+
logos={[
|
|
150
|
+
{ name: "Slack", initials: "SL" },
|
|
151
|
+
{ name: "Salesforce", initials: "SF" },
|
|
152
|
+
{ name: "HubSpot", initials: "HS" },
|
|
153
|
+
{ name: "Google Workspace", initials: "GW" },
|
|
154
|
+
{ name: "Zapier", initials: "ZP" },
|
|
155
|
+
{ name: "Jira", initials: "JI" },
|
|
156
|
+
]}
|
|
157
|
+
/>
|
|
158
|
+
|
|
159
|
+
{/* Final CTA */}
|
|
160
|
+
<FinalCTA
|
|
161
|
+
headline="Ready to connect your tools?"
|
|
162
|
+
subheading="Start your free trial and integrate with your favorite apps in minutes."
|
|
163
|
+
style="dark"
|
|
164
|
+
links={[
|
|
165
|
+
{ label: "Start free trial", href: "/sign-up", variant: "outline" },
|
|
166
|
+
{ label: "View all integrations", href: "#", variant: "default" },
|
|
167
|
+
]}
|
|
168
|
+
/>
|
|
169
|
+
</main>
|
|
170
|
+
|
|
171
|
+
<Footer />
|
|
172
|
+
</div>
|
|
173
|
+
)
|
|
174
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { Header } from "@/components/Header"
|
|
2
|
+
import { Footer } from "@/components/Footer"
|
|
3
|
+
import { FinalCTA } from "@/components/blocks"
|
|
4
|
+
import { Shield, Lock, Key, Eye, Server, FileCheck } from "lucide-react"
|
|
5
|
+
|
|
6
|
+
const features = [
|
|
7
|
+
{
|
|
8
|
+
icon: <Shield className="h-6 w-6" />,
|
|
9
|
+
title: "SOC 2 Type II Certified",
|
|
10
|
+
description:
|
|
11
|
+
"We've passed rigorous third-party audits to verify our security controls and practices.",
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
icon: <Lock className="h-6 w-6" />,
|
|
15
|
+
title: "AES-256 Encryption",
|
|
16
|
+
description:
|
|
17
|
+
"All data is encrypted at rest and in transit using industry-standard encryption.",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
icon: <Key className="h-6 w-6" />,
|
|
21
|
+
title: "Single Sign-On (SSO)",
|
|
22
|
+
description:
|
|
23
|
+
"Connect with your identity provider. Support for SAML 2.0, OIDC, and OAuth.",
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
icon: <Eye className="h-6 w-6" />,
|
|
27
|
+
title: "Audit Logs",
|
|
28
|
+
description:
|
|
29
|
+
"Track every action in your workspace. Full audit trails for compliance and security.",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
icon: <Server className="h-6 w-6" />,
|
|
33
|
+
title: "99.9% Uptime SLA",
|
|
34
|
+
description:
|
|
35
|
+
"We guarantee availability with redundant infrastructure across multiple regions.",
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
icon: <FileCheck className="h-6 w-6" />,
|
|
39
|
+
title: "GDPR Compliant",
|
|
40
|
+
description:
|
|
41
|
+
"Full compliance with GDPR, CCPA, and other privacy regulations. Your data, your control.",
|
|
42
|
+
},
|
|
43
|
+
]
|
|
44
|
+
|
|
45
|
+
const certifications = [
|
|
46
|
+
{ name: "SOC 2 Type II", description: "Audited security controls" },
|
|
47
|
+
{ name: "GDPR", description: "EU data protection" },
|
|
48
|
+
{ name: "CCPA", description: "California privacy" },
|
|
49
|
+
{ name: "ISO 27001", description: "Information security" },
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
export default function SecurityPage() {
|
|
53
|
+
return (
|
|
54
|
+
<div className="min-h-screen flex flex-col">
|
|
55
|
+
<Header />
|
|
56
|
+
|
|
57
|
+
<main className="flex-1">
|
|
58
|
+
{/* Hero */}
|
|
59
|
+
<section className="py-16 md:py-24">
|
|
60
|
+
<div className="container mx-auto px-4">
|
|
61
|
+
<div className="max-w-3xl mx-auto text-center">
|
|
62
|
+
<div className="inline-block px-4 py-1 rounded-full bg-primary/10 text-primary text-sm font-medium mb-6">
|
|
63
|
+
Security
|
|
64
|
+
</div>
|
|
65
|
+
<h1 className="text-4xl md:text-5xl font-bold tracking-tight mb-6">
|
|
66
|
+
Enterprise-grade security for every team
|
|
67
|
+
</h1>
|
|
68
|
+
<p className="text-xl text-muted-foreground mb-8">
|
|
69
|
+
Your data is protected by industry-leading security practices. SOC 2 certified, GDPR compliant, and built for enterprise.
|
|
70
|
+
</p>
|
|
71
|
+
<div className="flex flex-wrap gap-4 justify-center">
|
|
72
|
+
<a
|
|
73
|
+
href="/sign-up"
|
|
74
|
+
className="inline-flex items-center justify-center px-6 py-3 text-sm font-medium rounded-md bg-primary text-primary-foreground hover:bg-primary/90 transition-colors"
|
|
75
|
+
>
|
|
76
|
+
Start free trial
|
|
77
|
+
</a>
|
|
78
|
+
<a
|
|
79
|
+
href="/contact"
|
|
80
|
+
className="inline-flex items-center justify-center px-6 py-3 text-sm font-medium rounded-md border border-border bg-background hover:bg-muted transition-colors"
|
|
81
|
+
>
|
|
82
|
+
Contact security team
|
|
83
|
+
</a>
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
</section>
|
|
88
|
+
|
|
89
|
+
{/* Certifications */}
|
|
90
|
+
<section className="pb-16 md:pb-24">
|
|
91
|
+
<div className="container mx-auto px-4">
|
|
92
|
+
<div className="grid grid-cols-2 md:grid-cols-4 gap-6 max-w-3xl mx-auto">
|
|
93
|
+
{certifications.map((cert) => (
|
|
94
|
+
<div
|
|
95
|
+
key={cert.name}
|
|
96
|
+
className="text-center p-6 rounded-lg border border-border bg-card"
|
|
97
|
+
>
|
|
98
|
+
<div className="font-semibold mb-1">{cert.name}</div>
|
|
99
|
+
<div className="text-sm text-muted-foreground">{cert.description}</div>
|
|
100
|
+
</div>
|
|
101
|
+
))}
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
104
|
+
</section>
|
|
105
|
+
|
|
106
|
+
{/* Features Grid */}
|
|
107
|
+
<section className="py-16 md:py-24 bg-muted/30">
|
|
108
|
+
<div className="container mx-auto px-4">
|
|
109
|
+
<div className="text-center mb-12 md:mb-16">
|
|
110
|
+
<h2 className="text-3xl md:text-4xl font-bold tracking-tight mb-4">
|
|
111
|
+
Security you can trust
|
|
112
|
+
</h2>
|
|
113
|
+
<p className="text-lg text-muted-foreground max-w-2xl mx-auto">
|
|
114
|
+
We take security seriously at every layer of our platform.
|
|
115
|
+
</p>
|
|
116
|
+
</div>
|
|
117
|
+
|
|
118
|
+
<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8 max-w-5xl mx-auto">
|
|
119
|
+
{features.map((feature) => (
|
|
120
|
+
<div
|
|
121
|
+
key={feature.title}
|
|
122
|
+
className="bg-card rounded-lg border border-border p-6"
|
|
123
|
+
>
|
|
124
|
+
<div className="w-12 h-12 rounded-lg bg-primary/10 text-primary flex items-center justify-center mb-4">
|
|
125
|
+
{feature.icon}
|
|
126
|
+
</div>
|
|
127
|
+
<h3 className="text-lg font-semibold mb-2">{feature.title}</h3>
|
|
128
|
+
<p className="text-muted-foreground text-sm">{feature.description}</p>
|
|
129
|
+
</div>
|
|
130
|
+
))}
|
|
131
|
+
</div>
|
|
132
|
+
</div>
|
|
133
|
+
</section>
|
|
134
|
+
|
|
135
|
+
{/* Final CTA */}
|
|
136
|
+
<FinalCTA
|
|
137
|
+
headline="Ready to secure your workflow?"
|
|
138
|
+
subheading="Start your free trial with enterprise-grade security from day one."
|
|
139
|
+
style="dark"
|
|
140
|
+
links={[
|
|
141
|
+
{ label: "Start free trial", href: "/sign-up", variant: "outline" },
|
|
142
|
+
{ label: "View security docs", href: "#", variant: "default" },
|
|
143
|
+
]}
|
|
144
|
+
/>
|
|
145
|
+
</main>
|
|
146
|
+
|
|
147
|
+
<Footer />
|
|
148
|
+
</div>
|
|
149
|
+
)
|
|
150
|
+
}
|