spree_admin 5.1.8 → 5.2.0.rc1

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 (596) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/spree/admin/application.scss +5 -2
  3. data/app/assets/stylesheets/spree/admin/components/_alerts.scss +26 -8
  4. data/app/assets/stylesheets/spree/admin/components/_badges.scss +4 -3
  5. data/app/assets/stylesheets/spree/admin/components/_bulk_panel.scss +11 -26
  6. data/app/assets/stylesheets/spree/admin/components/_buttons.scss +9 -18
  7. data/app/assets/stylesheets/spree/admin/components/_cards.scss +45 -24
  8. data/app/assets/stylesheets/spree/admin/components/_dialogs.scss +204 -0
  9. data/app/assets/stylesheets/spree/admin/components/_dropdowns.scss +39 -13
  10. data/app/assets/stylesheets/spree/admin/components/_filters.scss +28 -10
  11. data/app/assets/stylesheets/spree/admin/components/_main.scss +36 -17
  12. data/app/assets/stylesheets/spree/admin/components/_media_form.scss +11 -3
  13. data/app/assets/stylesheets/spree/admin/components/_modals.scss +1 -1
  14. data/app/assets/stylesheets/spree/admin/components/_navigation.scss +0 -1
  15. data/app/assets/stylesheets/spree/admin/components/_search_picker.scss +0 -8
  16. data/app/assets/stylesheets/spree/admin/components/_sortable_tree.scss +2 -1
  17. data/app/assets/stylesheets/spree/admin/components/_tables.scss +20 -26
  18. data/app/assets/stylesheets/spree/admin/components/_tooltips.scss +20 -0
  19. data/app/assets/stylesheets/spree/admin/components/_variants_form.scss +3 -3
  20. data/app/assets/stylesheets/spree/admin/components/_wizard.scss +27 -0
  21. data/app/assets/stylesheets/spree/admin/global/_variables.scss +61 -43
  22. data/app/assets/stylesheets/spree/admin/plugins/_trix_custom.scss +5 -0
  23. data/app/assets/stylesheets/spree/admin/plugins/tom-select.scss +1 -1
  24. data/app/assets/stylesheets/spree/admin/plugins/uppy_fixes.scss +52 -3
  25. data/app/assets/stylesheets/spree/admin/shared/_base.scss +18 -17
  26. data/app/assets/stylesheets/spree/admin/shared/_forms.scss +7 -4
  27. data/app/assets/stylesheets/spree/admin/views/_page_builder.scss +12 -12
  28. data/app/controllers/concerns/spree/admin/page_builder_concern.rb +4 -4
  29. data/app/controllers/concerns/spree/admin/settings_concern.rb +23 -0
  30. data/app/controllers/spree/admin/admin_users_controller.rb +21 -6
  31. data/app/controllers/spree/admin/assets_controller.rb +3 -5
  32. data/app/controllers/spree/admin/base_controller.rb +2 -1
  33. data/app/controllers/spree/admin/custom_domains_controller.rb +1 -1
  34. data/app/controllers/spree/admin/errors_controller.rb +17 -3
  35. data/app/controllers/spree/admin/exports_controller.rb +7 -1
  36. data/app/controllers/spree/admin/gift_cards_controller.rb +5 -11
  37. data/app/controllers/spree/admin/import_mappings_controller.rb +15 -0
  38. data/app/controllers/spree/admin/import_rows_controller.rb +7 -0
  39. data/app/controllers/spree/admin/imports_controller.rb +66 -0
  40. data/app/controllers/spree/admin/invitations_controller.rb +3 -4
  41. data/app/controllers/spree/admin/json_previews_controller.rb +24 -0
  42. data/app/controllers/spree/admin/metafield_definitions_controller.rb +27 -0
  43. data/app/controllers/spree/admin/metafields_controller.rb +39 -0
  44. data/app/controllers/spree/admin/newsletter_subscribers_controller.rb +8 -0
  45. data/app/controllers/spree/admin/oauth_applications_controller.rb +2 -2
  46. data/app/controllers/spree/admin/orders/user_controller.rb +16 -10
  47. data/app/controllers/spree/admin/orders_controller.rb +17 -3
  48. data/app/controllers/spree/admin/page_blocks_controller.rb +2 -1
  49. data/app/controllers/spree/admin/page_links_controller.rb +9 -1
  50. data/app/controllers/spree/admin/pages_controller.rb +1 -9
  51. data/app/controllers/spree/admin/payment_methods_controller.rb +1 -1
  52. data/app/controllers/spree/admin/policies_controller.rb +28 -0
  53. data/app/controllers/spree/admin/products_controller.rb +8 -5
  54. data/app/controllers/spree/admin/profile_controller.rb +2 -0
  55. data/app/controllers/spree/admin/refund_reasons_controller.rb +1 -1
  56. data/app/controllers/spree/admin/reimbursement_types_controller.rb +1 -1
  57. data/app/controllers/spree/admin/resource_controller.rb +60 -1
  58. data/app/controllers/spree/admin/return_authorization_reasons_controller.rb +1 -1
  59. data/app/controllers/spree/admin/return_authorizations_controller.rb +3 -0
  60. data/app/controllers/spree/admin/roles_controller.rb +1 -2
  61. data/app/controllers/spree/admin/shipping_categories_controller.rb +1 -1
  62. data/app/controllers/spree/admin/shipping_methods_controller.rb +2 -2
  63. data/app/controllers/spree/admin/stock_locations_controller.rb +2 -2
  64. data/app/controllers/spree/admin/store_credits_controller.rb +6 -0
  65. data/app/controllers/spree/admin/storefront_controller.rb +1 -1
  66. data/app/controllers/spree/admin/stores_controller.rb +8 -2
  67. data/app/controllers/spree/admin/tax_categories_controller.rb +1 -1
  68. data/app/controllers/spree/admin/tax_rates_controller.rb +2 -2
  69. data/app/controllers/spree/admin/translations_controller.rb +13 -58
  70. data/app/controllers/spree/admin/users_controller.rb +4 -0
  71. data/app/controllers/spree/admin/webhooks_subscribers_controller.rb +2 -3
  72. data/app/controllers/spree/admin/zones_controller.rb +1 -1
  73. data/app/helpers/spree/admin/assets_helper.rb +42 -0
  74. data/app/helpers/spree/admin/base_helper.rb +58 -11
  75. data/app/helpers/spree/admin/bulk_operations_helper.rb +14 -12
  76. data/app/helpers/spree/admin/dialog_helper.rb +21 -0
  77. data/app/helpers/spree/admin/drawer_helper.rb +21 -0
  78. data/app/helpers/spree/admin/dropdown_helper.rb +32 -0
  79. data/app/helpers/spree/admin/json_preview_helper.rb +75 -0
  80. data/app/helpers/spree/admin/metafields_helper.rb +29 -0
  81. data/app/helpers/spree/admin/navigation_helper.rb +55 -23
  82. data/app/helpers/spree/admin/orders_filters_helper.rb +26 -17
  83. data/app/helpers/spree/admin/page_builder_helper.rb +3 -8
  84. data/app/helpers/spree/admin/payments_helper.rb +2 -0
  85. data/app/helpers/spree/admin/products_helper.rb +0 -12
  86. data/app/helpers/spree/admin/translations_helper.rb +11 -4
  87. data/app/helpers/spree/admin/turbo_helper.rb +17 -4
  88. data/app/javascript/spree/admin/application.js +23 -5
  89. data/app/javascript/spree/admin/controllers/active_storage_upload_controller.js +41 -7
  90. data/app/javascript/spree/admin/controllers/admin_controller.js +0 -9
  91. data/app/javascript/spree/admin/controllers/auto_scroll_controller.js +33 -0
  92. data/app/javascript/spree/admin/controllers/codemirror_controller.js +45 -0
  93. data/app/javascript/spree/admin/controllers/highlight_controller.js +17 -0
  94. data/app/javascript/spree/admin/controllers/import_form_controller.js +27 -0
  95. data/app/javascript/spree/admin/controllers/sortable_auto_submit_controller.js +10 -0
  96. data/app/javascript/spree/admin/controllers/stock_transfer_controller.js +6 -5
  97. data/app/javascript/spree/admin/controllers/tabs_controller.js +21 -0
  98. data/app/javascript/spree/admin/controllers/tooltip_controller.js +136 -0
  99. data/app/javascript/spree/admin/controllers/turbo_submit_button_controller.js +14 -0
  100. data/app/javascript/spree/admin/helpers/bootstrap.js +5 -3
  101. data/app/models/spree/admin/form_builder.rb +250 -0
  102. data/app/views/layouts/spree/admin.html.erb +6 -2
  103. data/app/views/layouts/spree/admin_settings.html.erb +36 -0
  104. data/app/views/layouts/spree/admin_wizard.html.erb +34 -0
  105. data/app/views/layouts/spree/minimal.html.erb +2 -1
  106. data/app/views/layouts/spree/page_builder.html.erb +3 -2
  107. data/app/views/spree/admin/admin_users/_admin_user.html.erb +2 -2
  108. data/app/views/spree/admin/admin_users/_form.html.erb +3 -12
  109. data/app/views/spree/admin/admin_users/edit.html.erb +4 -7
  110. data/app/views/spree/admin/admin_users/index.html.erb +3 -3
  111. data/app/views/spree/admin/admin_users/show.html.erb +4 -4
  112. data/app/views/spree/admin/assets/create.turbo_stream.erb +1 -1
  113. data/app/views/spree/admin/assets/destroy.turbo_stream.erb +1 -1
  114. data/app/views/spree/admin/assets/edit.html.erb +16 -21
  115. data/app/views/spree/admin/assets/update.turbo_stream.erb +2 -2
  116. data/app/views/spree/admin/classifications/_classification.html.erb +5 -4
  117. data/app/views/spree/admin/classifications/create.turbo_stream.erb +1 -1
  118. data/app/views/spree/admin/classifications/index.html.erb +2 -2
  119. data/app/views/spree/admin/coupon_codes/_filters.html.erb +41 -0
  120. data/app/views/spree/admin/coupon_codes/_table_header.html.erb +0 -0
  121. data/app/views/spree/admin/coupon_codes/_table_row.html.erb +8 -0
  122. data/app/views/spree/admin/coupon_codes/index.html.erb +1 -58
  123. data/app/views/spree/admin/custom_domains/_custom_domains.html.erb +4 -4
  124. data/app/views/spree/admin/custom_domains/edit.html.erb +1 -14
  125. data/app/views/spree/admin/custom_domains/new.html.erb +1 -14
  126. data/app/views/spree/admin/customer_returns/_filters.html.erb +11 -0
  127. data/app/views/spree/admin/customer_returns/_table_header.html.erb +8 -0
  128. data/app/views/spree/admin/customer_returns/{_customer_return.html.erb → _table_row.html.erb} +1 -1
  129. data/app/views/spree/admin/customer_returns/index.html.erb +1 -36
  130. data/app/views/spree/admin/dashboard/_setup_progress.html.erb +1 -1
  131. data/app/views/spree/admin/dashboard/_setup_tasks.html.erb +8 -10
  132. data/app/views/spree/admin/dashboard/_store_preview.html.erb +5 -5
  133. data/app/views/spree/admin/dashboard/_top_products.html.erb +3 -3
  134. data/app/views/spree/admin/dashboard/_updater.html.erb +1 -1
  135. data/app/views/spree/admin/dashboard/analytics.html.erb +37 -39
  136. data/app/views/spree/admin/dashboard/getting_started.html.erb +1 -1
  137. data/app/views/spree/admin/dashboard/setup_tasks/_add_products.html.erb +2 -2
  138. data/app/views/spree/admin/dashboard/show.html.erb +1 -1
  139. data/app/views/spree/admin/digital_assets/_digital_asset.html.erb +9 -10
  140. data/app/views/spree/admin/digital_assets/_form.html.erb +3 -8
  141. data/app/views/spree/admin/digital_assets/_table.html.erb +12 -13
  142. data/app/views/spree/admin/digital_assets/create.turbo_stream.erb +1 -1
  143. data/app/views/spree/admin/digital_assets/edit.html.erb +8 -10
  144. data/app/views/spree/admin/digital_assets/index.html.erb +8 -9
  145. data/app/views/spree/admin/digital_assets/new.html.erb +8 -10
  146. data/app/views/spree/admin/digital_assets/update.turbo_stream.erb +1 -1
  147. data/app/views/spree/admin/errors/403.html.erb +14 -0
  148. data/app/views/spree/admin/errors/404.html.erb +14 -0
  149. data/app/views/spree/admin/errors/422.html.erb +14 -0
  150. data/app/views/spree/admin/errors/500.html.erb +14 -0
  151. data/app/views/spree/admin/errors/503.html.erb +14 -0
  152. data/app/views/spree/admin/exports/_export.html.erb +1 -1
  153. data/app/views/spree/admin/exports/create.turbo_stream.erb +4 -1
  154. data/app/views/spree/admin/exports/index.html.erb +5 -5
  155. data/app/views/spree/admin/exports/new.html.erb +33 -28
  156. data/app/views/spree/admin/gift_card_batches/_form.html.erb +5 -20
  157. data/app/views/spree/admin/gift_card_batches/new.html.erb +1 -15
  158. data/app/views/spree/admin/gift_cards/_filters.html.erb +3 -4
  159. data/app/views/spree/admin/gift_cards/_form.html.erb +16 -26
  160. data/app/views/spree/admin/gift_cards/_gift_card.html.erb +1 -1
  161. data/app/views/spree/admin/gift_cards/_list.html.erb +7 -7
  162. data/app/views/spree/admin/gift_cards/_table_filter_dropdown.html.erb +13 -13
  163. data/app/views/spree/admin/gift_cards/index.html.erb +14 -11
  164. data/app/views/spree/admin/gift_cards/new.html.erb +1 -30
  165. data/app/views/spree/admin/gift_cards/show.html.erb +5 -5
  166. data/app/views/spree/admin/import_mappings/update.turbo_stream.erb +15 -0
  167. data/app/views/spree/admin/import_rows/_variant.html.erb +1 -0
  168. data/app/views/spree/admin/import_rows/show.html.erb +32 -0
  169. data/app/views/spree/admin/imports/_footer.html.erb +15 -0
  170. data/app/views/spree/admin/imports/_loader.html.erb +14 -0
  171. data/app/views/spree/admin/imports/_mapping.html.erb +12 -0
  172. data/app/views/spree/admin/imports/_mapping_footer.html.erb +20 -0
  173. data/app/views/spree/admin/imports/_mapping_form.html.erb +11 -0
  174. data/app/views/spree/admin/imports/_mapping_icon.html.erb +6 -0
  175. data/app/views/spree/admin/imports/_row.html.erb +35 -0
  176. data/app/views/spree/admin/imports/new.html.erb +26 -0
  177. data/app/views/spree/admin/imports/show.html.erb +57 -0
  178. data/app/views/spree/admin/invitations/_invitation.html.erb +13 -13
  179. data/app/views/spree/admin/invitations/create.turbo_stream.erb +1 -1
  180. data/app/views/spree/admin/invitations/index.html.erb +15 -17
  181. data/app/views/spree/admin/invitations/new.html.erb +15 -26
  182. data/app/views/spree/admin/json_previews/show.html.erb +37 -0
  183. data/app/views/spree/admin/line_items/new.html.erb +6 -6
  184. data/app/views/spree/admin/metafield_definitions/_filters.html.erb +18 -0
  185. data/app/views/spree/admin/metafield_definitions/_form.html.erb +44 -0
  186. data/app/views/spree/admin/metafield_definitions/_table_header.html.erb +11 -0
  187. data/app/views/spree/admin/metafield_definitions/_table_row.html.erb +22 -0
  188. data/app/views/spree/admin/metafield_definitions/edit.html.erb +1 -0
  189. data/app/views/spree/admin/metafield_definitions/index.html.erb +9 -0
  190. data/app/views/spree/admin/metafield_definitions/new.html.erb +1 -0
  191. data/app/views/spree/admin/metafield_definitions/update.turbo_stream.erb +1 -0
  192. data/app/views/spree/admin/metafields/edit.html.erb +43 -0
  193. data/app/views/spree/admin/metafields/types/_boolean.html.erb +4 -0
  194. data/app/views/spree/admin/metafields/types/_json.html.erb +4 -0
  195. data/app/views/spree/admin/metafields/types/_long_text.html.erb +1 -0
  196. data/app/views/spree/admin/metafields/types/_number.html.erb +1 -0
  197. data/app/views/spree/admin/metafields/types/_rich_text.html.erb +3 -0
  198. data/app/views/spree/admin/metafields/types/_short_text.html.erb +1 -0
  199. data/app/views/spree/admin/metafields/update.turbo_stream.erb +1 -0
  200. data/app/views/spree/admin/newsletter_subscribers/_filters.html.erb +41 -0
  201. data/app/views/spree/admin/newsletter_subscribers/_table_header.html.erb +8 -0
  202. data/app/views/spree/admin/newsletter_subscribers/_table_row.html.erb +36 -0
  203. data/app/views/spree/admin/newsletter_subscribers/index.html.erb +9 -0
  204. data/app/views/spree/admin/oauth_applications/_form.html.erb +5 -10
  205. data/app/views/spree/admin/oauth_applications/_table_header.html.erb +7 -0
  206. data/app/views/spree/admin/oauth_applications/_table_row.html.erb +34 -0
  207. data/app/views/spree/admin/oauth_applications/create.turbo_stream.erb +20 -30
  208. data/app/views/spree/admin/oauth_applications/edit.html.erb +1 -18
  209. data/app/views/spree/admin/oauth_applications/index.html.erb +4 -60
  210. data/app/views/spree/admin/oauth_applications/new.html.erb +1 -24
  211. data/app/views/spree/admin/option_types/{_filter.html.erb → _filters.html.erb} +1 -1
  212. data/app/views/spree/admin/option_types/_form.html.erb +8 -30
  213. data/app/views/spree/admin/option_types/_table_header.html.erb +19 -0
  214. data/app/views/spree/admin/option_types/{_option_type.html.erb → _table_row.html.erb} +1 -1
  215. data/app/views/spree/admin/option_types/edit.html.erb +0 -3
  216. data/app/views/spree/admin/option_types/index.html.erb +3 -42
  217. data/app/views/spree/admin/orders/_customer.html.erb +17 -21
  218. data/app/views/spree/admin/orders/_customer_returns.html.erb +4 -4
  219. data/app/views/spree/admin/orders/_filters.html.erb +49 -48
  220. data/app/views/spree/admin/orders/_form.html.erb +12 -0
  221. data/app/views/spree/admin/orders/_header.html.erb +2 -7
  222. data/app/views/spree/admin/orders/_line_item.html.erb +6 -11
  223. data/app/views/spree/admin/orders/_line_items.html.erb +39 -47
  224. data/app/views/spree/admin/orders/_list.html.erb +7 -7
  225. data/app/views/spree/admin/orders/_order.html.erb +1 -1
  226. data/app/views/spree/admin/orders/_payments.html.erb +2 -2
  227. data/app/views/spree/admin/orders/_refunds.html.erb +7 -9
  228. data/app/views/spree/admin/orders/_return_authorizations.html.erb +5 -5
  229. data/app/views/spree/admin/orders/_risk_analysis.html.erb +1 -1
  230. data/app/views/spree/admin/orders/_shipment.html.erb +7 -6
  231. data/app/views/spree/admin/orders/_shipment_manifest_item.html.erb +1 -1
  232. data/app/views/spree/admin/orders/_shipments.html.erb +1 -1
  233. data/app/views/spree/admin/orders/_summary.html.erb +14 -7
  234. data/app/views/spree/admin/orders/_table_filter_dropdown.html.erb +6 -6
  235. data/app/views/spree/admin/orders/_tax_lines.html.erb +1 -1
  236. data/app/views/spree/admin/orders/billing_address/_form.html.erb +4 -2
  237. data/app/views/spree/admin/orders/billing_address/create.turbo_stream.erb +22 -24
  238. data/app/views/spree/admin/orders/billing_address/edit.html.erb +29 -31
  239. data/app/views/spree/admin/orders/billing_address/new.html.erb +22 -24
  240. data/app/views/spree/admin/orders/billing_address/update.turbo_stream.erb +22 -24
  241. data/app/views/spree/admin/orders/contact_information/edit.html.erb +10 -12
  242. data/app/views/spree/admin/orders/customer_returns/_customer_return.html.erb +7 -12
  243. data/app/views/spree/admin/orders/customer_returns/_reimbursements_table.html.erb +5 -5
  244. data/app/views/spree/admin/orders/customer_returns/_return_item_decision.html.erb +6 -6
  245. data/app/views/spree/admin/orders/customer_returns/_return_item_selection.html.erb +6 -6
  246. data/app/views/spree/admin/orders/customer_returns/new.html.erb +2 -6
  247. data/app/views/spree/admin/orders/index.html.erb +7 -3
  248. data/app/views/spree/admin/orders/new.html.erb +22 -0
  249. data/app/views/spree/admin/orders/return_authorizations/_form.html.erb +14 -28
  250. data/app/views/spree/admin/orders/return_authorizations/_return_authorization.html.erb +1 -1
  251. data/app/views/spree/admin/orders/return_authorizations/show.html.erb +14 -14
  252. data/app/views/spree/admin/orders/shipping_address/_form.html.erb +4 -2
  253. data/app/views/spree/admin/orders/shipping_address/create.turbo_stream.erb +8 -10
  254. data/app/views/spree/admin/orders/shipping_address/edit.html.erb +8 -10
  255. data/app/views/spree/admin/orders/shipping_address/new.html.erb +8 -10
  256. data/app/views/spree/admin/orders/shipping_address/update.turbo_stream.erb +8 -10
  257. data/app/views/spree/admin/orders/user/edit.html.erb +1 -1
  258. data/app/views/spree/admin/orders/user/new.html.erb +1 -1
  259. data/app/views/spree/admin/page_blocks/edit.html.erb +6 -9
  260. data/app/views/spree/admin/page_blocks/forms/_image.html.erb +4 -1
  261. data/app/views/spree/admin/page_blocks/forms/_metafields.html.erb +35 -0
  262. data/app/views/spree/admin/page_blocks/forms/products/_description.html.erb +0 -0
  263. data/app/views/spree/admin/page_builder/_add_block.html.erb +8 -6
  264. data/app/views/spree/admin/page_builder/_header.html.erb +29 -22
  265. data/app/views/spree/admin/page_builder/_pages_dropdown.html.erb +6 -6
  266. data/app/views/spree/admin/page_builder/_sidebar.html.erb +5 -5
  267. data/app/views/spree/admin/page_builder/_sidebar_colors.html.erb +71 -69
  268. data/app/views/spree/admin/page_builder/_sidebar_fonts.html.erb +62 -61
  269. data/app/views/spree/admin/page_builder/_sidebar_section.html.erb +4 -6
  270. data/app/views/spree/admin/page_builder/_sidebar_sections.html.erb +12 -2
  271. data/app/views/spree/admin/page_builder/_sidebar_sections_toolbar.html.erb +59 -57
  272. data/app/views/spree/admin/page_links/_form.html.erb +3 -3
  273. data/app/views/spree/admin/page_links/_linkable_type_dropdown.html.erb +3 -3
  274. data/app/views/spree/admin/page_links/create.turbo_stream.erb +10 -4
  275. data/app/views/spree/admin/page_links/destroy.turbo_stream.erb +13 -9
  276. data/app/views/spree/admin/page_links/edit.html.erb +26 -13
  277. data/app/views/spree/admin/page_links/update.turbo_stream.erb +11 -5
  278. data/app/views/spree/admin/page_sections/edit.html.erb +5 -8
  279. data/app/views/spree/admin/page_sections/forms/_breadcrumbs.html.erb +0 -0
  280. data/app/views/spree/admin/page_sections/forms/_image_with_text.html.erb +2 -5
  281. data/app/views/spree/admin/pages/_form.html.erb +1 -4
  282. data/app/views/spree/admin/pages/_table_header.html.erb +6 -0
  283. data/app/views/spree/admin/pages/_table_row.html.erb +28 -0
  284. data/app/views/spree/admin/pages/edit.html.erb +9 -11
  285. data/app/views/spree/admin/pages/{_filters.html.erb → filters.html.erb} +1 -1
  286. data/app/views/spree/admin/pages/index.html.erb +1 -24
  287. data/app/views/spree/admin/pages/new.html.erb +1 -17
  288. data/app/views/spree/admin/payment_methods/_available_payment_method.html.erb +1 -1
  289. data/app/views/spree/admin/payment_methods/_form.html.erb +4 -24
  290. data/app/views/spree/admin/payment_methods/_payment_method.html.erb +5 -2
  291. data/app/views/spree/admin/payment_methods/index.html.erb +17 -19
  292. data/app/views/spree/admin/payments/_payment.html.erb +16 -16
  293. data/app/views/spree/admin/payments/source_views/_gateway.html.erb +3 -3
  294. data/app/views/spree/admin/payments/source_views/_storecredit.html.erb +7 -7
  295. data/app/views/spree/admin/policies/_filters.html.erb +8 -0
  296. data/app/views/spree/admin/policies/_form.html.erb +7 -0
  297. data/app/views/spree/admin/policies/_table_header.html.erb +8 -0
  298. data/app/views/spree/admin/policies/_table_row.html.erb +20 -0
  299. data/app/views/spree/admin/policies/edit.html.erb +2 -0
  300. data/app/views/spree/admin/policies/index.html.erb +9 -0
  301. data/app/views/spree/admin/policies/new.html.erb +1 -0
  302. data/app/views/spree/admin/policies/update.turbo_stream.erb +1 -0
  303. data/app/views/spree/admin/post_categories/_form.html.erb +2 -11
  304. data/app/views/spree/admin/post_categories/_table_header.html.erb +5 -0
  305. data/app/views/spree/admin/post_categories/{_post_category.html.erb → _table_row.html.erb} +3 -3
  306. data/app/views/spree/admin/post_categories/edit.html.erb +1 -14
  307. data/app/views/spree/admin/post_categories/index.html.erb +1 -20
  308. data/app/views/spree/admin/post_categories/new.html.erb +1 -14
  309. data/app/views/spree/admin/posts/_form.html.erb +21 -43
  310. data/app/views/spree/admin/posts/_table_header.html.erb +7 -0
  311. data/app/views/spree/admin/posts/{_post.html.erb → _table_row.html.erb} +2 -2
  312. data/app/views/spree/admin/posts/filters.html.erb +29 -0
  313. data/app/views/spree/admin/posts/index.html.erb +1 -24
  314. data/app/views/spree/admin/products/_bulk_operations.html.erb +6 -16
  315. data/app/views/spree/admin/products/_filters.html.erb +31 -38
  316. data/app/views/spree/admin/products/_form.html.erb +3 -2
  317. data/app/views/spree/admin/products/_list.html.erb +1 -1
  318. data/app/views/spree/admin/products/_product.html.erb +1 -1
  319. data/app/views/spree/admin/products/_table_filter_dropdown.html.erb +6 -6
  320. data/app/views/spree/admin/products/bulk_modal.html.erb +13 -15
  321. data/app/views/spree/admin/products/edit.html.erb +0 -1
  322. data/app/views/spree/admin/products/form/_base.html.erb +1 -5
  323. data/app/views/spree/admin/products/form/_properties.html.erb +2 -2
  324. data/app/views/spree/admin/products/form/_shipping.html.erb +1 -5
  325. data/app/views/spree/admin/products/form/_tax.html.erb +1 -5
  326. data/app/views/spree/admin/products/form/_variants.html.erb +1 -1
  327. data/app/views/spree/admin/products/index.html.erb +7 -2
  328. data/app/views/spree/admin/promotion_actions/_promotion_action.html.erb +7 -7
  329. data/app/views/spree/admin/promotion_actions/forms/_create_line_items.html.erb +4 -4
  330. data/app/views/spree/admin/promotion_actions/new.html.erb +29 -35
  331. data/app/views/spree/admin/promotion_rules/_promotion_rule.html.erb +8 -8
  332. data/app/views/spree/admin/promotion_rules/forms/_item_total.html.erb +1 -1
  333. data/app/views/spree/admin/promotion_rules/new.html.erb +30 -36
  334. data/app/views/spree/admin/promotions/_actions.html.erb +4 -8
  335. data/app/views/spree/admin/promotions/_filters.html.erb +5 -9
  336. data/app/views/spree/admin/promotions/_form.html.erb +36 -0
  337. data/app/views/spree/admin/promotions/_rules.html.erb +4 -8
  338. data/app/views/spree/admin/promotions/_sidebar.html.erb +4 -4
  339. data/app/views/spree/admin/promotions/_table_filter_dropdown.html.erb +7 -7
  340. data/app/views/spree/admin/promotions/_table_header.html.erb +7 -0
  341. data/app/views/spree/admin/promotions/{_promotion.html.erb → _table_row.html.erb} +2 -5
  342. data/app/views/spree/admin/promotions/edit.html.erb +1 -1
  343. data/app/views/spree/admin/promotions/form/_kind.html.erb +52 -48
  344. data/app/views/spree/admin/promotions/form/_settings.html.erb +2 -8
  345. data/app/views/spree/admin/promotions/index.html.erb +1 -26
  346. data/app/views/spree/admin/promotions/new.html.erb +1 -57
  347. data/app/views/spree/admin/properties/_filters.html.erb +5 -0
  348. data/app/views/spree/admin/properties/_form.html.erb +8 -22
  349. data/app/views/spree/admin/properties/_table_header.html.erb +9 -0
  350. data/app/views/spree/admin/properties/{_property.html.erb → _table_row.html.erb} +2 -2
  351. data/app/views/spree/admin/properties/edit.html.erb +1 -21
  352. data/app/views/spree/admin/properties/index.html.erb +3 -38
  353. data/app/views/spree/admin/properties/new.html.erb +1 -18
  354. data/app/views/spree/admin/refund_reasons/_form.html.erb +1 -0
  355. data/app/views/spree/admin/refund_reasons/_table_header.html.erb +6 -0
  356. data/app/views/spree/admin/refund_reasons/_table_row.html.erb +14 -0
  357. data/app/views/spree/admin/refund_reasons/edit.html.erb +1 -3
  358. data/app/views/spree/admin/refund_reasons/index.html.erb +1 -36
  359. data/app/views/spree/admin/refund_reasons/new.html.erb +1 -4
  360. data/app/views/spree/admin/refunds/_form.html.erb +1 -5
  361. data/app/views/spree/admin/refunds/edit.html.erb +9 -11
  362. data/app/views/spree/admin/reimbursement_types/_form.html.erb +10 -31
  363. data/app/views/spree/admin/reimbursement_types/_table_header.html.erb +7 -0
  364. data/app/views/spree/admin/reimbursement_types/_table_row.html.erb +17 -0
  365. data/app/views/spree/admin/reimbursement_types/edit.html.erb +1 -14
  366. data/app/views/spree/admin/reimbursement_types/index.html.erb +1 -40
  367. data/app/views/spree/admin/reimbursement_types/new.html.erb +1 -14
  368. data/app/views/spree/admin/reimbursements/edit.html.erb +9 -9
  369. data/app/views/spree/admin/reimbursements/show.html.erb +12 -12
  370. data/app/views/spree/admin/reports/_report.html.erb +1 -1
  371. data/app/views/spree/admin/reports/index.html.erb +2 -2
  372. data/app/views/spree/admin/reports/new.html.erb +2 -1
  373. data/app/views/spree/admin/return_authorization_reasons/_form.html.erb +1 -0
  374. data/app/views/spree/admin/return_authorization_reasons/_table_header.html.erb +5 -0
  375. data/app/views/spree/admin/return_authorization_reasons/_table_row.html.erb +18 -0
  376. data/app/views/spree/admin/return_authorization_reasons/edit.html.erb +1 -3
  377. data/app/views/spree/admin/return_authorization_reasons/index.html.erb +1 -39
  378. data/app/views/spree/admin/return_authorization_reasons/new.html.erb +1 -4
  379. data/app/views/spree/admin/return_authorizations/_list.html.erb +3 -3
  380. data/app/views/spree/admin/return_authorizations/_table_header.html.erb +6 -0
  381. data/app/views/spree/admin/return_authorizations/{_return_authorization.html.erb → _table_row.html.erb} +1 -1
  382. data/app/views/spree/admin/return_authorizations/{_filters.html.erb → filters.html.erb} +7 -12
  383. data/app/views/spree/admin/return_authorizations/index.html.erb +1 -10
  384. data/app/views/spree/admin/roles/_form.html.erb +4 -5
  385. data/app/views/spree/admin/roles/edit.html.erb +1 -15
  386. data/app/views/spree/admin/roles/index.html.erb +4 -4
  387. data/app/views/spree/admin/roles/new.html.erb +1 -18
  388. data/app/views/spree/admin/shared/_alerts.html.erb +3 -1
  389. data/app/views/spree/admin/shared/_back_to_dashboard.html.erb +1 -0
  390. data/app/views/spree/admin/shared/_breadcrumbs.html.erb +1 -1
  391. data/app/views/spree/admin/shared/_bulk_modal.html.erb +13 -19
  392. data/app/views/spree/admin/shared/_calendar_range_picker.html.erb +6 -7
  393. data/app/views/spree/admin/shared/_close_bulk_modal.turbo_stream.erb +4 -1
  394. data/app/views/spree/admin/shared/_content_header.html.erb +20 -38
  395. data/app/views/spree/admin/shared/_dialog.html.erb +4 -0
  396. data/app/views/spree/admin/shared/_drawer.html.erb +4 -0
  397. data/app/views/spree/admin/shared/_edit_resource.html.erb +17 -0
  398. data/app/views/spree/admin/shared/_export_modal.html.erb +3 -0
  399. data/app/views/spree/admin/shared/_filters_button.html.erb +2 -2
  400. data/app/views/spree/admin/shared/_head.html.erb +1 -1
  401. data/app/views/spree/admin/shared/_header.html.erb +2 -5
  402. data/app/views/spree/admin/shared/_index_table.html.erb +34 -0
  403. data/app/views/spree/admin/shared/_index_table_options.html.erb +5 -7
  404. data/app/views/spree/admin/{variants/form → shared}/_media_asset.html.erb +3 -5
  405. data/app/views/spree/admin/{variants/form/_media.html.erb → shared/_media_form.html.erb} +2 -2
  406. data/app/views/spree/admin/shared/_multi_product_picker.html.erb +7 -7
  407. data/app/views/spree/admin/shared/_new_item_dropdown.html.erb +8 -10
  408. data/app/views/spree/admin/shared/_new_resource.html.erb +18 -0
  409. data/app/views/spree/admin/shared/_no_resource_found.html.erb +1 -1
  410. data/app/views/spree/admin/shared/_page_alerts.html.erb +5 -0
  411. data/app/views/spree/admin/shared/_page_section_image.html.erb +6 -0
  412. data/app/views/spree/admin/shared/_page_tabs.html.erb +9 -0
  413. data/app/views/spree/admin/shared/_refunds.html.erb +6 -8
  414. data/app/views/spree/admin/shared/_seo.html.erb +3 -8
  415. data/app/views/spree/admin/shared/_team_nav.html.erb +1 -3
  416. data/app/views/spree/admin/shared/_user.html.erb +2 -1
  417. data/app/views/spree/admin/shared/_user_dropdown.html.erb +7 -9
  418. data/app/views/spree/admin/shared/named_types/_edit.html.erb +1 -14
  419. data/app/views/spree/admin/shared/named_types/_form.html.erb +2 -11
  420. data/app/views/spree/admin/shared/named_types/_new.html.erb +1 -14
  421. data/app/views/spree/admin/shared/sidebar/_customers_nav.html.erb +8 -0
  422. data/app/views/spree/admin/shared/sidebar/_enterprise_edition_notice.html.erb +1 -1
  423. data/app/views/spree/admin/shared/sidebar/_products_nav.html.erb +1 -1
  424. data/app/views/spree/admin/shared/sidebar/_store_dropdown.html.erb +8 -9
  425. data/app/views/spree/admin/shared/sidebar/_store_nav.html.erb +16 -14
  426. data/app/views/spree/admin/shared/sidebar/_vendors_nav.html.erb +5 -2
  427. data/app/views/spree/admin/shared/sortable_tree/_taxonomy.html.erb +7 -7
  428. data/app/views/spree/admin/shipping_categories/_form.html.erb +1 -5
  429. data/app/views/spree/admin/shipping_categories/_table_header.html.erb +4 -0
  430. data/app/views/spree/admin/shipping_categories/_table_row.html.erb +8 -0
  431. data/app/views/spree/admin/shipping_categories/edit.html.erb +1 -14
  432. data/app/views/spree/admin/shipping_categories/index.html.erb +3 -30
  433. data/app/views/spree/admin/shipping_categories/new.html.erb +1 -14
  434. data/app/views/spree/admin/shipping_methods/_table_header.html.erb +8 -0
  435. data/app/views/spree/admin/shipping_methods/{_shipping_method.html.erb → _table_row.html.erb} +1 -1
  436. data/app/views/spree/admin/shipping_methods/form/_display.html.erb +2 -2
  437. data/app/views/spree/admin/shipping_methods/form/_tax_category.html.erb +1 -4
  438. data/app/views/spree/admin/shipping_methods/form/_tracking_url.html.erb +1 -1
  439. data/app/views/spree/admin/shipping_methods/index.html.erb +3 -26
  440. data/app/views/spree/admin/stock_items/_filters.html.erb +12 -21
  441. data/app/views/spree/admin/stock_items/_table_header.html.erb +9 -0
  442. data/app/views/spree/admin/stock_items/{_stock_item.html.erb → _table_row.html.erb} +1 -1
  443. data/app/views/spree/admin/stock_items/index.html.erb +1 -27
  444. data/app/views/spree/admin/stock_locations/_form.html.erb +3 -15
  445. data/app/views/spree/admin/stock_locations/_table_header.html.erb +9 -0
  446. data/app/views/spree/admin/stock_locations/{_stock_location.html.erb → _table_row.html.erb} +7 -6
  447. data/app/views/spree/admin/stock_locations/edit.html.erb +1 -14
  448. data/app/views/spree/admin/stock_locations/index.html.erb +3 -26
  449. data/app/views/spree/admin/stock_locations/new.html.erb +1 -14
  450. data/app/views/spree/admin/stock_transfers/_filters.html.erb +25 -33
  451. data/app/views/spree/admin/stock_transfers/_new_variant_modal.html.erb +22 -26
  452. data/app/views/spree/admin/stock_transfers/_table_header.html.erb +9 -0
  453. data/app/views/spree/admin/stock_transfers/{_stock_transfer.html.erb → _table_row.html.erb} +2 -2
  454. data/app/views/spree/admin/stock_transfers/index.html.erb +1 -26
  455. data/app/views/spree/admin/stock_transfers/new.html.erb +5 -6
  456. data/app/views/spree/admin/stock_transfers/show.html.erb +3 -3
  457. data/app/views/spree/admin/store_credit_categories/_form.html.erb +1 -5
  458. data/app/views/spree/admin/store_credit_categories/index.html.erb +3 -3
  459. data/app/views/spree/admin/store_credit_events/_store_credit_event.html.erb +1 -1
  460. data/app/views/spree/admin/store_credits/_form.html.erb +3 -16
  461. data/app/views/spree/admin/store_credits/_list.html.erb +7 -7
  462. data/app/views/spree/admin/store_credits/_store_credit.html.erb +2 -2
  463. data/app/views/spree/admin/store_credits/show.html.erb +6 -6
  464. data/app/views/spree/admin/storefront/edit.html.erb +10 -53
  465. data/app/views/spree/admin/stores/edit.html.erb +10 -6
  466. data/app/views/spree/admin/stores/form/_basic.html.erb +65 -158
  467. data/app/views/spree/admin/stores/form/_checkout.html.erb +35 -51
  468. data/app/views/spree/admin/stores/form/_checkout_links.html.erb +28 -0
  469. data/app/views/spree/admin/stores/form/_emails.html.erb +33 -64
  470. data/app/views/spree/admin/stores/form/_policies.html.erb +55 -71
  471. data/app/views/spree/admin/stores/new.html.erb +119 -129
  472. data/app/views/spree/admin/tax_categories/_form.html.erb +4 -17
  473. data/app/views/spree/admin/tax_categories/_table_header.html.erb +7 -0
  474. data/app/views/spree/admin/tax_categories/{_tax_category.html.erb → _table_row.html.erb} +1 -1
  475. data/app/views/spree/admin/tax_categories/edit.html.erb +1 -14
  476. data/app/views/spree/admin/tax_categories/index.html.erb +3 -24
  477. data/app/views/spree/admin/tax_categories/new.html.erb +1 -14
  478. data/app/views/spree/admin/tax_rates/_form.html.erb +6 -26
  479. data/app/views/spree/admin/tax_rates/_table_header.html.erb +9 -0
  480. data/app/views/spree/admin/tax_rates/{_tax_rate.html.erb → _table_row.html.erb} +1 -1
  481. data/app/views/spree/admin/tax_rates/edit.html.erb +1 -14
  482. data/app/views/spree/admin/tax_rates/index.html.erb +3 -26
  483. data/app/views/spree/admin/tax_rates/new.html.erb +1 -14
  484. data/app/views/spree/admin/taxonomies/_form.html.erb +5 -0
  485. data/app/views/spree/admin/taxonomies/_table_header.html.erb +6 -0
  486. data/app/views/spree/admin/taxonomies/{_taxonomy.html.erb → _table_row.html.erb} +3 -3
  487. data/app/views/spree/admin/taxonomies/edit.html.erb +1 -25
  488. data/app/views/spree/admin/taxonomies/filters.html.erb +6 -0
  489. data/app/views/spree/admin/taxonomies/index.html.erb +3 -34
  490. data/app/views/spree/admin/taxonomies/new.html.erb +1 -23
  491. data/app/views/spree/admin/taxons/_form.html.erb +6 -30
  492. data/app/views/spree/admin/taxons/_rule_form.html.erb +2 -1
  493. data/app/views/spree/admin/taxons/_rules_form.html.erb +1 -1
  494. data/app/views/spree/admin/taxons/edit.html.erb +0 -1
  495. data/app/views/spree/admin/themes/_theme.html.erb +9 -8
  496. data/app/views/spree/admin/themes/index.html.erb +14 -16
  497. data/app/views/spree/admin/translations/edit.html.erb +34 -49
  498. data/app/views/spree/admin/translations/policies/_form.html.erb +12 -0
  499. data/app/views/spree/admin/translations/products/_form.html.erb +2 -0
  500. data/app/views/spree/admin/translations/translation_rows/_permalink_field_row.html.erb +11 -20
  501. data/app/views/spree/admin/translations/translation_rows/_rich_textarea_row.html.erb +1 -11
  502. data/app/views/spree/admin/translations/translation_rows/_text_field_row.html.erb +1 -5
  503. data/app/views/spree/admin/translations/translation_rows/_textarea_row.html.erb +2 -9
  504. data/app/views/spree/admin/translations/translation_rows/_tinymce_row.html.erb +4 -11
  505. data/app/views/spree/admin/translations/update.turbo_stream.erb +1 -0
  506. data/app/views/spree/admin/users/_filters.html.erb +50 -66
  507. data/app/views/spree/admin/users/_form.html.erb +3 -36
  508. data/app/views/spree/admin/users/_form_fields.html.erb +15 -0
  509. data/app/views/spree/admin/users/_last_order.html.erb +3 -2
  510. data/app/views/spree/admin/users/_lifetime_stats.html.erb +1 -1
  511. data/app/views/spree/admin/users/_tabs.html.erb +31 -31
  512. data/app/views/spree/admin/users/_user.html.erb +1 -1
  513. data/app/views/spree/admin/users/bulk_modal.html.erb +11 -13
  514. data/app/views/spree/admin/users/edit.html.erb +1 -1
  515. data/app/views/spree/admin/users/index.html.erb +53 -55
  516. data/app/views/spree/admin/users/new.html.erb +1 -18
  517. data/app/views/spree/admin/variants/_variant.html.erb +1 -1
  518. data/app/views/spree/admin/variants/edit.html.erb +1 -1
  519. data/app/views/spree/admin/variants/form/_basic.html.erb +4 -17
  520. data/app/views/spree/admin/variants/form/_dimensions.html.erb +4 -18
  521. data/app/views/spree/admin/variants/form/_inventory.html.erb +6 -12
  522. data/app/views/spree/admin/variants/form/_pricing.html.erb +3 -3
  523. data/app/views/spree/admin/webhook_events/_webhook_event.html.erb +1 -1
  524. data/app/views/spree/admin/webhooks_subscribers/_form.html.erb +57 -73
  525. data/app/views/spree/admin/webhooks_subscribers/_table_header.html.erb +7 -0
  526. data/app/views/spree/admin/webhooks_subscribers/{_webhooks_subscriber.html.erb → _table_row.html.erb} +3 -3
  527. data/app/views/spree/admin/webhooks_subscribers/edit.html.erb +1 -9
  528. data/app/views/spree/admin/webhooks_subscribers/index.html.erb +1 -23
  529. data/app/views/spree/admin/webhooks_subscribers/new.html.erb +1 -11
  530. data/app/views/spree/admin/webhooks_subscribers/show.html.erb +8 -8
  531. data/app/views/spree/admin/zones/_form.html.erb +8 -28
  532. data/app/views/spree/admin/zones/_table_header.html.erb +8 -0
  533. data/app/views/spree/admin/zones/_table_row.html.erb +8 -0
  534. data/app/views/spree/admin/zones/edit.html.erb +1 -14
  535. data/app/views/spree/admin/zones/index.html.erb +3 -35
  536. data/app/views/spree/admin/zones/new.html.erb +1 -14
  537. data/config/importmap.rb +31 -1
  538. data/config/initializers/assets.rb +3 -1
  539. data/config/locales/en.yml +32 -3
  540. data/config/routes.rb +27 -4
  541. data/lib/generators/spree/admin/scaffold/scaffold_generator.rb +51 -0
  542. data/lib/generators/spree/admin/scaffold/templates/controller.rb.tt +11 -0
  543. data/lib/generators/spree/admin/scaffold/templates/views/_filters.html.erb.tt +13 -0
  544. data/lib/generators/spree/admin/scaffold/templates/views/_form.html.erb.tt +5 -0
  545. data/lib/generators/spree/admin/scaffold/templates/views/_table_header.html.erb.tt +5 -0
  546. data/lib/generators/spree/admin/scaffold/templates/views/_table_row.html.erb.tt +9 -0
  547. data/lib/generators/spree/admin/scaffold/templates/views/edit.html.erb.tt +1 -0
  548. data/lib/generators/spree/admin/scaffold/templates/views/index.html.erb.tt +9 -0
  549. data/lib/generators/spree/admin/scaffold/templates/views/new.html.erb.tt +1 -0
  550. data/lib/spree/admin/engine.rb +13 -9
  551. data/lib/spree/admin/runtime_configuration.rb +3 -0
  552. data/lib/spree/admin/testing_support/capybara_utils.rb +19 -0
  553. data/lib/spree/admin.rb +1 -3
  554. data/vendor/javascript/@codemirror--autocomplete.js +4 -0
  555. data/vendor/javascript/@codemirror--commands.js +4 -0
  556. data/vendor/javascript/@codemirror--lang-json.js +4 -0
  557. data/vendor/javascript/@codemirror--language.js +4 -0
  558. data/vendor/javascript/@codemirror--lint.js +4 -0
  559. data/vendor/javascript/@codemirror--search.js +4 -0
  560. data/vendor/javascript/@codemirror--state.js +4 -0
  561. data/vendor/javascript/@codemirror--view.js +4 -0
  562. data/vendor/javascript/@floating-ui--core.js +4 -0
  563. data/vendor/javascript/@floating-ui--dom.js +12 -0
  564. data/vendor/javascript/@floating-ui--utils--dom.js +4 -0
  565. data/vendor/javascript/@floating-ui--utils.js +4 -0
  566. data/vendor/javascript/@highlightjs--cdn-assets--es--core.min.js.js +308 -0
  567. data/vendor/javascript/@highlightjs--cdn-assets--es--languages--json.min.js.js +10 -0
  568. data/vendor/javascript/@lezer--common.js +4 -0
  569. data/vendor/javascript/@lezer--highlight.js +4 -0
  570. data/vendor/javascript/@lezer--json.js +4 -0
  571. data/vendor/javascript/@lezer--lr.js +4 -0
  572. data/vendor/javascript/@marijn--find-cluster-break.js +4 -0
  573. data/vendor/javascript/@stimulus-components--dialog.js +4 -0
  574. data/vendor/javascript/@stimulus-components--dropdown.js +4 -0
  575. data/vendor/javascript/codemirror.js +4 -0
  576. data/vendor/javascript/crelt.js +4 -0
  577. data/vendor/javascript/stimulus-use.js +2 -2
  578. data/vendor/javascript/style-mod.js +4 -0
  579. data/vendor/javascript/w3c-keyname.js +4 -0
  580. metadata +209 -69
  581. data/app/assets/stylesheets/spree/admin/plugins/flatfile.scss +0 -4
  582. data/app/helpers/spree/admin/session_assets_helper.rb +0 -24
  583. data/app/javascript/spree/admin/controllers/bootstrap_tabs_controller.js +0 -9
  584. data/app/javascript/spree/admin/controllers/enable_button_controller.js +0 -29
  585. data/app/views/spree/admin/coupon_codes/_coupon_code.html.erb +0 -8
  586. data/app/views/spree/admin/errors/forbidden.html.erb +0 -13
  587. data/app/views/spree/admin/gift_cards/index.csv.erb +0 -22
  588. data/app/views/spree/admin/orders/user/create.turbo_stream.erb +0 -12
  589. data/app/views/spree/admin/orders/user/update.turbo_stream.erb +0 -5
  590. data/app/views/spree/admin/pages/_page.html.erb +0 -26
  591. data/app/views/spree/admin/posts/_filters.html.erb +0 -36
  592. data/app/views/spree/admin/stores/create.turbo_stream.erb +0 -5
  593. data/app/views/spree/admin/translations/_translations_unavailable.html.erb +0 -8
  594. data/app/views/spree/admin/users/index.csv.erb +0 -43
  595. /data/app/views/spree/admin/page_blocks/forms/{_buy_buttons.html.erb → products/_buy_buttons.html.erb} +0 -0
  596. /data/app/views/spree/admin/page_blocks/forms/{_quantity_selector.html.erb → products/_quantity_selector.html.erb} +0 -0
