@underpeaks/generator-nextjs 1.0.47 → 1.0.49

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 (414) hide show
  1. package/dist/components/boolean/display/nxf_icon_check.js +5 -5
  2. package/dist/components/boolean/display/nxf_icon_check.js.map +1 -1
  3. package/dist/components/boolean/edit/nxf_checkbox.d.ts.map +1 -1
  4. package/dist/components/boolean/edit/nxf_checkbox.js +7 -8
  5. package/dist/components/boolean/edit/nxf_checkbox.js.map +1 -1
  6. package/dist/components/boolean/edit/nxf_radio_yes_no.d.ts.map +1 -1
  7. package/dist/components/boolean/edit/nxf_radio_yes_no.js +19 -12
  8. package/dist/components/boolean/edit/nxf_radio_yes_no.js.map +1 -1
  9. package/dist/components/boolean/edit/nxf_switch.d.ts.map +1 -1
  10. package/dist/components/boolean/edit/nxf_switch.js +5 -14
  11. package/dist/components/boolean/edit/nxf_switch.js.map +1 -1
  12. package/dist/components/boolean/edit/nxf_toggle.d.ts.map +1 -1
  13. package/dist/components/boolean/edit/nxf_toggle.js +5 -14
  14. package/dist/components/boolean/edit/nxf_toggle.js.map +1 -1
  15. package/dist/components/choice/display/nxf_checklist_display.d.ts.map +1 -1
  16. package/dist/components/choice/display/nxf_checklist_display.js +5 -3
  17. package/dist/components/choice/display/nxf_checklist_display.js.map +1 -1
  18. package/dist/components/choice/display/nxf_chip.d.ts.map +1 -1
  19. package/dist/components/choice/display/nxf_chip.js +3 -5
  20. package/dist/components/choice/display/nxf_chip.js.map +1 -1
  21. package/dist/components/choice/display/nxf_chip_list.js +4 -4
  22. package/dist/components/choice/display/nxf_chip_list.js.map +1 -1
  23. package/dist/components/choice/display/nxf_dropdown_display.js +1 -1
  24. package/dist/components/choice/display/nxf_dropdown_display.js.map +1 -1
  25. package/dist/components/choice/display/nxf_radio_display.js +1 -1
  26. package/dist/components/choice/display/nxf_radio_display.js.map +1 -1
  27. package/dist/components/choice/display/nxf_text_button.d.ts.map +1 -1
  28. package/dist/components/choice/display/nxf_text_button.js +4 -2
  29. package/dist/components/choice/display/nxf_text_button.js.map +1 -1
  30. package/dist/components/choice/edit/nxf_autocomplete.d.ts.map +1 -1
  31. package/dist/components/choice/edit/nxf_autocomplete.js +10 -9
  32. package/dist/components/choice/edit/nxf_autocomplete.js.map +1 -1
  33. package/dist/components/choice/edit/nxf_checkbox_group.d.ts.map +1 -1
  34. package/dist/components/choice/edit/nxf_checkbox_group.js +11 -8
  35. package/dist/components/choice/edit/nxf_checkbox_group.js.map +1 -1
  36. package/dist/components/choice/edit/nxf_multi_select.d.ts.map +1 -1
  37. package/dist/components/choice/edit/nxf_multi_select.js +11 -10
  38. package/dist/components/choice/edit/nxf_multi_select.js.map +1 -1
  39. package/dist/components/choice/edit/nxf_radio.js +13 -13
  40. package/dist/components/choice/edit/nxf_radio.js.map +1 -1
  41. package/dist/components/choice/edit/nxf_select.d.ts.map +1 -1
  42. package/dist/components/choice/edit/nxf_select.js +21 -15
  43. package/dist/components/choice/edit/nxf_select.js.map +1 -1
  44. package/dist/components/datetime/display/nxf_formatted_date.js +2 -2
  45. package/dist/components/datetime/display/nxf_formatted_date.js.map +1 -1
  46. package/dist/components/datetime/display/nxf_formatted_date_range.js +2 -2
  47. package/dist/components/datetime/display/nxf_formatted_date_range.js.map +1 -1
  48. package/dist/components/datetime/display/nxf_formatted_datetime.js +2 -2
  49. package/dist/components/datetime/display/nxf_formatted_datetime.js.map +1 -1
  50. package/dist/components/datetime/display/nxf_formatted_time.js +1 -1
  51. package/dist/components/datetime/display/nxf_formatted_time.js.map +1 -1
  52. package/dist/components/datetime/display/nxf_relative_time.js +1 -1
  53. package/dist/components/datetime/display/nxf_relative_time.js.map +1 -1
  54. package/dist/components/datetime/edit/nxf_date_picker.d.ts.map +1 -1
  55. package/dist/components/datetime/edit/nxf_date_picker.js +9 -7
  56. package/dist/components/datetime/edit/nxf_date_picker.js.map +1 -1
  57. package/dist/components/datetime/edit/nxf_date_range_picker.d.ts.map +1 -1
  58. package/dist/components/datetime/edit/nxf_date_range_picker.js +12 -10
  59. package/dist/components/datetime/edit/nxf_date_range_picker.js.map +1 -1
  60. package/dist/components/datetime/edit/nxf_datetime_picker.js +7 -7
  61. package/dist/components/datetime/edit/nxf_datetime_picker.js.map +1 -1
  62. package/dist/components/datetime/edit/nxf_month_picker.js +7 -7
  63. package/dist/components/datetime/edit/nxf_month_picker.js.map +1 -1
  64. package/dist/components/datetime/edit/nxf_relative_date_input.d.ts.map +1 -1
  65. package/dist/components/datetime/edit/nxf_relative_date_input.js +7 -4
  66. package/dist/components/datetime/edit/nxf_relative_date_input.js.map +1 -1
  67. package/dist/components/datetime/edit/nxf_time_picker.js +7 -7
  68. package/dist/components/datetime/edit/nxf_time_picker.js.map +1 -1
  69. package/dist/components/datetime/edit/nxf_week_picker.d.ts.map +1 -1
  70. package/dist/components/datetime/edit/nxf_week_picker.js +9 -8
  71. package/dist/components/datetime/edit/nxf_week_picker.js.map +1 -1
  72. package/dist/components/documents/display/nxf_file_download_link.d.ts.map +1 -1
  73. package/dist/components/documents/display/nxf_file_download_link.js +5 -3
  74. package/dist/components/documents/display/nxf_file_download_link.js.map +1 -1
  75. package/dist/components/documents/edit/nxf_document_upload.d.ts.map +1 -1
  76. package/dist/components/documents/edit/nxf_document_upload.js +13 -15
  77. package/dist/components/documents/edit/nxf_document_upload.js.map +1 -1
  78. package/dist/components/documents/edit/nxf_file_upload.d.ts.map +1 -1
  79. package/dist/components/documents/edit/nxf_file_upload.js +12 -14
  80. package/dist/components/documents/edit/nxf_file_upload.js.map +1 -1
  81. package/dist/components/files/edit/nxf_file_list_upload.d.ts.map +1 -1
  82. package/dist/components/files/edit/nxf_file_list_upload.js +8 -9
  83. package/dist/components/files/edit/nxf_file_list_upload.js.map +1 -1
  84. package/dist/components/identifier/display/nxf_barcode_display.js +1 -1
  85. package/dist/components/identifier/display/nxf_barcode_display.js.map +1 -1
  86. package/dist/components/identifier/display/nxf_qr_code_display.js +1 -1
  87. package/dist/components/identifier/display/nxf_qr_code_display.js.map +1 -1
  88. package/dist/components/lists/display/nxf_file_list_display.d.ts.map +1 -1
  89. package/dist/components/lists/display/nxf_file_list_display.js +5 -3
  90. package/dist/components/lists/display/nxf_file_list_display.js.map +1 -1
  91. package/dist/components/lists/display/nxf_list_display.js +3 -3
  92. package/dist/components/lists/display/nxf_list_display.js.map +1 -1
  93. package/dist/components/lists/display/nxf_ordered_list_display.js +3 -3
  94. package/dist/components/lists/display/nxf_ordered_list_display.js.map +1 -1
  95. package/dist/components/lists/edit/nxf_checklist.d.ts.map +1 -1
  96. package/dist/components/lists/edit/nxf_checklist.js +8 -6
  97. package/dist/components/lists/edit/nxf_checklist.js.map +1 -1
  98. package/dist/components/lists/edit/nxf_chip_list_input.d.ts.map +1 -1
  99. package/dist/components/lists/edit/nxf_chip_list_input.js +9 -7
  100. package/dist/components/lists/edit/nxf_chip_list_input.js.map +1 -1
  101. package/dist/components/lists/edit/nxf_list.d.ts.map +1 -1
  102. package/dist/components/lists/edit/nxf_list.js +8 -7
  103. package/dist/components/lists/edit/nxf_list.js.map +1 -1
  104. package/dist/components/lists/edit/nxf_ordered_list_input.d.ts.map +1 -1
  105. package/dist/components/lists/edit/nxf_ordered_list_input.js +8 -7
  106. package/dist/components/lists/edit/nxf_ordered_list_input.js.map +1 -1
  107. package/dist/components/lists/edit/nxf_repeater.d.ts.map +1 -1
  108. package/dist/components/lists/edit/nxf_repeater.js +11 -17
  109. package/dist/components/lists/edit/nxf_repeater.js.map +1 -1
  110. package/dist/components/lists/edit/nxf_tags_input.d.ts.map +1 -1
  111. package/dist/components/lists/edit/nxf_tags_input.js +9 -7
  112. package/dist/components/lists/edit/nxf_tags_input.js.map +1 -1
  113. package/dist/components/location/display/nxf_address_label.d.ts.map +1 -1
  114. package/dist/components/location/display/nxf_address_label.js +4 -2
  115. package/dist/components/location/display/nxf_address_label.js.map +1 -1
  116. package/dist/components/location/display/nxf_map_preview.d.ts.map +1 -1
  117. package/dist/components/location/display/nxf_map_preview.js +6 -4
  118. package/dist/components/location/display/nxf_map_preview.js.map +1 -1
  119. package/dist/components/location/edit/nxf_location_input.d.ts.map +1 -1
  120. package/dist/components/location/edit/nxf_location_input.js +12 -13
  121. package/dist/components/location/edit/nxf_location_input.js.map +1 -1
  122. package/dist/components/media/display/nxf_audio_player.js +2 -2
  123. package/dist/components/media/display/nxf_audio_player.js.map +1 -1
  124. package/dist/components/media/display/nxf_video_player.js +3 -3
  125. package/dist/components/media/display/nxf_video_player.js.map +1 -1
  126. package/dist/components/media/edit/nxf_audio_upload.d.ts.map +1 -1
  127. package/dist/components/media/edit/nxf_audio_upload.js +39 -51
  128. package/dist/components/media/edit/nxf_audio_upload.js.map +1 -1
  129. package/dist/components/media/edit/nxf_signature_pad.d.ts.map +1 -1
  130. package/dist/components/media/edit/nxf_signature_pad.js +10 -8
  131. package/dist/components/media/edit/nxf_signature_pad.js.map +1 -1
  132. package/dist/components/media/edit/nxf_video_upload.d.ts.map +1 -1
  133. package/dist/components/media/edit/nxf_video_upload.js +12 -14
  134. package/dist/components/media/edit/nxf_video_upload.js.map +1 -1
  135. package/dist/components/numeric/display/nxf_formatted_currency.js +1 -1
  136. package/dist/components/numeric/display/nxf_formatted_currency.js.map +1 -1
  137. package/dist/components/numeric/display/nxf_formatted_percentage.js +1 -1
  138. package/dist/components/numeric/display/nxf_formatted_percentage.js.map +1 -1
  139. package/dist/components/numeric/display/nxf_formatted_unit.js +1 -1
  140. package/dist/components/numeric/display/nxf_formatted_unit.js.map +1 -1
  141. package/dist/components/numeric/display/nxf_progress_bar.d.ts.map +1 -1
  142. package/dist/components/numeric/display/nxf_progress_bar.js +3 -5
  143. package/dist/components/numeric/display/nxf_progress_bar.js.map +1 -1
  144. package/dist/components/numeric/display/nxf_star_display.d.ts.map +1 -1
  145. package/dist/components/numeric/display/nxf_star_display.js +3 -1
  146. package/dist/components/numeric/display/nxf_star_display.js.map +1 -1
  147. package/dist/components/numeric/edit/nxf_counter.d.ts.map +1 -1
  148. package/dist/components/numeric/edit/nxf_counter.js +8 -15
  149. package/dist/components/numeric/edit/nxf_counter.js.map +1 -1
  150. package/dist/components/numeric/edit/nxf_currency_input.d.ts.map +1 -1
  151. package/dist/components/numeric/edit/nxf_currency_input.js +9 -7
  152. package/dist/components/numeric/edit/nxf_currency_input.js.map +1 -1
  153. package/dist/components/numeric/edit/nxf_distance_input.d.ts.map +1 -1
  154. package/dist/components/numeric/edit/nxf_distance_input.js +8 -6
  155. package/dist/components/numeric/edit/nxf_distance_input.js.map +1 -1
  156. package/dist/components/numeric/edit/nxf_number_input.js +6 -6
  157. package/dist/components/numeric/edit/nxf_number_input.js.map +1 -1
  158. package/dist/components/numeric/edit/nxf_percentage_input.js +6 -6
  159. package/dist/components/numeric/edit/nxf_percentage_input.js.map +1 -1
  160. package/dist/components/numeric/edit/nxf_range_slider.d.ts.map +1 -1
  161. package/dist/components/numeric/edit/nxf_range_slider.js +15 -29
  162. package/dist/components/numeric/edit/nxf_range_slider.js.map +1 -1
  163. package/dist/components/numeric/edit/nxf_rating.d.ts.map +1 -1
  164. package/dist/components/numeric/edit/nxf_rating.js +7 -9
  165. package/dist/components/numeric/edit/nxf_rating.js.map +1 -1
  166. package/dist/components/numeric/edit/nxf_slider.d.ts.map +1 -1
  167. package/dist/components/numeric/edit/nxf_slider.js +8 -7
  168. package/dist/components/numeric/edit/nxf_slider.js.map +1 -1
  169. package/dist/components/numeric/edit/nxf_stepper.d.ts.map +1 -1
  170. package/dist/components/numeric/edit/nxf_stepper.js +8 -15
  171. package/dist/components/numeric/edit/nxf_stepper.js.map +1 -1
  172. package/dist/components/numeric/edit/nxf_weight_input.js +6 -6
  173. package/dist/components/numeric/edit/nxf_weight_input.js.map +1 -1
  174. package/dist/components/other/display/nxf_signature_display.d.ts.map +1 -1
  175. package/dist/components/other/display/nxf_signature_display.js +3 -4
  176. package/dist/components/other/display/nxf_signature_display.js.map +1 -1
  177. package/dist/components/reference/edit/nxf_icon_picker.d.ts.map +1 -1
  178. package/dist/components/reference/edit/nxf_icon_picker.js +9 -8
  179. package/dist/components/reference/edit/nxf_icon_picker.js.map +1 -1
  180. package/dist/components/reference/edit/nxf_image_url.d.ts.map +1 -1
  181. package/dist/components/reference/edit/nxf_image_url.js +9 -10
  182. package/dist/components/reference/edit/nxf_image_url.js.map +1 -1
  183. package/dist/components/reference/edit/nxf_media_picker.d.ts.map +1 -1
  184. package/dist/components/reference/edit/nxf_media_picker.js +10 -13
  185. package/dist/components/reference/edit/nxf_media_picker.js.map +1 -1
  186. package/dist/components/structured_data/display/nxf_json_viewer_display.d.ts.map +1 -1
  187. package/dist/components/structured_data/display/nxf_json_viewer_display.js +1 -3
  188. package/dist/components/structured_data/display/nxf_json_viewer_display.js.map +1 -1
  189. package/dist/components/structured_data/display/nxf_key_value_display.js +3 -3
  190. package/dist/components/structured_data/display/nxf_key_value_display.js.map +1 -1
  191. package/dist/components/structured_data/edit/nxf_form_builder.d.ts.map +1 -1
  192. package/dist/components/structured_data/edit/nxf_form_builder.js +13 -21
  193. package/dist/components/structured_data/edit/nxf_form_builder.js.map +1 -1
  194. package/dist/components/structured_data/edit/nxf_json_viewer.js +10 -10
  195. package/dist/components/structured_data/edit/nxf_json_viewer.js.map +1 -1
  196. package/dist/components/structured_data/edit/nxf_key_value_editor.d.ts.map +1 -1
  197. package/dist/components/structured_data/edit/nxf_key_value_editor.js +13 -21
  198. package/dist/components/structured_data/edit/nxf_key_value_editor.js.map +1 -1
  199. package/dist/components/structured_data/edit/nxf_schema_editor.d.ts.map +1 -1
  200. package/dist/components/structured_data/edit/nxf_schema_editor.js +7 -6
  201. package/dist/components/structured_data/edit/nxf_schema_editor.js.map +1 -1
  202. package/dist/components/text/display/nxf_badge.d.ts.map +1 -1
  203. package/dist/components/text/display/nxf_badge.js +3 -5
  204. package/dist/components/text/display/nxf_badge.js.map +1 -1
  205. package/dist/components/text/display/nxf_code_block.js +1 -1
  206. package/dist/components/text/display/nxf_code_block.js.map +1 -1
  207. package/dist/components/text/display/nxf_color_swatch.js +3 -3
  208. package/dist/components/text/display/nxf_color_swatch.js.map +1 -1
  209. package/dist/components/text/display/nxf_heading.js +1 -1
  210. package/dist/components/text/display/nxf_heading.js.map +1 -1
  211. package/dist/components/text/display/nxf_label.js +1 -1
  212. package/dist/components/text/display/nxf_label.js.map +1 -1
  213. package/dist/components/text/display/nxf_link.js +2 -2
  214. package/dist/components/text/display/nxf_link.js.map +1 -1
  215. package/dist/components/text/display/nxf_mailto_link.d.ts.map +1 -1
  216. package/dist/components/text/display/nxf_mailto_link.js +5 -3
  217. package/dist/components/text/display/nxf_mailto_link.js.map +1 -1
  218. package/dist/components/text/display/nxf_masked_label.js +1 -1
  219. package/dist/components/text/display/nxf_masked_label.js.map +1 -1
  220. package/dist/components/text/display/nxf_paragraph.js +1 -1
  221. package/dist/components/text/display/nxf_paragraph.js.map +1 -1
  222. package/dist/components/text/display/nxf_rendered_html.js +2 -2
  223. package/dist/components/text/display/nxf_rendered_html.js.map +1 -1
  224. package/dist/components/text/display/nxf_rendered_markdown.js +1 -1
  225. package/dist/components/text/display/nxf_rendered_markdown.js.map +1 -1
  226. package/dist/components/text/display/nxf_tel_link.d.ts.map +1 -1
  227. package/dist/components/text/display/nxf_tel_link.js +5 -3
  228. package/dist/components/text/display/nxf_tel_link.js.map +1 -1
  229. package/dist/components/text/display/nxf_truncated_text.js +1 -1
  230. package/dist/components/text/display/nxf_truncated_text.js.map +1 -1
  231. package/dist/components/text/edit/nxf_barcode_input.d.ts.map +1 -1
  232. package/dist/components/text/edit/nxf_barcode_input.js +10 -15
  233. package/dist/components/text/edit/nxf_barcode_input.js.map +1 -1
  234. package/dist/components/text/edit/nxf_code_editor.d.ts.map +1 -1
  235. package/dist/components/text/edit/nxf_code_editor.js +7 -6
  236. package/dist/components/text/edit/nxf_code_editor.js.map +1 -1
  237. package/dist/components/text/edit/nxf_color_picker.d.ts.map +1 -1
  238. package/dist/components/text/edit/nxf_color_picker.js +9 -7
  239. package/dist/components/text/edit/nxf_color_picker.js.map +1 -1
  240. package/dist/components/text/edit/nxf_email_input.js +6 -6
  241. package/dist/components/text/edit/nxf_email_input.js.map +1 -1
  242. package/dist/components/text/edit/nxf_html_editor.d.ts.map +1 -1
  243. package/dist/components/text/edit/nxf_html_editor.js +7 -6
  244. package/dist/components/text/edit/nxf_html_editor.js.map +1 -1
  245. package/dist/components/text/edit/nxf_markdown_editor.d.ts.map +1 -1
  246. package/dist/components/text/edit/nxf_markdown_editor.js +7 -6
  247. package/dist/components/text/edit/nxf_markdown_editor.js.map +1 -1
  248. package/dist/components/text/edit/nxf_masked_input.js +8 -8
  249. package/dist/components/text/edit/nxf_masked_input.js.map +1 -1
  250. package/dist/components/text/edit/nxf_otp_input.d.ts.map +1 -1
  251. package/dist/components/text/edit/nxf_otp_input.js +19 -29
  252. package/dist/components/text/edit/nxf_otp_input.js.map +1 -1
  253. package/dist/components/text/edit/nxf_password_input.js +7 -7
  254. package/dist/components/text/edit/nxf_password_input.js.map +1 -1
  255. package/dist/components/text/edit/nxf_phone_input.js +6 -6
  256. package/dist/components/text/edit/nxf_phone_input.js.map +1 -1
  257. package/dist/components/text/edit/nxf_qr_code_input.d.ts.map +1 -1
  258. package/dist/components/text/edit/nxf_qr_code_input.js +9 -12
  259. package/dist/components/text/edit/nxf_qr_code_input.js.map +1 -1
  260. package/dist/components/text/edit/nxf_rich_text.d.ts.map +1 -1
  261. package/dist/components/text/edit/nxf_rich_text.js +7 -6
  262. package/dist/components/text/edit/nxf_rich_text.js.map +1 -1
  263. package/dist/components/text/edit/nxf_search_input.js +6 -6
  264. package/dist/components/text/edit/nxf_search_input.js.map +1 -1
  265. package/dist/components/text/edit/nxf_slug_input.js +6 -6
  266. package/dist/components/text/edit/nxf_slug_input.js.map +1 -1
  267. package/dist/components/text/edit/nxf_textarea.js +6 -6
  268. package/dist/components/text/edit/nxf_textarea.js.map +1 -1
  269. package/dist/components/text/edit/nxf_textfield.js +6 -6
  270. package/dist/components/text/edit/nxf_textfield.js.map +1 -1
  271. package/dist/components/text/edit/nxf_url_input.js +6 -6
  272. package/dist/components/text/edit/nxf_url_input.js.map +1 -1
  273. package/dist/components/upload/display/nxf_avatar_display.d.ts.map +1 -1
  274. package/dist/components/upload/display/nxf_avatar_display.js +6 -17
  275. package/dist/components/upload/display/nxf_avatar_display.js.map +1 -1
  276. package/dist/components/upload/display/nxf_image_carousel.d.ts.map +1 -1
  277. package/dist/components/upload/display/nxf_image_carousel.js +7 -4
  278. package/dist/components/upload/display/nxf_image_carousel.js.map +1 -1
  279. package/dist/components/upload/display/nxf_image_grid.js +2 -2
  280. package/dist/components/upload/display/nxf_image_grid.js.map +1 -1
  281. package/dist/components/upload/display/nxf_single_image.js +2 -2
  282. package/dist/components/upload/display/nxf_single_image.js.map +1 -1
  283. package/dist/components/upload/display/nxf_thumbnail.js +1 -1
  284. package/dist/components/upload/display/nxf_thumbnail.js.map +1 -1
  285. package/dist/components/upload/edit/nxf_avatar_upload.d.ts.map +1 -1
  286. package/dist/components/upload/edit/nxf_avatar_upload.js +10 -13
  287. package/dist/components/upload/edit/nxf_avatar_upload.js.map +1 -1
  288. package/dist/components/upload/edit/nxf_cover_image_upload.d.ts.map +1 -1
  289. package/dist/components/upload/edit/nxf_cover_image_upload.js +9 -10
  290. package/dist/components/upload/edit/nxf_cover_image_upload.js.map +1 -1
  291. package/dist/components/upload/edit/nxf_image_gallery_upload.d.ts.map +1 -1
  292. package/dist/components/upload/edit/nxf_image_gallery_upload.js +7 -5
  293. package/dist/components/upload/edit/nxf_image_gallery_upload.js.map +1 -1
  294. package/dist/components/upload/edit/nxf_image_upload.d.ts.map +1 -1
  295. package/dist/components/upload/edit/nxf_image_upload.js +10 -13
  296. package/dist/components/upload/edit/nxf_image_upload.js.map +1 -1
  297. package/dist/generator.d.ts.map +1 -1
  298. package/dist/generator.js +39 -55
  299. package/dist/generator.js.map +1 -1
  300. package/dist/templates/api-auth-routes.d.ts +3 -0
  301. package/dist/templates/api-auth-routes.d.ts.map +1 -0
  302. package/dist/templates/api-auth-routes.js +330 -0
  303. package/dist/templates/api-auth-routes.js.map +1 -0
  304. package/dist/templates/app-nav.d.ts.map +1 -1
  305. package/dist/templates/app-nav.js +5 -3
  306. package/dist/templates/app-nav.js.map +1 -1
  307. package/dist/templates/auth-bootstrap.d.ts +3 -0
  308. package/dist/templates/auth-bootstrap.d.ts.map +1 -0
  309. package/dist/templates/auth-bootstrap.js +82 -0
  310. package/dist/templates/auth-bootstrap.js.map +1 -0
  311. package/dist/templates/auth-guard.d.ts +3 -0
  312. package/dist/templates/auth-guard.d.ts.map +1 -0
  313. package/dist/templates/auth-guard.js +29 -0
  314. package/dist/templates/auth-guard.js.map +1 -0
  315. package/dist/templates/customer-auth.d.ts +3 -0
  316. package/dist/templates/customer-auth.d.ts.map +1 -0
  317. package/dist/templates/customer-auth.js +108 -0
  318. package/dist/templates/customer-auth.js.map +1 -0
  319. package/dist/templates/layout.d.ts.map +1 -1
  320. package/dist/templates/layout.js +7 -9
  321. package/dist/templates/layout.js.map +1 -1
  322. package/dist/templates/middleware.d.ts +3 -0
  323. package/dist/templates/middleware.d.ts.map +1 -0
  324. package/dist/templates/middleware.js +96 -0
  325. package/dist/templates/middleware.js.map +1 -0
  326. package/dist/templates/page-auth.d.ts +1 -1
  327. package/dist/templates/page-auth.d.ts.map +1 -1
  328. package/dist/templates/page-auth.js +144 -275
  329. package/dist/templates/page-auth.js.map +1 -1
  330. package/dist/templates/page-blog-post.js +8 -8
  331. package/dist/templates/page-blog-post.js.map +1 -1
  332. package/dist/templates/page-calendar.d.ts.map +1 -1
  333. package/dist/templates/page-calendar.js +12 -11
  334. package/dist/templates/page-calendar.js.map +1 -1
  335. package/dist/templates/page-cart.d.ts.map +1 -1
  336. package/dist/templates/page-cart.js +11 -8
  337. package/dist/templates/page-cart.js.map +1 -1
  338. package/dist/templates/page-chat.d.ts.map +1 -1
  339. package/dist/templates/page-chat.js +9 -8
  340. package/dist/templates/page-chat.js.map +1 -1
  341. package/dist/templates/page-checkout.d.ts.map +1 -1
  342. package/dist/templates/page-checkout.js +20 -18
  343. package/dist/templates/page-checkout.js.map +1 -1
  344. package/dist/templates/page-custom.d.ts.map +1 -1
  345. package/dist/templates/page-custom.js +9 -5
  346. package/dist/templates/page-custom.js.map +1 -1
  347. package/dist/templates/page-dashboard.d.ts.map +1 -1
  348. package/dist/templates/page-dashboard.js +15 -12
  349. package/dist/templates/page-dashboard.js.map +1 -1
  350. package/dist/templates/page-detail.d.ts +1 -1
  351. package/dist/templates/page-detail.d.ts.map +1 -1
  352. package/dist/templates/page-detail.js +104 -214
  353. package/dist/templates/page-detail.js.map +1 -1
  354. package/dist/templates/page-feed.d.ts.map +1 -1
  355. package/dist/templates/page-feed.js +25 -20
  356. package/dist/templates/page-feed.js.map +1 -1
  357. package/dist/templates/page-forgot-password.d.ts +3 -0
  358. package/dist/templates/page-forgot-password.d.ts.map +1 -0
  359. package/dist/templates/page-forgot-password.js +92 -0
  360. package/dist/templates/page-forgot-password.js.map +1 -0
  361. package/dist/templates/page-form.d.ts.map +1 -1
  362. package/dist/templates/page-form.js +10 -8
  363. package/dist/templates/page-form.js.map +1 -1
  364. package/dist/templates/page-gallery.js +7 -7
  365. package/dist/templates/page-gallery.js.map +1 -1
  366. package/dist/templates/page-invoice.d.ts.map +1 -1
  367. package/dist/templates/page-invoice.js +27 -22
  368. package/dist/templates/page-invoice.js.map +1 -1
  369. package/dist/templates/page-kanban.d.ts.map +1 -1
  370. package/dist/templates/page-kanban.js +12 -9
  371. package/dist/templates/page-kanban.js.map +1 -1
  372. package/dist/templates/page-landing-hero-cta.js +6 -6
  373. package/dist/templates/page-landing-hero-cta.js.map +1 -1
  374. package/dist/templates/page-landing-hero-features.js +4 -4
  375. package/dist/templates/page-landing-hero-features.js.map +1 -1
  376. package/dist/templates/page-landing-hero-pricing.d.ts.map +1 -1
  377. package/dist/templates/page-landing-hero-pricing.js +11 -7
  378. package/dist/templates/page-landing-hero-pricing.js.map +1 -1
  379. package/dist/templates/page-landing-minimal.js +1 -1
  380. package/dist/templates/page-landing-minimal.js.map +1 -1
  381. package/dist/templates/page-landing.d.ts.map +1 -1
  382. package/dist/templates/page-landing.js +61 -51
  383. package/dist/templates/page-landing.js.map +1 -1
  384. package/dist/templates/page-list.d.ts.map +1 -1
  385. package/dist/templates/page-list.js +29 -40
  386. package/dist/templates/page-list.js.map +1 -1
  387. package/dist/templates/page-map.d.ts.map +1 -1
  388. package/dist/templates/page-map.js +11 -7
  389. package/dist/templates/page-map.js.map +1 -1
  390. package/dist/templates/page-messages.d.ts.map +1 -1
  391. package/dist/templates/page-messages.js +9 -5
  392. package/dist/templates/page-messages.js.map +1 -1
  393. package/dist/templates/page-otp-entry.d.ts.map +1 -1
  394. package/dist/templates/page-otp-entry.js +36 -30
  395. package/dist/templates/page-otp-entry.js.map +1 -1
  396. package/dist/templates/page-otp-request.d.ts.map +1 -1
  397. package/dist/templates/page-otp-request.js +20 -14
  398. package/dist/templates/page-otp-request.js.map +1 -1
  399. package/dist/templates/page-profile.d.ts.map +1 -1
  400. package/dist/templates/page-profile.js +20 -17
  401. package/dist/templates/page-profile.js.map +1 -1
  402. package/dist/templates/page-reset-password.d.ts.map +1 -1
  403. package/dist/templates/page-reset-password.js +29 -24
  404. package/dist/templates/page-reset-password.js.map +1 -1
  405. package/dist/templates/page-search.d.ts.map +1 -1
  406. package/dist/templates/page-search.js +15 -11
  407. package/dist/templates/page-search.js.map +1 -1
  408. package/dist/templates/page-settings.d.ts.map +1 -1
  409. package/dist/templates/page-settings.js +32 -34
  410. package/dist/templates/page-settings.js.map +1 -1
  411. package/dist/templates/page-wallet.d.ts.map +1 -1
  412. package/dist/templates/page-wallet.js +29 -24
  413. package/dist/templates/page-wallet.js.map +1 -1
  414. package/package.json +1 -1
