@underpeaks/generator-flutter 1.0.57 → 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.
Files changed (41) hide show
  1. package/dist/generator.d.ts.map +1 -1
  2. package/dist/generator.js +13 -52
  3. package/dist/generator.js.map +1 -1
  4. package/dist/templates/api-config.d.ts.map +1 -1
  5. package/dist/templates/api-config.js +8 -3
  6. package/dist/templates/api-config.js.map +1 -1
  7. package/dist/templates/navigation.d.ts +1 -0
  8. package/dist/templates/navigation.d.ts.map +1 -1
  9. package/dist/templates/navigation.js +1 -0
  10. package/dist/templates/navigation.js.map +1 -1
  11. package/dist/templates/page-auth.d.ts.map +1 -1
  12. package/dist/templates/page-auth.js +13 -0
  13. package/dist/templates/page-auth.js.map +1 -1
  14. package/dist/templates/page-cart.d.ts.map +1 -1
  15. package/dist/templates/page-cart.js +8 -4
  16. package/dist/templates/page-cart.js.map +1 -1
  17. package/dist/templates/page-detail.d.ts.map +1 -1
  18. package/dist/templates/page-detail.js +74 -20
  19. package/dist/templates/page-detail.js.map +1 -1
  20. package/dist/templates/page-landing-hero-cta.d.ts.map +1 -1
  21. package/dist/templates/page-landing-hero-cta.js +111 -50
  22. package/dist/templates/page-landing-hero-cta.js.map +1 -1
  23. package/dist/templates/page-landing-hero-features.d.ts.map +1 -1
  24. package/dist/templates/page-landing-hero-features.js +113 -48
  25. package/dist/templates/page-landing-hero-features.js.map +1 -1
  26. package/dist/templates/page-landing-hero-pricing.d.ts.map +1 -1
  27. package/dist/templates/page-landing-hero-pricing.js +189 -56
  28. package/dist/templates/page-landing-hero-pricing.js.map +1 -1
  29. package/dist/templates/page-landing-minimal.d.ts.map +1 -1
  30. package/dist/templates/page-landing-minimal.js +67 -18
  31. package/dist/templates/page-landing-minimal.js.map +1 -1
  32. package/dist/templates/page-list.d.ts.map +1 -1
  33. package/dist/templates/page-list.js +151 -280
  34. package/dist/templates/page-list.js.map +1 -1
  35. package/dist/templates/page-map.d.ts.map +1 -1
  36. package/dist/templates/page-map.js +125 -42
  37. package/dist/templates/page-map.js.map +1 -1
  38. package/dist/templates/pubspec.d.ts.map +1 -1
  39. package/dist/templates/pubspec.js +10 -17
  40. package/dist/templates/pubspec.js.map +1 -1
  41. package/package.json +1 -1
@@ -3,55 +3,105 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.generateListPage = generateListPage;
5
5
  const generator_core_1 = require("@underpeaks/generator-core");