@@ -1,6 +1,6 @@
1
1
  // https://github.com/twbs/bootstrap/blob/v4.6.2/scss/_variables.scss
2
2
 
3
- $gray-25: #F8F8F9;
3
+ $gray-25: #FAFAFA;
4
4
  $gray-50: #F3F3F3;
5
5
  $gray-100: #E3E3E3 !default;
6
6
  $gray-200: #D5D5D5 !default;
@@ -12,7 +12,7 @@ $gray-700: #4D4D4D !default;
12
12
  $gray-800: #333333 !default;
13
13
  $gray-900: #1A1A1A !default;
14
14
 
15
- $light: $gray-50 !default;
15
+ $light: $gray-25 !default;
16
16
 
17
17
  $primary: #061932 !default;
18
18
  $black: #000000 !default;
@@ -27,7 +27,7 @@ $container-max-widths: (
27
27
  sm: 540px,
28
28
  md: 720px,
29
29
  lg: 960px,
30
- xl: 1260px
30
+ xl: 1250px
31
31
  ) !default;
32
32
  $grid-gutter-width: 16px !default;
33
33
 
@@ -35,7 +35,7 @@ $theme-colors: (
35
35
  "white": $white,
36
36
  "black": $black,
37
37
  "primary": $primary,
38
- "secondary": rgba($blue, 0.1),
38
+ "secondary": rgba($blue, 0.05),
39
39
  "action": $action,
40
40
  "action-border": $action-border,
41
41
  "active": $gray-25,
@@ -52,28 +52,28 @@ $theme-colors: (
52
52
  "gray-600": $gray-600,
53
53
  "gray-700": $gray-700,
54
54
  "gray-800": $gray-800,
55
- "gray-900": $gray-900,
56
- "mint": #C7E15A
55
+ "gray-900": $gray-900
57
56
  );
58
57
 
59
58
  $body-color: #333 !default;
60
- $body-bg: $gray-25 !default;
59
+ $body-bg: $white !default;
61
60
  $enable-shadows: false;
62
61
  $enable-responsive-font-sizes: true;
63
62
  $font-family-sans-serif: Inter, sans-serif !default;
64
- $font-size-base: 0.813rem !default;
63
+ $font-size-base: 0.8125rem !default;
65
64
  $font-size-plus: 0.875rem !default;
66
65
  $font-size-sm: 0.75rem !default;
67
66
  $font-size-lg: 1rem !default;
68
67
  $font-weight-normal: 400 !default;
69
- $font-weight-bold: 600 !default;
68
+ $font-weight-medium: 500 !default;
69
+ $font-weight-bold: 600 !default;
70
70
  $headings-font-family: $font-family-sans-serif;
71
71
  $line-height-base: 1.5 !default;
72
72
  $border-radius: 0.5rem !default;
73
73
  $border-radius-sm: 0.4rem !default;
74
74
  $border-radius-lg: 0.75rem !default;
75
- $border-color: $gray-100 !default;
76
- $input-border-color: $border-color !default;
75
+ $border-color: rgba($gray-100, 0.85) !default;
76
+ $input-border-color: rgba($gray-200, 0.85) !default;
77
77
  $list-group-border-color: $border-color !default;
78
78
  $list-group-hover-bg: $gray-25 !default;
79
79
  $list-group-active-bg: $action !default;
@@ -81,61 +81,63 @@ $list-group-active-border-color: $action-border !default;
81
81
 
82
82
  $thumbnail-border-color: $border-color !default;
83
83
  $hr-border-color: $border-color !default;
84
- $table-border-color: $gray-50 !default;
84
+ $table-border-color: $border-color !default;
85
85
  $card-border-color: $border-color !default;
86
86
  $input-btn-focus-width: 0.18rem !default;
87
87
 
88
- $card-spacer-y: .75rem !default;
89
- $card-spacer-x: 1rem !default;
88
+ $card-spacer-y: 1rem !default;
89
+ $card-spacer-x: 1.25rem !default;
90
90
 
91
91
  $component-active-bg: $blue !default;
92
92
 
93
93
  $input-placeholder-color: $gray-500;
94
- $input-padding-y: .5rem !default;
94
+ $input-padding-y: .55rem !default;
95
95
  $input-disabled-bg: $gray-25 !default;
96
96
  $input-focus-border-color: $blue !default;
97
- $input-box-shadow: none !default;
98
- $btn-box-shadow: $input-box-shadow !default;
99
97
  $custom-select-disabled-bg: $gray-50 !default;
100
98
 
101
- $text-muted: $gray-400 !default;
99
+ $text-muted: $gray-600 !default;
102
100
 
103
101
  $link-color: $primary !default;
104
102
  $link-hover-decoration: underline !default;
105
103
 
106
104
  $btn-active-box-shadow: inset 0 3px 5px rgba($black, .025) !default;
107
- $btn-disabled-opacity: 0.3 !default;
105
+ $btn-disabled-opacity: 0.7 !default;
108
106
 
109
107
  $nav-link-padding-y: .5rem !default;
110
108
  $nav-link-padding-x: .6rem !default;
111
109
 
112
110
  $box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06) !default;