package/dist/generator.js CHANGED
@@ -1,11 +1,5 @@
1
1
  "use strict";
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.
2
+ // File: D:\underpeaks\underpeaks_codegen\packages\generator-nextjs\src\generator.ts
9
3
  Object.defineProperty(exports, "__esModule", { value: true });
10
4
  exports.generateNextjs = generateNextjs;
11
5
  const generator_core_1 = require("@underpeaks/generator-core");
@@ -18,10 +12,7 @@ const page_list_1 = require("./templates/page-list");
18
12
  const page_detail_1 = require("./templates/page-detail");
19
13
  const page_form_1 = require("./templates/page-form");
20
14
  const page_auth_1 = require("./templates/page-auth");
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).
15
+ const page_forgot_password_1 = require("./templates/page-forgot-password");
25
16
  const page_landing_hero_cta_1 = require("./templates/page-landing-hero-cta");
26
17
  const page_landing_hero_features_1 = require("./templates/page-landing-hero-features");
27
18
  const page_landing_hero_pricing_1 = require("./templates/page-landing-hero-pricing");
@@ -29,10 +20,6 @@ const page_landing_minimal_1 = require("./templates/page-landing-minimal");
29
20
  const page_dashboard_1 = require("./templates/page-dashboard");
30
21
  const page_profile_1 = require("./templates/page-profile");
