nextworks 0.2.0-alpha.11 → 0.2.0-alpha.13
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 +283 -282
- package/dist/cli_manifests/blocks_manifest.json +198 -175
- package/dist/kits/blocks/.nextworks/docs/BLOCKS_QUICKSTART.md +101 -100
- package/dist/kits/blocks/.nextworks/docs/BLOCKS_README.md +105 -104
- package/dist/kits/blocks/.nextworks/docs/THEME_GUIDE.md +1 -1
- package/dist/kits/blocks/app/templates/aiworkflow/PresetThemeVars.tsx +58 -0
- package/dist/kits/blocks/app/templates/aiworkflow/README.md +46 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/CTA.tsx +44 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/Contact.tsx +105 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/FAQ.tsx +63 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/Features.tsx +65 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/Footer.tsx +109 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/Hero.tsx +636 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/Navbar.tsx +90 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/Pricing.tsx +86 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/ProcessTimeline.tsx +103 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/Testimonials.tsx +56 -0
- package/dist/kits/blocks/app/templates/aiworkflow/components/TrustBadges.tsx +59 -0
- package/dist/kits/blocks/app/templates/aiworkflow/page.tsx +43 -0
- package/dist/kits/blocks/app/templates/digitalagency/PresetThemeVars.tsx +80 -80
- package/dist/kits/blocks/app/templates/digitalagency/README.md +42 -42
- package/dist/kits/blocks/app/templates/digitalagency/components/Pricing.tsx +114 -114
- package/dist/kits/blocks/app/templates/digitalagency/components/Process.tsx +59 -59
- package/dist/kits/blocks/app/templates/digitalagency/components/Services.tsx +55 -55
- package/dist/kits/blocks/app/templates/digitalagency/components/Team.tsx +28 -28
- package/dist/kits/blocks/app/templates/digitalagency/components/Testimonials.tsx +65 -65
- package/dist/kits/blocks/app/templates/digitalagency/page.tsx +38 -38
- package/dist/kits/blocks/app/templates/gallery/PresetThemeVars.tsx +84 -84
- package/dist/kits/blocks/app/templates/productlaunch/PresetThemeVars.tsx +75 -75
- package/dist/kits/blocks/app/templates/productlaunch/README.md +62 -62
- package/dist/kits/blocks/app/templates/productlaunch/components/About.tsx +84 -84
- package/dist/kits/blocks/app/templates/productlaunch/components/CTA.tsx +50 -50
- package/dist/kits/blocks/app/templates/productlaunch/components/Contact.tsx +231 -231
- package/dist/kits/blocks/app/templates/productlaunch/components/FAQ.tsx +86 -86
- package/dist/kits/blocks/app/templates/productlaunch/components/Features.tsx +83 -83
- package/dist/kits/blocks/app/templates/productlaunch/components/Footer.tsx +132 -132
- package/dist/kits/blocks/app/templates/productlaunch/components/Hero.tsx +88 -88
- package/dist/kits/blocks/app/templates/productlaunch/components/Navbar.tsx +116 -116
- package/dist/kits/blocks/app/templates/productlaunch/components/Pricing.tsx +106 -106
- package/dist/kits/blocks/app/templates/productlaunch/components/ProcessTimeline.tsx +110 -110
- package/dist/kits/blocks/app/templates/productlaunch/components/ServicesGrid.tsx +68 -68
- package/dist/kits/blocks/app/templates/productlaunch/components/Team.tsx +104 -104
- package/dist/kits/blocks/app/templates/productlaunch/components/Testimonials.tsx +90 -90
- package/dist/kits/blocks/app/templates/productlaunch/components/TrustBadges.tsx +76 -76
- package/dist/kits/blocks/app/templates/productlaunch/page.tsx +43 -43
- package/dist/kits/blocks/app/templates/saasdashboard/PresetThemeVars.tsx +80 -80
- package/dist/kits/blocks/app/templates/saasdashboard/README.md +44 -44
- package/dist/kits/blocks/app/templates/saasdashboard/components/Contact.tsx +129 -129
- package/dist/kits/blocks/app/templates/saasdashboard/components/Dashboard.tsx +293 -293
- package/dist/kits/blocks/app/templates/saasdashboard/components/FAQ.tsx +55 -55
- package/dist/kits/blocks/app/templates/saasdashboard/components/Features.tsx +90 -90
- package/dist/kits/blocks/app/templates/saasdashboard/components/Footer.tsx +77 -77
- package/dist/kits/blocks/app/templates/saasdashboard/components/Hero.tsx +104 -104
- package/dist/kits/blocks/app/templates/saasdashboard/components/Hero_mask.tsx +126 -126
- package/dist/kits/blocks/app/templates/saasdashboard/components/Navbar.tsx +117 -117
- package/dist/kits/blocks/app/templates/saasdashboard/components/Pricing.tsx +90 -90
- package/dist/kits/blocks/app/templates/saasdashboard/components/SmoothScroll.tsx +96 -96
- package/dist/kits/blocks/app/templates/saasdashboard/components/Testimonials.tsx +72 -72
- package/dist/kits/blocks/app/templates/saasdashboard/components/TrustBadges.tsx +53 -53
- package/dist/kits/blocks/app/templates/saasdashboard/page.tsx +39 -39
- package/dist/kits/blocks/components/enhanced-theme-provider.tsx +195 -195
- package/dist/kits/blocks/components/providers/BlocksAppProviders.tsx +27 -27
- package/dist/kits/blocks/components/sections/About.tsx +291 -291
- package/dist/kits/blocks/components/sections/CTA.tsx +257 -257
- package/dist/kits/blocks/components/sections/Contact.tsx +267 -267
- package/dist/kits/blocks/components/sections/FAQ.tsx +214 -214
- package/dist/kits/blocks/components/sections/Features.tsx +268 -268
- package/dist/kits/blocks/components/sections/Footer.tsx +302 -302
- package/dist/kits/blocks/components/sections/HeroMotion.tsx +308 -308
- package/dist/kits/blocks/components/sections/HeroOverlay.tsx +358 -358
- package/dist/kits/blocks/components/sections/HeroProductDemo.tsx +236 -0
- package/dist/kits/blocks/components/sections/HeroSplit.tsx +352 -352
- package/dist/kits/blocks/components/sections/Navbar.tsx +350 -350
- package/dist/kits/blocks/components/sections/PortfolioSimple.tsx +549 -549
- package/dist/kits/blocks/components/sections/Pricing.tsx +264 -264
- package/dist/kits/blocks/components/sections/ProcessTimeline.tsx +325 -325
- package/dist/kits/blocks/components/sections/ServicesGrid.tsx +210 -210
- package/dist/kits/blocks/components/sections/Team.tsx +309 -309
- package/dist/kits/blocks/components/sections/Testimonials.tsx +158 -158
- package/dist/kits/blocks/components/sections/TrustBadges.tsx +162 -162
- package/dist/kits/blocks/components/sections/product-demo/ApprovalInboxPanel.tsx +125 -0
- package/dist/kits/blocks/components/sections/product-demo/DemoStage.tsx +397 -0
- package/dist/kits/blocks/components/sections/product-demo/DemoWindow.tsx +128 -0
- package/dist/kits/blocks/components/sections/product-demo/KnowledgePanel.tsx +127 -0
- package/dist/kits/blocks/components/sections/product-demo/RunConsolePanel.tsx +150 -0
- package/dist/kits/blocks/components/sections/product-demo/WorkflowStudioPanel.tsx +191 -0
- package/dist/kits/blocks/components/sections/product-demo/types.ts +193 -0
- package/dist/kits/blocks/components/theme-provider.tsx +1 -1
- package/dist/kits/blocks/components/ui/alert-dialog.tsx +134 -134
- package/dist/kits/blocks/components/ui/brand-node.tsx +121 -121
- package/dist/kits/blocks/components/ui/button.tsx +122 -122
- package/dist/kits/blocks/components/ui/card.tsx +95 -95
- package/dist/kits/blocks/components/ui/checkbox.tsx +30 -30
- package/dist/kits/blocks/components/ui/cta-button.tsx +125 -125
- package/dist/kits/blocks/components/ui/dropdown-menu.tsx +201 -201
- package/dist/kits/blocks/components/ui/feature-card.tsx +91 -91
- package/dist/kits/blocks/components/ui/input.tsx +27 -27
- package/dist/kits/blocks/components/ui/label.tsx +29 -29
- package/dist/kits/blocks/components/ui/pricing-card.tsx +120 -120
- package/dist/kits/blocks/components/ui/select.tsx +25 -25
- package/dist/kits/blocks/components/ui/skeleton.tsx +13 -13
- package/dist/kits/blocks/components/ui/table.tsx +98 -98
- package/dist/kits/blocks/components/ui/testimonial-card.tsx +108 -108
- package/dist/kits/blocks/components/ui/textarea.tsx +26 -26
- package/dist/kits/blocks/components/ui/theme-selector.tsx +243 -243
- package/dist/kits/blocks/components/ui/theme-toggle.tsx +74 -74
- package/dist/kits/blocks/components/ui/toaster.tsx +7 -7
- package/dist/kits/blocks/lib/themes.ts +400 -400
- package/dist/kits/blocks/lib/utils.ts +6 -6
- package/dist/kits/blocks/package-deps.json +3 -3
- package/package.json +1 -1
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
# DigitalAgency Template Theming
|
|
2
|
-
|
|
3
|
-
This template is preset-first. It’s wrapped with `PresetThemeVars` to set a template-wide emerald palette. Shared components read variables with safe token fallbacks. Use local overrides sparingly (e.g., a specific CTA state).
|
|
4
|
-
|
|
5
|
-
## Where it’s wired
|
|
6
|
-
|
|
7
|
-
Template paths depend on your router:
|
|
8
|
-
|
|
9
|
-
- App Router:
|
|
10
|
-
- Wrapper: `app/templates/digitalagency/PresetThemeVars.tsx`
|
|
11
|
-
- Page: `app/templates/digitalagency/page.tsx`
|
|
12
|
-
- Pages Router:
|
|
13
|
-
- Wrapper: `components/templates/digitalagency/PresetThemeVars.tsx`
|
|
14
|
-
- Page: `pages/templates/digitalagency/index.tsx`
|
|
15
|
-
|
|
16
|
-
## Core variables
|
|
17
|
-
|
|
18
|
-
- Buttons: `--btn-bg`, `--btn-fg`, `--btn-hover-bg`, `--btn-hover-fg`, `--btn-border`, `--btn-ring`
|
|
19
|
-
- Inputs/Textareas: `--input-bg`, `--input-fg`, `--input-placeholder`, `--input-border`, `--input-focus-ring`, `--input-ring-offset`
|
|
20
|
-
- Cards: `--card-bg`, `--card-fg`, `--card-title-fg`, `--card-muted-fg`, `--card-border`, `--card-shadow`
|
|
21
|
-
- Badges/Chips: `--badge-bg`, `--badge-fg`, `--badge-border`, plus active variants
|
|
22
|
-
- Headings: `--heading-fg`, `--subheading-fg`, `--description-fg`
|
|
23
|
-
- Footer: `--footer-bg`, `--footer-fg`, `--footer-heading-fg`, `--footer-link-fg`, `--footer-link-hover-fg`, `--footer-link-hover-bg`, `--footer-muted-fg`, `--footer-border`
|
|
24
|
-
- Table: `--table-fg`, `--table-muted-fg`, `--table-head-fg`, `--table-border`, `--table-row-hover-bg`
|
|
25
|
-
|
|
26
|
-
## Per-section overrides
|
|
27
|
-
|
|
28
|
-
This template should be styled primarily by PresetThemeVars. Override on a specific section only when needed:
|
|
29
|
-
|
|
30
|
-
```tsx
|
|
31
|
-
<section className="[--btn-ring:theme(colors.emerald.600)]">
|
|
32
|
-
<CTA />
|
|
33
|
-
</section>
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Outline buttons
|
|
37
|
-
|
|
38
|
-
Always set `--btn-bg:transparent` and keep a border width class present when overriding outline colors.
|
|
39
|
-
|
|
40
|
-
## Should preset components be refactored?
|
|
41
|
-
|
|
42
|
-
Not mandatory. As you touch presets, prefer removing hard-coded color classes and let the var contract style them. Keep structure (spacing, layout, motion) classes.
|
|
1
|
+
# DigitalAgency Template Theming
|
|
2
|
+
|
|
3
|
+
This template is preset-first. It’s wrapped with `PresetThemeVars` to set a template-wide emerald palette. Shared components read variables with safe token fallbacks. Use local overrides sparingly (e.g., a specific CTA state).
|
|
4
|
+
|
|
5
|
+
## Where it’s wired
|
|
6
|
+
|
|
7
|
+
Template paths depend on your router:
|
|
8
|
+
|
|
9
|
+
- App Router:
|
|
10
|
+
- Wrapper: `app/templates/digitalagency/PresetThemeVars.tsx`
|
|
11
|
+
- Page: `app/templates/digitalagency/page.tsx`
|
|
12
|
+
- Pages Router:
|
|
13
|
+
- Wrapper: `components/templates/digitalagency/PresetThemeVars.tsx`
|
|
14
|
+
- Page: `pages/templates/digitalagency/index.tsx`
|
|
15
|
+
|
|
16
|
+
## Core variables
|
|
17
|
+
|
|
18
|
+
- Buttons: `--btn-bg`, `--btn-fg`, `--btn-hover-bg`, `--btn-hover-fg`, `--btn-border`, `--btn-ring`
|
|
19
|
+
- Inputs/Textareas: `--input-bg`, `--input-fg`, `--input-placeholder`, `--input-border`, `--input-focus-ring`, `--input-ring-offset`
|
|
20
|
+
- Cards: `--card-bg`, `--card-fg`, `--card-title-fg`, `--card-muted-fg`, `--card-border`, `--card-shadow`
|
|
21
|
+
- Badges/Chips: `--badge-bg`, `--badge-fg`, `--badge-border`, plus active variants
|
|
22
|
+
- Headings: `--heading-fg`, `--subheading-fg`, `--description-fg`
|
|
23
|
+
- Footer: `--footer-bg`, `--footer-fg`, `--footer-heading-fg`, `--footer-link-fg`, `--footer-link-hover-fg`, `--footer-link-hover-bg`, `--footer-muted-fg`, `--footer-border`
|
|
24
|
+
- Table: `--table-fg`, `--table-muted-fg`, `--table-head-fg`, `--table-border`, `--table-row-hover-bg`
|
|
25
|
+
|
|
26
|
+
## Per-section overrides
|
|
27
|
+
|
|
28
|
+
This template should be styled primarily by PresetThemeVars. Override on a specific section only when needed:
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
<section className="[--btn-ring:theme(colors.emerald.600)]">
|
|
32
|
+
<CTA />
|
|
33
|
+
</section>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Outline buttons
|
|
37
|
+
|
|
38
|
+
Always set `--btn-bg:transparent` and keep a border width class present when overriding outline colors.
|
|
39
|
+
|
|
40
|
+
## Should preset components be refactored?
|
|
41
|
+
|
|
42
|
+
Not mandatory. As you touch presets, prefer removing hard-coded color classes and let the var contract style them. Keep structure (spacing, layout, motion) classes.
|
|
@@ -1,114 +1,114 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import React from "react";
|
|
4
|
-
import { Pricing as SharedPricing } from "@/components/sections/Pricing";
|
|
5
|
-
|
|
6
|
-
const AgencyPricingData = [
|
|
7
|
-
{
|
|
8
|
-
pricingPlanHeaderText: "Starter",
|
|
9
|
-
pricingPlanPrice: "$2,999",
|
|
10
|
-
pricingPlanFeatures: [
|
|
11
|
-
"5-page custom website",
|
|
12
|
-
"Mobile-responsive design",
|
|
13
|
-
"Basic SEO optimization",
|
|
14
|
-
"Contact form integration",
|
|
15
|
-
"2 rounds of revisions",
|
|
16
|
-
"1 month post-launch support",
|
|
17
|
-
],
|
|
18
|
-
pricingPlanCTALabel: "Get Started",
|
|
19
|
-
pricingPlanCTAHref: "#contact",
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
pricingPlanHeaderText: "Professional",
|
|
23
|
-
pricingPlanPrice: "$5,999",
|
|
24
|
-
pricingPlanFeatures: [
|
|
25
|
-
"10-page custom website",
|
|
26
|
-
"Advanced responsive design",
|
|
27
|
-
"Comprehensive SEO setup",
|
|
28
|
-
"CMS integration",
|
|
29
|
-
"Analytics & tracking setup",
|
|
30
|
-
"Social media integration",
|
|
31
|
-
"3 rounds of revisions",
|
|
32
|
-
"3 months ongoing support",
|
|
33
|
-
],
|
|
34
|
-
pricingPlanCTALabel: "Most Popular",
|
|
35
|
-
pricingPlanCTAHref: "#contact",
|
|
36
|
-
isPopular: true,
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
pricingPlanHeaderText: "Enterprise",
|
|
40
|
-
pricingPlanPrice: "Custom Quote",
|
|
41
|
-
pricingPlanFeatures: [
|
|
42
|
-
"Unlimited pages",
|
|
43
|
-
"Custom functionality",
|
|
44
|
-
"E-commerce integration",
|
|
45
|
-
"Advanced SEO strategy",
|
|
46
|
-
"Performance optimization",
|
|
47
|
-
"Third-party integrations",
|
|
48
|
-
"Priority support",
|
|
49
|
-
"Dedicated project manager",
|
|
50
|
-
"6 months ongoing support",
|
|
51
|
-
],
|
|
52
|
-
pricingPlanCTALabel: "Contact Sales",
|
|
53
|
-
pricingPlanCTAHref: "#contact",
|
|
54
|
-
},
|
|
55
|
-
];
|
|
56
|
-
|
|
57
|
-
export function Pricing() {
|
|
58
|
-
return (
|
|
59
|
-
<section id="pricing">
|
|
60
|
-
<SharedPricing
|
|
61
|
-
pricingPlans={AgencyPricingData}
|
|
62
|
-
pricingHeadingText="Choose Your Plan"
|
|
63
|
-
section={{
|
|
64
|
-
className: "py-16 md:py-20 lg:py-24 bg-fuchsia-50 dark:bg-gray-800",
|
|
65
|
-
}}
|
|
66
|
-
container={{
|
|
67
|
-
className: "max-w-7xl mx-auto px-6",
|
|
68
|
-
}}
|
|
69
|
-
heading={{
|
|
70
|
-
className:
|
|
71
|
-
"text-4xl md:text-5xl lg:text-6xl font-bold font-poppins text-center text-gray-800 dark:text-white mb-8",
|
|
72
|
-
}}
|
|
73
|
-
grid={{
|
|
74
|
-
className:
|
|
75
|
-
"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 mt-8",
|
|
76
|
-
}}
|
|
77
|
-
card={{
|
|
78
|
-
className:
|
|
79
|
-
"relative bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-700 rounded-lg shadow-md hover:shadow-lg transition-shadow duration-200",
|
|
80
|
-
}}
|
|
81
|
-
header={{
|
|
82
|
-
className:
|
|
83
|
-
"p-6 text-center border-b border-gray-200 dark:border-gray-700",
|
|
84
|
-
}}
|
|
85
|
-
title={{
|
|
86
|
-
className:
|
|
87
|
-
"text-xl font-bold font-poppins text-gray-800 dark:text-white mb-2",
|
|
88
|
-
}}
|
|
89
|
-
price={{
|
|
90
|
-
className:
|
|
91
|
-
"text-3xl font-bold font-poppins text-fuchsia-600 dark:text-fuchsia-400 mb-4",
|
|
92
|
-
}}
|
|
93
|
-
features={{
|
|
94
|
-
className: "p-6 space-y-3 font-inter",
|
|
95
|
-
}}
|
|
96
|
-
featureItem={{
|
|
97
|
-
className:
|
|
98
|
-
"flex items-center text-gray-600 dark:text-gray-300 text-sm",
|
|
99
|
-
}}
|
|
100
|
-
cta={{
|
|
101
|
-
variant: "default",
|
|
102
|
-
size: "lg",
|
|
103
|
-
className:
|
|
104
|
-
"w-full bg-fuchsia-600 hover:bg-fuchsia-700 dark:bg-fuchsia-600 dark:hover:bg-fuchsia-700 text-white hover:text-white font-medium shadow-md hover:shadow-lg transition-all duration-200 hover:-translate-y-0.5",
|
|
105
|
-
}}
|
|
106
|
-
popularBadge={{
|
|
107
|
-
className:
|
|
108
|
-
"absolute -top-3 left-1/2 transform -translate-x-1/2 bg-fuchsia-600 text-white px-4 py-1 rounded-full text-sm font-medium",
|
|
109
|
-
}}
|
|
110
|
-
ariaLabel="Pricing section"
|
|
111
|
-
/>
|
|
112
|
-
</section>
|
|
113
|
-
);
|
|
114
|
-
}
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { Pricing as SharedPricing } from "@/components/sections/Pricing";
|
|
5
|
+
|
|
6
|
+
const AgencyPricingData = [
|
|
7
|
+
{
|
|
8
|
+
pricingPlanHeaderText: "Starter",
|
|
9
|
+
pricingPlanPrice: "$2,999",
|
|
10
|
+
pricingPlanFeatures: [
|
|
11
|
+
"5-page custom website",
|
|
12
|
+
"Mobile-responsive design",
|
|
13
|
+
"Basic SEO optimization",
|
|
14
|
+
"Contact form integration",
|
|
15
|
+
"2 rounds of revisions",
|
|
16
|
+
"1 month post-launch support",
|
|
17
|
+
],
|
|
18
|
+
pricingPlanCTALabel: "Get Started",
|
|
19
|
+
pricingPlanCTAHref: "#contact",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
pricingPlanHeaderText: "Professional",
|
|
23
|
+
pricingPlanPrice: "$5,999",
|
|
24
|
+
pricingPlanFeatures: [
|
|
25
|
+
"10-page custom website",
|
|
26
|
+
"Advanced responsive design",
|
|
27
|
+
"Comprehensive SEO setup",
|
|
28
|
+
"CMS integration",
|
|
29
|
+
"Analytics & tracking setup",
|
|
30
|
+
"Social media integration",
|
|
31
|
+
"3 rounds of revisions",
|
|
32
|
+
"3 months ongoing support",
|
|
33
|
+
],
|
|
34
|
+
pricingPlanCTALabel: "Most Popular",
|
|
35
|
+
pricingPlanCTAHref: "#contact",
|
|
36
|
+
isPopular: true,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
pricingPlanHeaderText: "Enterprise",
|
|
40
|
+
pricingPlanPrice: "Custom Quote",
|
|
41
|
+
pricingPlanFeatures: [
|
|
42
|
+
"Unlimited pages",
|
|
43
|
+
"Custom functionality",
|
|
44
|
+
"E-commerce integration",
|
|
45
|
+
"Advanced SEO strategy",
|
|
46
|
+
"Performance optimization",
|
|
47
|
+
"Third-party integrations",
|
|
48
|
+
"Priority support",
|
|
49
|
+
"Dedicated project manager",
|
|
50
|
+
"6 months ongoing support",
|
|
51
|
+
],
|
|
52
|
+
pricingPlanCTALabel: "Contact Sales",
|
|
53
|
+
pricingPlanCTAHref: "#contact",
|
|
54
|
+
},
|
|
55
|
+
];
|
|
56
|
+
|
|
57
|
+
export function Pricing() {
|
|
58
|
+
return (
|
|
59
|
+
<section id="pricing">
|
|
60
|
+
<SharedPricing
|
|
61
|
+
pricingPlans={AgencyPricingData}
|
|
62
|
+
pricingHeadingText="Choose Your Plan"
|
|
63
|
+
section={{
|
|
64
|
+
className: "py-16 md:py-20 lg:py-24 bg-fuchsia-50 dark:bg-gray-800",
|
|
65
|
+
}}
|
|
66
|
+
container={{
|
|
67
|
+
className: "max-w-7xl mx-auto px-6",
|
|
68
|
+
}}
|
|
69
|
+
heading={{
|
|
70
|
+
className:
|
|
71
|
+
"text-4xl md:text-5xl lg:text-6xl font-bold font-poppins text-center text-gray-800 dark:text-white mb-8",
|
|
72
|
+
}}
|
|
73
|
+
grid={{
|
|
74
|
+
className:
|
|
75
|
+
"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 mt-8",
|
|
76
|
+
}}
|
|
77
|
+
card={{
|
|
78
|
+
className:
|
|
79
|
+
"relative bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-700 rounded-lg shadow-md hover:shadow-lg transition-shadow duration-200",
|
|
80
|
+
}}
|
|
81
|
+
header={{
|
|
82
|
+
className:
|
|
83
|
+
"p-6 text-center border-b border-gray-200 dark:border-gray-700",
|
|
84
|
+
}}
|
|
85
|
+
title={{
|
|
86
|
+
className:
|
|
87
|
+
"text-xl font-bold font-poppins text-gray-800 dark:text-white mb-2",
|
|
88
|
+
}}
|
|
89
|
+
price={{
|
|
90
|
+
className:
|
|
91
|
+
"text-3xl font-bold font-poppins text-fuchsia-600 dark:text-fuchsia-400 mb-4",
|
|
92
|
+
}}
|
|
93
|
+
features={{
|
|
94
|
+
className: "p-6 space-y-3 font-inter",
|
|
95
|
+
}}
|
|
96
|
+
featureItem={{
|
|
97
|
+
className:
|
|
98
|
+
"flex items-center text-gray-600 dark:text-gray-300 text-sm",
|
|
99
|
+
}}
|
|
100
|
+
cta={{
|
|
101
|
+
variant: "default",
|
|
102
|
+
size: "lg",
|
|
103
|
+
className:
|
|
104
|
+
"w-full bg-fuchsia-600 hover:bg-fuchsia-700 dark:bg-fuchsia-600 dark:hover:bg-fuchsia-700 text-white hover:text-white font-medium shadow-md hover:shadow-lg transition-all duration-200 hover:-translate-y-0.5",
|
|
105
|
+
}}
|
|
106
|
+
popularBadge={{
|
|
107
|
+
className:
|
|
108
|
+
"absolute -top-3 left-1/2 transform -translate-x-1/2 bg-fuchsia-600 text-white px-4 py-1 rounded-full text-sm font-medium",
|
|
109
|
+
}}
|
|
110
|
+
ariaLabel="Pricing section"
|
|
111
|
+
/>
|
|
112
|
+
</section>
|
|
113
|
+
);
|
|
114
|
+
}
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import React from "react";
|
|
4
|
-
import { ProcessTimeline } from "@/components/sections/ProcessTimeline";
|
|
5
|
-
|
|
6
|
-
const agencySteps = [
|
|
7
|
-
{
|
|
8
|
-
stepNumber: 1,
|
|
9
|
-
title: "Discovery Call",
|
|
10
|
-
description: "Understanding your goals and requirements",
|
|
11
|
-
icon: "🔍",
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
stepNumber: 2,
|
|
15
|
-
title: "Strategy & Design",
|
|
16
|
-
description: "Custom mockups and project roadmap",
|
|
17
|
-
icon: "🎨",
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
stepNumber: 3,
|
|
21
|
-
title: "Development",
|
|
22
|
-
description: "Building your site with regular updates",
|
|
23
|
-
icon: "⚡",
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
stepNumber: 4,
|
|
27
|
-
title: "Launch & Support",
|
|
28
|
-
description: "Going live with ongoing maintenance",
|
|
29
|
-
icon: "🚀",
|
|
30
|
-
},
|
|
31
|
-
];
|
|
32
|
-
|
|
33
|
-
export function Process() {
|
|
34
|
-
return (
|
|
35
|
-
<section id="process">
|
|
36
|
-
<ProcessTimeline
|
|
37
|
-
steps={agencySteps}
|
|
38
|
-
heading="How We Work"
|
|
39
|
-
subheading="Our proven 4-step process ensures your project delivers real results, on time and within budget."
|
|
40
|
-
section={{
|
|
41
|
-
className:
|
|
42
|
-
"py-16 md:py-20 bg-fuchsia-50 dark:bg-gray-900 [--process-step-bg:theme(colors.fuchsia.600)] [--process-step-fg:theme(colors.white)] [--process-connector:theme(colors.gray.300)] dark:[--process-connector:theme(colors.gray.600)]",
|
|
43
|
-
}}
|
|
44
|
-
container={{ className: "max-w-6xl mx-auto px-6" }}
|
|
45
|
-
headingStyle={{
|
|
46
|
-
className:
|
|
47
|
-
"text-4xl md:text-5xl lg:text-6xl font-bold font-poppins text-gray-800 dark:text-white leading-tight",
|
|
48
|
-
}}
|
|
49
|
-
subheadingStyle={{
|
|
50
|
-
className:
|
|
51
|
-
"text-xl md:text-2xl font-inter text-gray-600 dark:text-gray-300 max-w-2xl mx-auto leading-relaxed",
|
|
52
|
-
}}
|
|
53
|
-
connectingLine={undefined}
|
|
54
|
-
stepCircle={undefined}
|
|
55
|
-
ariaLabel="Process timeline section"
|
|
56
|
-
/>
|
|
57
|
-
</section>
|
|
58
|
-
);
|
|
59
|
-
}
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { ProcessTimeline } from "@/components/sections/ProcessTimeline";
|
|
5
|
+
|
|
6
|
+
const agencySteps = [
|
|
7
|
+
{
|
|
8
|
+
stepNumber: 1,
|
|
9
|
+
title: "Discovery Call",
|
|
10
|
+
description: "Understanding your goals and requirements",
|
|
11
|
+
icon: "🔍",
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
stepNumber: 2,
|
|
15
|
+
title: "Strategy & Design",
|
|
16
|
+
description: "Custom mockups and project roadmap",
|
|
17
|
+
icon: "🎨",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
stepNumber: 3,
|
|
21
|
+
title: "Development",
|
|
22
|
+
description: "Building your site with regular updates",
|
|
23
|
+
icon: "⚡",
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
stepNumber: 4,
|
|
27
|
+
title: "Launch & Support",
|
|
28
|
+
description: "Going live with ongoing maintenance",
|
|
29
|
+
icon: "🚀",
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
export function Process() {
|
|
34
|
+
return (
|
|
35
|
+
<section id="process">
|
|
36
|
+
<ProcessTimeline
|
|
37
|
+
steps={agencySteps}
|
|
38
|
+
heading="How We Work"
|
|
39
|
+
subheading="Our proven 4-step process ensures your project delivers real results, on time and within budget."
|
|
40
|
+
section={{
|
|
41
|
+
className:
|
|
42
|
+
"py-16 md:py-20 bg-fuchsia-50 dark:bg-gray-900 [--process-step-bg:theme(colors.fuchsia.600)] [--process-step-fg:theme(colors.white)] [--process-connector:theme(colors.gray.300)] dark:[--process-connector:theme(colors.gray.600)]",
|
|
43
|
+
}}
|
|
44
|
+
container={{ className: "max-w-6xl mx-auto px-6" }}
|
|
45
|
+
headingStyle={{
|
|
46
|
+
className:
|
|
47
|
+
"text-4xl md:text-5xl lg:text-6xl font-bold font-poppins text-gray-800 dark:text-white leading-tight",
|
|
48
|
+
}}
|
|
49
|
+
subheadingStyle={{
|
|
50
|
+
className:
|
|
51
|
+
"text-xl md:text-2xl font-inter text-gray-600 dark:text-gray-300 max-w-2xl mx-auto leading-relaxed",
|
|
52
|
+
}}
|
|
53
|
+
connectingLine={undefined}
|
|
54
|
+
stepCircle={undefined}
|
|
55
|
+
ariaLabel="Process timeline section"
|
|
56
|
+
/>
|
|
57
|
+
</section>
|
|
58
|
+
);
|
|
59
|
+
}
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import React from "react";
|
|
4
|
-
import { ServicesGrid } from "@/components/sections/ServicesGrid";
|
|
5
|
-
|
|
6
|
-
const defaultServicesData = [
|
|
7
|
-
{
|
|
8
|
-
icon: "💻",
|
|
9
|
-
title: "Web Design & Development",
|
|
10
|
-
description:
|
|
11
|
-
"Custom websites that capture your brand and convert visitors into customers",
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
icon: "📈",
|
|
15
|
-
title: "SEO & Digital Marketing",
|
|
16
|
-
description:
|
|
17
|
-
"Get found on Google and drive qualified traffic to your website",
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
icon: "🛒",
|
|
21
|
-
title: "E-commerce Solutions",
|
|
22
|
-
description: "Online stores that maximize sales and customer experience",
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
icon: "🎨",
|
|
26
|
-
title: "Brand Identity & Design",
|
|
27
|
-
description: "Logo, branding, and visual identity that makes you stand out",
|
|
28
|
-
},
|
|
29
|
-
];
|
|
30
|
-
|
|
31
|
-
export function Services() {
|
|
32
|
-
return (
|
|
33
|
-
<section id="services">
|
|
34
|
-
<ServicesGrid
|
|
35
|
-
enableMotion={true}
|
|
36
|
-
section={{
|
|
37
|
-
className: "py-16 md:py-20 lg:py-24 bg-fuchsia-50 dark:bg-gray-900",
|
|
38
|
-
}}
|
|
39
|
-
container={{ className: "max-w-6xl mx-auto px-6" }}
|
|
40
|
-
heading={{
|
|
41
|
-
className:
|
|
42
|
-
"text-4xl md:text-5xl lg:text-6xl font-bold font-poppins text-gray-800 dark:text-white text-center mb-8 md:mb-12",
|
|
43
|
-
}}
|
|
44
|
-
grid={{ className: "grid grid-cols-1 md:grid-cols-2 gap-6 md:gap-8" }}
|
|
45
|
-
card={{
|
|
46
|
-
className:
|
|
47
|
-
"bg-white dark:bg-gray-800 p-6 md:p-8 rounded-lg border border-gray-200 dark:border-gray-700 shadow-sm hover:shadow-md hover:-translate-y-1 transition-all duration-300",
|
|
48
|
-
}}
|
|
49
|
-
servicesData={defaultServicesData}
|
|
50
|
-
sectionHeading="Our Services"
|
|
51
|
-
ariaLabel="Services section"
|
|
52
|
-
/>
|
|
53
|
-
</section>
|
|
54
|
-
);
|
|
55
|
-
}
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { ServicesGrid } from "@/components/sections/ServicesGrid";
|
|
5
|
+
|
|
6
|
+
const defaultServicesData = [
|
|
7
|
+
{
|
|
8
|
+
icon: "💻",
|
|
9
|
+
title: "Web Design & Development",
|
|
10
|
+
description:
|
|
11
|
+
"Custom websites that capture your brand and convert visitors into customers",
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
icon: "📈",
|
|
15
|
+
title: "SEO & Digital Marketing",
|
|
16
|
+
description:
|
|
17
|
+
"Get found on Google and drive qualified traffic to your website",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
icon: "🛒",
|
|
21
|
+
title: "E-commerce Solutions",
|
|
22
|
+
description: "Online stores that maximize sales and customer experience",
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
icon: "🎨",
|
|
26
|
+
title: "Brand Identity & Design",
|
|
27
|
+
description: "Logo, branding, and visual identity that makes you stand out",
|
|
28
|
+
},
|
|
29
|
+
];
|
|
30
|
+
|
|
31
|
+
export function Services() {
|
|
32
|
+
return (
|
|
33
|
+
<section id="services">
|
|
34
|
+
<ServicesGrid
|
|
35
|
+
enableMotion={true}
|
|
36
|
+
section={{
|
|
37
|
+
className: "py-16 md:py-20 lg:py-24 bg-fuchsia-50 dark:bg-gray-900",
|
|
38
|
+
}}
|
|
39
|
+
container={{ className: "max-w-6xl mx-auto px-6" }}
|
|
40
|
+
heading={{
|
|
41
|
+
className:
|
|
42
|
+
"text-4xl md:text-5xl lg:text-6xl font-bold font-poppins text-gray-800 dark:text-white text-center mb-8 md:mb-12",
|
|
43
|
+
}}
|
|
44
|
+
grid={{ className: "grid grid-cols-1 md:grid-cols-2 gap-6 md:gap-8" }}
|
|
45
|
+
card={{
|
|
46
|
+
className:
|
|
47
|
+
"bg-white dark:bg-gray-800 p-6 md:p-8 rounded-lg border border-gray-200 dark:border-gray-700 shadow-sm hover:shadow-md hover:-translate-y-1 transition-all duration-300",
|
|
48
|
+
}}
|
|
49
|
+
servicesData={defaultServicesData}
|
|
50
|
+
sectionHeading="Our Services"
|
|
51
|
+
ariaLabel="Services section"
|
|
52
|
+
/>
|
|
53
|
+
</section>
|
|
54
|
+
);
|
|
55
|
+
}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import React from "react";
|
|
4
|
-
import { Team as SharedTeam } from "@/components/sections/Team";
|
|
5
|
-
|
|
6
|
-
export function Team() {
|
|
7
|
-
return (
|
|
8
|
-
<SharedTeam
|
|
9
|
-
section={{
|
|
10
|
-
className: "py-16 md:py-20 lg:py-24 bg-fuchsia-50 dark:bg-gray-900",
|
|
11
|
-
}}
|
|
12
|
-
card={{ className: "dark:bg-gray-800" }}
|
|
13
|
-
heading={{
|
|
14
|
-
className:
|
|
15
|
-
"text-4xl md:text-5xl lg:text-6xl font-bold text-[var(--heading-fg)]",
|
|
16
|
-
}}
|
|
17
|
-
subheading={{
|
|
18
|
-
className:
|
|
19
|
-
"text-xl md:text-2xl text-[var(--subheading-fg)] max-w-2xl mx-auto leading-relaxed",
|
|
20
|
-
}}
|
|
21
|
-
role={{
|
|
22
|
-
className:
|
|
23
|
-
"text-md font-semibold font-poppins text-fuchsia-600 dark:text-fuchsia-400",
|
|
24
|
-
}}
|
|
25
|
-
ariaLabel="Team section"
|
|
26
|
-
/>
|
|
27
|
-
);
|
|
28
|
-
}
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { Team as SharedTeam } from "@/components/sections/Team";
|
|
5
|
+
|
|
6
|
+
export function Team() {
|
|
7
|
+
return (
|
|
8
|
+
<SharedTeam
|
|
9
|
+
section={{
|
|
10
|
+
className: "py-16 md:py-20 lg:py-24 bg-fuchsia-50 dark:bg-gray-900",
|
|
11
|
+
}}
|
|
12
|
+
card={{ className: "dark:bg-gray-800" }}
|
|
13
|
+
heading={{
|
|
14
|
+
className:
|
|
15
|
+
"text-4xl md:text-5xl lg:text-6xl font-bold text-[var(--heading-fg)]",
|
|
16
|
+
}}
|
|
17
|
+
subheading={{
|
|
18
|
+
className:
|
|
19
|
+
"text-xl md:text-2xl text-[var(--subheading-fg)] max-w-2xl mx-auto leading-relaxed",
|
|
20
|
+
}}
|
|
21
|
+
role={{
|
|
22
|
+
className:
|
|
23
|
+
"text-md font-semibold font-poppins text-fuchsia-600 dark:text-fuchsia-400",
|
|
24
|
+
}}
|
|
25
|
+
ariaLabel="Team section"
|
|
26
|
+
/>
|
|
27
|
+
);
|
|
28
|
+
}
|