113
- $box-shadow-xs: rgba(43, 34, 51, 0.04) 0px 1px 2px !default;
111
+ $box-shadow-xs: rgba(43, 34, 51, 0.03) 0px 1px 1px !default;
114
112
  $box-shadow-lg: rgba(0, 5, 13, 0.5) 0px 4px 8px 2px;
113
+ $input-box-shadow: $box-shadow-xs !default;
114
+ $btn-box-shadow: $input-box-shadow !default;
115
115
 
116
- $card-border-width: 0px !default;
117
- $card-box-shadow: 0 0 0 1px $card-border-color, 0 1px 2px 0 rgba(0, 0, 0, 0.05) !default;
116
+ $btn-font-weight: $font-weight-medium !default;
117
+
118
+ $card-border-width: 1px !default;
118
119
  $card-bg: $white !default;
119
- $card-border-radius: $border-radius-lg !default;
120
+ $card-border-radius: 1rem !default;
120
121
 
121
- $tooltip-border-radius: $border-radius !default;
122
+ $tooltip-border-radius: $border-radius-lg !default;
122
123
  $tooltip-opacity: 1 !default;
123
124
  $tooltip-margin: 0.25rem 0 !default;
124
- $tooltip-padding-y: .25rem !default;
125
- $tooltip-padding-x: .5rem !default;
125
+ $tooltip-padding-y: .35rem !default;
126
+ $tooltip-padding-x: .65rem !default;
126
127
  $tooltip-bg: $white !default;