31
22
  const page_blog_post_1 = require("./templates/page-blog-post");
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.
36
23
  const page_cart_1 = require("./templates/page-cart");
37
24
  const page_checkout_1 = require("./templates/page-checkout");
38
25
  const page_wallet_1 = require("./templates/page-wallet");
@@ -46,8 +33,7 @@ const page_settings_1 = require("./templates/page-settings");
46
33
  const page_gallery_1 = require("./templates/page-gallery");
47
34
  const page_kanban_1 = require("./templates/page-kanban");
48
35
  const page_calendar_1 = require("./templates/page-calendar");
49
- const page_otp_request_1 = require("./templates/page-otp-request");
50
- const page_otp_entry_1 = require("./templates/page-otp-entry");
36
+ const page_reset_password_1 = require("./templates/page-reset-password");
51
37
  const page_custom_1 = require("./templates/page-custom");
52
38
  const tailwind_1 = require("./templates/tailwind");
53
39
  const theme_1 = require("./templates/theme");
@@ -60,12 +46,11 @@ const api_builder_1 = require("./templates/api-builder");
60
46
  const index_1 = require("./integrations/index");
61
47
  const storage_1 = require("./integrations/storage");
62
48
  const validators_1 = require("./templates/validators");
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.
49
+ // NEW today auth session plumbing that never existed for Next.js before.
50
+ const customer_auth_1 = require("./templates/customer-auth");
51
+ const api_auth_routes_1 = require("./templates/api-auth-routes");
52
+ const auth_bootstrap_1 = require("./templates/auth-bootstrap");
53
+ const middleware_1 = require("./templates/middleware");
69
54
  async function generateNextjs(data) {
70
55
  const filtered = (0, generator_core_1.filterProjectData)(data);
71
56
  const files = [];
@@ -84,6 +69,22 @@ async function generateNextjs(data) {
84
69
  files.push((0, app_nav_1.generateAppFooter)(filtered.pages));
85
70
  }
86
71
  files.push((0, env_1.generateEnvTemplate)(data.project_id));
72
+ // NEW: cookie-session helper + all /api/auth/* route handlers + the
73
+ // client-side bootstrap wrapper are now unconditional — every
74
+ // generated Next.js app needs a working session, since even 'Public'
75
+ // pages benefit from an anonymous user_id (cart, wishlist, etc.) per
76
+ // the auth design finalized today. Previously none of this existed —
77
+ // page-auth.ts's sign-in/sign-up calls to /api/auth/signin have never
78
+ // had a real route behind them until now.
79
+ files.push((0, customer_auth_1.generateCustomerAuth)());
80
+ files.push(...(0, api_auth_routes_1.generateApiAuthRoutes)());
81
+ files.push((0, auth_bootstrap_1.generateAuthBootstrap)());
82
+ // NEW: middleware.ts only gets generated when at least one page is set
83
+ // to 'Authenticated' visibility — no point shipping a middleware file
84
+ // that matches nothing (see generateMiddleware's own anti-bloat check).
85
+ const middlewareFile = (0, middleware_1.generateMiddleware)(filtered.pages);
86
+ if (middlewareFile)
87
+ files.push(middlewareFile);
87
88
  for (const model of filtered.models) {
88
89
  files.push((0, types_1.generateTypes)(model));
89
90
  files.push((0, api_route_1.generateApiRoute)(model, data.source));
@@ -93,10 +94,6 @@ async function generateNextjs(data) {
93
94
  files.push((0, tailwind_1.generateTailwindConfig)(data.theme));
94
95
  files.push((0, theme_1.generateTheme)(data.theme));
95
96
  }
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
97
  if (data.source !== 'core') {
101
98
  const apiBuilderFile = (0, api_builder_1.generateApiBuilderNextjs)(data.endpoints ?? []);
102
99
  if (apiBuilderFile)
@@ -111,56 +108,49 @@ async function generateNextjs(data) {
111
108
  for (const page of filtered.pages) {
112
109
  const model = filtered.models.find((m) => m.sm_id === page.model_id);
113
110
  if (generator_core_1.AUTH_TEMPLATE_TYPES.includes(page.template_type)) {
114
- // NAVIGATOR: pages passed through so sign-in/sign-up/forgot-password
115
- // links resolve to real slugs instead of hardcoded literals.
116
111
  files.push(...(0, page_auth_1.generateNextjsAuthPages)(page, filtered.pages));
117
112
  continue;
118
113
  }
119
114
  switch (page.template_type) {
120
115
  case 'list':
121
116
  case 'grid':
122
- // NAVIGATOR: routes + pages passed through for card-tap/button triggers.
123
117
  if (model)
124
118
  files.push((0, page_list_1.generateListPage)(page, model, data.project_type, filtered.routes, filtered.pages));
125
119
  break;
126
120
  case 'detail':
127
- // NAVIGATOR: routes + pages passed through for back/button triggers.
121
+ // FIX: generateDetailPage now returns GeneratedFile[] an
122
+ // 'authenticated'-visibility detail page produces TWO files
123
+ // (a server guard wrapper + the underlying client component),
124
+ // a Public one produces two as well (a thin re-export + the
125
+ // client component) so the file layout is consistent either way.
126
+ // Previously this pushed a single file; must spread now.
128
127
  if (model)
129
- files.push((0, page_detail_1.generateDetailPage)(page, model, filtered.routes, filtered.pages));
128
+ files.push(...(0, page_detail_1.generateDetailPage)(page, model, filtered.routes, filtered.pages));
130
129
  break;
131
130
  case 'form':
132
131
  case 'contact':
133
- // FIX: 'contact' now routes through the generic model-driven form
134
- // generator instead of the disabled page-contact.ts — matches Flutter.
135
132
  if (model)
136
133
  files.push((0, page_form_1.generateFormPage)(page, model));
137
134
  break;
138
135
  case 'dashboard':
139
- // NAVIGATOR: routes + pages passed through for card-tap trigger.
140
136
  files.push((0, page_dashboard_1.generateDashboardPage)(page, model, filtered.routes, filtered.pages));
141
137
  break;
142
138
  case 'profile':
143
- // NAVIGATOR: routes + pages passed through for back/button triggers.
144
139
  files.push((0, page_profile_1.generateProfilePage)(page, model, filtered.routes, filtered.pages));
145
140
  break;
146
141
  case 'blog-post':
147
- // NAVIGATOR: routes + pages passed through for back/button triggers.
148
142
  files.push((0, page_blog_post_1.generateBlogPostPage)(page, model, filtered.routes, filtered.pages));
149
143
  break;
150
144
  case 'cart':
151
- // NAVIGATOR: routes + pages passed through for back-trigger override.
152
145
  files.push((0, page_cart_1.generateCartPage)(page, filtered.routes, filtered.pages));
153
146
  break;
154
147
  case 'checkout':
155
- // NAVIGATOR: routes + pages passed through for button-trigger override.
156
148
  files.push((0, page_checkout_1.generateCheckoutPage)(page, filtered.routes, filtered.pages));
157
149
  break;
158
150
  case 'wallet':
159
- // NAVIGATOR: routes + pages passed through for label-matched button routes.
160
151
  files.push((0, page_wallet_1.generateWalletPage)(page, filtered.routes, filtered.pages));
161
152
  break;
162
153
  case 'invoice':
163
- // NAVIGATOR: routes + pages passed through for back/button triggers.
164
154
  files.push((0, page_invoice_1.generateInvoicePage)(page, model, filtered.routes, filtered.pages));
165
155
  break;
166
156
  case 'chat':
@@ -170,43 +160,38 @@ async function generateNextjs(data) {
170
160
  files.push((0, page_messages_1.generateMessagesPage)(page));
171
161
  break;
172
162
  case 'feed':
173
- // NAVIGATOR: routes + pages passed through for card-tap/button triggers.
174
163
  files.push((0, page_feed_1.generateFeedPage)(page, model, filtered.routes, filtered.pages));
175
164
  break;
176
165
  case 'map':
177
166
  files.push((0, page_map_1.generateMapPage)(page));
178
167
  break;
179
168
  case 'search':
180
- files.push((0, page_search_1.generateSearchPage)(page, model));
169
+ files.push((0, page_search_1.generateSearchPage)(page, model, filtered.routes, filtered.pages));
181
170
  break;
182
171
  case 'settings':
183
172
  files.push((0, page_settings_1.generateSettingsPage)(page));
184
173
  break;
185
174
  case 'gallery':
186
- // NAVIGATOR: routes + pages passed through for card-tap/button triggers.
187
175
  files.push((0, page_gallery_1.generateGalleryPage)(page, model, filtered.routes, filtered.pages));
188
176
  break;
189
177
  case 'kanban':
190
- // NAVIGATOR: routes + pages passed through for card-tap trigger.
191
178
  files.push((0, page_kanban_1.generateKanbanPage)(page, model, filtered.routes, filtered.pages));
192
179
  break;
193
180
  case 'calendar':
194
- // NAVIGATOR: routes + pages passed through for card-tap trigger.
195
181
  files.push((0, page_calendar_1.generateCalendarPage)(page, model, filtered.routes, filtered.pages));
196
182
  break;
197
- case 'otp_request':
198
- // NAVIGATOR: routes + pages passed through for button-trigger override.
199
- files.push((0, page_otp_request_1.generateOtpRequestPage)(page, filtered.routes, filtered.pages));
183
+ case 'reset_password':
184
+ files.push((0, page_reset_password_1.generateResetPasswordPage)(page, filtered.routes, filtered.pages));
200
185
  break;
201
- case 'otp_entry':
202
- files.push((0, page_otp_entry_1.generateOtpEntryPage)(page));
186
+ case 'forgot_password':
187
+ // NEW: this case existed already but generateForgotPasswordPage
188
+ // never existed until today — was almost certainly a build
189
+ // error or silently unreachable before now.
190
+ files.push((0, page_forgot_password_1.generateForgotPasswordPage)(page));
203
191
  break;
204
192
  case 'custom':
205
193
  files.push((0, page_custom_1.generateCustomPage)(page));
206
194
  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
195
  case 'landing-hero-cta':
211
196
  files.push((0, page_landing_hero_cta_1.generateLandingHeroCta)(page, filtered.routes, filtered.pages));
212
197
  break;
@@ -219,7 +204,6 @@ async function generateNextjs(data) {
219
204
  case 'landing-minimal':
220
205
  files.push((0, page_landing_minimal_1.generateLandingMinimal)(page));
221
206
  break;
222
- // 'reset_password' deliberately has no case — see NOTE at top of file.
223
207
  default:
224
208
  if (generator_core_1.STANDARD_TEMPLATE_TYPES.includes(page.template_type)) {
225
209
  console.warn(`[nxf] template_type '${page.template_type}' is listed as standard but has no generator wired in generator.ts.`);
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,EAAE;AACF,2EAA2E;AAC3E,0EAA0E;AAC1E,yEAAyE;AACzE,0EAA0E;AAC1E,oEAAoE;;AAsEpE,wCAwLC;AA3PD,+DAOmC;AACnC,8DAA6E;AAC7E,oEAAgF;AAChF,6CAAmE;AACnE,qDAAuE;AACvE,2DAA0E;AAC1E,qDAAuE;AACvE,yDAAyE;AACzE,qDAAuE;AACvE,qDAAuE;AACvE,oEAAoE;AACpE,wEAAwE;AACxE,mEAAmE;AACnE,wEAAwE;AACxE,6EAAmF;AACnF,uFAAwF;AACxF,qFAAuF;AACvF,2EAAkF;AAClF,+DAA4E;AAC5E,2DAA0E;AAC1E,+DAA4E;AAC5E,sEAAsE;AACtE,0EAA0E;AAC1E,sEAAsE;AACtE,2CAA2C;AAC3C,qDAAuE;AACvE,6DAA2E;AAC3E,yDAAyE;AACzE,2DAA0E;AAC1E,qDAAuE;AACvE,6DAA2E;AAC3E,qDAAuE;AACvE,mDAAsE;AACtE,yDAAyE;AACzE,6DAA2E;AAC3E,2DAA0E;AAC1E,yDAAyE;AACzE,6DAA2E;AAC3E,mEAA8E;AAC9E,+DAA4E;AAC5E,yDAAyE;AACzE,mDAAsE;AACtE,6CAAmE;AACnE,uDAAwE;AACxE,+CAAoE;AACpE,iDAA+G;AAC/G,yCAAiE;AACjE,+CAAoE;AACpE,yDAAyE;AACzE,gDAAsE;AACtE,oDAAwE;AACxE,uDAAwE;AAExE,wEAAwE;AACxE,0EAA0E;AAC1E,0EAA0E;AAC1E,uEAAuE;AACvE,yEAAyE;AACzE,+BAA+B;AAExB,KAAK,UAAU,cAAc,CAAC,IAAiB;IACpD,MAAM,QAAQ,GAAG,IAAA,kCAAiB,EAAC,IAAI,CAAC,CAAA;IACxC,MAAM,KAAK,GAAuB,EAAE,CAAA;IAEpC,MAAM,KAAK,GAAM,IAAA,gCAAe,EAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjE,MAAM,QAAQ,GAAG,IAAA,uCAAsB,EACrC,KAAK,EACL,EAAE,YAAY,EAAE,kCAAkB,EAAE,eAAe,EAAE,wCAAqB,EAAE,CAC7E,CAAA;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE7B,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CACV,iDAAiD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kCAAkC,CAC/G,CAAA;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAA,8BAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC1C,KAAK,CAAC,IAAI,CAAC,IAAA,uBAAc,EAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;IAE7D,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,4BAAkB,EAAC,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,IAAA,wBAAc,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5C,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,4BAAkB,EAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,IAAA,2BAAiB,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAC/C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAA,yBAAmB,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC,CAAA;QAChC,KAAK,CAAC,IAAI,CAAC,IAAA,4BAAgB,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QAChD,KAAK,CAAC,IAAI,CAAC,IAAA,iCAAkB,EAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,IAAA,iCAAsB,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QAC9C,KAAK,CAAC,IAAI,CAAC,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IACvC,CAAC;IAED,uEAAuE;IACvE,sEAAsE;IACtE,qEAAqE;IACrE,qEAAqE;IACrE,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,IAAA,sCAAwB,EAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;QACrE,IAAI,cAAc;YAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAE9C,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAA,kCAA0B,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAA,+BAAqB,EAAC,EAAE,CAAC,CAAC,CAAA;IAErC,KAAK,CAAC,IAAI,CAAC,IAAA,uBAAc,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;IAC7C,KAAK,CAAC,IAAI,CAAC,IAAA,+BAAkB,GAAE,CAAC,CAAA;IAEhC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEpE,IAAK,oCAAyC,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5E,qEAAqE;YACrE,6DAA6D;YAC7D,KAAK,CAAC,IAAI,CAAC,GAAG,IAAA,mCAAuB,EAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;YAC5D,SAAQ;QACV,CAAC;QAED,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM;gBACT,yEAAyE;gBACzE,IAAI,KAAK;oBAAE,KAAK,CAAC,IAAI,CAAC,IAAA,4BAAgB,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;gBACxG,MAAK;YACP,KAAK,QAAQ;gBACX,qEAAqE;gBACrE,IAAI,KAAK;oBAAE,KAAK,CAAC,IAAI,CAAC,IAAA,gCAAkB,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;gBACvF,MAAK;YACP,KAAK,MAAM,CAAC;YACZ,KAAK,SAAS;gBACZ,kEAAkE;gBAClE,uEAAuE;gBACvE,IAAI,KAAK;oBAAE,KAAK,CAAC,IAAI,CAAC,IAAA,4BAAgB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;gBACpD,MAAK;YACP,KAAK,WAAW;gBACd,iEAAiE;gBACjE,KAAK,CAAC,IAAI,CAAC,IAAA,sCAAqB,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC/E,MAAK;YACP,KAAK,SAAS;gBACZ,qEAAqE;gBACrE,KAAK,CAAC,IAAI,CAAC,IAAA,kCAAmB,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC7E,MAAK;YACP,KAAK,WAAW;gBACd,qEAAqE;gBACrE,KAAK,CAAC,IAAI,CAAC,IAAA,qCAAoB,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC9E,MAAK;YACP,KAAK,MAAM;gBACT,sEAAsE;gBACtE,KAAK,CAAC,IAAI,CAAC,IAAA,4BAAgB,EAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;gBACnE,MAAK;YACP,KAAK,UAAU;gBACb,wEAAwE;gBACxE,KAAK,CAAC,IAAI,CAAC,IAAA,oCAAoB,EAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;gBACvE,MAAK;YACP,KAAK,QAAQ;gBACX,4EAA4E;gBAC5E,KAAK,CAAC,IAAI,CAAC,IAAA,gCAAkB,EAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;gBACrE,MAAK;YACP,KAAK,SAAS;gBACZ,qEAAqE;gBACrE,KAAK,CAAC,IAAI,CAAC,IAAA,kCAAmB,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC7E,MAAK;YACP,KAAK,MAAM;gBACT,KAAK,CAAC,IAAI,CAAC,IAAA,4BAAgB,EAAC,IAAI,CAAC,CAAC,CAAA;gBAClC,MAAK;YACP,KAAK,UAAU;gBACb,KAAK,CAAC,IAAI,CAAC,IAAA,oCAAoB,EAAC,IAAI,CAAC,CAAC,CAAA;gBACtC,MAAK;YACP,KAAK,MAAM;gBACT,yEAAyE;gBACzE,KAAK,CAAC,IAAI,CAAC,IAAA,4BAAgB,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC1E,MAAK;YACP,KAAK,KAAK;gBACR,KAAK,CAAC,IAAI,CAAC,IAAA,0BAAe,EAAC,IAAI,CAAC,CAAC,CAAA;gBACjC,MAAK;YACP,KAAK,QAAQ;gBACX,KAAK,CAAC,IAAI,CAAC,IAAA,gCAAkB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;gBAC3C,MAAK;YACP,KAAK,UAAU;gBACb,KAAK,CAAC,IAAI,CAAC,IAAA,oCAAoB,EAAC,IAAI,CAAC,CAAC,CAAA;gBACtC,MAAK;YACP,KAAK,SAAS;gBACZ,yEAAyE;gBACzE,KAAK,CAAC,IAAI,CAAC,IAAA,kCAAmB,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC7E,MAAK;YACP,KAAK,QAAQ;gBACX,iEAAiE;gBACjE,KAAK,CAAC,IAAI,CAAC,IAAA,gCAAkB,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC5E,MAAK;YACP,KAAK,UAAU;gBACb,iEAAiE;gBACjE,KAAK,CAAC,IAAI,CAAC,IAAA,oCAAoB,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC9E,MAAK;YACP,KAAK,aAAa;gBAChB,wEAAwE;gBACxE,KAAK,CAAC,IAAI,CAAC,IAAA,yCAAsB,EAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;gBACzE,MAAK;YACP,KAAK,WAAW;gBACd,KAAK,CAAC,IAAI,CAAC,IAAA,qCAAoB,EAAC,IAAI,CAAC,CAAC,CAAA;gBACtC,MAAK;YACP,KAAK,QAAQ;gBACX,KAAK,CAAC,IAAI,CAAC,IAAA,gCAAkB,EAAC,IAAI,CAAC,CAAC,CAAA;gBACpC,MAAK;YACP,iEAAiE;YACjE,mEAAmE;YACnE,qCAAqC;YACrC,KAAK,kBAAkB;gBACrB,KAAK,CAAC,IAAI,CAAC,IAAA,8CAAsB,EAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;gBACzE,MAAK;YACP,KAAK,uBAAuB;gBAC1B,KAAK,CAAC,IAAI,CAAC,IAAA,wDAA2B,EAAC,IAAI,CAAC,CAAC,CAAA;gBAC7C,MAAK;YACP,KAAK,sBAAsB;gBACzB,KAAK,CAAC,IAAI,CAAC,IAAA,sDAA0B,EAAC,IAAI,CAAC,CAAC,CAAA;gBAC5C,MAAK;YACP,KAAK,iBAAiB;gBACpB,KAAK,CAAC,IAAI,CAAC,IAAA,6CAAsB,EAAC,IAAI,CAAC,CAAC,CAAA;gBACxC,MAAK;YACP,uEAAuE;YACvE;gBACE,IAAK,wCAA6C,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;oBAChF,OAAO,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,aAAa,qEAAqE,CAAC,CAAA;gBAC/H,CAAC;gBACD,MAAK;QACT,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAA,kCAAiB,EAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;IAErD,OAAO;QACL,KAAK;QACL,cAAc,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE;KAC9C,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { GeneratedFile } from '@underpeaks/generator-core';
2
+ export declare function generateApiAuthRoutes(): GeneratedFile[];
3
+ //# sourceMappingURL=api-auth-routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-auth-routes.d.ts","sourceRoot":"","sources":["../../src/templates/api-auth-routes.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAiB/D,wBAAgB,qBAAqB,IAAI,aAAa,EAAE,CA0TvD"}
@@ -0,0 +1,330 @@
1
+ "use strict";
2
+ // File: D:\underpeaks\underpeaks_codegen\packages\generator-nextjs\src\templates\api-auth-routes.ts
3
+ // (adding the 'me' route to the existing generateApiAuthRoutes() function —
4
+ // full file below since every file in this project is DO NOT EDIT MANUALLY /
5
+ // regenerated wholesale, not patched)
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.generateApiAuthRoutes = generateApiAuthRoutes;
8
+ // Generates the app/api/auth/* Route Handlers that page-auth.ts's
9
+ // sign-in/sign-up pages call. These never existed before — page-auth.ts
10
+ // has always called '/api/auth/signin' etc., but nothing generated that
11
+ // route, so sign-in/sign-up have never actually worked in a generated
12
+ // Next.js app until now. These are thin proxies to the real backend
13
+ // (studio.underpeaks.com), setting/clearing the httpOnly session cookie
14
+ // via lib/customerAuth.ts on success — mirrors Flutter's ApiConfig
15
+ // pattern, cookie-based instead of SharedPreferences-based.
16
+ //
17
+ // FIX: every route below read process.env.NXF_BASE_URL, but the actual
18
+ // generated .env.example / env.ts template (and lib/nxf-client.ts) use
19
+ // NXF_STUDIO_URL — NXF_BASE_URL was never a real generated env var, so
20
+ // baseUrl silently resolved to '' in every one of these routes and every
21
+ // fetch below was hitting a relative/invalid URL. Now reads
22
+ // NXF_STUDIO_URL to match env.ts, middleware.ts, and nxf-client.ts.
23
+ function generateApiAuthRoutes() {
24
+ const files = [];
25
+ // ── signin ────────────────────────────────────────────────────────────
26
+ files.push({
27
+ path: 'app/api/auth/signin/route.ts',
28
+ content: [
29
+ `// GENERATED BY UNDERPEAKS CODEGEN v1.0.0`,
30
+ `// Proxies sign-in to the real backend, sets the session cookie on success.`,
31
+ `// Regenerate: nxf generate nextjs`,
32
+ ``,
33
+ `import { NextRequest, NextResponse } from 'next/server'`,
34
+ `import { setCustomerToken } from '@/lib/customerAuth'`,
35
+ ``,
36
+ `export async function POST(req: NextRequest) {`,
37
+ ` let body: any`,
38
+ ` try { body = await req.json() } catch {`,
39
+ ` return NextResponse.json({ error: 'Invalid JSON body' }, { status: 400 })`,
40
+ ` }`,
41
+ ``,
42
+ ` const baseUrl = process.env.NXF_STUDIO_URL ?? ''`,
43
+ ` const projectId = process.env.NXF_PROJECT_ID ?? ''`,
44
+ ` const apiKey = process.env.NXF_API_KEY ?? ''`,
45
+ ``,
46
+ ` try {`,
47
+ ` const res = await fetch(\`\${baseUrl}/api-public/v1/\${projectId}/auth/signin\`, {`,
48
+ ` method: 'POST',`,
49
+ ` headers: { 'Content-Type': 'application/json', 'x-api-key': apiKey },`,
50
+ ` body: JSON.stringify(body),`,
51
+ ` cache: 'no-store',`,
52
+ ` })`,
53
+ ``,
54
+ ` const data = await res.json()`,
55
+ ``,
56
+ ` if (!res.ok) {`,
57
+ ` return NextResponse.json({ error: data.error ?? 'Sign in failed' }, { status: res.status })`,
58
+ ` }`,
59
+ ``,
60
+ ` await setCustomerToken(data.token)`,
61
+ ` return NextResponse.json({ user: data.user })`,
62
+ ` } catch {`,
63
+ ` return NextResponse.json({ error: 'Network error. Please try again.' }, { status: 502 })`,
64
+ ` }`,
65
+ `}`,
66
+ ``,
67
+ ].join('\n'),
68
+ category: 'customizable',
69
+ });
70
+ // ── signup ────────────────────────────────────────────────────────────
71
+ files.push({
72
+ path: 'app/api/auth/signup/route.ts',
73
+ content: [
74
+ `// GENERATED BY UNDERPEAKS CODEGEN v1.0.0`,
75
+ `// Proxies sign-up to the real backend, sets the session cookie on success.`,
76
+ `// If an anonymous session cookie already exists, forwards it as`,
77
+ `// x-customer-token so the backend upgrades that existing account in`,
78
+ `// place (see /auth/signup's own logic) rather than creating a new one.`,
79
+ `// Regenerate: nxf generate nextjs`,
80
+ ``,
81
+ `import { NextRequest, NextResponse } from 'next/server'`,
82
+ `import { setCustomerToken, getCustomerToken } from '@/lib/customerAuth'`,
83
+ ``,
84
+ `export async function POST(req: NextRequest) {`,
85
+ ` let body: any`,
86
+ ` try { body = await req.json() } catch {`,
87
+ ` return NextResponse.json({ error: 'Invalid JSON body' }, { status: 400 })`,
88
+ ` }`,
89
+ ``,
90
+ ` const baseUrl = process.env.NXF_STUDIO_URL ?? ''`,
91
+ ` const projectId = process.env.NXF_PROJECT_ID ?? ''`,
92
+ ` const apiKey = process.env.NXF_API_KEY ?? ''`,
93
+ ``,
94
+ ` const existingToken = await getCustomerToken()`,
95
+ ``,
96
+ ` try {`,
97
+ ` const res = await fetch(\`\${baseUrl}/api-public/v1/\${projectId}/auth/signup\`, {`,
98
+ ` method: 'POST',`,
99
+ ` headers: {`,
100
+ ` 'Content-Type': 'application/json',`,
101
+ ` 'x-api-key': apiKey,`,
102
+ ` ...(existingToken ? { 'x-customer-token': existingToken } : {}),`,
103
+ ` },`,
104
+ ` body: JSON.stringify(body),`,
105
+ ` cache: 'no-store',`,
106
+ ` })`,
107
+ ``,
108
+ ` const data = await res.json()`,
109
+ ``,
110
+ ` if (!res.ok) {`,
111
+ ` return NextResponse.json({ error: data.error ?? 'Sign up failed' }, { status: res.status })`,
112
+ ` }`,
113
+ ``,
114
+ ` await setCustomerToken(data.token)`,
115
+ ` return NextResponse.json({ user: data.user }, { status: 201 })`,
116
+ ` } catch {`,
117
+ ` return NextResponse.json({ error: 'Network error. Please try again.' }, { status: 502 })`,
118
+ ` }`,
119
+ `}`,
120
+ ``,
121
+ ].join('\n'),
122
+ category: 'customizable',
123
+ });
124
+ // ── signout ───────────────────────────────────────────────────────────
125
+ files.push({
126
+ path: 'app/api/auth/signout/route.ts',
127
+ content: [
128
+ `// GENERATED BY UNDERPEAKS CODEGEN v1.0.0`,
129
+ `// Revokes the session on the backend, clears the local cookie either way.`,
130
+ `// Regenerate: nxf generate nextjs`,
131
+ ``,
132
+ `import { NextRequest, NextResponse } from 'next/server'`,
133
+ `import { getCustomerToken, clearCustomerToken } from '@/lib/customerAuth'`,
134
+ ``,
135
+ `export async function POST(_req: NextRequest) {`,
136
+ ` const baseUrl = process.env.NXF_STUDIO_URL ?? ''`,
137
+ ` const projectId = process.env.NXF_PROJECT_ID ?? ''`,
138
+ ` const apiKey = process.env.NXF_API_KEY ?? ''`,
139
+ ``,
140
+ ` const token = await getCustomerToken()`,
141
+ ``,
142
+ ` if (token) {`,
143
+ ` try {`,
144
+ ` await fetch(\`\${baseUrl}/api-public/v1/\${projectId}/auth/signout\`, {`,
145
+ ` method: 'POST',`,
146
+ ` headers: { 'x-api-key': apiKey, 'x-customer-token': token },`,
147
+ ` cache: 'no-store',`,
148
+ ` })`,
149
+ ` } catch {`,
150
+ ` // Best-effort — clear the local cookie regardless of backend result.`,
151
+ ` }`,
152
+ ` }`,
153
+ ``,
154
+ ` await clearCustomerToken()`,
155
+ ` return NextResponse.json({ success: true })`,
156
+ `}`,
157
+ ``,
158
+ ].join('\n'),
159
+ category: 'customizable',
160
+ });
161
+ // ── anonymous ─────────────────────────────────────────────────────────
162
+ files.push({
163
+ path: 'app/api/auth/anonymous/route.ts',
164
+ content: [
165
+ `// GENERATED BY UNDERPEAKS CODEGEN v1.0.0`,
166
+ `// Bootstraps an anonymous session — called by AuthBootstrap.tsx when no`,
167
+ `// session cookie exists yet, so every visitor has a working user_id`,
168
+ `// before any page that needs one (forms, profile) can render.`,
169
+ `// Regenerate: nxf generate nextjs`,
170
+ ``,
171
+ `import { NextRequest, NextResponse } from 'next/server'`,
172
+ `import { setCustomerToken } from '@/lib/customerAuth'`,
173
+ ``,
174
+ `export async function POST(_req: NextRequest) {`,
175
+ ` const baseUrl = process.env.NXF_STUDIO_URL ?? ''`,
176
+ ` const projectId = process.env.NXF_PROJECT_ID ?? ''`,
177
+ ` const apiKey = process.env.NXF_API_KEY ?? ''`,
178
+ ``,
179
+ ` try {`,
180
+ ` const res = await fetch(\`\${baseUrl}/api-public/v1/\${projectId}/auth/anonymous\`, {`,
181
+ ` method: 'POST',`,
182
+ ` headers: { 'x-api-key': apiKey },`,
183
+ ` cache: 'no-store',`,
184
+ ` })`,
185
+ ``,
186
+ ` if (!res.ok) {`,
187
+ ` const data = await res.json().catch(() => ({}))`,
188
+ ` return NextResponse.json({ error: data.error ?? 'Could not start session' }, { status: res.status })`,
189
+ ` }`,
190
+ ``,
191
+ ` const data = await res.json()`,
192
+ ` await setCustomerToken(data.token)`,
193
+ ` return NextResponse.json({ user: data.user }, { status: 201 })`,
194
+ ` } catch {`,
195
+ ` return NextResponse.json({ error: 'Network error. Please try again.' }, { status: 502 })`,
196
+ ` }`,
197
+ `}`,
198
+ ``,
199
+ ].join('\n'),
200
+ category: 'customizable',
201
+ });
202
+ // ── me ────────────────────────────────────────────────────────────────
203
+ files.push({
204
+ path: 'app/api/auth/me/route.ts',
205
+ content: [
206
+ `// GENERATED BY UNDERPEAKS CODEGEN v1.0.0`,
207
+ `// Returns the currently signed-in user (real or anonymous), or 401 if`,
208
+ `// there's no valid, unrevoked session. Called by AuthBootstrap.tsx on`,
209
+ `// first mount to decide whether an anonymous session still needs to`,
210
+ `// be created, and by any page/component that needs to know who's`,
211
+ `// signed in and whether they're anonymous (for a real-login guard).`,
212
+ `// Regenerate: nxf generate nextjs`,
213
+ ``,
214
+ `import { NextRequest, NextResponse } from 'next/server'`,
215
+ `import { getCustomerToken } from '@/lib/customerAuth'`,
216
+ ``,
217
+ `export async function GET(_req: NextRequest) {`,
218
+ ` const token = await getCustomerToken()`,
219
+ ` if (!token) {`,
220
+ ` return NextResponse.json({ error: 'No session' }, { status: 401 })`,
221
+ ` }`,
222
+ ``,
223
+ ` const baseUrl = process.env.NXF_STUDIO_URL ?? ''`,
224
+ ` const projectId = process.env.NXF_PROJECT_ID ?? ''`,
225
+ ` const apiKey = process.env.NXF_API_KEY ?? ''`,
226
+ ``,
227
+ ` try {`,
228
+ ` const res = await fetch(\`\${baseUrl}/api-public/v1/\${projectId}/auth/me\`, {`,
229
+ ` headers: {`,
230
+ ` 'x-api-key': apiKey,`,
231
+ ` 'x-customer-token': token,`,
232
+ ` },`,
233
+ ` cache: 'no-store',`,
234
+ ` })`,
235
+ ``,
236
+ ` if (!res.ok) {`,
237
+ ` return NextResponse.json({ error: 'Invalid or expired session' }, { status: 401 })`,
238
+ ` }`,
239
+ ``,
240
+ ` const data = await res.json()`,
241
+ ` return NextResponse.json({ user: data.user })`,
242
+ ` } catch {`,
243
+ ` return NextResponse.json({ error: 'Network error. Please try again.' }, { status: 502 })`,
244
+ ` }`,
245
+ `}`,
246
+ ``,
247
+ ].join('\n'),
248
+ category: 'customizable',
249
+ });
250
+ // ── forgot-password ───────────────────────────────────────────────────
251
+ files.push({
252
+ path: 'app/api/auth/forgot-password/route.ts',
253
+ content: [
254
+ `// GENERATED BY UNDERPEAKS CODEGEN v1.0.0`,
255
+ `// Proxies a password-reset request to the real backend. No cookie —`,
256
+ `// no session is created by this step.`,
257
+ `// Regenerate: nxf generate nextjs`,
258
+ ``,
259
+ `import { NextRequest, NextResponse } from 'next/server'`,
260
+ ``,
261
+ `export async function POST(req: NextRequest) {`,
262
+ ` let body: any`,
263
+ ` try { body = await req.json() } catch {`,
264
+ ` return NextResponse.json({ error: 'Invalid JSON body' }, { status: 400 })`,
265
+ ` }`,
266
+ ``,
267
+ ` const baseUrl = process.env.NXF_STUDIO_URL ?? ''`,
268
+ ` const projectId = process.env.NXF_PROJECT_ID ?? ''`,
269
+ ` const apiKey = process.env.NXF_API_KEY ?? ''`,
270
+ ``,
271
+ ` try {`,
272
+ ` const res = await fetch(\`\${baseUrl}/api-public/v1/\${projectId}/auth/forgot-password\`, {`,
273
+ ` method: 'POST',`,
274
+ ` headers: { 'Content-Type': 'application/json', 'x-api-key': apiKey },`,
275
+ ` body: JSON.stringify(body),`,
276
+ ` cache: 'no-store',`,
277
+ ` })`,
278
+ ``,
279
+ ` const data = await res.json()`,
280
+ ` return NextResponse.json(data, { status: res.status })`,
281
+ ` } catch {`,
282
+ ` return NextResponse.json({ error: 'Network error. Please try again.' }, { status: 502 })`,
283
+ ` }`,
284
+ `}`,
285
+ ``,
286
+ ].join('\n'),
287
+ category: 'customizable',
288
+ });
289
+ // ── reset-password ────────────────────────────────────────────────────
290
+ files.push({
291
+ path: 'app/api/auth/reset-password/route.ts',
292
+ content: [
293
+ `// GENERATED BY UNDERPEAKS CODEGEN v1.0.0`,
294
+ `// Proxies the actual password reset (with token) to the real backend.`,
295
+ `// No cookie — this only changes the password, it doesn't sign anyone in.`,
296
+ `// Regenerate: nxf generate nextjs`,
297
+ ``,
298
+ `import { NextRequest, NextResponse } from 'next/server'`,
299
+ ``,
300
+ `export async function POST(req: NextRequest) {`,
301
+ ` let body: any`,
302
+ ` try { body = await req.json() } catch {`,
303
+ ` return NextResponse.json({ error: 'Invalid JSON body' }, { status: 400 })`,
304
+ ` }`,
305
+ ``,
306
+ ` const baseUrl = process.env.NXF_STUDIO_URL ?? ''`,
307
+ ` const projectId = process.env.NXF_PROJECT_ID ?? ''`,
308
+ ` const apiKey = process.env.NXF_API_KEY ?? ''`,
309
+ ``,
310
+ ` try {`,
311
+ ` const res = await fetch(\`\${baseUrl}/api-public/v1/\${projectId}/auth/reset-password\`, {`,
312
+ ` method: 'POST',`,
313
+ ` headers: { 'Content-Type': 'application/json', 'x-api-key': apiKey },`,
314
+ ` body: JSON.stringify(body),`,
315
+ ` cache: 'no-store',`,
316
+ ` })`,
317
+ ``,
318
+ ` const data = await res.json()`,
319
+ ` return NextResponse.json(data, { status: res.status })`,
320
+ ` } catch {`,
321
+ ` return NextResponse.json({ error: 'Network error. Please try again.' }, { status: 502 })`,
322
+ ` }`,
323
+ `}`,
324
+ ``,
325
+ ].join('\n'),
326
+ category: 'customizable',
327
+ });
328
+ return files;
329
+ }
330
+ //# sourceMappingURL=api-auth-routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-auth-routes.js","sourceRoot":"","sources":["../../src/templates/api-auth-routes.ts"],"names":[],"mappings":"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"}
@@ -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,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
+ {"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,CA+G9D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,aAAa,CAwCjE"}
@@ -30,6 +30,7 @@ function generateAppNav(pages) {
30
30
  lines.push(`import { useState } from 'react'`);
31
31
  lines.push(`import Link from 'next/link'`);
32
32
  lines.push(`import { usePathname } from 'next/navigation'`);
33
+ lines.push(`import { Button } from '@/components/ui/button'`);
33
34
  lines.push(``);
34
35
  lines.push(`const NAV_LINKS = [`);
35
36
  for (const page of navPages) {
@@ -48,13 +49,14 @@ function generateAppNav(pages) {
48
49
  lines.push(` {/* Mobile top bar with menu toggle */}`);
49
50
  lines.push(` <div className="flex items-center justify-between px-4 py-3 border-b border-border md:hidden">`);
50
51
  lines.push(` <span className="font-semibold">Menu</span>`);
51
- lines.push(` <button`);
52
+ lines.push(` <Button`);
53
+ lines.push(` variant="ghost"`);
54
+ lines.push(` size="icon"`);
52
55
  lines.push(` onClick={() => setOpen((v) => !v)}`);
53
56
  lines.push(` aria-label="Toggle navigation"`);
54
- lines.push(` className="p-2"`);
55
57
  lines.push(` >`);
56
58
  lines.push(` {open ? '✕' : '☰'}`);
57
- lines.push(` </button>`);
59
+ lines.push(` </Button>`);
58
60
  lines.push(` </div>`);
59
61
  lines.push(``);
60
62
  lines.push(` {/* Sidebar — persistent on desktop, toggleable on mobile */}`);