@underpeaks/generator-nextjs 1.0.31 → 1.0.32

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 (118) hide show
  1. package/dist/components/registry-display.d.ts.map +1 -1
  2. package/dist/components/registry-display.js +3 -7
  3. package/dist/components/registry-display.js.map +1 -1
  4. package/dist/generator.d.ts +0 -7
  5. package/dist/generator.d.ts.map +1 -1
  6. package/dist/generator.js +90 -40
  7. package/dist/generator.js.map +1 -1
  8. package/dist/templates/api-builder.d.ts +1 -1
  9. package/dist/templates/api-builder.d.ts.map +1 -1
  10. package/dist/templates/api-builder.js +7 -4
  11. package/dist/templates/api-builder.js.map +1 -1
  12. package/dist/templates/app-nav.d.ts +3 -20
  13. package/dist/templates/app-nav.d.ts.map +1 -1
  14. package/dist/templates/app-nav.js +55 -22
  15. package/dist/templates/app-nav.js.map +1 -1
  16. package/dist/templates/layout.d.ts.map +1 -1
  17. package/dist/templates/layout.js +16 -9
  18. package/dist/templates/layout.js.map +1 -1
  19. package/dist/templates/page-auth.d.ts +1 -1
  20. package/dist/templates/page-auth.d.ts.map +1 -1
  21. package/dist/templates/page-auth.js +20 -7
  22. package/dist/templates/page-auth.js.map +1 -1
  23. package/dist/templates/page-blog-post.d.ts +2 -2
  24. package/dist/templates/page-blog-post.d.ts.map +1 -1
  25. package/dist/templates/page-blog-post.js +38 -1
  26. package/dist/templates/page-blog-post.js.map +1 -1
  27. package/dist/templates/page-calendar.d.ts +2 -2
  28. package/dist/templates/page-calendar.d.ts.map +1 -1
  29. package/dist/templates/page-calendar.js +31 -3
  30. package/dist/templates/page-calendar.js.map +1 -1
  31. package/dist/templates/page-cart.d.ts +2 -2
  32. package/dist/templates/page-cart.d.ts.map +1 -1
  33. package/dist/templates/page-cart.js +27 -2
  34. package/dist/templates/page-cart.js.map +1 -1
  35. package/dist/templates/page-checkout.d.ts +2 -2
  36. package/dist/templates/page-checkout.d.ts.map +1 -1
  37. package/dist/templates/page-checkout.js +19 -2
  38. package/dist/templates/page-checkout.js.map +1 -1
  39. package/dist/templates/page-contact.d.ts +0 -2
  40. package/dist/templates/page-contact.d.ts.map +1 -1
  41. package/dist/templates/page-contact.js +83 -84
  42. package/dist/templates/page-contact.js.map +1 -1
  43. package/dist/templates/page-dashboard.d.ts +2 -2
  44. package/dist/templates/page-dashboard.d.ts.map +1 -1
  45. package/dist/templates/page-dashboard.js +30 -3
  46. package/dist/templates/page-dashboard.js.map +1 -1
  47. package/dist/templates/page-detail.d.ts +2 -2
  48. package/dist/templates/page-detail.d.ts.map +1 -1
  49. package/dist/templates/page-detail.js +156 -8
  50. package/dist/templates/page-detail.js.map +1 -1
  51. package/dist/templates/page-feed.d.ts +2 -2
  52. package/dist/templates/page-feed.d.ts.map +1 -1
  53. package/dist/templates/page-feed.js +44 -3
  54. package/dist/templates/page-feed.js.map +1 -1
  55. package/dist/templates/page-form.d.ts.map +1 -1
  56. package/dist/templates/page-form.js +341 -43
  57. package/dist/templates/page-form.js.map +1 -1
  58. package/dist/templates/page-gallery.d.ts +2 -2
  59. package/dist/templates/page-gallery.d.ts.map +1 -1
  60. package/dist/templates/page-gallery.js +36 -2
  61. package/dist/templates/page-gallery.js.map +1 -1
  62. package/dist/templates/page-invoice.d.ts +2 -2
  63. package/dist/templates/page-invoice.d.ts.map +1 -1
  64. package/dist/templates/page-invoice.js +40 -1
  65. package/dist/templates/page-invoice.js.map +1 -1
  66. package/dist/templates/page-kanban.d.ts +2 -2
  67. package/dist/templates/page-kanban.d.ts.map +1 -1
  68. package/dist/templates/page-kanban.js +29 -4
  69. package/dist/templates/page-kanban.js.map +1 -1
  70. package/dist/templates/page-landing-hero-cta.d.ts +3 -0
  71. package/dist/templates/page-landing-hero-cta.d.ts.map +1 -0
  72. package/dist/templates/page-landing-hero-cta.js +54 -0
  73. package/dist/templates/page-landing-hero-cta.js.map +1 -0
  74. package/dist/templates/page-landing-hero-features.d.ts +3 -0
  75. package/dist/templates/page-landing-hero-features.d.ts.map +1 -0
  76. package/dist/templates/page-landing-hero-features.js +45 -0
  77. package/dist/templates/page-landing-hero-features.js.map +1 -0
  78. package/dist/templates/page-landing-hero-pricing.d.ts +3 -0
  79. package/dist/templates/page-landing-hero-pricing.d.ts.map +1 -0
  80. package/dist/templates/page-landing-hero-pricing.js +46 -0
  81. package/dist/templates/page-landing-hero-pricing.js.map +1 -0
  82. package/dist/templates/page-landing-minimal.d.ts +3 -0
  83. package/dist/templates/page-landing-minimal.d.ts.map +1 -0
  84. package/dist/templates/page-landing-minimal.js +26 -0
  85. package/dist/templates/page-landing-minimal.js.map +1 -0
  86. package/dist/templates/page-list.d.ts +2 -2
  87. package/dist/templates/page-list.d.ts.map +1 -1
  88. package/dist/templates/page-list.js +96 -11
  89. package/dist/templates/page-list.js.map +1 -1
  90. package/dist/templates/page-otp-entry.d.ts +2 -2
  91. package/dist/templates/page-otp-entry.d.ts.map +1 -1
  92. package/dist/templates/page-otp-entry.js +23 -2
  93. package/dist/templates/page-otp-entry.js.map +1 -1
  94. package/dist/templates/page-otp-request.d.ts +2 -2
  95. package/dist/templates/page-otp-request.d.ts.map +1 -1
  96. package/dist/templates/page-otp-request.js +18 -2
  97. package/dist/templates/page-otp-request.js.map +1 -1
  98. package/dist/templates/page-profile.d.ts +2 -2
  99. package/dist/templates/page-profile.d.ts.map +1 -1
  100. package/dist/templates/page-profile.js +37 -1
  101. package/dist/templates/page-profile.js.map +1 -1
  102. package/dist/templates/page-reset-password.d.ts +3 -0
  103. package/dist/templates/page-reset-password.d.ts.map +1 -0
  104. package/dist/templates/page-reset-password.js +122 -0
  105. package/dist/templates/page-reset-password.js.map +1 -0
  106. package/dist/templates/page-search.d.ts +2 -2
  107. package/dist/templates/page-search.d.ts.map +1 -1
  108. package/dist/templates/page-search.js +22 -2
  109. package/dist/templates/page-search.js.map +1 -1
  110. package/dist/templates/page-settings.d.ts +2 -2
  111. package/dist/templates/page-settings.d.ts.map +1 -1
  112. package/dist/templates/page-settings.js +48 -4
  113. package/dist/templates/page-settings.js.map +1 -1
  114. package/dist/templates/page-wallet.d.ts +2 -2
  115. package/dist/templates/page-wallet.d.ts.map +1 -1
  116. package/dist/templates/page-wallet.js +44 -2
  117. package/dist/templates/page-wallet.js.map +1 -1
  118. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"registry-display.d.ts","sourceRoot":"","sources":["../../src/components/registry-display.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAgE/D,MAAM,MAAM,kBAAkB,GAAG,MAAM,aAAa,CAAA;AAEpD,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CA8DpE,CAAA;AAED,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAE5F"}