127
128
  $tooltip-color: $body-color !default;
128
129
  $tooltip-arrow-color: transparent !default;
129
130
  $tooltip-max-width: 210px !default;
131
+ $tooltip-font-size: $font-size-base !default;
130
132
 
131
133
  $transition-base: all .1s ease-in-out !default;
132
134
  $transition-fade: opacity .15s linear !default;
133
135
  $transition-collapse: height .15s ease !default;
134
136
  $transition-collapse-width: width .15s ease !default;
135
137
 
136
- $badge-font-size: 0.70rem !default;
137
- $badge-font-weight: 500 !default;
138
- $badge-padding-y: .25em !default;
138
+ $badge-font-size: $font-size-sm !default;
139
+ $badge-font-weight: $font-weight-normal !default;
140
+ $badge-padding-y: .35em !default;
139
141
  $badge-padding-x: .45em !default;
140
142
  $badge-border-radius: $border-radius-sm !default;
141
143
 
@@ -161,15 +163,20 @@ $display2-weight: 400 !default;
161
163
  $display3-weight: 400 !default;
162
164
  $display4-weight: 400 !default;
163
165
 
166
+ $dropdown-bg: $white !default;
164
167
  $dropdown-border-width: 0px !default;
165
- $dropdown-border-radius: $border-radius-lg !default;
166
- $dropdown-link-hover-bg: $gray-50 !default;
167
- $dropdown-box-shadow: rgba(209, 217, 224, 0.8) 0px 0px 0px 1px, rgba(37, 41, 46, 0.04) 0px 6px 12px -3px, rgba(37, 41, 46, 0.12) 0px 6px 18px 0px !default;
168
+ $dropdown-border-radius: 1rem !default;
169
+ $dropdown-inner-border-radius: 0.75rem !default;
170
+ $dropdown-link-hover-bg: rgba($gray-100, 0.5) !default;
171
+ $dropdown-box-shadow: 0px 0px 0px 1px $gray-200, 0px 6px 12px -3px rgba($gray-300, 0.35), 0px 6px 18px 0px rgba($gray-300, 0.35) !default;
168
172
  $dropdown-padding-x: 0.25rem !default;
