@nextsparkjs/theme-default 0.1.0-beta.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/about/business.md +49 -0
- package/about/features.json +302 -0
- package/about/team.md +79 -0
- package/api/ai/chat/stream/route.ts +212 -0
- package/api/ai/orchestrator/route.ts +226 -0
- package/api/ai/single-agent/route.ts +291 -0
- package/api/ai/usage/route.ts +122 -0
- package/blocks/benefits/component.tsx +100 -0
- package/blocks/benefits/config.ts +11 -0
- package/blocks/benefits/examples.ts +85 -0
- package/blocks/benefits/fields.ts +156 -0
- package/blocks/benefits/schema.ts +33 -0
- package/blocks/cta-section/component.tsx +100 -0
- package/blocks/cta-section/config.ts +11 -0
- package/blocks/cta-section/examples.ts +41 -0
- package/blocks/cta-section/fields.ts +89 -0
- package/blocks/cta-section/index.ts +6 -0
- package/blocks/cta-section/schema.ts +32 -0
- package/blocks/cta-section/thumbnail.png +1 -0
- package/blocks/faq-accordion/component.tsx +156 -0
- package/blocks/faq-accordion/config.ts +11 -0
- package/blocks/faq-accordion/examples.ts +77 -0
- package/blocks/faq-accordion/fields.ts +119 -0
- package/blocks/faq-accordion/index.ts +6 -0
- package/blocks/faq-accordion/schema.ts +45 -0
- package/blocks/features-grid/component.tsx +112 -0
- package/blocks/features-grid/config.ts +11 -0
- package/blocks/features-grid/examples.ts +63 -0
- package/blocks/features-grid/fields.ts +97 -0
- package/blocks/features-grid/index.ts +6 -0
- package/blocks/features-grid/schema.ts +40 -0
- package/blocks/features-grid/thumbnail.png +1 -0
- package/blocks/hero/component.tsx +100 -0
- package/blocks/hero/config.ts +11 -0
- package/blocks/hero/examples.ts +35 -0
- package/blocks/hero/fields.ts +60 -0
- package/blocks/hero/index.ts +6 -0
- package/blocks/hero/schema.ts +32 -0
- package/blocks/hero/thumbnail.png +1 -0
- package/blocks/hero/thumbnail.png.txt +6 -0
- package/blocks/hero-with-form/component.tsx +232 -0
- package/blocks/hero-with-form/config.ts +11 -0
- package/blocks/hero-with-form/examples.ts +16 -0
- package/blocks/hero-with-form/fields.ts +207 -0
- package/blocks/hero-with-form/index.ts +6 -0
- package/blocks/hero-with-form/schema.ts +54 -0
- package/blocks/jumbotron/component.tsx +136 -0
- package/blocks/jumbotron/config.ts +11 -0
- package/blocks/jumbotron/examples.ts +36 -0
- package/blocks/jumbotron/fields.ts +202 -0
- package/blocks/jumbotron/index.ts +6 -0
- package/blocks/jumbotron/schema.ts +55 -0
- package/blocks/logo-cloud/component.tsx +154 -0
- package/blocks/logo-cloud/config.ts +11 -0
- package/blocks/logo-cloud/examples.ts +34 -0
- package/blocks/logo-cloud/fields.ts +133 -0
- package/blocks/logo-cloud/index.ts +6 -0
- package/blocks/logo-cloud/schema.ts +46 -0
- package/blocks/post-content/component.tsx +197 -0
- package/blocks/post-content/config.ts +11 -0
- package/blocks/post-content/examples.ts +33 -0
- package/blocks/post-content/fields.ts +165 -0
- package/blocks/post-content/index.ts +4 -0
- package/blocks/post-content/schema.ts +46 -0
- package/blocks/pricing-table/component.tsx +154 -0
- package/blocks/pricing-table/config.ts +11 -0
- package/blocks/pricing-table/examples.ts +96 -0
- package/blocks/pricing-table/fields.ts +161 -0
- package/blocks/pricing-table/index.ts +4 -0
- package/blocks/pricing-table/schema.ts +50 -0
- package/blocks/split-content/component.tsx +135 -0
- package/blocks/split-content/config.ts +11 -0
- package/blocks/split-content/examples.ts +38 -0
- package/blocks/split-content/fields.ts +198 -0
- package/blocks/split-content/index.ts +6 -0
- package/blocks/split-content/schema.ts +67 -0
- package/blocks/stats-counter/component.tsx +124 -0
- package/blocks/stats-counter/config.ts +11 -0
- package/blocks/stats-counter/examples.ts +61 -0
- package/blocks/stats-counter/fields.ts +134 -0
- package/blocks/stats-counter/index.ts +6 -0
- package/blocks/stats-counter/schema.ts +47 -0
- package/blocks/testimonials/component.tsx +114 -0
- package/blocks/testimonials/config.ts +11 -0
- package/blocks/testimonials/examples.ts +65 -0
- package/blocks/testimonials/fields.ts +105 -0
- package/blocks/testimonials/index.ts +6 -0
- package/blocks/testimonials/schema.ts +41 -0
- package/blocks/testimonials/thumbnail.png +1 -0
- package/blocks/text-content/component.tsx +97 -0
- package/blocks/text-content/config.ts +11 -0
- package/blocks/text-content/examples.ts +30 -0
- package/blocks/text-content/fields.ts +88 -0
- package/blocks/text-content/index.ts +6 -0
- package/blocks/text-content/schema.ts +30 -0
- package/blocks/text-content/thumbnail.png +1 -0
- package/blocks/timeline/component.tsx +267 -0
- package/blocks/timeline/config.ts +11 -0
- package/blocks/timeline/examples.ts +68 -0
- package/blocks/timeline/fields.ts +147 -0
- package/blocks/timeline/index.ts +6 -0
- package/blocks/timeline/schema.ts +49 -0
- package/blocks/video-hero/component.tsx +270 -0
- package/blocks/video-hero/config.ts +11 -0
- package/blocks/video-hero/examples.ts +24 -0
- package/blocks/video-hero/fields.ts +98 -0
- package/blocks/video-hero/index.ts +6 -0
- package/blocks/video-hero/schema.ts +39 -0
- package/components/ai-chat/ChatPanel.tsx +575 -0
- package/components/ai-chat/ConversationItem.tsx +266 -0
- package/components/ai-chat/ConversationSidebar.tsx +99 -0
- package/components/ai-chat/MarkdownRenderer.tsx +15 -0
- package/components/ai-chat/Message.tsx +42 -0
- package/components/ai-chat/MessageInput.tsx +49 -0
- package/components/ai-chat/MessageList.tsx +46 -0
- package/components/ai-chat/TypingIndicator.tsx +11 -0
- package/config/app.config.ts +367 -0
- package/config/billing.config.ts +349 -0
- package/config/dashboard.config.ts +506 -0
- package/config/dev.config.ts +104 -0
- package/config/features.config.ts +203 -0
- package/config/flows.config.ts +129 -0
- package/config/permissions.config.ts +245 -0
- package/config/theme.config.ts +74 -0
- package/docs/01-overview/01-introduction.md +335 -0
- package/docs/01-overview/02-customization.md +671 -0
- package/docs/02-features/01-components.md +155 -0
- package/docs/02-features/02-styling.md +139 -0
- package/docs/02-features/03-tasks-entity.md +407 -0
- package/docs/03-ai/01-overview.md +211 -0
- package/docs/03-ai/02-customization.md +436 -0
- package/entities/customers/customers.config.ts +75 -0
- package/entities/customers/customers.fields.ts +165 -0
- package/entities/customers/customers.service.ts +516 -0
- package/entities/customers/customers.types.ts +83 -0
- package/entities/customers/messages/en.json +66 -0
- package/entities/customers/messages/es.json +66 -0
- package/entities/customers/migrations/001_customers_table.sql +102 -0
- package/entities/customers/migrations/002_customers_metas.sql +92 -0
- package/entities/pages/messages/en.json +41 -0
- package/entities/pages/messages/es.json +41 -0
- package/entities/pages/migrations/001_pages_table.sql +112 -0
- package/entities/pages/migrations/002_pages_metas.sql +56 -0
- package/entities/pages/migrations/003_add_status.sql +50 -0
- package/entities/pages/pages-management.service.ts +610 -0
- package/entities/pages/pages.config.ts +94 -0
- package/entities/pages/pages.fields.ts +101 -0
- package/entities/pages/pages.service.ts +290 -0
- package/entities/pages/pages.types.ts +124 -0
- package/entities/posts/components/post-header.tsx +97 -0
- package/entities/posts/messages/en.json +55 -0
- package/entities/posts/messages/es.json +55 -0
- package/entities/posts/migrations/001_posts_table.sql +115 -0
- package/entities/posts/migrations/003_add_status.sql +44 -0
- package/entities/posts/migrations/004_entity_taxonomy_relations.sql +129 -0
- package/entities/posts/migrations/006_posts_metas.sql +56 -0
- package/entities/posts/posts.config.ts +101 -0
- package/entities/posts/posts.fields.ts +116 -0
- package/entities/posts/posts.service.ts +376 -0
- package/entities/posts/posts.types.ts +74 -0
- package/entities/tasks/messages/en.json +204 -0
- package/entities/tasks/messages/es.json +204 -0
- package/entities/tasks/migrations/001_tasks_table.sql +105 -0
- package/entities/tasks/migrations/002_task_metas.sql +85 -0
- package/entities/tasks/migrations/sample_data.json +77 -0
- package/entities/tasks/tasks.config.ts +79 -0
- package/entities/tasks/tasks.fields.ts +196 -0
- package/entities/tasks/tasks.service.ts +541 -0
- package/entities/tasks/tasks.types.ts +56 -0
- package/lib/hooks/useAiChat.ts +114 -0
- package/lib/hooks/useConversations.ts +376 -0
- package/lib/hooks/useOrchestratorChat.ts +122 -0
- package/lib/hooks/usePersistentChat.ts +315 -0
- package/lib/hooks/useStreamingChat.ts +127 -0
- package/lib/hooks/useTokenUsage.ts +63 -0
- package/lib/langchain/agents/customer-assistant.md +69 -0
- package/lib/langchain/agents/index.ts +61 -0
- package/lib/langchain/agents/orchestrator.md +59 -0
- package/lib/langchain/agents/page-assistant.md +85 -0
- package/lib/langchain/agents/single-agent.md +46 -0
- package/lib/langchain/agents/task-assistant.md +55 -0
- package/lib/langchain/config.ts +45 -0
- package/lib/langchain/handlers/customer-handler.ts +338 -0
- package/lib/langchain/handlers/page-handler.ts +232 -0
- package/lib/langchain/handlers/task-handler.ts +323 -0
- package/lib/langchain/langchain.config.ts +223 -0
- package/lib/langchain/observability.config.ts +30 -0
- package/lib/langchain/orchestrator.ts +562 -0
- package/lib/langchain/tools/customers.ts +176 -0
- package/lib/langchain/tools/index.ts +10 -0
- package/lib/langchain/tools/orchestrator.ts +92 -0
- package/lib/langchain/tools/pages.ts +289 -0
- package/lib/langchain/tools/tasks.ts +167 -0
- package/lib/scheduled-actions/billing.ts +149 -0
- package/lib/scheduled-actions/index.ts +170 -0
- package/lib/scheduled-actions/webhook.ts +231 -0
- package/lib/selectors.ts +197 -0
- package/messages/de/admin.json +219 -0
- package/messages/de/aiUsage.json +36 -0
- package/messages/de/buttons.json +19 -0
- package/messages/de/categories.json +35 -0
- package/messages/de/common.json +16 -0
- package/messages/de/dev.json +101 -0
- package/messages/de/docs.json +27 -0
- package/messages/de/entities.json +7 -0
- package/messages/de/features.json +119 -0
- package/messages/de/footer.json +22 -0
- package/messages/de/home.json +57 -0
- package/messages/de/index.ts +39 -0
- package/messages/de/mobileNav.json +13 -0
- package/messages/de/navigation.json +8 -0
- package/messages/de/observability.json +74 -0
- package/messages/de/posts.json +54 -0
- package/messages/de/pricing.json +102 -0
- package/messages/de/support.json +9 -0
- package/messages/de/teams.json +8 -0
- package/messages/en/admin.json +219 -0
- package/messages/en/aiUsage.json +36 -0
- package/messages/en/buttons.json +19 -0
- package/messages/en/categories.json +35 -0
- package/messages/en/common.json +16 -0
- package/messages/en/dev.json +106 -0
- package/messages/en/docs.json +27 -0
- package/messages/en/entities.json +7 -0
- package/messages/en/features.json +119 -0
- package/messages/en/footer.json +22 -0
- package/messages/en/home.json +57 -0
- package/messages/en/index.ts +39 -0
- package/messages/en/mobileNav.json +13 -0
- package/messages/en/navigation.json +8 -0
- package/messages/en/observability.json +74 -0
- package/messages/en/posts.json +54 -0
- package/messages/en/pricing.json +102 -0
- package/messages/en/support.json +9 -0
- package/messages/en/teams.json +8 -0
- package/messages/es/admin.json +219 -0
- package/messages/es/aiUsage.json +36 -0
- package/messages/es/buttons.json +19 -0
- package/messages/es/categories.json +35 -0
- package/messages/es/common.json +16 -0
- package/messages/es/dev.json +101 -0
- package/messages/es/docs.json +27 -0
- package/messages/es/entities.json +7 -0
- package/messages/es/features.json +119 -0
- package/messages/es/footer.json +22 -0
- package/messages/es/home.json +57 -0
- package/messages/es/index.ts +39 -0
- package/messages/es/mobileNav.json +13 -0
- package/messages/es/navigation.json +8 -0
- package/messages/es/observability.json +74 -0
- package/messages/es/posts.json +54 -0
- package/messages/es/pricing.json +102 -0
- package/messages/es/support.json +9 -0
- package/messages/es/teams.json +8 -0
- package/messages/fr/admin.json +219 -0
- package/messages/fr/aiUsage.json +36 -0
- package/messages/fr/buttons.json +19 -0
- package/messages/fr/categories.json +35 -0
- package/messages/fr/common.json +16 -0
- package/messages/fr/dev.json +101 -0
- package/messages/fr/docs.json +27 -0
- package/messages/fr/entities.json +7 -0
- package/messages/fr/features.json +119 -0
- package/messages/fr/footer.json +22 -0
- package/messages/fr/home.json +57 -0
- package/messages/fr/index.ts +39 -0
- package/messages/fr/mobileNav.json +13 -0
- package/messages/fr/navigation.json +8 -0
- package/messages/fr/observability.json +74 -0
- package/messages/fr/posts.json +54 -0
- package/messages/fr/pricing.json +102 -0
- package/messages/fr/support.json +9 -0
- package/messages/fr/teams.json +8 -0
- package/messages/it/admin.json +219 -0
- package/messages/it/aiUsage.json +36 -0
- package/messages/it/buttons.json +19 -0
- package/messages/it/categories.json +35 -0
- package/messages/it/common.json +16 -0
- package/messages/it/dev.json +101 -0
- package/messages/it/docs.json +27 -0
- package/messages/it/entities.json +7 -0
- package/messages/it/features.json +119 -0
- package/messages/it/footer.json +22 -0
- package/messages/it/home.json +57 -0
- package/messages/it/index.ts +39 -0
- package/messages/it/mobileNav.json +13 -0
- package/messages/it/navigation.json +8 -0
- package/messages/it/observability.json +74 -0
- package/messages/it/posts.json +54 -0
- package/messages/it/pricing.json +102 -0
- package/messages/it/support.json +9 -0
- package/messages/it/teams.json +8 -0
- package/messages/pt/admin.json +219 -0
- package/messages/pt/aiUsage.json +36 -0
- package/messages/pt/buttons.json +19 -0
- package/messages/pt/categories.json +35 -0
- package/messages/pt/common.json +16 -0
- package/messages/pt/dev.json +101 -0
- package/messages/pt/docs.json +27 -0
- package/messages/pt/entities.json +7 -0
- package/messages/pt/features.json +119 -0
- package/messages/pt/footer.json +22 -0
- package/messages/pt/home.json +57 -0
- package/messages/pt/index.ts +39 -0
- package/messages/pt/mobileNav.json +13 -0
- package/messages/pt/navigation.json +8 -0
- package/messages/pt/observability.json +74 -0
- package/messages/pt/posts.json +54 -0
- package/messages/pt/pricing.json +102 -0
- package/messages/pt/support.json +9 -0
- package/messages/pt/teams.json +8 -0
- package/migrations/089_add_editor_team_role.sql +39 -0
- package/migrations/090_demo_users_teams.sql +540 -0
- package/migrations/091_greek_teams_billing.sql +523 -0
- package/migrations/092_billing_sample_data.sql +774 -0
- package/migrations/093_pages_sample_data.sql +1158 -0
- package/migrations/094_posts_sample_data.sql +278 -0
- package/migrations/095_tasks_sample_data.sql +440 -0
- package/migrations/096_customers_sample_data.sql +358 -0
- package/migrations/097_scheduled_actions_sample_data.sql +111 -0
- package/package.json +22 -0
- package/public/docs/desktop-layout-example.png +0 -0
- package/styles/components.css +11 -0
- package/styles/globals.css +179 -0
- package/templates/(public)/blog/[slug]/page.tsx +65 -0
- package/templates/(public)/layout.tsx +25 -0
- package/templates/(public)/page.tsx +200 -0
- package/templates/(public)/support/page.tsx +321 -0
- package/templates/dashboard/(main)/agent-multi/page.tsx +63 -0
- package/templates/dashboard/(main)/agent-single/page.tsx +142 -0
- package/templates/dashboard/(main)/settings/ai-usage/page.tsx +157 -0
- package/templates/superadmin/ai-observability/[traceId]/page.tsx +27 -0
- package/templates/superadmin/ai-observability/page.tsx +17 -0
|
@@ -0,0 +1,1158 @@
|
|
|
1
|
+
-- Migration: 093_pages_sample_data.sql
|
|
2
|
+
-- Description: Sample pages for NextSpark website showcasing all blocks
|
|
3
|
+
-- Date: 2025-01-25
|
|
4
|
+
-- Updated: 2025-12-17 - Complete rewrite with all block types
|
|
5
|
+
|
|
6
|
+
-- =====================================================
|
|
7
|
+
-- HOME PAGE - Landing page with hero, features, stats, testimonials, pricing, FAQ
|
|
8
|
+
-- =====================================================
|
|
9
|
+
INSERT INTO public.pages (
|
|
10
|
+
id,
|
|
11
|
+
"userId",
|
|
12
|
+
"teamId",
|
|
13
|
+
slug,
|
|
14
|
+
title,
|
|
15
|
+
blocks,
|
|
16
|
+
locale,
|
|
17
|
+
status,
|
|
18
|
+
"seoTitle",
|
|
19
|
+
"seoDescription",
|
|
20
|
+
"createdAt",
|
|
21
|
+
"updatedAt"
|
|
22
|
+
) VALUES (
|
|
23
|
+
gen_random_uuid(),
|
|
24
|
+
'usr-carlos-001',
|
|
25
|
+
'team-everpoint-001',
|
|
26
|
+
'home',
|
|
27
|
+
'Home',
|
|
28
|
+
'[
|
|
29
|
+
{
|
|
30
|
+
"id": "home-hero",
|
|
31
|
+
"blockSlug": "jumbotron",
|
|
32
|
+
"props": {
|
|
33
|
+
"title": "Build Your SaaS in Days, Not Months",
|
|
34
|
+
"subtitle": "A production-ready Next.js boilerplate with authentication, payments, emails, and everything you need to launch your SaaS product faster.",
|
|
35
|
+
"fullscreen": true,
|
|
36
|
+
"backgroundImage": "https://images.unsplash.com/photo-1551434678-e076c223a692?w=1920&q=80",
|
|
37
|
+
"textColor": "light",
|
|
38
|
+
"textAlign": "center",
|
|
39
|
+
"primaryCta": {
|
|
40
|
+
"label": "Get Started Free",
|
|
41
|
+
"url": "/signup",
|
|
42
|
+
"variant": "default"
|
|
43
|
+
},
|
|
44
|
+
"secondaryCta": {
|
|
45
|
+
"label": "View Demo",
|
|
46
|
+
"url": "/demo",
|
|
47
|
+
"variant": "outline"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"id": "home-logos",
|
|
53
|
+
"blockSlug": "logo-cloud",
|
|
54
|
+
"props": {
|
|
55
|
+
"title": "Trusted by developers at",
|
|
56
|
+
"logos": [
|
|
57
|
+
{ "image": "https://upload.wikimedia.org/wikipedia/commons/a/a9/Amazon_logo.svg", "alt": "Amazon" },
|
|
58
|
+
{ "image": "https://upload.wikimedia.org/wikipedia/commons/2/2f/Google_2015_logo.svg", "alt": "Google" },
|
|
59
|
+
{ "image": "https://upload.wikimedia.org/wikipedia/commons/4/44/Microsoft_logo.svg", "alt": "Microsoft" },
|
|
60
|
+
{ "image": "https://upload.wikimedia.org/wikipedia/commons/e/e8/Tesla_logo.png", "alt": "Tesla" },
|
|
61
|
+
{ "image": "https://upload.wikimedia.org/wikipedia/commons/0/08/Netflix_2015_logo.svg", "alt": "Netflix" }
|
|
62
|
+
],
|
|
63
|
+
"layout": "row",
|
|
64
|
+
"grayscale": true,
|
|
65
|
+
"size": "md"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"id": "home-stats",
|
|
70
|
+
"blockSlug": "stats-counter",
|
|
71
|
+
"props": {
|
|
72
|
+
"stats": [
|
|
73
|
+
{ "value": "500", "label": "Active Projects", "suffix": "+" },
|
|
74
|
+
{ "value": "10", "label": "Hours Saved per Project", "suffix": "K+" },
|
|
75
|
+
{ "value": "99.9", "label": "Uptime", "suffix": "%" },
|
|
76
|
+
{ "value": "24/7", "label": "Support" }
|
|
77
|
+
],
|
|
78
|
+
"columns": "4",
|
|
79
|
+
"variant": "default",
|
|
80
|
+
"size": "lg",
|
|
81
|
+
"backgroundColor": "gray-50"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"id": "home-features",
|
|
86
|
+
"blockSlug": "features-grid",
|
|
87
|
+
"props": {
|
|
88
|
+
"title": "Everything You Need to Launch",
|
|
89
|
+
"content": "Stop reinventing the wheel. Our boilerplate includes all the essential features you need to build and scale your SaaS product.",
|
|
90
|
+
"items": [
|
|
91
|
+
{
|
|
92
|
+
"icon": "Shield",
|
|
93
|
+
"title": "Authentication Ready",
|
|
94
|
+
"description": "Complete auth system with email/password, OAuth providers, email verification, and password reset out of the box."
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"icon": "CreditCard",
|
|
98
|
+
"title": "Payments Integrated",
|
|
99
|
+
"description": "Stripe integration for subscriptions, one-time payments, and usage-based billing. Webhooks included."
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"icon": "Mail",
|
|
103
|
+
"title": "Email System",
|
|
104
|
+
"description": "Transactional emails with Resend, beautiful templates, and queue support for high-volume sending."
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"icon": "Database",
|
|
108
|
+
"title": "Database & ORM",
|
|
109
|
+
"description": "PostgreSQL with Supabase, type-safe queries, migrations, and seed data for development."
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"icon": "Palette",
|
|
113
|
+
"title": "UI Components",
|
|
114
|
+
"description": "200+ accessible components built with Radix UI and Tailwind CSS. Dark mode included."
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"icon": "Globe",
|
|
118
|
+
"title": "Multi-language",
|
|
119
|
+
"description": "Built-in internationalization with next-intl. RTL support and language switching included."
|
|
120
|
+
}
|
|
121
|
+
],
|
|
122
|
+
"columns": "3"
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"id": "home-split-1",
|
|
127
|
+
"blockSlug": "split-content",
|
|
128
|
+
"props": {
|
|
129
|
+
"subtitle": "Developer Experience",
|
|
130
|
+
"title": "Built for Speed and Quality",
|
|
131
|
+
"content": "Our boilerplate is designed with developer experience in mind. TypeScript throughout, ESLint + Prettier configured, and comprehensive documentation to get you up and running in minutes.",
|
|
132
|
+
"image": "https://images.unsplash.com/photo-1461749280684-dccba630e2f6?w=800&q=80",
|
|
133
|
+
"imageAlt": "Developer coding",
|
|
134
|
+
"imagePosition": "right",
|
|
135
|
+
"imageStyle": "rounded",
|
|
136
|
+
"bulletPoints": [
|
|
137
|
+
{ "text": "Full TypeScript support with strict mode" },
|
|
138
|
+
{ "text": "Hot reload for instant feedback" },
|
|
139
|
+
{ "text": "Pre-configured testing with Jest and Cypress" },
|
|
140
|
+
{ "text": "CI/CD templates for GitHub Actions" }
|
|
141
|
+
],
|
|
142
|
+
"cta": {
|
|
143
|
+
"text": "Read the Docs",
|
|
144
|
+
"link": "/getting-started",
|
|
145
|
+
"variant": "outline"
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"id": "home-split-2",
|
|
151
|
+
"blockSlug": "split-content",
|
|
152
|
+
"props": {
|
|
153
|
+
"subtitle": "Production Ready",
|
|
154
|
+
"title": "Scale with Confidence",
|
|
155
|
+
"content": "From day one, your application is built on a solid foundation. Optimized for performance, security, and scalability so you can focus on building features, not infrastructure.",
|
|
156
|
+
"image": "https://images.unsplash.com/photo-1551288049-bebda4e38f71?w=800&q=80",
|
|
157
|
+
"imageAlt": "Analytics dashboard",
|
|
158
|
+
"imagePosition": "left",
|
|
159
|
+
"imageStyle": "rounded",
|
|
160
|
+
"bulletPoints": [
|
|
161
|
+
{ "text": "Edge-ready with Vercel deployment" },
|
|
162
|
+
{ "text": "Built-in rate limiting and security headers" },
|
|
163
|
+
{ "text": "Automatic database backups with Supabase" },
|
|
164
|
+
{ "text": "Real-time features with WebSocket support" }
|
|
165
|
+
],
|
|
166
|
+
"cta": {
|
|
167
|
+
"text": "View Architecture",
|
|
168
|
+
"link": "/getting-started",
|
|
169
|
+
"variant": "outline"
|
|
170
|
+
},
|
|
171
|
+
"backgroundColor": "gray-50"
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"id": "home-video",
|
|
176
|
+
"blockSlug": "video-hero",
|
|
177
|
+
"props": {
|
|
178
|
+
"title": "See It in Action",
|
|
179
|
+
"content": "Watch how easy it is to go from zero to a fully functional SaaS application in under 10 minutes.",
|
|
180
|
+
"videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
|
|
181
|
+
"layout": "inline",
|
|
182
|
+
"autoplay": false
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"id": "home-testimonials",
|
|
187
|
+
"blockSlug": "testimonials",
|
|
188
|
+
"props": {
|
|
189
|
+
"title": "Loved by Developers",
|
|
190
|
+
"content": "Join hundreds of developers who have shipped their SaaS faster with our boilerplate.",
|
|
191
|
+
"items": [
|
|
192
|
+
{
|
|
193
|
+
"author": "Sarah Chen",
|
|
194
|
+
"role": "Founder at LaunchFast",
|
|
195
|
+
"quote": "This boilerplate saved me at least 3 months of development time. The auth system alone would have taken weeks to build properly.",
|
|
196
|
+
"avatar": "https://i.pravatar.cc/150?u=sarah"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"author": "Marcus Rodriguez",
|
|
200
|
+
"role": "CTO at ScaleUp",
|
|
201
|
+
"quote": "The code quality is exceptional. It''s clear this was built by developers who understand what it takes to ship production software.",
|
|
202
|
+
"avatar": "https://i.pravatar.cc/150?u=marcus"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"author": "Emily Watson",
|
|
206
|
+
"role": "Solo Founder",
|
|
207
|
+
"quote": "As a solo founder, I needed something that just works. This boilerplate let me focus on my product instead of infrastructure.",
|
|
208
|
+
"avatar": "https://i.pravatar.cc/150?u=emily"
|
|
209
|
+
}
|
|
210
|
+
],
|
|
211
|
+
"backgroundColor": "gray-50"
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"id": "home-pricing",
|
|
216
|
+
"blockSlug": "pricing-table",
|
|
217
|
+
"props": {
|
|
218
|
+
"title": "Simple, Transparent Pricing",
|
|
219
|
+
"content": "Choose the plan that fits your needs. All plans include lifetime updates and community support.",
|
|
220
|
+
"plans": [
|
|
221
|
+
{
|
|
222
|
+
"name": "Starter",
|
|
223
|
+
"price": "$0",
|
|
224
|
+
"period": "/forever",
|
|
225
|
+
"description": "Perfect for learning and side projects",
|
|
226
|
+
"features": "Core boilerplate code\\nBasic authentication\\nCommunity support\\nMIT License",
|
|
227
|
+
"ctaText": "Download Free",
|
|
228
|
+
"ctaUrl": "/download",
|
|
229
|
+
"isPopular": false
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"name": "Pro",
|
|
233
|
+
"price": "$199",
|
|
234
|
+
"period": "one-time",
|
|
235
|
+
"description": "For serious projects and startups",
|
|
236
|
+
"features": "Everything in Starter\\nPremium components\\nStripe integration\\nEmail templates\\nPriority support\\nPrivate Discord access",
|
|
237
|
+
"ctaText": "Get Pro License",
|
|
238
|
+
"ctaUrl": "/checkout/pro",
|
|
239
|
+
"isPopular": true
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"name": "Enterprise",
|
|
243
|
+
"price": "$499",
|
|
244
|
+
"period": "one-time",
|
|
245
|
+
"description": "For teams and agencies",
|
|
246
|
+
"features": "Everything in Pro\\nUnlimited team seats\\nCustom integrations\\nDedicated support\\n1-on-1 onboarding call\\nWhite-label license",
|
|
247
|
+
"ctaText": "Contact Sales",
|
|
248
|
+
"ctaUrl": "/contact",
|
|
249
|
+
"isPopular": false
|
|
250
|
+
}
|
|
251
|
+
],
|
|
252
|
+
"columns": "3",
|
|
253
|
+
"highlightPopular": true
|
|
254
|
+
}
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"id": "home-faq",
|
|
258
|
+
"blockSlug": "faq-accordion",
|
|
259
|
+
"props": {
|
|
260
|
+
"title": "Frequently Asked Questions",
|
|
261
|
+
"subtitle": "Got questions? We have answers. If you can''t find what you''re looking for, reach out to our support team.",
|
|
262
|
+
"items": [
|
|
263
|
+
{
|
|
264
|
+
"question": "What''s included in the boilerplate?",
|
|
265
|
+
"answer": "The boilerplate includes a complete Next.js 15 application with authentication (email/password + OAuth), database setup with PostgreSQL, email system with Resend, payment integration with Stripe, 200+ UI components, internationalization, and comprehensive documentation."
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"question": "Do I need to pay for updates?",
|
|
269
|
+
"answer": "No! All licenses include lifetime updates. When we release new features, bug fixes, or security patches, you''ll have access to them at no additional cost."
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"question": "Can I use this for client projects?",
|
|
273
|
+
"answer": "Yes! The Pro license allows you to use the boilerplate for unlimited personal and client projects. The Enterprise license also includes white-labeling rights."
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"question": "What kind of support do you offer?",
|
|
277
|
+
"answer": "Starter users get community support through GitHub discussions. Pro users get priority support with 24-48 hour response times. Enterprise users get dedicated support with same-day responses and a 1-on-1 onboarding call."
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"question": "Is there a refund policy?",
|
|
281
|
+
"answer": "Yes, we offer a 30-day money-back guarantee. If you''re not satisfied with the boilerplate for any reason, contact us for a full refund."
|
|
282
|
+
}
|
|
283
|
+
],
|
|
284
|
+
"allowMultiple": false,
|
|
285
|
+
"defaultOpenFirst": true,
|
|
286
|
+
"variant": "bordered",
|
|
287
|
+
"backgroundColor": "gray-50"
|
|
288
|
+
}
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"id": "home-cta",
|
|
292
|
+
"blockSlug": "cta-section",
|
|
293
|
+
"props": {
|
|
294
|
+
"title": "Ready to Ship Your SaaS?",
|
|
295
|
+
"content": "Join 500+ developers who have already launched their products with our boilerplate. Get started today and ship faster.",
|
|
296
|
+
"backgroundColor": "primary",
|
|
297
|
+
"cta.text": "Get Started Now",
|
|
298
|
+
"cta.link": "/signup",
|
|
299
|
+
"secondaryButton.text": "View on GitHub",
|
|
300
|
+
"secondaryButton.link": "https://github.com"
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
]'::jsonb,
|
|
304
|
+
'en',
|
|
305
|
+
'published',
|
|
306
|
+
'NextSpark - Build Your SaaS in Days, Not Months',
|
|
307
|
+
'Production-ready Next.js boilerplate with authentication, payments, emails, and everything you need to launch your SaaS faster.',
|
|
308
|
+
NOW(),
|
|
309
|
+
NOW()
|
|
310
|
+
) ON CONFLICT (slug, locale) DO UPDATE SET
|
|
311
|
+
title = EXCLUDED.title,
|
|
312
|
+
blocks = EXCLUDED.blocks,
|
|
313
|
+
"seoTitle" = EXCLUDED."seoTitle",
|
|
314
|
+
"seoDescription" = EXCLUDED."seoDescription",
|
|
315
|
+
"updatedAt" = NOW();
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
-- =====================================================
|
|
319
|
+
-- FEATURES PAGE - Detailed features with split content and benefits
|
|
320
|
+
-- =====================================================
|
|
321
|
+
INSERT INTO public.pages (
|
|
322
|
+
id,
|
|
323
|
+
"userId",
|
|
324
|
+
"teamId",
|
|
325
|
+
slug,
|
|
326
|
+
title,
|
|
327
|
+
blocks,
|
|
328
|
+
locale,
|
|
329
|
+
status,
|
|
330
|
+
"seoTitle",
|
|
331
|
+
"seoDescription",
|
|
332
|
+
"createdAt",
|
|
333
|
+
"updatedAt"
|
|
334
|
+
) VALUES (
|
|
335
|
+
gen_random_uuid(),
|
|
336
|
+
'usr-carlos-001',
|
|
337
|
+
'team-everpoint-001',
|
|
338
|
+
'features',
|
|
339
|
+
'Features',
|
|
340
|
+
'[
|
|
341
|
+
{
|
|
342
|
+
"id": "features-hero",
|
|
343
|
+
"blockSlug": "hero",
|
|
344
|
+
"props": {
|
|
345
|
+
"title": "Powerful Features for Modern SaaS",
|
|
346
|
+
"content": "Every feature you need to build, launch, and scale your SaaS product. Built with best practices and production-ready code.",
|
|
347
|
+
"cta": {
|
|
348
|
+
"text": "Explore All Features",
|
|
349
|
+
"link": "#features-list"
|
|
350
|
+
},
|
|
351
|
+
"backgroundColor": "primary"
|
|
352
|
+
}
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"id": "features-auth",
|
|
356
|
+
"blockSlug": "split-content",
|
|
357
|
+
"props": {
|
|
358
|
+
"subtitle": "Authentication",
|
|
359
|
+
"title": "Enterprise-Grade Auth System",
|
|
360
|
+
"content": "Our authentication system is built on Better Auth, providing a secure and flexible foundation. From simple email/password to complex SSO setups, we''ve got you covered.",
|
|
361
|
+
"image": "https://images.unsplash.com/photo-1555949963-ff9fe0c870eb?w=800&q=80",
|
|
362
|
+
"imageAlt": "Security authentication",
|
|
363
|
+
"imagePosition": "right",
|
|
364
|
+
"imageStyle": "rounded",
|
|
365
|
+
"bulletPoints": [
|
|
366
|
+
{ "text": "Email/password with secure hashing" },
|
|
367
|
+
{ "text": "OAuth providers (Google, GitHub, more)" },
|
|
368
|
+
{ "text": "Email verification flow" },
|
|
369
|
+
{ "text": "Password reset with secure tokens" },
|
|
370
|
+
{ "text": "Session management with refresh tokens" },
|
|
371
|
+
{ "text": "Role-based access control (RBAC)" }
|
|
372
|
+
]
|
|
373
|
+
}
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"id": "features-payments",
|
|
377
|
+
"blockSlug": "split-content",
|
|
378
|
+
"props": {
|
|
379
|
+
"subtitle": "Payments",
|
|
380
|
+
"title": "Stripe Integration Done Right",
|
|
381
|
+
"content": "Accept payments globally with our battle-tested Stripe integration. Subscriptions, one-time payments, and usage-based billing are all supported out of the box.",
|
|
382
|
+
"image": "https://images.unsplash.com/photo-1556742049-0cfed4f6a45d?w=800&q=80",
|
|
383
|
+
"imageAlt": "Payment processing",
|
|
384
|
+
"imagePosition": "left",
|
|
385
|
+
"imageStyle": "rounded",
|
|
386
|
+
"bulletPoints": [
|
|
387
|
+
{ "text": "Subscription management with Stripe" },
|
|
388
|
+
{ "text": "Customer portal for self-service" },
|
|
389
|
+
{ "text": "Webhook handlers for all events" },
|
|
390
|
+
{ "text": "Usage-based billing support" },
|
|
391
|
+
{ "text": "Multiple currency support" },
|
|
392
|
+
{ "text": "Invoice and receipt generation" }
|
|
393
|
+
],
|
|
394
|
+
"backgroundColor": "gray-50"
|
|
395
|
+
}
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
"id": "features-email",
|
|
399
|
+
"blockSlug": "split-content",
|
|
400
|
+
"props": {
|
|
401
|
+
"subtitle": "Email System",
|
|
402
|
+
"title": "Beautiful Transactional Emails",
|
|
403
|
+
"content": "Send beautiful, responsive emails with our Resend integration. Pre-built templates for common scenarios and easy customization for your brand.",
|
|
404
|
+
"image": "https://images.unsplash.com/photo-1596526131083-e8c633c948d2?w=800&q=80",
|
|
405
|
+
"imageAlt": "Email templates",
|
|
406
|
+
"imagePosition": "right",
|
|
407
|
+
"imageStyle": "rounded",
|
|
408
|
+
"bulletPoints": [
|
|
409
|
+
{ "text": "Pre-built email templates" },
|
|
410
|
+
{ "text": "React Email for easy customization" },
|
|
411
|
+
{ "text": "Automatic email queue for reliability" },
|
|
412
|
+
{ "text": "Email analytics and tracking" },
|
|
413
|
+
{ "text": "Unsubscribe handling" }
|
|
414
|
+
]
|
|
415
|
+
}
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
"id": "features-grid",
|
|
419
|
+
"blockSlug": "features-grid",
|
|
420
|
+
"props": {
|
|
421
|
+
"title": "And Much More...",
|
|
422
|
+
"content": "These are just the highlights. Our boilerplate includes dozens of additional features to accelerate your development.",
|
|
423
|
+
"items": [
|
|
424
|
+
{
|
|
425
|
+
"icon": "FileText",
|
|
426
|
+
"title": "Page Builder",
|
|
427
|
+
"description": "Visual page builder with 15+ blocks. Create landing pages without writing code."
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
"icon": "Search",
|
|
431
|
+
"title": "SEO Optimized",
|
|
432
|
+
"description": "Meta tags, sitemaps, robots.txt, and structured data all configured for you."
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
"icon": "BarChart",
|
|
436
|
+
"title": "Analytics Ready",
|
|
437
|
+
"description": "Easy integration with Vercel Analytics, Google Analytics, or Plausible."
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"icon": "Moon",
|
|
441
|
+
"title": "Dark Mode",
|
|
442
|
+
"description": "System-aware dark mode with smooth transitions. Users can override preference."
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
"icon": "Smartphone",
|
|
446
|
+
"title": "Mobile First",
|
|
447
|
+
"description": "Responsive design that looks great on all devices, from phones to large screens."
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
"icon": "Zap",
|
|
451
|
+
"title": "Edge Ready",
|
|
452
|
+
"description": "Optimized for Vercel Edge Functions. Deploy globally with minimal latency."
|
|
453
|
+
}
|
|
454
|
+
],
|
|
455
|
+
"columns": "3",
|
|
456
|
+
"backgroundColor": "gray-50"
|
|
457
|
+
}
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
"id": "features-cta",
|
|
461
|
+
"blockSlug": "cta-section",
|
|
462
|
+
"props": {
|
|
463
|
+
"title": "See All Features in Action",
|
|
464
|
+
"content": "Ready to explore? Check out our live demo or dive into the documentation to see how everything works.",
|
|
465
|
+
"cta.text": "View Live Demo",
|
|
466
|
+
"cta.link": "/demo",
|
|
467
|
+
"secondaryButton.text": "Read Docs",
|
|
468
|
+
"secondaryButton.link": "/getting-started"
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
]'::jsonb,
|
|
472
|
+
'en',
|
|
473
|
+
'published',
|
|
474
|
+
'Features - NextSpark',
|
|
475
|
+
'Explore all the powerful features included in NextSpark: authentication, payments, emails, and more.',
|
|
476
|
+
NOW(),
|
|
477
|
+
NOW()
|
|
478
|
+
) ON CONFLICT (slug, locale) DO UPDATE SET
|
|
479
|
+
title = EXCLUDED.title,
|
|
480
|
+
blocks = EXCLUDED.blocks,
|
|
481
|
+
"seoTitle" = EXCLUDED."seoTitle",
|
|
482
|
+
"seoDescription" = EXCLUDED."seoDescription",
|
|
483
|
+
"updatedAt" = NOW();
|
|
484
|
+
|
|
485
|
+
|
|
486
|
+
-- =====================================================
|
|
487
|
+
-- PRICING PAGE - Dedicated pricing with FAQ
|
|
488
|
+
-- =====================================================
|
|
489
|
+
INSERT INTO public.pages (
|
|
490
|
+
id,
|
|
491
|
+
"userId",
|
|
492
|
+
"teamId",
|
|
493
|
+
slug,
|
|
494
|
+
title,
|
|
495
|
+
blocks,
|
|
496
|
+
locale,
|
|
497
|
+
status,
|
|
498
|
+
"seoTitle",
|
|
499
|
+
"seoDescription",
|
|
500
|
+
"createdAt",
|
|
501
|
+
"updatedAt"
|
|
502
|
+
) VALUES (
|
|
503
|
+
gen_random_uuid(),
|
|
504
|
+
'usr-carlos-001',
|
|
505
|
+
'team-everpoint-001',
|
|
506
|
+
'pricing',
|
|
507
|
+
'Pricing',
|
|
508
|
+
'[
|
|
509
|
+
{
|
|
510
|
+
"id": "pricing-hero",
|
|
511
|
+
"blockSlug": "text-content",
|
|
512
|
+
"props": {
|
|
513
|
+
"title": "Pricing That Scales With You",
|
|
514
|
+
"content": "Start free and upgrade as you grow. No hidden fees, no surprises. Just straightforward pricing for serious builders.",
|
|
515
|
+
"alignment": "center"
|
|
516
|
+
}
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
"id": "pricing-table",
|
|
520
|
+
"blockSlug": "pricing-table",
|
|
521
|
+
"props": {
|
|
522
|
+
"plans": [
|
|
523
|
+
{
|
|
524
|
+
"name": "Starter",
|
|
525
|
+
"price": "$0",
|
|
526
|
+
"period": "/forever",
|
|
527
|
+
"description": "For learning and experimentation",
|
|
528
|
+
"features": "Core boilerplate\\nBasic auth system\\nCommunity support\\nGitHub access\\nMIT License",
|
|
529
|
+
"ctaText": "Download Free",
|
|
530
|
+
"ctaUrl": "/download",
|
|
531
|
+
"isPopular": false
|
|
532
|
+
},
|
|
533
|
+
{
|
|
534
|
+
"name": "Pro",
|
|
535
|
+
"price": "$199",
|
|
536
|
+
"period": "one-time",
|
|
537
|
+
"description": "For startups and indie hackers",
|
|
538
|
+
"features": "Everything in Starter\\n50+ premium components\\nStripe integration\\nEmail templates\\nPriority email support\\nPrivate Discord\\nLifetime updates",
|
|
539
|
+
"ctaText": "Buy Pro License",
|
|
540
|
+
"ctaUrl": "/checkout/pro",
|
|
541
|
+
"isPopular": true
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
"name": "Enterprise",
|
|
545
|
+
"price": "$499",
|
|
546
|
+
"period": "one-time",
|
|
547
|
+
"description": "For teams and agencies",
|
|
548
|
+
"features": "Everything in Pro\\nUnlimited team members\\nWhite-label rights\\nCustom integrations\\nDedicated support\\n1-on-1 onboarding\\nPriority feature requests",
|
|
549
|
+
"ctaText": "Contact Sales",
|
|
550
|
+
"ctaUrl": "/contact",
|
|
551
|
+
"isPopular": false
|
|
552
|
+
}
|
|
553
|
+
],
|
|
554
|
+
"columns": "3",
|
|
555
|
+
"highlightPopular": true
|
|
556
|
+
}
|
|
557
|
+
},
|
|
558
|
+
{
|
|
559
|
+
"id": "pricing-comparison",
|
|
560
|
+
"blockSlug": "text-content",
|
|
561
|
+
"props": {
|
|
562
|
+
"title": "Why Pay for a Boilerplate?",
|
|
563
|
+
"content": "Building authentication, payments, and email systems from scratch takes months. Our Pro customers report saving 200+ hours of development time—that''s over $10,000 in developer costs at typical rates. The boilerplate pays for itself on day one.",
|
|
564
|
+
"alignment": "center",
|
|
565
|
+
"backgroundColor": "gray-50"
|
|
566
|
+
}
|
|
567
|
+
},
|
|
568
|
+
{
|
|
569
|
+
"id": "pricing-faq",
|
|
570
|
+
"blockSlug": "faq-accordion",
|
|
571
|
+
"props": {
|
|
572
|
+
"title": "Pricing FAQ",
|
|
573
|
+
"items": [
|
|
574
|
+
{
|
|
575
|
+
"question": "Is this a subscription or one-time payment?",
|
|
576
|
+
"answer": "It''s a one-time payment with lifetime access. You pay once and get access to the current version plus all future updates forever. No recurring fees."
|
|
577
|
+
},
|
|
578
|
+
{
|
|
579
|
+
"question": "Can I use this for multiple projects?",
|
|
580
|
+
"answer": "Yes! Both Pro and Enterprise licenses allow unlimited projects. Build as many SaaS products as you want with a single license."
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
"question": "What''s the difference between Pro and Enterprise?",
|
|
584
|
+
"answer": "Pro is designed for individual developers and small teams. Enterprise adds white-label rights (remove all attribution), dedicated support with faster response times, and a personal onboarding call to help your team get started."
|
|
585
|
+
},
|
|
586
|
+
{
|
|
587
|
+
"question": "Do you offer team licenses?",
|
|
588
|
+
"answer": "The Enterprise plan includes unlimited team seats. For Pro, each developer needs their own license, but we offer bulk discounts for teams of 3+. Contact us for details."
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
"question": "What payment methods do you accept?",
|
|
592
|
+
"answer": "We accept all major credit cards, Apple Pay, and Google Pay through Stripe. For Enterprise customers, we can also arrange bank transfers or purchase orders."
|
|
593
|
+
},
|
|
594
|
+
{
|
|
595
|
+
"question": "Is there a refund policy?",
|
|
596
|
+
"answer": "Absolutely. We offer a 30-day, no-questions-asked refund policy. If the boilerplate isn''t right for you, just email us and we''ll process your refund immediately."
|
|
597
|
+
}
|
|
598
|
+
],
|
|
599
|
+
"allowMultiple": false,
|
|
600
|
+
"defaultOpenFirst": true,
|
|
601
|
+
"variant": "separated"
|
|
602
|
+
}
|
|
603
|
+
},
|
|
604
|
+
{
|
|
605
|
+
"id": "pricing-cta",
|
|
606
|
+
"blockSlug": "cta-section",
|
|
607
|
+
"props": {
|
|
608
|
+
"title": "Still Have Questions?",
|
|
609
|
+
"content": "We''re happy to help. Reach out to our team and we''ll get back to you within 24 hours.",
|
|
610
|
+
"backgroundColor": "primary",
|
|
611
|
+
"cta.text": "Contact Us",
|
|
612
|
+
"cta.link": "/contact"
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
]'::jsonb,
|
|
616
|
+
'en',
|
|
617
|
+
'published',
|
|
618
|
+
'Pricing - NextSpark',
|
|
619
|
+
'Simple, transparent pricing. Start free, upgrade when you''re ready. One-time payment, lifetime updates.',
|
|
620
|
+
NOW(),
|
|
621
|
+
NOW()
|
|
622
|
+
) ON CONFLICT (slug, locale) DO UPDATE SET
|
|
623
|
+
title = EXCLUDED.title,
|
|
624
|
+
blocks = EXCLUDED.blocks,
|
|
625
|
+
"seoTitle" = EXCLUDED."seoTitle",
|
|
626
|
+
"seoDescription" = EXCLUDED."seoDescription",
|
|
627
|
+
"updatedAt" = NOW();
|
|
628
|
+
|
|
629
|
+
|
|
630
|
+
-- =====================================================
|
|
631
|
+
-- ABOUT PAGE - Company story with timeline
|
|
632
|
+
-- =====================================================
|
|
633
|
+
INSERT INTO public.pages (
|
|
634
|
+
id,
|
|
635
|
+
"userId",
|
|
636
|
+
"teamId",
|
|
637
|
+
slug,
|
|
638
|
+
title,
|
|
639
|
+
blocks,
|
|
640
|
+
locale,
|
|
641
|
+
status,
|
|
642
|
+
"seoTitle",
|
|
643
|
+
"seoDescription",
|
|
644
|
+
"createdAt",
|
|
645
|
+
"updatedAt"
|
|
646
|
+
) VALUES (
|
|
647
|
+
gen_random_uuid(),
|
|
648
|
+
'usr-carlos-001',
|
|
649
|
+
'team-everpoint-001',
|
|
650
|
+
'about',
|
|
651
|
+
'About Us',
|
|
652
|
+
'[
|
|
653
|
+
{
|
|
654
|
+
"id": "about-hero",
|
|
655
|
+
"blockSlug": "hero",
|
|
656
|
+
"props": {
|
|
657
|
+
"title": "Built by Developers, for Developers",
|
|
658
|
+
"content": "We''re a small team of experienced developers who got tired of building the same boilerplate code for every new project. So we decided to build the ultimate starting point.",
|
|
659
|
+
"backgroundColor": "primary"
|
|
660
|
+
}
|
|
661
|
+
},
|
|
662
|
+
{
|
|
663
|
+
"id": "about-story",
|
|
664
|
+
"blockSlug": "split-content",
|
|
665
|
+
"props": {
|
|
666
|
+
"subtitle": "Our Story",
|
|
667
|
+
"title": "From Frustration to Solution",
|
|
668
|
+
"content": "After years of building SaaS products, we noticed a pattern: every project started with the same 2-3 months of setup work. Authentication, payments, emails, user management—it was always the same. We decided to solve this problem once and for all.",
|
|
669
|
+
"image": "https://images.unsplash.com/photo-1522071820081-009f0129c71c?w=800&q=80",
|
|
670
|
+
"imageAlt": "Team working together",
|
|
671
|
+
"imagePosition": "right",
|
|
672
|
+
"imageStyle": "rounded"
|
|
673
|
+
}
|
|
674
|
+
},
|
|
675
|
+
{
|
|
676
|
+
"id": "about-timeline",
|
|
677
|
+
"blockSlug": "timeline",
|
|
678
|
+
"props": {
|
|
679
|
+
"title": "Our Journey",
|
|
680
|
+
"subtitle": "From a side project to helping hundreds of developers ship faster",
|
|
681
|
+
"items": [
|
|
682
|
+
{
|
|
683
|
+
"date": "2022",
|
|
684
|
+
"title": "The Idea",
|
|
685
|
+
"description": "Frustrated with repetitive boilerplate work, we started documenting our setup process and best practices.",
|
|
686
|
+
"icon": "Lightbulb"
|
|
687
|
+
},
|
|
688
|
+
{
|
|
689
|
+
"date": "Early 2023",
|
|
690
|
+
"title": "First Version",
|
|
691
|
+
"description": "Released v1.0 as an open-source project. Received amazing feedback from the community.",
|
|
692
|
+
"icon": "Rocket"
|
|
693
|
+
},
|
|
694
|
+
{
|
|
695
|
+
"date": "Mid 2023",
|
|
696
|
+
"title": "Going Pro",
|
|
697
|
+
"description": "Launched Pro version with premium features, Stripe integration, and dedicated support.",
|
|
698
|
+
"icon": "Star"
|
|
699
|
+
},
|
|
700
|
+
{
|
|
701
|
+
"date": "2024",
|
|
702
|
+
"title": "500+ Customers",
|
|
703
|
+
"description": "Reached 500 paid customers and launched Enterprise tier for teams and agencies.",
|
|
704
|
+
"icon": "Users"
|
|
705
|
+
},
|
|
706
|
+
{
|
|
707
|
+
"date": "Today",
|
|
708
|
+
"title": "Continuous Improvement",
|
|
709
|
+
"description": "Regular updates, new features, and a growing community of developers building amazing products.",
|
|
710
|
+
"icon": "TrendingUp"
|
|
711
|
+
}
|
|
712
|
+
],
|
|
713
|
+
"layout": "vertical",
|
|
714
|
+
"alternating": true,
|
|
715
|
+
"showConnector": true,
|
|
716
|
+
"variant": "cards",
|
|
717
|
+
"backgroundColor": "gray-50"
|
|
718
|
+
}
|
|
719
|
+
},
|
|
720
|
+
{
|
|
721
|
+
"id": "about-values",
|
|
722
|
+
"blockSlug": "features-grid",
|
|
723
|
+
"props": {
|
|
724
|
+
"title": "Our Values",
|
|
725
|
+
"content": "The principles that guide everything we build",
|
|
726
|
+
"items": [
|
|
727
|
+
{
|
|
728
|
+
"icon": "Code",
|
|
729
|
+
"title": "Code Quality First",
|
|
730
|
+
"description": "Every line of code is reviewed, tested, and documented. We don''t ship anything we wouldn''t use ourselves."
|
|
731
|
+
},
|
|
732
|
+
{
|
|
733
|
+
"icon": "Heart",
|
|
734
|
+
"title": "Developer Experience",
|
|
735
|
+
"description": "We obsess over the little things that make developers'' lives easier. Good DX is our competitive advantage."
|
|
736
|
+
},
|
|
737
|
+
{
|
|
738
|
+
"icon": "Users",
|
|
739
|
+
"title": "Community Driven",
|
|
740
|
+
"description": "Our roadmap is shaped by customer feedback. The best features come from real developers solving real problems."
|
|
741
|
+
}
|
|
742
|
+
],
|
|
743
|
+
"columns": "3"
|
|
744
|
+
}
|
|
745
|
+
},
|
|
746
|
+
{
|
|
747
|
+
"id": "about-stats",
|
|
748
|
+
"blockSlug": "stats-counter",
|
|
749
|
+
"props": {
|
|
750
|
+
"stats": [
|
|
751
|
+
{ "value": "500", "label": "Happy Customers", "suffix": "+" },
|
|
752
|
+
{ "value": "50", "label": "Countries", "suffix": "+" },
|
|
753
|
+
{ "value": "1M", "label": "Lines of Code Saved", "suffix": "+" },
|
|
754
|
+
{ "value": "4.9", "label": "Average Rating", "suffix": "/5" }
|
|
755
|
+
],
|
|
756
|
+
"columns": "4",
|
|
757
|
+
"variant": "cards",
|
|
758
|
+
"size": "lg",
|
|
759
|
+
"backgroundColor": "gray-50"
|
|
760
|
+
}
|
|
761
|
+
},
|
|
762
|
+
{
|
|
763
|
+
"id": "about-cta",
|
|
764
|
+
"blockSlug": "cta-section",
|
|
765
|
+
"props": {
|
|
766
|
+
"title": "Want to Join Our Story?",
|
|
767
|
+
"content": "Become part of our growing community of developers building the future of SaaS.",
|
|
768
|
+
"cta.text": "Get Started",
|
|
769
|
+
"cta.link": "/signup",
|
|
770
|
+
"secondaryButton.text": "Join Discord",
|
|
771
|
+
"secondaryButton.link": "https://discord.gg/example"
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
]'::jsonb,
|
|
775
|
+
'en',
|
|
776
|
+
'published',
|
|
777
|
+
'About Us - NextSpark',
|
|
778
|
+
'Learn about the team behind NextSpark and our mission to help developers ship faster.',
|
|
779
|
+
NOW(),
|
|
780
|
+
NOW()
|
|
781
|
+
) ON CONFLICT (slug, locale) DO UPDATE SET
|
|
782
|
+
title = EXCLUDED.title,
|
|
783
|
+
blocks = EXCLUDED.blocks,
|
|
784
|
+
"seoTitle" = EXCLUDED."seoTitle",
|
|
785
|
+
"seoDescription" = EXCLUDED."seoDescription",
|
|
786
|
+
"updatedAt" = NOW();
|
|
787
|
+
|
|
788
|
+
|
|
789
|
+
-- =====================================================
|
|
790
|
+
-- DOCS PAGE - Documentation overview with video hero
|
|
791
|
+
-- =====================================================
|
|
792
|
+
INSERT INTO public.pages (
|
|
793
|
+
id,
|
|
794
|
+
"userId",
|
|
795
|
+
"teamId",
|
|
796
|
+
slug,
|
|
797
|
+
title,
|
|
798
|
+
blocks,
|
|
799
|
+
locale,
|
|
800
|
+
status,
|
|
801
|
+
"seoTitle",
|
|
802
|
+
"seoDescription",
|
|
803
|
+
"createdAt",
|
|
804
|
+
"updatedAt"
|
|
805
|
+
) VALUES (
|
|
806
|
+
gen_random_uuid(),
|
|
807
|
+
'usr-carlos-001',
|
|
808
|
+
'team-everpoint-001',
|
|
809
|
+
'getting-started',
|
|
810
|
+
'Getting Started',
|
|
811
|
+
'[
|
|
812
|
+
{
|
|
813
|
+
"id": "docs-hero",
|
|
814
|
+
"blockSlug": "video-hero",
|
|
815
|
+
"props": {
|
|
816
|
+
"title": "Get Started in Minutes",
|
|
817
|
+
"content": "Our comprehensive documentation will guide you from installation to deployment. Watch the quick start video or dive into the docs.",
|
|
818
|
+
"videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
|
|
819
|
+
"layout": "side-by-side",
|
|
820
|
+
"autoplay": false,
|
|
821
|
+
"cta": {
|
|
822
|
+
"text": "Read the Docs",
|
|
823
|
+
"link": "/getting-started"
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
},
|
|
827
|
+
{
|
|
828
|
+
"id": "docs-quickstart",
|
|
829
|
+
"blockSlug": "timeline",
|
|
830
|
+
"props": {
|
|
831
|
+
"title": "Quick Start Guide",
|
|
832
|
+
"subtitle": "Get your development environment up and running in 5 steps",
|
|
833
|
+
"items": [
|
|
834
|
+
{
|
|
835
|
+
"date": "Step 1",
|
|
836
|
+
"title": "Clone the Repository",
|
|
837
|
+
"description": "Clone the boilerplate from GitHub and install dependencies with pnpm install.",
|
|
838
|
+
"icon": "GitBranch"
|
|
839
|
+
},
|
|
840
|
+
{
|
|
841
|
+
"date": "Step 2",
|
|
842
|
+
"title": "Configure Environment",
|
|
843
|
+
"description": "Copy .env.example to .env and fill in your database, Stripe, and email credentials.",
|
|
844
|
+
"icon": "Settings"
|
|
845
|
+
},
|
|
846
|
+
{
|
|
847
|
+
"date": "Step 3",
|
|
848
|
+
"title": "Run Migrations",
|
|
849
|
+
"description": "Execute pnpm db:migrate to set up your database schema with all required tables.",
|
|
850
|
+
"icon": "Database"
|
|
851
|
+
},
|
|
852
|
+
{
|
|
853
|
+
"date": "Step 4",
|
|
854
|
+
"title": "Start Development",
|
|
855
|
+
"description": "Run pnpm dev to start the development server. Your app is now running at localhost:5173.",
|
|
856
|
+
"icon": "Play"
|
|
857
|
+
},
|
|
858
|
+
{
|
|
859
|
+
"date": "Step 5",
|
|
860
|
+
"title": "Build Something Great",
|
|
861
|
+
"description": "Start customizing the boilerplate for your specific needs. Check the docs for detailed guides.",
|
|
862
|
+
"icon": "Rocket"
|
|
863
|
+
}
|
|
864
|
+
],
|
|
865
|
+
"layout": "vertical",
|
|
866
|
+
"alternating": false,
|
|
867
|
+
"showConnector": true,
|
|
868
|
+
"variant": "default",
|
|
869
|
+
"backgroundColor": "gray-50"
|
|
870
|
+
}
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
"id": "docs-sections",
|
|
874
|
+
"blockSlug": "features-grid",
|
|
875
|
+
"props": {
|
|
876
|
+
"title": "Documentation Sections",
|
|
877
|
+
"content": "Everything you need to know, organized by topic",
|
|
878
|
+
"items": [
|
|
879
|
+
{
|
|
880
|
+
"icon": "Rocket",
|
|
881
|
+
"title": "Getting Started",
|
|
882
|
+
"description": "Installation, configuration, and your first deployment. Everything to get up and running."
|
|
883
|
+
},
|
|
884
|
+
{
|
|
885
|
+
"icon": "Shield",
|
|
886
|
+
"title": "Authentication",
|
|
887
|
+
"description": "User registration, login flows, OAuth setup, email verification, and password reset."
|
|
888
|
+
},
|
|
889
|
+
{
|
|
890
|
+
"icon": "CreditCard",
|
|
891
|
+
"title": "Payments",
|
|
892
|
+
"description": "Stripe setup, subscriptions, webhooks, customer portal, and billing management."
|
|
893
|
+
},
|
|
894
|
+
{
|
|
895
|
+
"icon": "Layout",
|
|
896
|
+
"title": "UI Components",
|
|
897
|
+
"description": "200+ components with examples, props documentation, and customization guides."
|
|
898
|
+
},
|
|
899
|
+
{
|
|
900
|
+
"icon": "Database",
|
|
901
|
+
"title": "Database",
|
|
902
|
+
"description": "Schema design, migrations, queries, and best practices for PostgreSQL."
|
|
903
|
+
},
|
|
904
|
+
{
|
|
905
|
+
"icon": "Cloud",
|
|
906
|
+
"title": "Deployment",
|
|
907
|
+
"description": "Deploy to Vercel, Railway, or your own infrastructure with our step-by-step guides."
|
|
908
|
+
}
|
|
909
|
+
],
|
|
910
|
+
"columns": "3"
|
|
911
|
+
}
|
|
912
|
+
},
|
|
913
|
+
{
|
|
914
|
+
"id": "docs-cta",
|
|
915
|
+
"blockSlug": "cta-section",
|
|
916
|
+
"props": {
|
|
917
|
+
"title": "Need Help?",
|
|
918
|
+
"content": "Can''t find what you''re looking for? Our support team is here to help.",
|
|
919
|
+
"backgroundColor": "primary",
|
|
920
|
+
"cta.text": "Contact Support",
|
|
921
|
+
"cta.link": "/contact",
|
|
922
|
+
"secondaryButton.text": "Join Discord",
|
|
923
|
+
"secondaryButton.link": "https://discord.gg/example"
|
|
924
|
+
}
|
|
925
|
+
}
|
|
926
|
+
]'::jsonb,
|
|
927
|
+
'en',
|
|
928
|
+
'published',
|
|
929
|
+
'Getting Started - NextSpark',
|
|
930
|
+
'Quick start guide to help you get started with NextSpark. From installation to deployment.',
|
|
931
|
+
NOW(),
|
|
932
|
+
NOW()
|
|
933
|
+
) ON CONFLICT (slug, locale) DO UPDATE SET
|
|
934
|
+
title = EXCLUDED.title,
|
|
935
|
+
blocks = EXCLUDED.blocks,
|
|
936
|
+
"seoTitle" = EXCLUDED."seoTitle",
|
|
937
|
+
"seoDescription" = EXCLUDED."seoDescription",
|
|
938
|
+
"updatedAt" = NOW();
|
|
939
|
+
|
|
940
|
+
|
|
941
|
+
-- =====================================================
|
|
942
|
+
-- CONTACT PAGE - Contact form hero
|
|
943
|
+
-- =====================================================
|
|
944
|
+
INSERT INTO public.pages (
|
|
945
|
+
id,
|
|
946
|
+
"userId",
|
|
947
|
+
"teamId",
|
|
948
|
+
slug,
|
|
949
|
+
title,
|
|
950
|
+
blocks,
|
|
951
|
+
locale,
|
|
952
|
+
status,
|
|
953
|
+
"seoTitle",
|
|
954
|
+
"seoDescription",
|
|
955
|
+
"createdAt",
|
|
956
|
+
"updatedAt"
|
|
957
|
+
) VALUES (
|
|
958
|
+
gen_random_uuid(),
|
|
959
|
+
'usr-carlos-001',
|
|
960
|
+
'team-everpoint-001',
|
|
961
|
+
'contact',
|
|
962
|
+
'Contact Us',
|
|
963
|
+
'[
|
|
964
|
+
{
|
|
965
|
+
"id": "contact-hero",
|
|
966
|
+
"blockSlug": "hero-with-form",
|
|
967
|
+
"props": {
|
|
968
|
+
"title": "Let''s Talk",
|
|
969
|
+
"subtitle": "Have questions about the boilerplate? Want to discuss a custom integration? We''d love to hear from you.",
|
|
970
|
+
"backgroundImage": "https://images.unsplash.com/photo-1423666639041-f56000c27a9a?w=1920&q=80",
|
|
971
|
+
"formTitle": "Send us a message",
|
|
972
|
+
"formSubtitle": "We typically respond within 24 hours",
|
|
973
|
+
"firstNamePlaceholder": "First Name",
|
|
974
|
+
"lastNamePlaceholder": "Last Name",
|
|
975
|
+
"emailPlaceholder": "Email",
|
|
976
|
+
"phonePlaceholder": "Phone (optional)",
|
|
977
|
+
"areaOfInterestPlaceholder": "What can we help with?",
|
|
978
|
+
"areaOfInterestOptions": "General Question\\nPre-sales Inquiry\\nTechnical Support\\nEnterprise Sales\\nPartnership",
|
|
979
|
+
"submitButtonText": "Send Message",
|
|
980
|
+
"legalDisclaimer": "By submitting this form, you agree to our",
|
|
981
|
+
"termsLinkText": "Terms of Service",
|
|
982
|
+
"termsLinkUrl": "/terms",
|
|
983
|
+
"privacyLinkText": "Privacy Policy",
|
|
984
|
+
"privacyLinkUrl": "/privacy",
|
|
985
|
+
"formAction": "/api/contact",
|
|
986
|
+
"overlayOpacity": "60"
|
|
987
|
+
}
|
|
988
|
+
},
|
|
989
|
+
{
|
|
990
|
+
"id": "contact-info",
|
|
991
|
+
"blockSlug": "features-grid",
|
|
992
|
+
"props": {
|
|
993
|
+
"title": "Other Ways to Reach Us",
|
|
994
|
+
"items": [
|
|
995
|
+
{
|
|
996
|
+
"icon": "Mail",
|
|
997
|
+
"title": "Email",
|
|
998
|
+
"description": "For general inquiries: hello@example.com. For support: support@example.com"
|
|
999
|
+
},
|
|
1000
|
+
{
|
|
1001
|
+
"icon": "MessageSquare",
|
|
1002
|
+
"title": "Discord",
|
|
1003
|
+
"description": "Join our community for real-time help, discussions, and announcements."
|
|
1004
|
+
},
|
|
1005
|
+
{
|
|
1006
|
+
"icon": "Twitter",
|
|
1007
|
+
"title": "Twitter",
|
|
1008
|
+
"description": "Follow @nextspark for updates, tips, and behind-the-scenes content."
|
|
1009
|
+
}
|
|
1010
|
+
],
|
|
1011
|
+
"columns": "3",
|
|
1012
|
+
"backgroundColor": "gray-50"
|
|
1013
|
+
}
|
|
1014
|
+
},
|
|
1015
|
+
{
|
|
1016
|
+
"id": "contact-faq",
|
|
1017
|
+
"blockSlug": "faq-accordion",
|
|
1018
|
+
"props": {
|
|
1019
|
+
"title": "Common Questions",
|
|
1020
|
+
"items": [
|
|
1021
|
+
{
|
|
1022
|
+
"question": "What''s your typical response time?",
|
|
1023
|
+
"answer": "We aim to respond to all inquiries within 24 hours on business days. Priority support customers typically receive responses within 4 hours."
|
|
1024
|
+
},
|
|
1025
|
+
{
|
|
1026
|
+
"question": "Do you offer custom development?",
|
|
1027
|
+
"answer": "While we focus on maintaining the boilerplate, we can connect you with vetted developers from our community who specialize in customizations and integrations."
|
|
1028
|
+
},
|
|
1029
|
+
{
|
|
1030
|
+
"question": "Can I schedule a demo?",
|
|
1031
|
+
"answer": "Absolutely! Enterprise customers can schedule a personalized demo and onboarding call. Use the form above and select \"Enterprise Sales\" as your topic."
|
|
1032
|
+
}
|
|
1033
|
+
],
|
|
1034
|
+
"allowMultiple": true,
|
|
1035
|
+
"defaultOpenFirst": false,
|
|
1036
|
+
"variant": "bordered"
|
|
1037
|
+
}
|
|
1038
|
+
}
|
|
1039
|
+
]'::jsonb,
|
|
1040
|
+
'en',
|
|
1041
|
+
'published',
|
|
1042
|
+
'Contact Us - NextSpark',
|
|
1043
|
+
'Get in touch with our team. We''re here to help with questions, support, and enterprise inquiries.',
|
|
1044
|
+
NOW(),
|
|
1045
|
+
NOW()
|
|
1046
|
+
) ON CONFLICT (slug, locale) DO UPDATE SET
|
|
1047
|
+
title = EXCLUDED.title,
|
|
1048
|
+
blocks = EXCLUDED.blocks,
|
|
1049
|
+
"seoTitle" = EXCLUDED."seoTitle",
|
|
1050
|
+
"seoDescription" = EXCLUDED."seoDescription",
|
|
1051
|
+
"updatedAt" = NOW();
|
|
1052
|
+
|
|
1053
|
+
|
|
1054
|
+
-- =====================================================
|
|
1055
|
+
-- DEMO PAGE - Interactive demo with benefits
|
|
1056
|
+
-- =====================================================
|
|
1057
|
+
INSERT INTO public.pages (
|
|
1058
|
+
id,
|
|
1059
|
+
"userId",
|
|
1060
|
+
"teamId",
|
|
1061
|
+
slug,
|
|
1062
|
+
title,
|
|
1063
|
+
blocks,
|
|
1064
|
+
locale,
|
|
1065
|
+
status,
|
|
1066
|
+
"seoTitle",
|
|
1067
|
+
"seoDescription",
|
|
1068
|
+
"createdAt",
|
|
1069
|
+
"updatedAt"
|
|
1070
|
+
) VALUES (
|
|
1071
|
+
gen_random_uuid(),
|
|
1072
|
+
'usr-carlos-001',
|
|
1073
|
+
'team-everpoint-001',
|
|
1074
|
+
'demo',
|
|
1075
|
+
'Live Demo',
|
|
1076
|
+
'[
|
|
1077
|
+
{
|
|
1078
|
+
"id": "demo-hero",
|
|
1079
|
+
"blockSlug": "video-hero",
|
|
1080
|
+
"props": {
|
|
1081
|
+
"title": "See the Boilerplate in Action",
|
|
1082
|
+
"content": "This live demo showcases all the features included in the Pro version. Feel free to explore and test everything.",
|
|
1083
|
+
"videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
|
|
1084
|
+
"layout": "background",
|
|
1085
|
+
"autoplay": false,
|
|
1086
|
+
"overlayOpacity": "60",
|
|
1087
|
+
"cta": {
|
|
1088
|
+
"text": "Try the Live Demo",
|
|
1089
|
+
"link": "https://demo.example.com"
|
|
1090
|
+
}
|
|
1091
|
+
}
|
|
1092
|
+
},
|
|
1093
|
+
{
|
|
1094
|
+
"id": "demo-benefits",
|
|
1095
|
+
"blockSlug": "benefits",
|
|
1096
|
+
"props": {
|
|
1097
|
+
"title": "What You''ll Experience",
|
|
1098
|
+
"content": "Our demo is a fully functional SaaS application. Here''s what you can test:",
|
|
1099
|
+
"items": [
|
|
1100
|
+
{
|
|
1101
|
+
"icon": "UserPlus",
|
|
1102
|
+
"title": "User Registration",
|
|
1103
|
+
"description": "Create an account with email/password or use Google OAuth to sign up instantly."
|
|
1104
|
+
},
|
|
1105
|
+
{
|
|
1106
|
+
"icon": "Settings",
|
|
1107
|
+
"title": "Dashboard",
|
|
1108
|
+
"description": "Explore the admin dashboard with real data, charts, and management tools."
|
|
1109
|
+
},
|
|
1110
|
+
{
|
|
1111
|
+
"icon": "CreditCard",
|
|
1112
|
+
"title": "Stripe Checkout",
|
|
1113
|
+
"description": "Test the payment flow with Stripe test mode. Use card 4242 4242 4242 4242."
|
|
1114
|
+
},
|
|
1115
|
+
{
|
|
1116
|
+
"icon": "Palette",
|
|
1117
|
+
"title": "Theme Customization",
|
|
1118
|
+
"description": "Toggle dark mode, change accent colors, and see the UI adapt in real-time."
|
|
1119
|
+
}
|
|
1120
|
+
]
|
|
1121
|
+
}
|
|
1122
|
+
},
|
|
1123
|
+
{
|
|
1124
|
+
"id": "demo-credentials",
|
|
1125
|
+
"blockSlug": "text-content",
|
|
1126
|
+
"props": {
|
|
1127
|
+
"title": "Demo Credentials",
|
|
1128
|
+
"content": "Want to skip registration? Use these test credentials:\\n\\nEmail: demo@example.com\\nPassword: demo123\\n\\nThis account has full access to all Pro features. Data resets every 24 hours.",
|
|
1129
|
+
"alignment": "center",
|
|
1130
|
+
"backgroundColor": "gray-50"
|
|
1131
|
+
}
|
|
1132
|
+
},
|
|
1133
|
+
{
|
|
1134
|
+
"id": "demo-cta",
|
|
1135
|
+
"blockSlug": "cta-section",
|
|
1136
|
+
"props": {
|
|
1137
|
+
"title": "Ready to Build Your Own?",
|
|
1138
|
+
"content": "Get the same powerful foundation for your SaaS. Start building today.",
|
|
1139
|
+
"backgroundColor": "primary",
|
|
1140
|
+
"cta.text": "Get Started",
|
|
1141
|
+
"cta.link": "/pricing",
|
|
1142
|
+
"secondaryButton.text": "View Source",
|
|
1143
|
+
"secondaryButton.link": "https://github.com"
|
|
1144
|
+
}
|
|
1145
|
+
}
|
|
1146
|
+
]'::jsonb,
|
|
1147
|
+
'en',
|
|
1148
|
+
'published',
|
|
1149
|
+
'Live Demo - NextSpark',
|
|
1150
|
+
'Experience NextSpark with our interactive live demo. Test authentication, payments, and all features.',
|
|
1151
|
+
NOW(),
|
|
1152
|
+
NOW()
|
|
1153
|
+
) ON CONFLICT (slug, locale) DO UPDATE SET
|
|
1154
|
+
title = EXCLUDED.title,
|
|
1155
|
+
blocks = EXCLUDED.blocks,
|
|
1156
|
+
"seoTitle" = EXCLUDED."seoTitle",
|
|
1157
|
+
"seoDescription" = EXCLUDED."seoDescription",
|
|
1158
|
+
"updatedAt" = NOW();
|