1
+ {"version":3,"file":"registry-display.d.ts","sourceRoot":"","sources":["../../src/components/registry-display.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAgE/D,MAAM,MAAM,kBAAkB,GAAG,MAAM,aAAa,CAAA;AAEpD,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CA8DpE,CAAA;AAED,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAE5F"}
@@ -1,12 +1,8 @@
1
1
  "use strict";
2
2
  // File: underpeaks_codegen/packages/generator-nextjs/src/components/registry-display.ts
3
3
  //
4
- // Maps every read-only display_ui_type (per uitypes.ts DISPLAY_UI_TYPE_OPTIONS)
5
- // to its display component generator function.
6
- //
7
- // NOTE: reconstructed from this session's build history. Keys are
8
- // authoritative (sourced from uitypes.ts), but verify each import path
9
- // resolves to the actual file on disk before relying on this in a build.
4
+ // FIX: 'json-viewer-display' was the wrong key (see Flutter's matching fix)
5
+ // renamed to 'json-viewer' to match default-display-types.ts.
10
6
  Object.defineProperty(exports, "__esModule", { value: true });
11
7
  exports.nextjsDisplayRegistry = void 0;
12
8
  exports.getNextjsDisplayWidget = getNextjsDisplayWidget;
@@ -93,7 +89,7 @@ exports.nextjsDisplayRegistry = {
93
89
  'qr-code-display': nxf_qr_code_display_1.generateNxfQrCodeDisplayWidget,
94
90
  'barcode-display': nxf_barcode_display_1.generateNxfBarcodeDisplayWidget,
95
91
  'key-value-display': nxf_key_value_display_1.generateNxfKeyValueDisplayWidget,
96
- 'json-viewer-display': nxf_json_viewer_display_1.generateNxfJsonViewerDisplayWidget,
92
+ 'json-viewer': nxf_json_viewer_display_1.generateNxfJsonViewerDisplayWidget,
97
93
  'list-display': nxf_list_display_1.generateNxfListDisplayWidget,
98
94
  'ordered-list-display': nxf_ordered_list_display_1.generateNxfOrderedListDisplayWidget,
99
95
  'file-list-display': nxf_file_list_display_1.generateNxfFileListDisplayWidget,
@@ -1 +1 @@
1
- {"version":3,"file":"registry-display.js","sourceRoot":"","sources":["../../src/components/registry-display.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry-display.js","sourceRoot":"","sources":["../../src/components/registry-display.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,EAAE;AACF,8EAA8E;AAC9E,8DAA8D;;;AAoI9D,wDAEC;AAlID,wDAA8E;AAC9E,4DAAgF;AAChF,wDAA8E;AAC9E,gEAAkF;AAClF,0EAAuF;AACvF,wEAAsF;AACtF,gFAA0F;AAC1F,kEAAmF;AACnF,sDAA6E;AAC7E,oEAAoF;AACpF,8DAAiF;AACjF,sEAAqF;AACrF,sEAAqF;AAErF,wDAA+E;AAC/E,gFAA2F;AAC3F,0EAAwF;AACxF,sEAAsF;AACtF,kEAAoF;AACpF,kFAA4F;AAE5F,yEAAwF;AACxF,yEAAwF;AACxF,yFAAkG;AAClG,qFAAgG;AAChG,6EAA4F;AAE5F,qEAAsF;AAEtF,sFAAiG;AACjG,4EAA4F;AAC5F,8EAA6F;AAC7F,8EAA6F;AAC7F,0FAAmG;AAEnG,kFAA8F;AAC9F,kFAA8F;AAE9F,2FAAqG;AACrG,+FAAuG;AAEvG,uEAAsF;AACtF,uFAA8F;AAC9F,iFAA2F;AAE3F,4EAAyF;AACzF,wEAAuF;AACvF,oEAAqF;AACrF,kEAAoF;AACpF,4EAAyF;AACzF,wEAAuF;AAEvF,uEAAsF;AACtF,uEAAsF;AAEtF,uFAAgG;AAEhG,iFAA2F;AAE3F,wEAAwF;AACxF,4EAA0F;AAI7E,QAAA,qBAAqB,GAAuC;IACvE,OAAO,EAAmB,mCAAuB;IACjD,SAAS,EAAiB,uCAAyB;IACnD,OAAO,EAAmB,mCAAuB;IACjD,WAAW,EAAe,2CAA2B;IACrD,gBAAgB,EAAU,oDAA+B;IACzD,eAAe,EAAW,kDAA8B;IACxD,mBAAmB,EAAO,0DAAkC;IAC5D,YAAY,EAAc,4CAA2B;IACrD,MAAM,EAAoB,iCAAsB;IAChD,aAAa,EAAa,8CAA4B;IACtD,UAAU,EAAgB,wCAAyB;IACnD,cAAc,EAAY,gDAA6B;IACvD,cAAc,EAAY,gDAA6B;IAEvD,MAAM,EAAoB,iCAAsB;IAChD,kBAAkB,EAAQ,iDAA0B;IACpD,eAAe,EAAW,2CAAuB;IACjD,aAAa,EAAa,8CAA4B;IACtD,WAAW,EAAe,0CAA0B;IACpD,mBAAmB,EAAO,mDAA2B;IAErD,cAAc,EAAY,yCAAsB;IAChD,cAAc,EAAY,gDAA6B;IACvD,sBAAsB,EAAI,gEAAqC;IAC/D,oBAAoB,EAAM,4DAAmC;IAC7D,gBAAgB,EAAU,oDAA+B;IAEzD,YAAY,EAAc,4CAA2B;IAErD,oBAAoB,EAAM,4DAAmC;IAC7D,eAAe,EAAW,kDAA8B;IACxD,gBAAgB,EAAU,oDAA+B;IACzD,gBAAgB,EAAU,oDAA+B;IACzD,sBAAsB,EAAI,+DAAoC;IAE9D,iBAAiB,EAAS,oDAA8B;IACxD,iBAAiB,EAAS,qDAA+B;IAEzD,mBAAmB,EAAO,wDAAgC;IAC1D,aAAa,EAAa,4DAAkC;IAE5D,cAAc,EAAY,+CAA4B;IACtD,sBAAsB,EAAI,8DAAmC;IAC7D,mBAAmB,EAAO,wDAAgC;IAE1D,gBAAgB,EAAU,oDAA+B;IACzD,cAAc,EAAY,gDAA6B;IACvD,YAAY,EAAc,4CAA2B;IACrD,WAAW,EAAe,2CAA2B;IACrD,gBAAgB,EAAU,mDAA8B;IACxD,cAAc,EAAY,+CAA4B;IAEtD,cAAc,EAAY,gDAA6B;IACvD,cAAc,EAAY,gDAA6B;IAEvD,oBAAoB,EAAM,2DAAkC;IAE5D,mBAAmB,EAAO,yDAAiC;IAE3D,aAAa,EAAa,8CAA4B;IACtD,eAAe,EAAW,kDAA8B;CACzD,CAAA;AAED,SAAgB,sBAAsB,CAAC,aAAqB;IAC1D,OAAO,6BAAqB,CAAC,aAAa,CAAC,CAAA;AAC7C,CAAC"}
@@ -1,11 +1,4 @@
1
1
  import type { ProjectData, GeneratedFile } from '@underpeaks/generator-core';
2
- /**
3
- * NOTE on widget dedup: see the matching comment in generator-flutter's
4
- * generator.ts — this only decides WHICH unique ui_type widgets the
5
- * project needs, always generating all of them fresh. Whether a
6
- * developer has hand-edited a widget file locally is checked in the
7
- * CLI's extraction step, not here.
8
- */
9
2
  export declare function generateNextjs(data: ProjectData): Promise<{
10
3
  files: GeneratedFile[];
11
4
  widgetWarnings: {
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAqD5E;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IAAC,cAAc,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,CAAC,CAyJlI"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAoE5E,wBAAsB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IAAC,cAAc,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,CAAC,CAwLlI"}
package/dist/generator.js CHANGED
@@ -1,5 +1,11 @@
1
1
  "use strict";
2
2
  // File: underpeaks_codegen/packages/generator-nextjs/src/generator.ts
3
+ //
4
+ // ⚠️ RECONSTRUCTED FILE — see chat: this was rebuilt from an old base copy
5
+ // plus every fix made today, because the current version of this file was
6
+ // never actually provided despite being requested three times. Diff this
7
+ // against the real file before trusting it — anything that changed in the
8
+ // real file since the last time it WAS shared here will be missing.
3
9
  Object.defineProperty(exports, "__esModule", { value: true });
4
10
  exports.generateNextjs = generateNextjs;
5
11
  const generator_core_1 = require("@underpeaks/generator-core");
@@ -12,11 +18,21 @@ const page_list_1 = require("./templates/page-list");
12
18
  const page_detail_1 = require("./templates/page-detail");
13
19
  const page_form_1 = require("./templates/page-form");
14
20
  const page_auth_1 = require("./templates/page-auth");
15
- const page_landing_1 = require("./templates/page-landing");
21
+ // FIX: page-landing.ts was a single generic function used for every
22
+ // landing template_type, ignoring which one was actually selected — all
23
+ // four rendered identically. Split into 4 real generators matching
24
+ // Flutter's structure; page-landing.ts is now dead code (not imported).
25
+ const page_landing_hero_cta_1 = require("./templates/page-landing-hero-cta");
26
+ const page_landing_hero_features_1 = require("./templates/page-landing-hero-features");
27
+ const page_landing_hero_pricing_1 = require("./templates/page-landing-hero-pricing");
28
+ const page_landing_minimal_1 = require("./templates/page-landing-minimal");
16
29
  const page_dashboard_1 = require("./templates/page-dashboard");
17
30
  const page_profile_1 = require("./templates/page-profile");
18
31
  const page_blog_post_1 = require("./templates/page-blog-post");
19
- const page_contact_1 = require("./templates/page-contact");
32
+ // REMOVED: generateContactPage page-contact.ts is now commented out
33
+ // (posted to a nonexistent '/api/contact' route). 'contact' template_type
34
+ // now routes through the generic model-driven form generator instead,
35
+ // matching how Flutter already handles it.
20
36
  const page_cart_1 = require("./templates/page-cart");
21
37
  const page_checkout_1 = require("./templates/page-checkout");
22
38
  const page_wallet_1 = require("./templates/page-wallet");
@@ -33,7 +49,6 @@ const page_calendar_1 = require("./templates/page-calendar");
33
49
  const page_otp_request_1 = require("./templates/page-otp-request");
34
50
  const page_otp_entry_1 = require("./templates/page-otp-entry");
35
51
  const page_custom_1 = require("./templates/page-custom");
36
- const navigation_1 = require("./templates/navigation");
37
52
  const tailwind_1 = require("./templates/tailwind");
38
53
  const theme_1 = require("./templates/theme");
39
54
  const nxf_client_1 = require("./templates/nxf-client");
@@ -45,29 +60,29 @@ const api_builder_1 = require("./templates/api-builder");
45
60
  const index_1 = require("./integrations/index");
46
61
  const storage_1 = require("./integrations/storage");
47
62
  const validators_1 = require("./templates/validators");
48
- /**
49
- * NOTE on widget dedup: see the matching comment in generator-flutter's
50
- * generator.ts this only decides WHICH unique ui_type widgets the
51
- * project needs, always generating all of them fresh. Whether a
52
- * developer has hand-edited a widget file locally is checked in the
53
- * CLI's extraction step, not here.
54
- */
63
+ // NOTE: 'reset_password' has NO Next.js handler anywhere in this file —
64
+ // unlike Flutter, which has a real generateResetPasswordPage. There is no
65
+ // page-reset-password.ts in this package. Flagged rather than guessed at;
66
+ // needs a decision on whether to build one or handle reset another way
67
+ // (e.g. a query param on the sign-in page) before this template_type can
68
+ // be used on the Next.js side.
55
69
  async function generateNextjs(data) {
56
70
  const filtered = (0, generator_core_1.filterProjectData)(data);
57
71
  const files = [];
58
- // ── Widget library (scanned + deduplicated by ui_type) ────────────────────
59
72
  const usage = (0, generator_core_1.scanUsedUiTypes)(filtered.models, filtered.pages);
60
73
  const resolved = (0, generator_core_1.resolveRequiredWidgets)(usage, { editRegistry: registry_edit_1.nextjsEditRegistry, displayRegistry: registry_display_1.nextjsDisplayRegistry });
61
74
  files.push(...resolved.files);
62
75
  if (resolved.missing.length > 0) {
63
76
  console.warn(`[nxf] No component registered for ui_type(s): ${resolved.missing.join(', ')} — these fields will not render.`);
64
77
  }
65
- // ── Generated layer (always regenerated) ──────────────────────────────────
66
78
  files.push((0, nxf_client_1.generateNxfClient)(data.source));
67
79
  files.push((0, layout_1.generateLayout)(filtered.pages, data.project_name));
68
- if (filtered.pages.some((p) => generator_core_1.NAV_TEMPLATE_TYPES.includes(p.nav_type ?? ''))) {
80
+ if (filtered.pages.some((p) => (0, app_nav_1.effectiveWebHeader)(p) !== 'none')) {
69
81
  files.push((0, app_nav_1.generateAppNav)(filtered.pages));
70
82
  }
83
+ if (filtered.pages.some((p) => (0, app_nav_1.effectiveWebFooter)(p) === 'footer')) {
84
+ files.push((0, app_nav_1.generateAppFooter)(filtered.pages));
85
+ }
71
86
  files.push((0, env_1.generateEnvTemplate)(data.project_id));
72
87
  for (const model of filtered.models) {
73
88
  files.push((0, types_1.generateTypes)(model));
@@ -78,62 +93,75 @@ async function generateNextjs(data) {
78
93
  files.push((0, tailwind_1.generateTailwindConfig)(data.theme));
79
94
  files.push((0, theme_1.generateTheme)(data.theme));
80
95
  }
81
- files.push((0, navigation_1.generateNavigation)(filtered.pages, filtered.routes));
82
- files.push((0, api_builder_1.generateApiBuilderNextjs)(data.endpoints ?? []));
83
- if (data.integrations && data.integrations.length > 0) {
84
- files.push(...(0, index_1.generateNextjsIntegrations)(data.integrations));
96
+ // CORE PARITY: API Builder and third-party Integrations are not a Core
97
+ // feature explicitly gated on source !== 'core' rather than relying
98
+ // on data.endpoints/data.integrations happening to be empty for Core
99
+ // projects. Matches the same guard added to generator-flutter today.
100
+ if (data.source !== 'core') {
101
+ const apiBuilderFile = (0, api_builder_1.generateApiBuilderNextjs)(data.endpoints ?? []);
102
+ if (apiBuilderFile)
103
+ files.push(apiBuilderFile);
104
+ if (data.integrations && data.integrations.length > 0) {
105
+ files.push(...(0, index_1.generateNextjsIntegrations)(data.integrations));
106
+ }
85
107
  }
86
108
  files.push((0, storage_1.generateStorageNextjs)({}));
87
109
  files.push((0, readme_1.generateReadme)(data.project_name));
88
110
  files.push((0, validators_1.generateValidators)());
89
- // ── Presentation layer (generated once, user owns) ────────────────────────
90
111
  for (const page of filtered.pages) {
91
112
  const model = filtered.models.find((m) => m.sm_id === page.model_id);
92
113
  if (generator_core_1.AUTH_TEMPLATE_TYPES.includes(page.template_type)) {
93
- files.push(...(0, page_auth_1.generateNextjsAuthPages)(page));
94
- continue;
95
- }
96
- if (generator_core_1.LANDING_TEMPLATE_TYPES.includes(page.template_type)) {
97
- files.push((0, page_landing_1.generateLandingPage)(page));
114
+ // NAVIGATOR: pages passed through so sign-in/sign-up/forgot-password
115
+ // links resolve to real slugs instead of hardcoded literals.
116
+ files.push(...(0, page_auth_1.generateNextjsAuthPages)(page, filtered.pages));
98
117
  continue;
99
118
  }
100
119
  switch (page.template_type) {
101
120
  case 'list':
102
121
  case 'grid':
122
+ // NAVIGATOR: routes + pages passed through for card-tap/button triggers.
103
123
  if (model)
104
- files.push((0, page_list_1.generateListPage)(page, model));
124
+ files.push((0, page_list_1.generateListPage)(page, model, data.project_type, filtered.routes, filtered.pages));
105
125
  break;
106
126
  case 'detail':
127
+ // NAVIGATOR: routes + pages passed through for back/button triggers.
107
128
  if (model)
108
- files.push((0, page_detail_1.generateDetailPage)(page, model));
129
+ files.push((0, page_detail_1.generateDetailPage)(page, model, filtered.routes, filtered.pages));
109
130
  break;
110
131
  case 'form':
132
+ case 'contact':
133
+ // FIX: 'contact' now routes through the generic model-driven form
134
+ // generator instead of the disabled page-contact.ts — matches Flutter.
111
135
  if (model)
112
136
  files.push((0, page_form_1.generateFormPage)(page, model));
113
137
  break;
114
138
  case 'dashboard':
115
- files.push((0, page_dashboard_1.generateDashboardPage)(page, model));
139
+ // NAVIGATOR: routes + pages passed through for card-tap trigger.
140
+ files.push((0, page_dashboard_1.generateDashboardPage)(page, model, filtered.routes, filtered.pages));
116
141
  break;
117
142
  case 'profile':
118
- files.push((0, page_profile_1.generateProfilePage)(page, model));
143
+ // NAVIGATOR: routes + pages passed through for back/button triggers.
144
+ files.push((0, page_profile_1.generateProfilePage)(page, model, filtered.routes, filtered.pages));
119
145
  break;
120
146
  case 'blog-post':
121
- files.push((0, page_blog_post_1.generateBlogPostPage)(page, model));
122
- break;
123
- case 'contact':
124
- files.push((0, page_contact_1.generateContactPage)(page));
147
+ // NAVIGATOR: routes + pages passed through for back/button triggers.
148
+ files.push((0, page_blog_post_1.generateBlogPostPage)(page, model, filtered.routes, filtered.pages));
125
149
  break;
126
150
  case 'cart':
127
- files.push((0, page_cart_1.generateCartPage)(page));
151
+ // NAVIGATOR: routes + pages passed through for back-trigger override.
152
+ files.push((0, page_cart_1.generateCartPage)(page, filtered.routes, filtered.pages));
128
153
  break;
129
154
  case 'checkout':
130
- files.push((0, page_checkout_1.generateCheckoutPage)(page));
155
+ // NAVIGATOR: routes + pages passed through for button-trigger override.
156
+ files.push((0, page_checkout_1.generateCheckoutPage)(page, filtered.routes, filtered.pages));
131
157
  break;
132
158
  case 'wallet':
133
- files.push((0, page_wallet_1.generateWalletPage)(page));
159
+ // NAVIGATOR: routes + pages passed through for label-matched button routes.
160
+ files.push((0, page_wallet_1.generateWalletPage)(page, filtered.routes, filtered.pages));
134
161
  break;
135
162
  case 'invoice':
136
- files.push((0, page_invoice_1.generateInvoicePage)(page, model));
163
+ // NAVIGATOR: routes + pages passed through for back/button triggers.
164
+ files.push((0, page_invoice_1.generateInvoicePage)(page, model, filtered.routes, filtered.pages));
137
165
  break;
138
166
  case 'chat':
139
167
  files.push((0, page_chat_1.generateChatPage)(page));
@@ -142,7 +170,8 @@ async function generateNextjs(data) {
142
170
  files.push((0, page_messages_1.generateMessagesPage)(page));
143
171
  break;
144
172
  case 'feed':
145
- files.push((0, page_feed_1.generateFeedPage)(page, model));
173
+ // NAVIGATOR: routes + pages passed through for card-tap/button triggers.
174
+ files.push((0, page_feed_1.generateFeedPage)(page, model, filtered.routes, filtered.pages));
146
175
  break;
147
176
  case 'map':
148
177
  files.push((0, page_map_1.generateMapPage)(page));
@@ -154,16 +183,20 @@ async function generateNextjs(data) {
154
183
  files.push((0, page_settings_1.generateSettingsPage)(page));
155
184
  break;
156
185
  case 'gallery':
157
- files.push((0, page_gallery_1.generateGalleryPage)(page, model));
186
+ // NAVIGATOR: routes + pages passed through for card-tap/button triggers.
187
+ files.push((0, page_gallery_1.generateGalleryPage)(page, model, filtered.routes, filtered.pages));
158
188
  break;
159
189
  case 'kanban':
160
- files.push((0, page_kanban_1.generateKanbanPage)(page, model));
190
+ // NAVIGATOR: routes + pages passed through for card-tap trigger.
191
+ files.push((0, page_kanban_1.generateKanbanPage)(page, model, filtered.routes, filtered.pages));
161
192
  break;
162
193
  case 'calendar':
163
- files.push((0, page_calendar_1.generateCalendarPage)(page, model));
194
+ // NAVIGATOR: routes + pages passed through for card-tap trigger.
195
+ files.push((0, page_calendar_1.generateCalendarPage)(page, model, filtered.routes, filtered.pages));
164
196
  break;
165
197
  case 'otp_request':
166
- files.push((0, page_otp_request_1.generateOtpRequestPage)(page));
198
+ // NAVIGATOR: routes + pages passed through for button-trigger override.
199
+ files.push((0, page_otp_request_1.generateOtpRequestPage)(page, filtered.routes, filtered.pages));
167
200
  break;
168
201
  case 'otp_entry':
169
202
  files.push((0, page_otp_entry_1.generateOtpEntryPage)(page));
@@ -171,6 +204,22 @@ async function generateNextjs(data) {
171
204
  case 'custom':
172
205
  files.push((0, page_custom_1.generateCustomPage)(page));
173
206
  break;
207
+ // NAVIGATOR: landing types now each get their own real generator
208
+ // (previously all four fell into one generic template that ignored
209
+ // which type was actually selected).
210
+ case 'landing-hero-cta':
211
+ files.push((0, page_landing_hero_cta_1.generateLandingHeroCta)(page, filtered.routes, filtered.pages));
212
+ break;
213
+ case 'landing-hero-features':
214
+ files.push((0, page_landing_hero_features_1.generateLandingHeroFeatures)(page));
215
+ break;
216
+ case 'landing-hero-pricing':
217
+ files.push((0, page_landing_hero_pricing_1.generateLandingHeroPricing)(page));
218
+ break;
219
+ case 'landing-minimal':
220
+ files.push((0, page_landing_minimal_1.generateLandingMinimal)(page));
221
+ break;
222
+ // 'reset_password' deliberately has no case — see NOTE at top of file.
174
223
  default:
175
224
  if (generator_core_1.STANDARD_TEMPLATE_TYPES.includes(page.template_type)) {
176
225
  console.warn(`[nxf] template_type '${page.template_type}' is listed as standard but has no generator wired in generator.ts.`);
@@ -178,6 +227,7 @@ async function generateNextjs(data) {
178
227
  break;
179
228
  }
180
229
  }
230
+ files.push((0, generator_core_1.buildManifestFile)(data.project_id, files));
181
231
  return {
182
232
  files,
183
233
  widgetWarnings: { missing: resolved.missing },
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,6 @@ interface Endpoint {
7
7
  model_name: string;
8
8
  operation: string;
9
9
  }
10
- export declare function generateApiBuilderNextjs(endpoints: Endpoint[]): GeneratedFile;
10
+ export declare function generateApiBuilderNextjs(endpoints: Endpoint[]): GeneratedFile | null;
11
11
  export {};
12
12
  //# sourceMappingURL=api-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-builder.d.ts","sourceRoot":"","sources":["../../src/templates/api-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,UAAU,QAAQ;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAS,MAAM,CAAA;IACnB,MAAM,EAAO,MAAM,CAAA;IACnB,IAAI,EAAS,MAAM,CAAA;IACnB,UAAU,EAAG,MAAM,CAAA;IACnB,SAAS,EAAI,MAAM,CAAA;CACpB;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,aAAa,CAuE7E"}
1
+ {"version":3,"file":"api-builder.d.ts","sourceRoot":"","sources":["../../src/templates/api-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,UAAU,QAAQ;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAS,MAAM,CAAA;IACnB,MAAM,EAAO,MAAM,CAAA;IACnB,IAAI,EAAS,MAAM,CAAA;IACnB,UAAU,EAAG,MAAM,CAAA;IACnB,SAAS,EAAI,MAAM,CAAA;CACpB;AAOD,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,aAAa,GAAG,IAAI,CAoEpF"}
@@ -2,7 +2,14 @@
2
2
  // File: underpeaks_codegen/packages/generator-nextjs/src/templates/api-builder.ts
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.generateApiBuilderNextjs = generateApiBuilderNextjs;
5
+ // FIX: previously always generated custom-endpoints.ts, even with zero
6
+ // endpoints — an empty shell file (base URL/headers constants, a comment
7
+ // saying "no endpoints yet"). Per the anti-bloat rule, a project with no
8
+ // API Builder endpoints should get no file at all. Returns null in that
9
+ // case; the caller must check.
5
10
  function generateApiBuilderNextjs(endpoints) {
11
+ if (endpoints.length === 0)
12
+ return null;
6
13
  const lines = [];
7
14
  lines.push(`// GENERATED FILE — DO NOT EDIT MANUALLY`);
8
15
  lines.push(`// Generated by Underpeaks CodeGen v1.0.0`);
@@ -22,10 +29,6 @@ function generateApiBuilderNextjs(endpoints) {
22
29
  lines.push(` 'Authorization': \`Bearer \${API_KEY}\`,`);
23
30
  lines.push(`}`);
24
31
  lines.push(``);
25
- if (endpoints.length === 0) {
26
- lines.push(`// No custom endpoints defined yet.`);
27
- lines.push(`// Add endpoints in Studio → API Builder to generate functions here.`);
28
- }
29
32
  for (const ep of endpoints) {
30
33
  const fnName = toCamelCase(ep.name);
31
34
  const method = ep.method.toUpperCase();
@@ -1 +1 @@
1
- {"version":3,"file":"api-builder.js","sourceRoot":"","sources":["../../src/templates/api-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-builder.js","sourceRoot":"","sources":["../../src/templates/api-builder.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,6 @@
1
1
  import type { PageDef, GeneratedFile } from '@underpeaks/generator-core';
2
- /**
3
- * generateAppNav
4
- *
5
- * Was referenced by layout.ts ('../components/AppNav') but never actually
6
- * generated by any template — every project with a nav page would fail to
7
- * build. This is the missing piece.
8
- *
9
- * Mirrors Flutter's navigation.ts shell/drawer split, adapted for the web:
10
- * - top-nav / bottom-nav → a horizontal nav bar (bottom-nav has no native
11
- * web equivalent as a persistent OS-level bar the way it does on mobile;
12
- * rendered as a top bar here, same as top-nav, since both express "the
13
- * same links are always visible" intent).
14
- * - sidebar-nav / drawer-nav → a collapsible side panel (drawer becomes a
15
- * toggleable off-canvas panel on mobile widths, persistent sidebar on
16
- * desktop — matches how most Next.js dashboard layouts behave).
17
- * If pages mix nav types, sidebar/drawer takes visual priority (rendered
18
- * as the persistent panel) and top/bottom pages are folded into it as
19
- * regular links, rather than trying to render two separate nav structures
20
- * at once.
21
- */
2
+ export declare function effectiveWebHeader(page: PageDef): 'none' | 'top-nav' | 'sidebar-nav';
3
+ export declare function effectiveWebFooter(page: PageDef): 'none' | 'footer';
22
4
  export declare function generateAppNav(pages: PageDef[]): GeneratedFile;
5
+ export declare function generateAppFooter(pages: PageDef[]): GeneratedFile;
23
6
  //# sourceMappingURL=app-nav.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-nav.d.ts","sourceRoot":"","sources":["../../src/templates/app-nav.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAExE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,aAAa,CAgH9D"}
1
+ {"version":3,"file":"app-nav.d.ts","sourceRoot":"","sources":["../../src/templates/app-nav.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAExE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,aAAa,CAKpF;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAEnE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,aAAa,CA6G9D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,aAAa,CAwCjE"}
@@ -1,30 +1,25 @@
1
1
  "use strict";
2
2
  // File: underpeaks_codegen/packages/generator-nextjs/src/templates/app-nav.ts
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.effectiveWebHeader = effectiveWebHeader;
5
+ exports.effectiveWebFooter = effectiveWebFooter;
4
6
  exports.generateAppNav = generateAppNav;
5
- /**
6
- * generateAppNav
7
- *
8
- * Was referenced by layout.ts ('../components/AppNav') but never actually
9
- * generated by any template every project with a nav page would fail to
10
- * build. This is the missing piece.
11
- *
12
- * Mirrors Flutter's navigation.ts shell/drawer split, adapted for the web:
13
- * - top-nav / bottom-nav → a horizontal nav bar (bottom-nav has no native
14
- * web equivalent as a persistent OS-level bar the way it does on mobile;
15
- * rendered as a top bar here, same as top-nav, since both express "the
16
- * same links are always visible" intent).
17
- * - sidebar-nav / drawer-nav → a collapsible side panel (drawer becomes a
18
- * toggleable off-canvas panel on mobile widths, persistent sidebar on
19
- * desktop — matches how most Next.js dashboard layouts behave).
20
- * If pages mix nav types, sidebar/drawer takes visual priority (rendered
21
- * as the persistent panel) and top/bottom pages are folded into it as
22
- * regular links, rather than trying to render two separate nav structures
23
- * at once.
24
- */
7
+ exports.generateAppFooter = generateAppFooter;
8
+ function effectiveWebHeader(page) {
9
+ if (page.nav_settings?.web?.header)
10
+ return page.nav_settings.web.header;
11
+ if (page.nav_type === 'sidebar-nav' || page.nav_type === 'drawer-nav')
12
+ return 'sidebar-nav';
13
+ if (page.nav_type === 'top-nav' || page.nav_type === 'bottom-nav')
14
+ return 'top-nav';
15
+ return 'none';
16
+ }
17
+ function effectiveWebFooter(page) {
18
+ return page.nav_settings?.web?.footer ?? 'none';
19
+ }
25
20
  function generateAppNav(pages) {
26
- const navPages = pages.filter((p) => ['top-nav', 'sidebar-nav', 'bottom-nav', 'drawer-nav'].includes(p.nav_type ?? ''));
27
- const useSidebar = navPages.some((p) => p.nav_type === 'sidebar-nav' || p.nav_type === 'drawer-nav');
21
+ const navPages = pages.filter((p) => effectiveWebHeader(p) !== 'none');
22
+ const useSidebar = navPages.some((p) => effectiveWebHeader(p) === 'sidebar-nav');
28
23
  const lines = [];
29
24
  lines.push(`// GENERATED FILE — DO NOT EDIT MANUALLY`);
30
25
  lines.push(`// Generated by Underpeaks CodeGen v1.0.0`);
@@ -129,4 +124,42 @@ function generateAppNav(pages) {
129
124
  category: 'customizable',
130
125
  };
131
126
  }
127
+ function generateAppFooter(pages) {
128
+ const footerPages = pages.filter((p) => effectiveWebFooter(p) === 'footer');
129
+ const lines = [];
130
+ lines.push(`// GENERATED FILE — DO NOT EDIT MANUALLY`);
131
+ lines.push(`// Generated by Underpeaks CodeGen v1.0.0`);
132
+ lines.push(`// Regenerate: nxf generate nextjs`);
133
+ lines.push(``);
134
+ lines.push(`import Link from 'next/link'`);
135
+ lines.push(``);
136
+ lines.push(`const FOOTER_LINKS = [`);
137
+ for (const page of footerPages) {
138
+ const path = page.slug.replace(/^\//, '');
139
+ lines.push(` { href: '/${path}', label: '${page.name}' },`);
140
+ }
141
+ lines.push(`]`);
142
+ lines.push(``);
143
+ lines.push(`export default function AppFooter() {`);
144
+ lines.push(` return (`);
145
+ lines.push(` <footer className="border-t border-border mt-auto py-6 px-4">`);
146
+ lines.push(` <div className="container mx-auto flex flex-wrap items-center justify-between gap-4 text-sm text-nxf-text-muted">`);
147
+ lines.push(` <span>© {new Date().getFullYear()}</span>`);
148
+ lines.push(` <div className="flex gap-4">`);
149
+ lines.push(` {FOOTER_LINKS.map((link) => (`);
150
+ lines.push(` <Link key={link.href} href={link.href} className="hover:text-nxf-text">`);
151
+ lines.push(` {link.label}`);
152
+ lines.push(` </Link>`);
153
+ lines.push(` ))}`);
154
+ lines.push(` </div>`);
155
+ lines.push(` </div>`);
156
+ lines.push(` </footer>`);
157
+ lines.push(` )`);
158
+ lines.push(`}`);
159
+ return {
160
+ path: 'components/AppFooter.tsx',
161
+ content: lines.join('\n'),
162
+ category: 'customizable',
163
+ };
164
+ }
132
165
  //# sourceMappingURL=app-nav.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-nav.js","sourceRoot":"","sources":["../../src/templates/app-nav.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-nav.js","sourceRoot":"","sources":["../../src/templates/app-nav.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/templates/layout.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAExE,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,CAiDnF"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/templates/layout.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAGxE,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,CAqDnF"}