169
173
  $dropdown-padding-y: 0.25rem !default;
170
174
  $dropdown-divider-bg: $gray-50 !default;
171
175
  $dropdown-divider-margin-y: 0.25rem !default;
172
- $dropdown-header-color: $gray-500 !default;
176
+ $dropdown-header-color: $text-muted !default;
177
+ $dropdown-item-padding-y: 0.45rem !default;
178
+ $dropdown-item-padding-x: 0.65rem !default;
179
+
173
180
  $zindex-dropdown: 1050;
174
181
 
175
182
  $modal-backdrop-bg: $body-bg !default;
@@ -183,13 +190,14 @@ $modal-show-transform: none !default;
183
190
  $modal-transition: transform .2s ease-out !default;
184
191
  $modal-scale-transform: scale(1.02) !default;
185
192
  $modal-header-border-width: 1px !default;
186
- $modal-content-box-shadow-xs: $border-color 0px 0px 0px 1px, rgba(0, 0, 0, 0.02) 0px 1px 1px 0px, rgba(0, 0, 0, 0.04) 0px 8px 16px -4px, rgba(0, 0, 0, 0.06) 0px 24px 32px -8px !default;
193
+ $modal-content-box-shadow-xs: $dropdown-box-shadow;
187
194
  $modal-content-box-shadow-sm-up: $modal-content-box-shadow-xs !default;
