@underpeaks/generator-flutter 1.0.56 → 1.0.58
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/dist/adapters/riverpod/provider.d.ts.map +1 -1
- package/dist/adapters/riverpod/provider.js +8 -6
- package/dist/adapters/riverpod/provider.js.map +1 -1
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js +13 -52
- package/dist/generator.js.map +1 -1
- package/dist/templates/api-config.d.ts.map +1 -1
- package/dist/templates/api-config.js +8 -3
- package/dist/templates/api-config.js.map +1 -1
- package/dist/templates/model.d.ts.map +1 -1
- package/dist/templates/model.js +10 -1
- package/dist/templates/model.js.map +1 -1
- package/dist/templates/navigation.d.ts +1 -0
- package/dist/templates/navigation.d.ts.map +1 -1
- package/dist/templates/navigation.js +1 -0
- package/dist/templates/navigation.js.map +1 -1
- package/dist/templates/page-auth.d.ts.map +1 -1
- package/dist/templates/page-auth.js +13 -0
- package/dist/templates/page-auth.js.map +1 -1
- package/dist/templates/page-cart.d.ts.map +1 -1
- package/dist/templates/page-cart.js +8 -4
- package/dist/templates/page-cart.js.map +1 -1
- package/dist/templates/page-detail.d.ts.map +1 -1
- package/dist/templates/page-detail.js +74 -20
- package/dist/templates/page-detail.js.map +1 -1
- package/dist/templates/page-landing-hero-cta.d.ts.map +1 -1
- package/dist/templates/page-landing-hero-cta.js +111 -50
- package/dist/templates/page-landing-hero-cta.js.map +1 -1
- package/dist/templates/page-landing-hero-features.d.ts.map +1 -1
- package/dist/templates/page-landing-hero-features.js +113 -48
- package/dist/templates/page-landing-hero-features.js.map +1 -1
- package/dist/templates/page-landing-hero-pricing.d.ts.map +1 -1
- package/dist/templates/page-landing-hero-pricing.js +189 -56
- package/dist/templates/page-landing-hero-pricing.js.map +1 -1
- package/dist/templates/page-landing-minimal.d.ts.map +1 -1
- package/dist/templates/page-landing-minimal.js +67 -18
- package/dist/templates/page-landing-minimal.js.map +1 -1
- package/dist/templates/page-list.d.ts.map +1 -1
- package/dist/templates/page-list.js +151 -280
- package/dist/templates/page-list.js.map +1 -1
- package/dist/templates/page-map.d.ts.map +1 -1
- package/dist/templates/page-map.js +125 -42
- package/dist/templates/page-map.js.map +1 -1
- package/dist/templates/pubspec.d.ts.map +1 -1
- package/dist/templates/pubspec.js +10 -17
- package/dist/templates/pubspec.js.map +1 -1
- package/package.json +1 -1
|
@@ -24,16 +24,18 @@ function getIcon(templateType) {
|
|
|
24
24
|
function toRoutePath(slug) {
|
|
25
25
|
return slug.replace(/^\//, '');
|
|
26
26
|
}
|
|
27
|
-
|
|
28
|
-
//
|
|
29
|
-
//
|
|
30
|
-
//
|
|
31
|
-
//
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
//
|
|
35
|
-
|
|
27
|
+
// FIX: was a plain centered title + subtitle + button, no visual weight
|
|
28
|
+
// at all — didn't read as a "hero" in any real sense. Now a genuine hero
|
|
29
|
+
// section: a full-bleed placeholder image (picsum.photos, deterministic
|
|
30
|
+
// per-page via a seed derived from the page slug so the same page always
|
|
31
|
+
// shows the same image across regenerates instead of a new random one
|
|
32
|
+
// each time) with a dark gradient scrim and the heading/subtitle/CTA
|
|
33
|
+
// overlaid directly on it — the pattern most real marketing/app landing
|
|
34
|
+
// screens actually use. Swapping in a real image later is a one-line
|
|
35
|
+
// change (replace the NetworkImage URL below).
|
|
36
|
+
function generateLandingHeroCta(page, stateManager, routes = [], allPages = []) {
|
|
36
37
|
const className = page.name.replace(/\s+/g, '') + 'View';
|
|
38
|
+
const imageSeed = page.slug.replace(/[^a-z0-9]/gi, '-') || page.page_id;
|
|
37
39
|
const buttonRoute = routes.find((r) => r.from_page_id === page.page_id && r.trigger === 'button');
|
|
38
40
|
const buttonTarget = buttonRoute ? allPages.find((p) => p.page_id === buttonRoute.to_page_id) : undefined;
|
|
39
41
|
const buttonTargetUsable = !!buttonTarget && buttonTarget.template_type !== 'detail';
|
|
@@ -41,12 +43,6 @@ routes = [], allPages = []) {
|
|
|
41
43
|
const swipeTarget = swipeRoute ? allPages.find((p) => p.page_id === swipeRoute.to_page_id) : undefined;
|
|
42
44
|
const swipeTargetUsable = !!swipeTarget && swipeTarget.template_type !== 'detail';
|
|
43
45
|
const buttonLabel = (buttonRoute?.label && buttonRoute.label.trim()) || 'Get Started';
|
|
44
|
-
// NAVIGATOR: nav-icon routes — pages this page has explicitly wired via
|
|
45
|
-
// Navigator's attach_to: 'nav-icon' dropdown. Rendered as AppBar actions
|
|
46
|
-
// when this page's nav_settings has a real app bar configured. Icon is
|
|
47
|
-
// derived from the TARGET page's template_type (same TEMPLATE_ICONS map
|
|
48
|
-
// navigation.ts uses for bottom-nav icons) since PageRoute itself
|
|
49
|
-
// carries no icon/label data of its own — only to_page_id and label.
|
|
50
46
|
const navIconRoutes = routes.filter((r) => r.from_page_id === page.page_id && r.attach_to === 'nav-icon');
|
|
51
47
|
const navIconActions = navIconRoutes
|
|
52
48
|
.map((r) => {
|
|
@@ -60,6 +56,9 @@ routes = [], allPages = []) {
|
|
|
60
56
|
const lines = [];
|
|
61
57
|
lines.push(`// GENERATED FILE — becomes yours to customise after first generation.`);
|
|
62
58
|
lines.push(`// Regenerate: nxf generate flutter`);
|
|
59
|
+
lines.push(`// NOTE: the hero image below is a placeholder from picsum.photos, seeded`);
|
|
60
|
+
lines.push(`// so it stays consistent across rebuilds. Swap the NetworkImage URL for`);
|
|
61
|
+
lines.push(`// your own asset/image whenever you're ready.`);
|
|
63
62
|
lines.push(`// ignore_for_file: lines_longer_than_80_chars`);
|
|
64
63
|
if (!buttonTargetUsable) {
|
|
65
64
|
lines.push(`// NOTE: the CTA button below has no destination — it's a no-op until you`);
|
|
@@ -90,14 +89,18 @@ routes = [], allPages = []) {
|
|
|
90
89
|
lines.push(``);
|
|
91
90
|
lines.push(` final content = Scaffold(`);
|
|
92
91
|
if (hasAppBar) {
|
|
92
|
+
lines.push(` extendBodyBehindAppBar: true,`);
|
|
93
93
|
lines.push(` appBar: AppBar(`);
|
|
94
|
-
lines.push(`
|
|
94
|
+
lines.push(` backgroundColor: Colors.transparent,`);
|
|
95
|
+
lines.push(` elevation: 0,`);
|
|
96
|
+
lines.push(` title: Text('${page.name}', style: const TextStyle(color: Colors.white)),`);
|
|
97
|
+
lines.push(` iconTheme: const IconThemeData(color: Colors.white),`);
|
|
95
98
|
if (navIconActions.length > 0) {
|
|
96
99
|
lines.push(` actions: [`);
|
|
97
100
|
for (const action of navIconActions) {
|
|
98
101
|
lines.push(` // NAVIGATOR: nav-icon route wired to '${action.target.name}'`);
|
|
99
102
|
lines.push(` IconButton(`);
|
|
100
|
-
lines.push(` icon: const Icon(${action.icon}),`);
|
|
103
|
+
lines.push(` icon: const Icon(${action.icon}, color: Colors.white),`);
|
|
101
104
|
lines.push(` onPressed: () => context.push('/${toRoutePath(action.target.slug)}'),`);
|
|
102
105
|
lines.push(` ),`);
|
|
103
106
|
}
|
|
@@ -105,44 +108,102 @@ routes = [], allPages = []) {
|
|
|
105
108
|
}
|
|
106
109
|
lines.push(` ),`);
|
|
107
110
|
}
|
|
108
|
-
lines.push(` body:
|
|
109
|
-
lines.push(` child:
|
|
110
|
-
lines.push(`
|
|
111
|
-
lines.push(`
|
|
112
|
-
lines.push(
|
|
113
|
-
lines.push(`
|
|
114
|
-
lines.push(`
|
|
115
|
-
lines.push(`
|
|
116
|
-
lines.push(`
|
|
117
|
-
lines.push(`
|
|
118
|
-
lines.push(`
|
|
119
|
-
lines.push(`
|
|
120
|
-
lines.push(`
|
|
121
|
-
lines.push(`
|
|
122
|
-
lines.push(`
|
|
123
|
-
lines.push(`
|
|
124
|
-
lines.push(`
|
|
125
|
-
lines.push(`
|
|
126
|
-
lines.push(`
|
|
127
|
-
lines.push(`
|
|
128
|
-
lines.push(`
|
|
129
|
-
lines.push(`
|
|
130
|
-
lines.push(`
|
|
131
|
-
lines.push(`
|
|
111
|
+
lines.push(` body: SingleChildScrollView(`);
|
|
112
|
+
lines.push(` child: Column(`);
|
|
113
|
+
lines.push(` crossAxisAlignment: CrossAxisAlignment.stretch,`);
|
|
114
|
+
lines.push(` children: [`);
|
|
115
|
+
lines.push(``);
|
|
116
|
+
lines.push(` // ── Hero ─────────────────────────────────────────────────────`);
|
|
117
|
+
lines.push(` SizedBox(`);
|
|
118
|
+
lines.push(` height: 480,`);
|
|
119
|
+
lines.push(` child: Stack(`);
|
|
120
|
+
lines.push(` fit: StackFit.expand,`);
|
|
121
|
+
lines.push(` children: [`);
|
|
122
|
+
lines.push(` Image.network(`);
|
|
123
|
+
lines.push(` 'https://picsum.photos/seed/${imageSeed}/1200/1600',`);
|
|
124
|
+
lines.push(` fit: BoxFit.cover,`);
|
|
125
|
+
lines.push(` errorBuilder: (context, error, stackTrace) => Container(`);
|
|
126
|
+
lines.push(` color: theme.colorScheme.primary,`);
|
|
127
|
+
lines.push(` ),`);
|
|
128
|
+
lines.push(` ),`);
|
|
129
|
+
lines.push(` DecoratedBox(`);
|
|
130
|
+
lines.push(` decoration: BoxDecoration(`);
|
|
131
|
+
lines.push(` gradient: LinearGradient(`);
|
|
132
|
+
lines.push(` begin: Alignment.topCenter,`);
|
|
133
|
+
lines.push(` end: Alignment.bottomCenter,`);
|
|
134
|
+
lines.push(` colors: [`);
|
|
135
|
+
lines.push(` Colors.black.withOpacity(0.15),`);
|
|
136
|
+
lines.push(` Colors.black.withOpacity(0.75),`);
|
|
137
|
+
lines.push(` ],`);
|
|
138
|
+
lines.push(` ),`);
|
|
139
|
+
lines.push(` ),`);
|
|
140
|
+
lines.push(` ),`);
|
|
141
|
+
lines.push(` Positioned(`);
|
|
142
|
+
lines.push(` left: 24, right: 24, bottom: 32,`);
|
|
143
|
+
lines.push(` child: Column(`);
|
|
144
|
+
lines.push(` crossAxisAlignment: CrossAxisAlignment.start,`);
|
|
145
|
+
lines.push(` children: [`);
|
|
146
|
+
lines.push(` Text(`);
|
|
147
|
+
lines.push(` '${page.name}',`);
|
|
148
|
+
lines.push(` style: theme.textTheme.headlineMedium?.copyWith(`);
|
|
149
|
+
lines.push(` color: Colors.white,`);
|
|
150
|
+
lines.push(` fontWeight: FontWeight.bold,`);
|
|
151
|
+
lines.push(` ),`);
|
|
152
|
+
lines.push(` ),`);
|
|
153
|
+
lines.push(` const SizedBox(height: 12),`);
|
|
154
|
+
lines.push(` Text(`);
|
|
155
|
+
lines.push(` 'A short, clear line about what this product does.',`);
|
|
156
|
+
lines.push(` style: theme.textTheme.bodyLarge?.copyWith(`);
|
|
157
|
+
lines.push(` color: Colors.white.withOpacity(0.9),`);
|
|
158
|
+
lines.push(` ),`);
|
|
159
|
+
lines.push(` ),`);
|
|
160
|
+
lines.push(` const SizedBox(height: 24),`);
|
|
161
|
+
lines.push(` ElevatedButton(`);
|
|
132
162
|
if (buttonTargetUsable) {
|
|
133
|
-
lines.push(`
|
|
134
|
-
lines.push(`
|
|
163
|
+
lines.push(` // NAVIGATOR: button-trigger route wired to '${buttonTarget.name}'`);
|
|
164
|
+
lines.push(` onPressed: () => context.go('/${toRoutePath(buttonTarget.slug)}'),`);
|
|
135
165
|
}
|
|
136
166
|
else {
|
|
137
|
-
lines.push(`
|
|
167
|
+
lines.push(` onPressed: () {},`);
|
|
138
168
|
}
|
|
139
|
-
lines.push(`
|
|
140
|
-
lines.push(`
|
|
141
|
-
lines.push(`
|
|
142
|
-
lines.push(`
|
|
169
|
+
lines.push(` style: ElevatedButton.styleFrom(`);
|
|
170
|
+
lines.push(` backgroundColor: Colors.white,`);
|
|
171
|
+
lines.push(` foregroundColor: theme.colorScheme.primary,`);
|
|
172
|
+
lines.push(` padding: const EdgeInsets.symmetric(horizontal: 32, vertical: 16),`);
|
|
173
|
+
lines.push(` ),`);
|
|
174
|
+
lines.push(` child: Text('${buttonLabel}'),`);
|
|
175
|
+
lines.push(` ),`);
|
|
176
|
+
lines.push(` ],`);
|
|
177
|
+
lines.push(` ),`);
|
|
178
|
+
lines.push(` ),`);
|
|
179
|
+
lines.push(` ],`);
|
|
180
|
+
lines.push(` ),`);
|
|
181
|
+
lines.push(` ),`);
|
|
182
|
+
lines.push(``);
|
|
183
|
+
lines.push(` // ── Supporting content ──────────────────────────────────────────`);
|
|
184
|
+
lines.push(` Padding(`);
|
|
185
|
+
lines.push(` padding: const EdgeInsets.all(24),`);
|
|
186
|
+
lines.push(` child: Column(`);
|
|
187
|
+
lines.push(` crossAxisAlignment: CrossAxisAlignment.start,`);
|
|
188
|
+
lines.push(` children: [`);
|
|
189
|
+
lines.push(` Text(`);
|
|
190
|
+
lines.push(` 'Why choose us',`);
|
|
191
|
+
lines.push(` style: theme.textTheme.titleLarge?.copyWith(fontWeight: FontWeight.bold),`);
|
|
192
|
+
lines.push(` ),`);
|
|
193
|
+
lines.push(` const SizedBox(height: 16),`);
|
|
194
|
+
lines.push(` Text(`);
|
|
195
|
+
lines.push(` 'Replace this section with a couple of sentences about what makes '`);
|
|
196
|
+
lines.push(` 'your product worth a second look — the problem it solves, or the '`);
|
|
197
|
+
lines.push(` 'result someone gets from using it.',`);
|
|
198
|
+
lines.push(` style: theme.textTheme.bodyMedium?.copyWith(`);
|
|
199
|
+
lines.push(` color: theme.textTheme.bodyMedium?.color?.withOpacity(0.7),`);
|
|
200
|
+
lines.push(` height: 1.5,`);
|
|
201
|
+
lines.push(` ),`);
|
|
202
|
+
lines.push(` ),`);
|
|
203
|
+
lines.push(` ],`);
|
|
143
204
|
lines.push(` ),`);
|
|
144
|
-
lines.push(`
|
|
145
|
-
lines.push(`
|
|
205
|
+
lines.push(` ),`);
|
|
206
|
+
lines.push(` ],`);
|
|
146
207
|
lines.push(` ),`);
|
|
147
208
|
lines.push(` ),`);
|
|
148
209
|
lines.push(` );`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-landing-hero-cta.js","sourceRoot":"","sources":["../../src/templates/page-landing-hero-cta.ts"],"names":[],"mappings":";AAAA,6FAA6F;;
|
|
1
|
+
{"version":3,"file":"page-landing-hero-cta.js","sourceRoot":"","sources":["../../src/templates/page-landing-hero-cta.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-landing-hero-features.d.ts","sourceRoot":"","sources":["../../src/templates/page-landing-hero-features.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"page-landing-hero-features.d.ts","sourceRoot":"","sources":["../../src/templates/page-landing-hero-features.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAWnF,wBAAgB,2BAA2B,CACzC,IAAI,EAAU,OAAO,EACrB,YAAY,EAAE,MAAM,EACpB,MAAM,GAAQ,SAAS,EAAO,EAC9B,QAAQ,GAAM,OAAO,EAAS,GAC7B,aAAa,CAwKf"}
|
|
@@ -5,16 +5,23 @@ exports.generateLandingHeroFeatures = generateLandingHeroFeatures;
|
|
|
5
5
|
function toRoutePath(slug) {
|
|
6
6
|
return slug.replace(/^\//, '');
|
|
7
7
|
}
|
|
8
|
-
|
|
9
|
-
//
|
|
10
|
-
|
|
8
|
+
// FIX: was a plain title + subtitle + a list of three feature blocks, no
|
|
9
|
+
// hero section at all. Now has the same full-bleed hero pattern as
|
|
10
|
+
// page-landing-hero-cta.ts (deterministic picsum.photos placeholder +
|
|
11
|
+
// gradient scrim + overlaid heading), followed by the feature list below
|
|
12
|
+
// it in card form instead of plain centered text.
|
|
13
|
+
function generateLandingHeroFeatures(page, stateManager, routes = [], allPages = []) {
|
|
11
14
|
const className = page.name.replace(/\s+/g, '') + 'View';
|
|
15
|
+
const imageSeed = page.slug.replace(/[^a-z0-9]/gi, '-') || page.page_id;
|
|
12
16
|
const swipeRoute = routes.find((r) => r.from_page_id === page.page_id && r.trigger === 'swipe');
|
|
13
17
|
const swipeTarget = swipeRoute ? allPages.find((p) => p.page_id === swipeRoute.to_page_id) : undefined;
|
|
14
18
|
const swipeTargetUsable = !!swipeTarget && swipeTarget.template_type !== 'detail';
|
|
15
19
|
const lines = [];
|
|
16
20
|
lines.push(`// GENERATED FILE — becomes yours to customise after first generation.`);
|
|
17
21
|
lines.push(`// Regenerate: nxf generate flutter`);
|
|
22
|
+
lines.push(`// NOTE: the hero image below is a placeholder from picsum.photos, seeded`);
|
|
23
|
+
lines.push(`// so it stays consistent across rebuilds. Swap the NetworkImage URL, and`);
|
|
24
|
+
lines.push(`// the sample feature data below, for your own.`);
|
|
18
25
|
lines.push(`// ignore_for_file: lines_longer_than_80_chars`);
|
|
19
26
|
if (swipeRoute && !swipeTargetUsable) {
|
|
20
27
|
lines.push(`// NAVIGATOR: a swipe route exists but its target ('${swipeRoute.to_page_id}') requires`);
|
|
@@ -30,9 +37,9 @@ routes = [], allPages = []) {
|
|
|
30
37
|
lines.push(` const ${className}({super.key});`);
|
|
31
38
|
lines.push(``);
|
|
32
39
|
lines.push(` static const _features = [`);
|
|
33
|
-
lines.push(` {'title': 'Fast',
|
|
34
|
-
lines.push(` {'title': 'Reliable',
|
|
35
|
-
lines.push(` {'title': 'Flexible',
|
|
40
|
+
lines.push(` {'icon': Icons.bolt_outlined, 'title': 'Fast', 'desc': 'Built for speed from the ground up.'},`);
|
|
41
|
+
lines.push(` {'icon': Icons.verified_outlined, 'title': 'Reliable', 'desc': 'Consistent, predictable behaviour.'},`);
|
|
42
|
+
lines.push(` {'icon': Icons.tune_outlined, 'title': 'Flexible', 'desc': 'Adapts to how you already work.'},`);
|
|
36
43
|
lines.push(` ];`);
|
|
37
44
|
lines.push(``);
|
|
38
45
|
lines.push(` @override`);
|
|
@@ -40,51 +47,109 @@ routes = [], allPages = []) {
|
|
|
40
47
|
lines.push(` final theme = Theme.of(context);`);
|
|
41
48
|
lines.push(``);
|
|
42
49
|
lines.push(` final content = Scaffold(`);
|
|
43
|
-
lines.push(` body:
|
|
44
|
-
lines.push(` child:
|
|
45
|
-
lines.push(`
|
|
46
|
-
lines.push(`
|
|
47
|
-
lines.push(
|
|
48
|
-
lines.push(`
|
|
49
|
-
lines.push(`
|
|
50
|
-
lines.push(`
|
|
51
|
-
lines.push(`
|
|
52
|
-
lines.push(`
|
|
53
|
-
lines.push(`
|
|
54
|
-
lines.push(`
|
|
55
|
-
lines.push(`
|
|
56
|
-
lines.push(`
|
|
57
|
-
lines.push(`
|
|
58
|
-
lines.push(`
|
|
59
|
-
lines.push(` textAlign: TextAlign.center,`);
|
|
60
|
-
lines.push(` style: theme.textTheme.bodyLarge?.copyWith(`);
|
|
61
|
-
lines.push(` color: theme.textTheme.bodyLarge?.color?.withOpacity(0.7),`);
|
|
62
|
-
lines.push(` ),`);
|
|
63
|
-
lines.push(` ),`);
|
|
64
|
-
lines.push(` const SizedBox(height: 40),`);
|
|
65
|
-
lines.push(` ..._features.map((f) => Padding(`);
|
|
66
|
-
lines.push(` padding: const EdgeInsets.symmetric(vertical: 12),`);
|
|
67
|
-
lines.push(` child: Column(`);
|
|
68
|
-
lines.push(` children: [`);
|
|
69
|
-
lines.push(` Text(`);
|
|
70
|
-
lines.push(` f['title']!,`);
|
|
71
|
-
lines.push(` style: theme.textTheme.titleMedium?.copyWith(`);
|
|
72
|
-
lines.push(` fontWeight: FontWeight.w600,`);
|
|
73
|
-
lines.push(` ),`);
|
|
50
|
+
lines.push(` body: SingleChildScrollView(`);
|
|
51
|
+
lines.push(` child: Column(`);
|
|
52
|
+
lines.push(` crossAxisAlignment: CrossAxisAlignment.stretch,`);
|
|
53
|
+
lines.push(` children: [`);
|
|
54
|
+
lines.push(``);
|
|
55
|
+
lines.push(` // ── Hero ─────────────────────────────────────────────────────`);
|
|
56
|
+
lines.push(` SizedBox(`);
|
|
57
|
+
lines.push(` height: 380,`);
|
|
58
|
+
lines.push(` child: Stack(`);
|
|
59
|
+
lines.push(` fit: StackFit.expand,`);
|
|
60
|
+
lines.push(` children: [`);
|
|
61
|
+
lines.push(` Image.network(`);
|
|
62
|
+
lines.push(` 'https://picsum.photos/seed/${imageSeed}/1200/1000',`);
|
|
63
|
+
lines.push(` fit: BoxFit.cover,`);
|
|
64
|
+
lines.push(` errorBuilder: (context, error, stackTrace) => Container(`);
|
|
65
|
+
lines.push(` color: theme.colorScheme.primary,`);
|
|
74
66
|
lines.push(` ),`);
|
|
75
|
-
lines.push(`
|
|
76
|
-
lines.push(`
|
|
77
|
-
lines.push(`
|
|
78
|
-
lines.push(`
|
|
79
|
-
lines.push(`
|
|
80
|
-
lines.push(`
|
|
67
|
+
lines.push(` ),`);
|
|
68
|
+
lines.push(` DecoratedBox(`);
|
|
69
|
+
lines.push(` decoration: BoxDecoration(`);
|
|
70
|
+
lines.push(` gradient: LinearGradient(`);
|
|
71
|
+
lines.push(` begin: Alignment.topCenter,`);
|
|
72
|
+
lines.push(` end: Alignment.bottomCenter,`);
|
|
73
|
+
lines.push(` colors: [`);
|
|
74
|
+
lines.push(` Colors.black.withOpacity(0.15),`);
|
|
75
|
+
lines.push(` Colors.black.withOpacity(0.7),`);
|
|
76
|
+
lines.push(` ],`);
|
|
81
77
|
lines.push(` ),`);
|
|
82
78
|
lines.push(` ),`);
|
|
83
|
-
lines.push(`
|
|
84
|
-
lines.push(`
|
|
85
|
-
lines.push(`
|
|
86
|
-
lines.push(`
|
|
87
|
-
lines.push(`
|
|
79
|
+
lines.push(` ),`);
|
|
80
|
+
lines.push(` Positioned(`);
|
|
81
|
+
lines.push(` left: 24, right: 24, bottom: 28,`);
|
|
82
|
+
lines.push(` child: Column(`);
|
|
83
|
+
lines.push(` crossAxisAlignment: CrossAxisAlignment.start,`);
|
|
84
|
+
lines.push(` children: [`);
|
|
85
|
+
lines.push(` Text(`);
|
|
86
|
+
lines.push(` '${page.name}',`);
|
|
87
|
+
lines.push(` style: theme.textTheme.headlineMedium?.copyWith(`);
|
|
88
|
+
lines.push(` color: Colors.white,`);
|
|
89
|
+
lines.push(` fontWeight: FontWeight.bold,`);
|
|
90
|
+
lines.push(` ),`);
|
|
91
|
+
lines.push(` ),`);
|
|
92
|
+
lines.push(` const SizedBox(height: 8),`);
|
|
93
|
+
lines.push(` Text(`);
|
|
94
|
+
lines.push(` 'Everything you need, built in.',`);
|
|
95
|
+
lines.push(` style: theme.textTheme.bodyLarge?.copyWith(`);
|
|
96
|
+
lines.push(` color: Colors.white.withOpacity(0.9),`);
|
|
97
|
+
lines.push(` ),`);
|
|
98
|
+
lines.push(` ),`);
|
|
99
|
+
lines.push(` ],`);
|
|
100
|
+
lines.push(` ),`);
|
|
101
|
+
lines.push(` ),`);
|
|
102
|
+
lines.push(` ],`);
|
|
103
|
+
lines.push(` ),`);
|
|
104
|
+
lines.push(` ),`);
|
|
105
|
+
lines.push(``);
|
|
106
|
+
lines.push(` // ── Features ─────────────────────────────────────────────────`);
|
|
107
|
+
lines.push(` Padding(`);
|
|
108
|
+
lines.push(` padding: const EdgeInsets.all(20),`);
|
|
109
|
+
lines.push(` child: Column(`);
|
|
110
|
+
lines.push(` children: _features.map((f) => Container(`);
|
|
111
|
+
lines.push(` margin: const EdgeInsets.only(bottom: 12),`);
|
|
112
|
+
lines.push(` padding: const EdgeInsets.all(16),`);
|
|
113
|
+
lines.push(` decoration: BoxDecoration(`);
|
|
114
|
+
lines.push(` color: Colors.grey.shade50,`);
|
|
115
|
+
lines.push(` borderRadius: BorderRadius.circular(12),`);
|
|
116
|
+
lines.push(` ),`);
|
|
117
|
+
lines.push(` child: Row(`);
|
|
118
|
+
lines.push(` children: [`);
|
|
119
|
+
lines.push(` Container(`);
|
|
120
|
+
lines.push(` width: 44,`);
|
|
121
|
+
lines.push(` height: 44,`);
|
|
122
|
+
lines.push(` decoration: BoxDecoration(`);
|
|
123
|
+
lines.push(` color: theme.colorScheme.primary.withOpacity(0.1),`);
|
|
124
|
+
lines.push(` borderRadius: BorderRadius.circular(10),`);
|
|
125
|
+
lines.push(` ),`);
|
|
126
|
+
lines.push(` child: Icon(f['icon'] as IconData, color: theme.colorScheme.primary),`);
|
|
127
|
+
lines.push(` ),`);
|
|
128
|
+
lines.push(` const SizedBox(width: 16),`);
|
|
129
|
+
lines.push(` Expanded(`);
|
|
130
|
+
lines.push(` child: Column(`);
|
|
131
|
+
lines.push(` crossAxisAlignment: CrossAxisAlignment.start,`);
|
|
132
|
+
lines.push(` children: [`);
|
|
133
|
+
lines.push(` Text(`);
|
|
134
|
+
lines.push(` f['title'] as String,`);
|
|
135
|
+
lines.push(` style: theme.textTheme.titleMedium?.copyWith(fontWeight: FontWeight.w600),`);
|
|
136
|
+
lines.push(` ),`);
|
|
137
|
+
lines.push(` const SizedBox(height: 2),`);
|
|
138
|
+
lines.push(` Text(`);
|
|
139
|
+
lines.push(` f['desc'] as String,`);
|
|
140
|
+
lines.push(` style: theme.textTheme.bodySmall?.copyWith(`);
|
|
141
|
+
lines.push(` color: theme.textTheme.bodySmall?.color?.withOpacity(0.7),`);
|
|
142
|
+
lines.push(` ),`);
|
|
143
|
+
lines.push(` ),`);
|
|
144
|
+
lines.push(` ],`);
|
|
145
|
+
lines.push(` ),`);
|
|
146
|
+
lines.push(` ),`);
|
|
147
|
+
lines.push(` ],`);
|
|
148
|
+
lines.push(` ),`);
|
|
149
|
+
lines.push(` )).toList(),`);
|
|
150
|
+
lines.push(` ),`);
|
|
151
|
+
lines.push(` ),`);
|
|
152
|
+
lines.push(` ],`);
|
|
88
153
|
lines.push(` ),`);
|
|
89
154
|
lines.push(` ),`);
|
|
90
155
|
lines.push(` );`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-landing-hero-features.js","sourceRoot":"","sources":["../../src/templates/page-landing-hero-features.ts"],"names":[],"mappings":";AAAA,kGAAkG;;
|
|
1
|
+
{"version":3,"file":"page-landing-hero-features.js","sourceRoot":"","sources":["../../src/templates/page-landing-hero-features.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-landing-hero-pricing.d.ts","sourceRoot":"","sources":["../../src/templates/page-landing-hero-pricing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"page-landing-hero-pricing.d.ts","sourceRoot":"","sources":["../../src/templates/page-landing-hero-pricing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAYnF,wBAAgB,0BAA0B,CACxC,IAAI,EAAU,OAAO,EACrB,YAAY,EAAE,MAAM,EACpB,MAAM,GAAQ,SAAS,EAAO,EAC9B,QAAQ,GAAM,OAAO,EAAS,GAC7B,aAAa,CAmPf"}
|