6
- const navigation_1 = require("./navigation");
7
6
  function toRoutePath(slug) {
8
7
  return slug.replace(/^\//, '');
9
8
  }
10
- function generateListPage(page, model, stateManager,
11
- // NAVIGATOR: routes originating from this page, and the full page list
12
- // so a route's to_page_id can be resolved to a real path. Both default
13
- // to [] so this stays backward compatible with any caller that hasn't
14
- // been updated yet.
15
- routes = [], allPages = []) {
9
+ // FIX: this template previously hardcoded Riverpod syntax throughout
10
+ // (ConsumerStatefulWidget, ref.watch/ref.read) with no branching on
11
+ // stateManager at all selecting Provider or Bloc at generate time
12
+ // produced pages calling Riverpod APIs that don't exist in those
13
+ // projects, a hard compile failure. All three state managers' generated
14
+ // classes (Riverpod's ${className}State, Provider's ${className}Notifier,
15
+ // Bloc's ${className}State via BlocBuilder) expose the same shape —
16
+ // items/loading/loadingMore/hasMore/error — so the list-rendering body
17
+ // below is shared; only how `state` is obtained and how
18
+ // load/loadMore/create are triggered differs per manager.
19
+ function generateListPage(page, model, stateManager, routes = [], allPages = []) {
16
20
  const className = (0, generator_core_1.modelToClassName)(model.name);
17
21
  const fileName = (0, generator_core_1.modelToFileName)(model.name);
18
22
  const pk = (0, generator_core_1.getPrimaryKey)(model);
19
23
  const pkName = pk?.name ?? 'id';
20
- const isGrid = page.template_type === 'grid';
24
+ const columns = (0, generator_core_1.getVisibleColumns)(model);
25
+ const titleField = columns.find((c) => c.name.includes('name') || c.name.includes('title'))?.name ?? columns[0]?.name ?? pkName;
26
+ const subField = columns[1]?.name && columns[1]?.name !== titleField ? columns[1].name : null;
21
27
  const pageClass = page.name.replace(/\s+/g, '') + 'View';
22
28
  const routePath = page.slug.replace(/^\//, '');
23
- // FIX: previously checked the legacy page.nav_type field directly, which
24
- // can disagree with the real per-platform nav_settings a migrated page
25
- // now carries — the actual shell (navigation.ts) decides bottom-nav/
26
- // drawer-nav from nav_settings, not nav_type. Using the same exported
27
- // helper here keeps this file in sync with what the shell actually does,
28
- // instead of maintaining a second, possibly-stale check.
29
- const hasNav = (0, navigation_1.effectiveMobileBottom)(page) !== 'none';
30
- // ── NAVIGATOR: tap (card-tap override) / button triggers ──────────────
31
- // Default behavior (tap -> this model's own detail page) is unchanged
32
- // UNLESS a route explicitly exists with trigger 'tap' AND
33
- // attach_to 'card-tap' targeting a different, non-id-requiring page —
34
- // in that case every card in this list navigates there instead.
35
- // 'button' renders an extra button/FAB; both skip rendering (with a
36
- // comment) if the target page itself requires a record id we don't have.
37
29
  const tapRoute = routes.find((r) => r.from_page_id === page.page_id && r.trigger === 'tap' && r.attach_to === 'card-tap');
38
30
  const buttonRoute = routes.find((r) => r.from_page_id === page.page_id && r.trigger === 'button');
31
+ const backRoute = routes.find((r) => r.from_page_id === page.page_id && r.trigger === 'back');
39
32
  const tapTarget = tapRoute ? allPages.find((p) => p.page_id === tapRoute.to_page_id) : undefined;
40
33
  const buttonTarget = buttonRoute ? allPages.find((p) => p.page_id === buttonRoute.to_page_id) : undefined;
34
+ const backTarget = backRoute ? allPages.find((p) => p.page_id === backRoute.to_page_id) : undefined;
41
35
  const tapTargetUsable = !!tapTarget && tapTarget.template_type !== 'detail';
42
36
  const buttonTargetUsable = !!buttonTarget && buttonTarget.template_type !== 'detail';
43
- // Default: navigate to this item's own detail page. Overridden below if
44
- // a usable card-tap route exists.
45
- const cardTapDestination = tapTargetUsable
37
+ const backTargetUsable = !!backTarget && backTarget.template_type !== 'detail';
38
+ const detailDestination = tapTargetUsable
46
39
  ? `/${toRoutePath(tapTarget.slug)}`
47
40
  : `/${routePath}/\${item.${pkName}}`;
48
41
  const buttonLabel = (buttonRoute?.label && buttonRoute.label.trim()) || 'Continue';
42
+ const hasAppBar = page.nav_settings?.mobile?.header === 'app-bar';
43
+ const backOnPressed = backTargetUsable
44
+ ? `() => context.go('/${toRoutePath(backTarget?.slug ?? '')}')`
45
+ : `() => context.canPop() ? context.pop() : context.go('/')`;
46
+ // ── Per-state-manager wiring ─────────────────────────────────────────────
47
+ let stateImports;
48
+ let classDecl;
49
+ let stateClassDecl;
50
+ let initStateLoadCall;
51
+ let scrollLoadMoreCall;
52
+ let buildStateAccess; // lines that produce a `state` variable, placed right before the returned widget
53
+ let returnPrefix; // 'return ' normally; empty when wrapping in BlocBuilder (builder itself returns)
54
+ let wrapOpenLines; // e.g. BlocBuilder<X, XState>( builder: (context, state) {
55
+ let wrapCloseLines; // closing for the wrap, e.g. '},\n)'
56
+ let createRouteCall; // used by the FAB's onPressed if you add create later — not used here directly
57
+ if (stateManager === 'bloc') {
58
+ stateImports = [`import 'package:flutter_bloc/flutter_bloc.dart';`];
59
+ classDecl = `class ${pageClass} extends StatefulWidget {`;
60
+ stateClassDecl = `class _${pageClass}State extends State<${pageClass}> {`;
61
+ initStateLoadCall = `context.read<${className}Bloc>().add(Load${className}sEvent());`;
62
+ scrollLoadMoreCall = `context.read<${className}Bloc>().add(LoadMore${className}sEvent());`;
63
+ buildStateAccess = [];
64
+ returnPrefix = '';
65
+ wrapOpenLines = [
66
+ ` return BlocBuilder<${className}Bloc, ${className}State>(`,
67
+ ` builder: (context, state) {`,
68
+ ` return`,
69
+ ];
70
+ wrapCloseLines = [
71
+ ` },`,
72
+ ` );`,
73
+ ];
74
+ }
75
+ else if (stateManager === 'provider') {
76
+ stateImports = [`import 'package:provider/provider.dart';`];
77
+ classDecl = `class ${pageClass} extends StatefulWidget {`;
78
+ stateClassDecl = `class _${pageClass}State extends State<${pageClass}> {`;
79
+ initStateLoadCall = `context.read<${className}Notifier>().loadAll();`;
80
+ scrollLoadMoreCall = `context.read<${className}Notifier>().loadMore();`;
81
+ buildStateAccess = [` final state = context.watch<${className}Notifier>();`, ``];
82
+ returnPrefix = 'return ';
83
+ wrapOpenLines = [];
84
+ wrapCloseLines = [];
85
+ }
86
+ else {
87
+ // riverpod (default)
88
+ stateImports = [`import 'package:flutter_riverpod/flutter_riverpod.dart';`];
89
+ classDecl = `class ${pageClass} extends ConsumerStatefulWidget {`;
90
+ stateClassDecl = `class _${pageClass}State extends ConsumerState<${pageClass}> {`;
91
+ initStateLoadCall = `ref.read(${fileName}Provider.notifier).loadAll();`;
92
+ scrollLoadMoreCall = `ref.read(${fileName}Provider.notifier).loadMore();`;
93
+ buildStateAccess = [` final state = ref.watch(${fileName}Provider);`, ``];
94
+ returnPrefix = 'return ';
95
+ wrapOpenLines = [];
96
+ wrapCloseLines = [];
97
+ }
98
+ const createStateSuffix = stateManager === 'riverpod'
99
+ ? `createState() => _${pageClass}State();`
100
+ : `createState() => _${pageClass}State();`;
49
101
  const lines = [];
50
102
  lines.push(`// GENERATED BY UNDERPEAKS CODEGEN v1.0.0`);
51
- lines.push(`// Page: ${page.name} — ${page.template_type}`);
103
+ lines.push(`// Page: ${page.name} — list`);
52
104
  lines.push(`// Presentation layer — generated once, you own this file.`);
53
- lines.push(`// Regenerate: nxf generate flutter --include-views`);
54
- lines.push(`// WARNING: --include-views will overwrite your changes.`);
55
105
  lines.push(`// ignore_for_file: lines_longer_than_80_chars`);
56
106
  if (tapRoute && !tapTargetUsable) {
57
107
  lines.push(`// NAVIGATOR: a card-tap route exists but its target ('${tapRoute.to_page_id}') requires`);
@@ -63,290 +113,111 @@ routes = [], allPages = []) {
63
113
  }
64
114
  lines.push(``);
65
115
  lines.push(`import 'package:flutter/material.dart';`);
66
- lines.push(`import 'package:flutter_riverpod/flutter_riverpod.dart';`);
67
116
  lines.push(`import 'package:go_router/go_router.dart';`);
117
+ for (const imp of stateImports)
118
+ lines.push(imp);
68
119
  lines.push(`import '../../generated/models/${fileName}.dart';`);
69
- lines.push(`import '../../generated/providers/${fileName}_provider.g.dart';`);
120
+ if (stateManager === 'riverpod') {
121
+ lines.push(`import '../../generated/providers/${fileName}_provider.g.dart';`);
122
+ }
123
+ else if (stateManager === 'provider') {
124
+ lines.push(`import '../../generated/notifiers/${fileName}_notifier.g.dart';`);
125
+ }
126
+ else {
127
+ lines.push(`import '../../generated/blocs/${fileName}_bloc.g.dart';`);
128
+ }
70
129
  lines.push(`import '../widgets/${fileName}_card.dart';`);
71
130
  lines.push(``);
72
- lines.push(`class ${pageClass} extends ConsumerStatefulWidget {`);
131
+ lines.push(classDecl);
73
132
  lines.push(` const ${pageClass}({super.key});`);
74
133
  lines.push(``);
75
134
  lines.push(` @override`);
76
- lines.push(` ConsumerState<${pageClass}> createState() => _${pageClass}State();`);
135
+ lines.push(` ${stateManager === 'riverpod' ? `ConsumerState<${pageClass}>` : `State<${pageClass}>`} ${createStateSuffix}`);
77
136
  lines.push(`}`);
78
137
  lines.push(``);
79
- lines.push(`class _${pageClass}State extends ConsumerState<${pageClass}> {`);
138
+ lines.push(stateClassDecl);
80
139
  lines.push(` final _scrollController = ScrollController();`);
81
140
  lines.push(``);
82
141
  lines.push(` @override`);
83
142
  lines.push(` void initState() {`);
84
143
  lines.push(` super.initState();`);
85
- lines.push(` Future.microtask(`);
86
- lines.push(` () => ref.read(${fileName}Provider.notifier).loadAll(),`);
87
- lines.push(` );`);
144
+ lines.push(` Future.microtask(() => ${initStateLoadCall});`);
88
145
  lines.push(` _scrollController.addListener(_onScroll);`);
89
146
  lines.push(` }`);
90
147
  lines.push(``);
91
148
  lines.push(` @override`);
92
149
  lines.push(` void dispose() {`);
93
- lines.push(` _scrollController`);
94
- lines.push(` ..removeListener(_onScroll)`);
95
- lines.push(` ..dispose();`);
150
+ lines.push(` _scrollController..removeListener(_onScroll)..dispose();`);
96
151
  lines.push(` super.dispose();`);
97
152
  lines.push(` }`);
98
153
  lines.push(``);
99
154
  lines.push(` void _onScroll() {`);
100
- lines.push(` if (_scrollController.position.pixels >=`);
101
- lines.push(` _scrollController.position.maxScrollExtent - 200) {`);
102
- lines.push(` ref.read(${fileName}Provider.notifier).loadMore();`);
155
+ lines.push(` if (_scrollController.position.pixels >= _scrollController.position.maxScrollExtent - 200) {`);
156
+ lines.push(` ${scrollLoadMoreCall}`);
103
157
  lines.push(` }`);
104
158
  lines.push(` }`);
105
159
  lines.push(``);
106
160
  lines.push(` @override`);
107
161
  lines.push(` Widget build(BuildContext context) {`);
108
- lines.push(` final state = ref.watch(${fileName}Provider);`);
109
- lines.push(``);
110
- // Only add AppBar if page has no shell nav — shell nav provides the scaffold
111
- if (!hasNav) {
112
- lines.push(` return Scaffold(`);
113
- lines.push(` appBar: AppBar(`);
114
- lines.push(` title: const Text('${page.name}'),`);
115
- lines.push(` actions: [`);
116
- lines.push(` IconButton(`);
117
- lines.push(` icon: const Icon(Icons.add),`);
118
- lines.push(` tooltip: 'Add new',`);
119
- lines.push(` onPressed: () => context`);
120
- lines.push(` .push('/${routePath}/create')`);
121
- lines.push(` .then((_) => ref.read(${fileName}Provider.notifier).refresh()),`);
122
- lines.push(` ),`);
123
- lines.push(` ],`);
124
- lines.push(` ),`);
125
- lines.push(` body: _${pageClass}Body(`);
126
- lines.push(` state: state,`);
127
- lines.push(` scrollController: _scrollController,`);
128
- lines.push(` onRefresh: () => ref.read(${fileName}Provider.notifier).refresh(),`);
129
- lines.push(` onDelete: (id) => ref.read(${fileName}Provider.notifier).delete(id),`);
130
- lines.push(` onTap: (item) => context.push('${cardTapDestination}'),`);
131
- lines.push(` ),`);
132
- if (buttonTargetUsable) {
133
- lines.push(` // NAVIGATOR: button-trigger route wired to '${buttonTarget.name}'`);
134
- lines.push(` bottomNavigationBar: SafeArea(`);
135
- lines.push(` child: Padding(`);
136
- lines.push(` padding: const EdgeInsets.all(16),`);
137
- lines.push(` child: ElevatedButton(`);
138
- lines.push(` onPressed: () => context.go('/${toRoutePath(buttonTarget.slug)}'),`);
139
- lines.push(` child: Text('${buttonLabel}'),`);
140
- lines.push(` ),`);
141
- lines.push(` ),`);
142
- lines.push(` ),`);
143
- }
144
- lines.push(` );`);
162
+ for (const l of buildStateAccess)
163
+ lines.push(l);
164
+ for (const l of wrapOpenLines)
165
+ lines.push(l);
166
+ const scaffoldIndent = wrapOpenLines.length > 0 ? ' ' : ' ';
167
+ lines.push(`${scaffoldIndent}${wrapOpenLines.length > 0 ? '' : returnPrefix}Scaffold(`);
168
+ if (hasAppBar) {
169
+ lines.push(`${scaffoldIndent} appBar: AppBar(`);
170
+ lines.push(`${scaffoldIndent} title: const Text('${page.name}'),`);
171
+ lines.push(`${scaffoldIndent} leading: IconButton(`);
172
+ lines.push(`${scaffoldIndent} icon: const Icon(Icons.arrow_back),`);
173
+ lines.push(`${scaffoldIndent} onPressed: ${backOnPressed},`);
174
+ lines.push(`${scaffoldIndent} ),`);
175
+ lines.push(`${scaffoldIndent} ),`);
145
176
  }
146
- else {
147
- // Shell provides Scaffold — return Column with FAB via CustomScrollView
148
- lines.push(` return CustomScrollView(`);
149
- lines.push(` controller: _scrollController,`);
150
- lines.push(` slivers: [`);
151
- lines.push(` SliverAppBar(`);
152
- lines.push(` title: const Text('${page.name}'),`);
153
- lines.push(` pinned: true,`);
154
- lines.push(` actions: [`);
155
- lines.push(` IconButton(`);
156
- lines.push(` icon: const Icon(Icons.add),`);
157
- lines.push(` tooltip: 'Add new',`);
158
- lines.push(` onPressed: () => context`);
159
- lines.push(` .push('/${routePath}/create')`);
160
- lines.push(` .then((_) => ref.read(${fileName}Provider.notifier).refresh()),`);
161
- lines.push(` ),`);
162
- lines.push(` ],`);
163
- lines.push(` ),`);
164
- lines.push(` if (state.loading && state.items.isEmpty)`);
165
- lines.push(` const SliverFillRemaining(`);
166
- lines.push(` child: Center(child: CircularProgressIndicator()),`);
167
- lines.push(` )`);
168
- lines.push(` else if (state.error != null && state.items.isEmpty)`);
169
- lines.push(` SliverFillRemaining(`);
170
- lines.push(` child: _ErrorView(`);
171
- lines.push(` message: state.error!,`);
172
- lines.push(` onRetry: () => ref.read(${fileName}Provider.notifier).refresh(),`);
173
- lines.push(` ),`);
174
- lines.push(` )`);
175
- lines.push(` else if (state.items.isEmpty)`);
176
- lines.push(` const SliverFillRemaining(child: _EmptyView())`);
177
- lines.push(` else`);
178
- if (isGrid) {
179
- lines.push(` SliverPadding(`);
180
- lines.push(` padding: const EdgeInsets.all(16),`);
181
- lines.push(` sliver: SliverGrid(`);
182
- lines.push(` delegate: SliverChildBuilderDelegate(`);
183
- lines.push(` (context, index) {`);
184
- lines.push(` if (index >= state.items.length) {`);
185
- lines.push(` return const Center(child: CircularProgressIndicator());`);
186
- lines.push(` }`);
187
- lines.push(` final item = state.items[index];`);
188
- lines.push(` return ${className}Card(`);
189
- lines.push(` item: item,`);
190
- lines.push(` onTap: () => context.push('${cardTapDestination}'),`);
191
- lines.push(` );`);
192
- lines.push(` },`);
193
- lines.push(` childCount: state.items.length + (state.loadingMore ? 2 : 0),`);
194
- lines.push(` ),`);
195
- lines.push(` gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(`);
196
- lines.push(` crossAxisCount: 2,`);
197
- lines.push(` crossAxisSpacing: 12,`);
198
- lines.push(` mainAxisSpacing: 12,`);
199
- lines.push(` childAspectRatio: 0.85,`);
200
- lines.push(` ),`);
201
- lines.push(` ),`);
202
- lines.push(` ),`);
203
- }
204
- else {
205
- lines.push(` SliverPadding(`);
206
- lines.push(` padding: const EdgeInsets.all(16),`);
207
- lines.push(` sliver: SliverList(`);
208
- lines.push(` delegate: SliverChildBuilderDelegate(`);
209
- lines.push(` (context, index) {`);
210
- lines.push(` if (index >= state.items.length) {`);
211
- lines.push(` return const Padding(`);
212
- lines.push(` padding: EdgeInsets.all(16),`);
213
- lines.push(` child: Center(child: CircularProgressIndicator()),`);
214
- lines.push(` );`);
215
- lines.push(` }`);
216
- lines.push(` final item = state.items[index];`);
217
- lines.push(` return Padding(`);
218
- lines.push(` padding: const EdgeInsets.only(bottom: 8),`);
219
- lines.push(` child: ${className}Card(`);
220
- lines.push(` item: item,`);
221
- lines.push(` onTap: () => context.push('${cardTapDestination}'),`);
222
- lines.push(` onDelete: () => _confirmDelete(`);
223
- lines.push(` context,`);
224
- lines.push(` item.${pkName} ?? '',`);
225
- lines.push(` () => ref.read(${fileName}Provider.notifier).delete(item.${pkName} ?? ''),`);
226
- lines.push(` ),`);
227
- lines.push(` ),`);
228
- lines.push(` );`);
229
- lines.push(` },`);
230
- lines.push(` childCount: state.items.length + (state.loadingMore ? 1 : 0),`);
231
- lines.push(` ),`);
232
- lines.push(` ),`);
233
- lines.push(` ),`);
234
- }
235
- if (buttonTargetUsable) {
236
- lines.push(` // NAVIGATOR: button-trigger route wired to '${buttonTarget.name}'`);
237
- lines.push(` SliverToBoxAdapter(`);
238
- lines.push(` child: Padding(`);
239
- lines.push(` padding: const EdgeInsets.all(16),`);
240
- lines.push(` child: ElevatedButton(`);
241
- lines.push(` onPressed: () => context.go('/${toRoutePath(buttonTarget.slug)}'),`);
242
- lines.push(` child: Text('${buttonLabel}'),`);
243
- lines.push(` ),`);
244
- lines.push(` ),`);
245
- lines.push(` ),`);
246
- }
247
- lines.push(` ],`);
248
- lines.push(` );`);
177
+ lines.push(`${scaffoldIndent} body: state.loading && state.items.isEmpty`);
178
+ lines.push(`${scaffoldIndent} ? const Center(child: CircularProgressIndicator())`);
179
+ lines.push(`${scaffoldIndent} : state.error != null && state.items.isEmpty`);
180
+ lines.push(`${scaffoldIndent} ? Center(`);
181
+ lines.push(`${scaffoldIndent} child: Padding(`);
182
+ lines.push(`${scaffoldIndent} padding: const EdgeInsets.all(24),`);
183
+ lines.push(`${scaffoldIndent} child: Text(state.error!, style: const TextStyle(color: Colors.red), textAlign: TextAlign.center),`);
184
+ lines.push(`${scaffoldIndent} ),`);
185
+ lines.push(`${scaffoldIndent} )`);
186
+ lines.push(`${scaffoldIndent} : state.items.isEmpty`);
187
+ lines.push(`${scaffoldIndent} ? const Center(child: Text('No items yet.', style: TextStyle(color: Colors.grey)))`);
188
+ lines.push(`${scaffoldIndent} : ListView.separated(`);
189
+ lines.push(`${scaffoldIndent} controller: _scrollController,`);
190
+ lines.push(`${scaffoldIndent} padding: const EdgeInsets.all(16),`);
191
+ lines.push(`${scaffoldIndent} itemCount: state.items.length + (state.loadingMore ? 1 : 0),`);
192
+ lines.push(`${scaffoldIndent} separatorBuilder: (_, __) => const SizedBox(height: 8),`);
193
+ lines.push(`${scaffoldIndent} itemBuilder: (context, index) {`);
194
+ lines.push(`${scaffoldIndent} if (index >= state.items.length) {`);
195
+ lines.push(`${scaffoldIndent} return const Padding(padding: EdgeInsets.all(16), child: Center(child: CircularProgressIndicator()));`);
196
+ lines.push(`${scaffoldIndent} }`);
197
+ lines.push(`${scaffoldIndent} final item = state.items[index];`);
198
+ lines.push(`${scaffoldIndent} return ${fileName[0].toUpperCase()}${fileName.slice(1)}Card(`);
199
+ lines.push(`${scaffoldIndent} item: item,`);
200
+ lines.push(`${scaffoldIndent} onTap: () => context.push('${detailDestination}'),`);
201
+ lines.push(`${scaffoldIndent} );`);
202
+ lines.push(`${scaffoldIndent} },`);
203
+ lines.push(`${scaffoldIndent} ),`);
204
+ if (buttonTargetUsable) {
205
+ lines.push(`${scaffoldIndent} // NAVIGATOR: button-trigger route wired to '${buttonTarget.name}'`);
206
+ lines.push(`${scaffoldIndent} bottomNavigationBar: SafeArea(`);
207
+ lines.push(`${scaffoldIndent} child: Padding(`);
208
+ lines.push(`${scaffoldIndent} padding: const EdgeInsets.all(16),`);
209
+ lines.push(`${scaffoldIndent} child: ElevatedButton(`);
210
+ lines.push(`${scaffoldIndent} onPressed: () => context.go('/${toRoutePath(buttonTarget.slug)}'),`);
211
+ lines.push(`${scaffoldIndent} child: Text('${buttonLabel}'),`);
212
+ lines.push(`${scaffoldIndent} ),`);
213
+ lines.push(`${scaffoldIndent} ),`);
214
+ lines.push(`${scaffoldIndent} ),`);
249
215
  }
250
- lines.push(` }`);
251
- lines.push(``);
252
- lines.push(` void _confirmDelete(`);
253
- lines.push(` BuildContext context,`);
254
- lines.push(` String id,`);
255
- lines.push(` VoidCallback onConfirm,`);
256
- lines.push(` ) {`);
257
- lines.push(` showDialog<void>(`);
258
- lines.push(` context: context,`);
259
- lines.push(` builder: (_) => AlertDialog(`);
260
- lines.push(` title: const Text('Delete'),`);
261
- lines.push(` content: const Text('Are you sure? This cannot be undone.'),`);
262
- lines.push(` actions: [`);
263
- lines.push(` TextButton(`);
264
- lines.push(` onPressed: () => Navigator.of(context).pop(),`);
265
- lines.push(` child: const Text('Cancel'),`);
266
- lines.push(` ),`);
267
- lines.push(` TextButton(`);
268
- lines.push(` onPressed: () {`);
269
- lines.push(` Navigator.of(context).pop();`);
270
- lines.push(` onConfirm();`);
271
- lines.push(` },`);
272
- lines.push(` child: const Text(`);
273
- lines.push(` 'Delete',`);
274
- lines.push(` style: TextStyle(color: Colors.red),`);
275
- lines.push(` ),`);
276
- lines.push(` ),`);
277
- lines.push(` ],`);
278
- lines.push(` ),`);
279
- lines.push(` );`);
280
- lines.push(` }`);
281
- lines.push(`}`);
282
- lines.push(``);
283
- lines.push(`// ── Error view ───────────────────────────────────────────────────────────`);
284
- lines.push(``);
285
- lines.push(`class _ErrorView extends StatelessWidget {`);
286
- lines.push(` final String message;`);
287
- lines.push(` final Future<void> Function() onRetry;`);
288
- lines.push(``);
289
- lines.push(` const _ErrorView({required this.message, required this.onRetry});`);
290
- lines.push(``);
291
- lines.push(` @override`);
292
- lines.push(` Widget build(BuildContext context) {`);
293
- lines.push(` return Center(`);
294
- lines.push(` child: Padding(`);
295
- lines.push(` padding: const EdgeInsets.all(24),`);
296
- lines.push(` child: Column(`);
297
- lines.push(` mainAxisAlignment: MainAxisAlignment.center,`);
298
- lines.push(` children: [`);
299
- lines.push(` const Icon(Icons.error_outline, size: 48, color: Colors.red),`);
300
- lines.push(` const SizedBox(height: 16),`);
301
- lines.push(` Text(message, textAlign: TextAlign.center),`);
302
- lines.push(` const SizedBox(height: 24),`);
303
- lines.push(` ElevatedButton.icon(`);
304
- lines.push(` onPressed: onRetry,`);
305
- lines.push(` icon: const Icon(Icons.refresh),`);
306
- lines.push(` label: const Text('Retry'),`);
307
- lines.push(` ),`);
308
- lines.push(` ],`);
309
- lines.push(` ),`);
310
- lines.push(` ),`);
311
- lines.push(` );`);
312
- lines.push(` }`);
313
- lines.push(`}`);
314
- lines.push(``);
315
- lines.push(`// ── Empty view ───────────────────────────────────────────────────────────`);
316
- lines.push(``);
317
- lines.push(`class _EmptyView extends StatelessWidget {`);
318
- lines.push(` const _EmptyView();`);
319
- lines.push(``);
320
- lines.push(` @override`);
321
- lines.push(` Widget build(BuildContext context) {`);
322
- lines.push(` return Center(`);
323
- lines.push(` child: Column(`);
324
- lines.push(` mainAxisAlignment: MainAxisAlignment.center,`);
325
- lines.push(` children: [`);
326
- lines.push(` const Icon(Icons.inbox_outlined, size: 64, color: Colors.grey),`);
327
- lines.push(` const SizedBox(height: 16),`);
328
- lines.push(` Text(`);
329
- lines.push(` 'No items yet',`);
330
- lines.push(` style: Theme.of(context).textTheme.titleMedium?.copyWith(`);
331
- lines.push(` color: Colors.grey,`);
332
- lines.push(` ),`);
333
- lines.push(` ),`);
334
- lines.push(` const SizedBox(height: 8),`);
335
- lines.push(` const Text(`);
336
- lines.push(` 'Tap the + button to add your first item.',`);
337
- lines.push(` style: TextStyle(color: Colors.grey),`);
338
- lines.push(` ),`);
339
- lines.push(` ],`);
340
- lines.push(` ),`);
341
- lines.push(` );`);
216
+ lines.push(`${scaffoldIndent})${wrapOpenLines.length > 0 ? ';' : ';'}`);
217
+ for (const l of wrapCloseLines)
218
+ lines.push(l);
342
219
  lines.push(` }`);
343
220
  lines.push(`}`);
344
- // FIX: was `lib/presentation/views/${fileName}_list_view.dart` —
345
- // derived ONLY from the model + template type, never the page itself.
346
- // Two list/grid pages on the same model produced the identical file
347
- // path and silently overwrote each other on disk. Now folds in the
348
- // page's own slug so each page's file is guaranteed unique, matching
349
- // navigation.ts's importPath fix.
350
221
  const pageSlugPart = routePath.replace(/\//g, '_').replace(/-/g, '_');
351
222
  return {
352
223
  path: `lib/presentation/views/${fileName}_list_${pageSlugPart}_view.dart`,
@@ -1 +1 @@
1
- {"version":3,"file":"page-list.js","sourceRoot":"","sources":["../../src/templates/page-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-list.js","sourceRoot":"","sources":["../../src/templates/page-list.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"page-map.d.ts","sourceRoot":"","sources":["../../src/templates/page-map.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAExE,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,aAAa,CAsGlF"}
1
+ {"version":3,"file":"page-map.d.ts","sourceRoot":"","sources":["../../src/templates/page-map.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAWxE,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,aAAa,CAgLlF"}