188
195
  $modal-footer-margin-between: 0 !default;
189
196
 
190
197
  $alert-padding-y: 0.5rem !default;
191
198
  $alert-padding-x: 1rem !default;
192
- $alert-border-radius: $border-radius-lg;
199
+ $alert-border-radius: $border-radius;
200
+ $alert-border-width: 0px !default;
193
201
 
194
202
  $breadcrumb-bg: transparent !default;
195
203
  $breadcrumb-padding-y: 0 !default;
@@ -205,17 +213,27 @@ $embed-responsive-aspect-ratios: (
205
213
  ) !default;
206
214
 
207
215
  // tables
208
- $table-cell-padding: .75rem .50rem !default;
216
+ $table-cell-padding: 1.15rem .75rem !default;
209
217
 
210
- $code-color: $gray-600 !default;
211
- $code-bg: $gray-25 !default;
218
+ $code-color: $body-color !default;
219
+ $code-bg: $gray-50 !default;
212
220
 
213
221
  $list-group-bg: transparent !default;
214
- $list-group-item-padding-x: 1rem !default;
215
222
 
216
- $header-bg: $gray-25 !default;
217
- $header-height: 60px !default;
223
+ $list-group-item-padding-x: 1.25rem !default;
224
+ $list-group-item-padding-y: 0.75rem !default;
225
+ $header-bg: $body-bg !default;
226
+ $header-height: 54px !default;
218
227
  $sidebar-width: 220px !default;
219
- $sidebar-bg: $gray-25 !default;
228
+ $sidebar-bg: $light !default;
229
+
230
+ $progress-bar-bg: rgba($blue, 0.75) !default;
231
+
232
+ $btn-border-radius: $border-radius-lg !default;
233
+ $btn-border-radius-lg: $border-radius-lg !default;
234
+ $btn-border-radius-sm: $border-radius !default;
235
+
236
+ $nav-pills-border-radius: $border-radius-lg !default;
220
237
 
221
- $progress-bar-bg: $blue !default;
238
+ $modal-content-inner-border-radius: 1rem !default;
239
+ $modal-content-border-radius: 1rem !default;
@@ -67,6 +67,11 @@ trix-toolbar .trix-button, trix-toolbar .trix-button-group {
67
67
  margin-bottom: 0 !important;
68
68
  }
69
69
 
70
+ trix-toolbar .trix-button {
71
+ width: 32px !important;
72
+ height: 28px !important;
73
+ padding: 4px;
74
+ }
70
75
  trix-toolbar .trix-button:hover {
71
76
  background-color: $border-color !important;
72
77
  color: theme-color('black') !important;
@@ -87,7 +87,7 @@ $select-spinner-border-color: $select-color-border !default;
87
87
  .#{$select-ns}-wrapper.single{
88
88
  .#{$select-ns}-control {
89
89
  &, input {
90
- cursor: pointer;
90
+ cursor: default;
91
91
  }
92
92
  }
93
93
  }
@@ -1,3 +1,25 @@
1
+ .uppy-Root {
2
+ font-family: $font-family-base !important;
3
+ font-size: $font-size-base !important;
4
+ color: $body-color !important;
5
+ line-height: $line-height-base !important;
6
+ }
7
+
8
+ .uppy-Dashboard-inner {
9
+ background-color: $light;
10
+ border-color: $border-color;
11
+ }
12
+
13
+ .uppy-Dashboard-innerWrap, .uppy-Dashboard-inner, .uppy-Dashboard-AddFiles {
14
+ border-radius: $border-radius-lg !important;
15
+ }
16
+
17
+ .uppy-Dashboard-Item-previewInnerWrap {
18
+ background-color: transparent !important;
19
+ border-radius: $border-radius-lg !important;
20
+ box-shadow: none !important;
21
+ }
22
+
1
23
  .uppy-Dashboard--modal .uppy-Dashboard-overlay {
2
24
  background-color: $modal-backdrop-bg !important;
3
25
  opacity: $modal-backdrop-opacity !important;
@@ -8,10 +30,16 @@
8
30
  border-color: $modal-content-border-color !important;
9
31
  }
10
32
 
33
+ .uppy-Dashboard-browse, .uppy-DashboardContent-back {
34
+ @extend .btn;
35
+ @extend .btn-light;
36
+ }
11
37
  .uppy-Dashboard-browse {
12
- color: $blue !important;
13
- text-decoration: none !important;
14
- border-bottom: 0 !important;
38
+ @extend .ml-2;
39
+ }
40
+ .uppy-DashboardContent-save {
41
+ @extend .btn;
42
+ @extend .btn-primary;
15
43
  }
16
44
 
17
45
  .uppy-Dashboard-close {
@@ -23,3 +51,24 @@
23
51
  }
24
52
  }
25
53
 
54
+ .uppy-StatusBar-actionBtn {
55
+ @extend .btn;
56
+ @extend .btn-sm;
57
+ @extend .btn-light;
58
+ }
59
+
60
+ .uppy-StatusBar.is-complete .uppy-StatusBar-progress {
61
+ background-color: theme-color('blue') !important;
62
+ }
63
+
64
+ .uppy-Dashboard-AddFiles-title {
65
+ font-weight: $font-weight-base !important;
66
+ font-size: $font-size-base !important;
67
+ }
68
+
69
+ .uppy-size--md .uppy-DashboardContent-bar {
70
+ height: 56px !important;
71
+ }
72
+ .uppy-size--md .uppy-DashboardContent-title {
73
+ line-height: 56px !important;
74
+ }
@@ -2,12 +2,20 @@
2
2
  html {
3
3
  min-height: 100%;
4
4
  letter-spacing: normal;
5
+ text-rendering: optimizeLegibility;
6
+ text-size-adjust: 100%;
5
7
  }
6
8
  body {
7
9
  @extend .h-100;
8
10
  overflow-y:scroll;
9
11
  }
10
12
 
13
+ body * {
14
+ &:focus {
15
+ outline-color: theme-color('blue') !important;
16
+ }
17
+ }
18
+
11
19
  html, body {
12
20
  overscroll-behavior: none;
13
21
  }
@@ -23,7 +31,7 @@ strong {
23
31
  }
24
32
 
25
33
  .font-weight-semibold {
26
- font-weight: 500 !important;
34
+ font-weight: $font-weight-medium !important;
27
35
  }
28
36
 
29
37
  .text-size-lg, .font-size-lg {
@@ -313,13 +321,6 @@ small,
313
321
  font-size: $font-size-sm !important;
314
322
  }
315
323
 
316
- .alerts-container {
317
- position: fixed;
318
- width: 100%;
319
- z-index: 1070;
320
- top: 1rem;
321
- }
322
-
323
324
  // tailwind matchers
324
325
 
325
326
  .gap-1 {
@@ -524,7 +525,7 @@ turbo-frame[loading] .spinner-border, turbo-frame[busy] .spinner-border {
524
525
  @extend .rounded-pill;
525
526
  @extend .text-uppercase;
526
527
  font-size: 0.875rem;
527
- font-weight: 500;
528
+ font-weight: $font-weight-medium;
528
529
  padding: 5px 16px ;
529
530
  letter-spacing: 2.24px;
530
531
  border: 1px solid $gray-200;
@@ -596,6 +597,10 @@ turbo-frame[loading] .spinner-border, turbo-frame[busy] .spinner-border {
596
597
  background-color: rgba($gray-500, 0.25);
597
598
  }
598
599
  }
600
+ .overflow-visible {
601
+ overflow-y: visible !important;
602
+ overflow-x: visible !important;
603
+ }
599
604
 
600
605
  .outline-none {
601
606
  outline: none !important;
@@ -688,7 +693,7 @@ div.uppy-Root {
688
693
  background-color: $gray-200;
689
694
  color: $gray-500;
690
695
  font-size: $font-size-base;
691
- font-weight: 500;
696
+ font-weight: $font-weight-medium;
692
697
  display: flex;
693
698
  align-items: center;
694
699
  justify-content: center;
@@ -697,20 +702,16 @@ div.uppy-Root {
697
702
  .breadcrumb {
698
703
  gap: 0.5rem;
699
704
  align-items: center;
700
- color: $gray-500;
701
- font-size: $font-size-sm;
705
+ color: $text-muted;
706
+ font-weight: $font-weight-medium;
702
707
 
703
- i {
704
- opacity: 0.5;
705
- }
706
-
707
708
  li {
708
709
  a {
709
- color: $gray-500;
710
710
  text-decoration: none;
711
711
 
712
712
  &:hover {
713
713
  color: $primary;
714
+ text-decoration: underline;
714
715
  }
715
716
  }
716
717
  }
@@ -4,7 +4,7 @@
4
4
  }
5
5
 
6
6
  label {
7
- font-weight: 500;
7
+ font-weight: $font-weight-medium;
8
8
  font-size: 100%;
9
9
 
10
10
  &:hover {
@@ -23,13 +23,15 @@ label {
23
23
 
24
24
  .form-text {
25
25
  font-size: $font-size-sm;
26
+ color: $text-muted;
26
27
  margin-top: 0;
27
28
  }
28
29
 
29
30
  .form-control, .text-input, .trix-container, .ts-control, trix-toolbar .trix-dialog .trix-input, .custom-select, .input-group-text, .custom-file-label {
30
31
  box-shadow: $input-box-shadow;
31
- transition-property: box-shadow;
32
- transition-duration: 0.2s;
32
+ transition-property: box-shadow, border-color;
33
+ transition-duration: 0.15s;
34
+ transition-timing-function: ease;
33
35
 
34
36
  &:disabled, &[readonly] {
35
37
  @extend .shadow-none;
@@ -71,7 +73,7 @@ input[type="file"] {
71
73
  }
72
74
  .custom-select, .form-control, .ts-control {
73
75
  &:hover:not(:focus):not(:active):not(.active):not(:focus-visible):not(:focus-within) {
74
- border: 1px solid $gray-200;
76
+ border: 1px solid $gray-100;
75
77
  }
76
78
  }
77
79
 
@@ -80,6 +82,7 @@ input[type="file"] {
80
82
  }
81
83
  .ts-dropdown {
82
84
  @extend .p-1;
85
+ z-index: 10000000 !important;
83
86
 
84
87
  .option {
85
88
  @extend .p-2;
@@ -1,8 +1,10 @@
1
1
  $sidebar-width: 345px;
2
- $header-height: 43px;
2
+ $header-height: 50px;
3
3
 
4
4
  #page-builder {
5
- background-color: $gray-100;
5
+ background-color: $gray-50;
6
+ height: 100vh;
7
+ overflow: hidden;
6
8
 
7
9
  #content {
8
10
  margin-left: 0;
@@ -19,19 +21,17 @@ $header-height: 43px;
19
21
  }
20
22
 
21
23
  .nav-pills {
22
- border-radius: $border-radius;
23
- background-color: $gray-100;
24
- padding: 0.1rem;
24
+ background-color: $gray-50;
25
+ padding: 0.25rem;
26
+ border-radius: $nav-pills-border-radius;
25
27
 
26
28
  .nav-link {
27
29
  background-color: transparent;
28
30
  padding: 0.25rem 0.5rem;
29
- border-radius: $border-radius-sm;
30
- border: 1px solid transparent;
31
+ border-radius: $border-radius;
31
32
 
32
33
  &.active {
33
34
  background-color: $white;
34
- border: 1px solid $border-color;
35
35
  }
36
36
  }
37
37
  }
@@ -46,6 +46,7 @@ $header-height: 43px;
46
46
  height: $header-height;
47
47
  nav {
48
48
  width: 100%;
49
+ height: $header-height;
49
50
  display: flex;
50
51
  align-items: center;
51
52
  gap: 0.5rem;
@@ -59,7 +60,6 @@ $header-height: 43px;
59
60
  left: 0px;
60
61
  background-color: $body-bg;
61
62
  border-right: 1px solid $border-color;
62
- overflow-y: scroll;
63
63
  overflow-x: hidden;
64
64
  height: calc(100vh - $header-height);
65
65
  .sidebar-header {
@@ -96,7 +96,7 @@ $header-height: 43px;
96
96
  }
97
97
  #page-builder-preview {
98
98
  border-radius: $border-radius;
99
- border: 1px solid $gray-300;
99
+ border: 1px solid $gray-200;
100
100
  margin-top: calc($header-height + 1rem);
101
101
  }
102
102
 
@@ -106,7 +106,7 @@ $header-height: 43px;
106
106
  &:hover,
107
107
  &:focus {
108
108
  color: theme-color('black') !important;
109
- background-color: $gray-100 !important;
109
+ background-color: $gray-50 !important;
110
110
  a {
111
111
  text-decoration: none !important;
112
112
  }
@@ -120,7 +120,7 @@ $header-height: 43px;
120
120
  &:hover,
121
121
  &:focus,
122
122
  &:active {
123
- background-color: $gray-200 !important;
123
+ background-color: $gray-100 !important;
124
124
  }
125
125
  }
126
126
  }
@@ -8,11 +8,11 @@ module Spree
8
8
  end
9
9
 
10
10
  def set_variables
11
- @theme_preview = current_store.theme_previews.find(session[:theme_preview_id]) if session[:theme_preview_id].present?
12
- @theme = @theme_preview.parent if @theme_preview
13
- if session[:page_preview_id].present?
11
+ @theme_preview = current_store.theme_previews.find_by(id: session[:theme_preview_id]) if session[:theme_preview_id].present?
12
+ @theme = @theme_preview.present? ? @theme_preview.parent : current_store.default_theme
13
+ if @theme.present? && session[:page_preview_id].present?
14
14
  @page_preview = @theme.page_previews.find_by(id: session[:page_preview_id]) ||
15
- current_store.page_previews.find(session[:page_preview_id])
15
+ current_store.page_previews.find_by(id: session[:page_preview_id])
16
16
  end
17
17
  @page = @page_preview.parent if @page_preview
18
18
  end
@@ -0,0 +1,23 @@
1
+ module Spree
2
+ module Admin
3
+ module SettingsConcern
4
+ extend ActiveSupport::Concern
5
+
6
+ included do
7
+ before_action :set_settings_area_flag
8
+ end
9
+
10
+ def choose_layout
11
+ return 'turbo_rails/frame' if turbo_frame_request?
12
+
13
+ 'spree/admin_settings'
14
+ end
15
+
16
+ private
17
+
18
+ def set_settings_area_flag
19
+ @settings_area = true
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,23 +1,23 @@
1
1
  module Spree
2
2
  module Admin
3
3
  class AdminUsersController < BaseController
4
- add_breadcrumb Spree.t(:users), :admin_admin_users_path
4
+ include Spree::Admin::SettingsConcern
5
5
 
6
6
  skip_before_action :authorize_admin, only: [:new, :create]
7
7
  before_action :load_parent, except: [:new, :create]
8
8
  before_action :load_roles, except: [:index]
9
9
  before_action :load_invitation, only: [:new, :create]
10
- before_action :load_admin_user, only: [:show, :edit, :update]
10
+ before_action :load_admin_user, only: [:show, :edit, :update, :destroy]
11
11
 
12
- layout :choose_layout
12
+ helper_method :object_url
13
13
 
14
14
  # GET /admin/admin_users
15
15
  def index
16
16
  params[:q] ||= {}
17
17
  params[:q][:s] ||= 'created_at asc'
18
18
  @search = scope.includes(role_users: :role, avatar_attachment: :blob).
19
- where(role_users: { resource: @parent }).
20
- ransack(params[:q])
19
+ where(role_users: { resource: @parent }).
20
+ ransack(params[:q])
21
21
  @collection = @search.result
22
22
  end
23
23
 
@@ -71,6 +71,17 @@ module Spree
71
71
  end
72
72
  end
73
73
 
74
+ # DELETE /admin/admin_users/:id
75
+ def destroy
76
+ authorize! :destroy, @admin_user
77
+ if @admin_user.destroy
78
+ redirect_to spree.admin_admin_users_path, status: :see_other, notice: flash_message_for(@admin_user, :successfully_removed)
79
+ else
80
+ flash[:error] = @admin_user.errors.full_messages.to_sentence
81
+ redirect_to spree.admin_admin_users_path, status: :see_other
82
+ end
83
+ end
84
+
74
85
  private
75
86
 
76
87
  def permitted_params
@@ -97,7 +108,7 @@ module Spree
97
108
 
98
109
  # for self signup flow, we use the minimal layout
99
110
  def choose_layout
100
- @invitation.present? ? 'spree/minimal' : 'spree/admin'
111
+ @invitation.present? ? 'spree/minimal' : 'spree/admin_settings'
101
112
  end
102
113
 
103
114
  def load_roles
@@ -107,6 +118,10 @@ module Spree
107
118
  def model_class
108
119
  Spree.admin_user_class
109
120
  end
121
+
122
+ def object_url
123
+ spree.admin_admin_user_path(@admin_user)
124
+ end
110
125
  end
111
126
  end
112
127
  end
@@ -1,7 +1,7 @@
1
1
  module Spree
2
2
  module Admin
3
3
  class AssetsController < ResourceController
4
- include Spree::Admin::SessionAssetsHelper
4
+ include Spree::Admin::AssetsHelper
5
5
 
6
6
  def create
7
7
  @asset = asset_type.new(permitted_resource_params)
@@ -10,10 +10,8 @@ module Spree
10
10
  authorize! :update, @asset.viewable if @asset.viewable.present? && current_vendor
11
11
 
12
12
  if @asset.save
13
- @product = @asset.product || current_store.products.new
14
-
15
- # we need to store the asset ids in the session to be able to display them in the product page
16
- store_uploaded_asset_in_session(@asset) if @product.new_record?
13
+ # we need to store the asset ids in the session for new assets to be able to display them
14
+ store_uploaded_asset_in_session(@asset, @asset.viewable_type) if @asset.viewable.nil? || @asset.viewable.new_record?
17
15
  else
18
16
  flash.now[:error] = @asset.errors.full_messages.to_sentence
19
17
  render :create, status: :unprocessable_entity
@@ -4,6 +4,7 @@ module Spree
4
4
  include Spree::Admin::BreadcrumbConcern
5
5
 
6
6
  layout :choose_layout
7
+ default_form_builder Spree::Admin::FormBuilder
7
8
 
8
9
  helper 'spree/base'
9
10
  helper 'spree/admin/navigation'
@@ -33,7 +34,7 @@ module Spree
33
34
  def redirect_unauthorized_access
34
35
  if try_spree_current_user
35
36
  flash[:error] = Spree.t(:authorization_failure)
36
- redirect_to spree.admin_forbidden_path, allow_other_host: true
37
+ redirect_back(fallback_location: spree.admin_forbidden_path)
37
38
  else
38
39
  store_location
39
40
  try_to_redirect_to_login_path