@mohasinac/appkit 4.57.0 → 4.59.0

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 (574) hide show
  1. package/dist/.build-stamp.json +4 -4
  2. package/dist/_internal/server/features/beys/data.d.ts +44 -0
  3. package/dist/_internal/server/features/beys/data.js +107 -0
  4. package/dist/_internal/server/features/beys/og.d.ts +42 -0
  5. package/dist/_internal/server/features/beys/og.js +89 -0
  6. package/dist/_internal/server/features/parts/data.js +3 -2
  7. package/dist/_internal/server/jobs/handlers/messages.d.ts +1 -1
  8. package/dist/_internal/server/jobs/handlers/messages.js +1 -1
  9. package/dist/_internal/shared/actions/action-registry.d.ts +1 -1
  10. package/dist/_internal/shared/actions/action-registry.js +86 -0
  11. package/dist/_internal/shared/types/base-document.d.ts +1 -1
  12. package/dist/client.d.ts +2 -0
  13. package/dist/client.js +1 -0
  14. package/dist/constants/api-endpoints.d.ts +12 -0
  15. package/dist/constants/api-endpoints.js +10 -0
  16. package/dist/constants/field-names.d.ts +46 -0
  17. package/dist/constants/field-names.js +46 -0
  18. package/dist/constants/seed-meta.d.ts +113 -0
  19. package/dist/constants/seed-meta.js +91 -0
  20. package/dist/features/admin/components/AdminBeysView.d.ts +27 -0
  21. package/dist/features/admin/components/AdminBeysView.js +178 -0
  22. package/dist/features/admin/components/AdminPartsView.d.ts +27 -0
  23. package/dist/features/admin/components/AdminPartsView.js +160 -0
  24. package/dist/features/admin/components/OwnerQuickActions.d.ts +19 -2
  25. package/dist/features/admin/components/OwnerQuickActions.js +31 -3
  26. package/dist/features/admin/components/RecordOwnerQuickActions.d.ts +31 -0
  27. package/dist/features/admin/components/RecordOwnerQuickActions.js +128 -0
  28. package/dist/features/admin/components/ReferenceRecordEditor.d.ts +45 -0
  29. package/dist/features/admin/components/ReferenceRecordEditor.js +153 -0
  30. package/dist/features/admin/schemas/firestore.d.ts +1 -1
  31. package/dist/features/auctions/components/MarketplaceAuctionCard.js +15 -2
  32. package/dist/features/auth/permissions/constants.d.ts +1 -1
  33. package/dist/features/auth/permissions/constants.js +12 -1
  34. package/dist/features/beys/components/BeyDetailPageView.d.ts +50 -0
  35. package/dist/features/beys/components/BeyDetailPageView.js +98 -0
  36. package/dist/features/beys/schemas/firestore.d.ts +417 -0
  37. package/dist/features/beys/schemas/firestore.js +65 -0
  38. package/dist/features/blog/components/BlogFeaturedCard.js +15 -2
  39. package/dist/features/blog/components/BlogPostView.js +2 -2
  40. package/dist/features/categories/components/BrandDetailPageView.js +4 -2
  41. package/dist/features/categories/components/BundleDetailView.js +2 -2
  42. package/dist/features/categories/components/CategoryDetailPageView.js +36 -3
  43. package/dist/features/categories/components/CategoryGrid.js +24 -2
  44. package/dist/features/categories/components/FranchiseDetailPageView.js +2 -3
  45. package/dist/features/events/components/EventCard.js +15 -2
  46. package/dist/features/grouped/components/GroupedListingDetailView.js +2 -3
  47. package/dist/features/homepage/components/CustomCardsSection.js +67 -50
  48. package/dist/features/homepage/components/ShopByCategorySection.js +23 -10
  49. package/dist/features/homepage/schemas/index.d.ts +10 -10
  50. package/dist/features/parts/components/PartDetailPageView.js +5 -3
  51. package/dist/features/parts/components/PartsSearchBox.js +79 -4
  52. package/dist/features/parts/schemas/admin-edit.d.ts +81 -0
  53. package/dist/features/parts/schemas/admin-edit.js +89 -0
  54. package/dist/features/parts/schemas/firestore.d.ts +2 -1
  55. package/dist/features/pre-orders/components/MarketplacePreorderCard.js +15 -2
  56. package/dist/features/products/components/MarketplaceBundleCard.js +15 -2
  57. package/dist/features/products/components/MarketplacePrizeDrawCard.js +15 -2
  58. package/dist/features/products/components/ProductGrid.js +18 -2
  59. package/dist/features/products/schemas/firestore.d.ts +18 -0
  60. package/dist/features/seller/components/CategoryInlineSelect.d.ts +10 -1
  61. package/dist/features/seller/components/CategoryInlineSelect.js +53 -5
  62. package/dist/features/seller/components/SellerProductShell.d.ts +39 -0
  63. package/dist/features/seller/components/SellerProductShell.js +31 -3
  64. package/dist/index.d.ts +6 -129
  65. package/dist/index.js +61 -292
  66. package/dist/next/routing/route-map.d.ts +13 -1
  67. package/dist/next/routing/route-map.js +37 -0
  68. package/dist/schemas/registry.d.ts +6 -6
  69. package/dist/server.d.ts +2 -69
  70. package/dist/server.js +8 -69
  71. package/dist/styles.css +468 -1
  72. package/dist/tailwind-utilities.css +1 -1
  73. package/dist/ui/components/PosterCard.d.ts +99 -0
  74. package/dist/ui/components/PosterCard.js +109 -0
  75. package/dist/ui/components/PosterCard.style.css +466 -0
  76. package/dist/ui/components/index.style.css +1 -0
  77. package/dist/ui/index.d.ts +2 -0
  78. package/dist/ui/index.js +2 -0
  79. package/package.json +4 -2
  80. package/scripts/seed-cli.mjs +177 -2
  81. package/dist/features/tester/seed-data/_happy-path.d.ts +0 -23
  82. package/dist/features/tester/seed-data/_happy-path.js +0 -710
  83. package/dist/features/tester/seed-data/_money-flows.d.ts +0 -23
  84. package/dist/features/tester/seed-data/_money-flows.js +0 -610
  85. package/dist/features/tester/seed-data/authored/_types.d.ts +0 -57
  86. package/dist/features/tester/seed-data/authored/_types.js +0 -35
  87. package/dist/features/tester/seed-data/authored/account-auth__profile-settings.d.ts +0 -2
  88. package/dist/features/tester/seed-data/authored/account-auth__profile-settings.js +0 -226
  89. package/dist/features/tester/seed-data/authored/account-auth__signup-login.d.ts +0 -2
  90. package/dist/features/tester/seed-data/authored/account-auth__signup-login.js +0 -329
  91. package/dist/features/tester/seed-data/authored/addresses__address-filters.d.ts +0 -2
  92. package/dist/features/tester/seed-data/authored/addresses__address-filters.js +0 -41
  93. package/dist/features/tester/seed-data/authored/addresses__postal-lookup.d.ts +0 -2
  94. package/dist/features/tester/seed-data/authored/addresses__postal-lookup.js +0 -76
  95. package/dist/features/tester/seed-data/authored/addresses__postal-validation.d.ts +0 -2
  96. package/dist/features/tester/seed-data/authored/addresses__postal-validation.js +0 -78
  97. package/dist/features/tester/seed-data/authored/addresses__state-picker.d.ts +0 -2
  98. package/dist/features/tester/seed-data/authored/addresses__state-picker.js +0 -59
  99. package/dist/features/tester/seed-data/authored/addresses__unban-request.d.ts +0 -2
  100. package/dist/features/tester/seed-data/authored/addresses__unban-request.js +0 -77
  101. package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.d.ts +0 -2
  102. package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.js +0 -151
  103. package/dist/features/tester/seed-data/authored/admin__bans-and-trust.d.ts +0 -2
  104. package/dist/features/tester/seed-data/authored/admin__bans-and-trust.js +0 -265
  105. package/dist/features/tester/seed-data/authored/admin__blog-faqs.d.ts +0 -2
  106. package/dist/features/tester/seed-data/authored/admin__blog-faqs.js +0 -131
  107. package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.d.ts +0 -2
  108. package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.js +0 -143
  109. package/dist/features/tester/seed-data/authored/admin__bulk-actions.d.ts +0 -2
  110. package/dist/features/tester/seed-data/authored/admin__bulk-actions.js +0 -207
  111. package/dist/features/tester/seed-data/authored/admin__bundles.d.ts +0 -2
  112. package/dist/features/tester/seed-data/authored/admin__bundles.js +0 -144
  113. package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.d.ts +0 -2
  114. package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.js +0 -265
  115. package/dist/features/tester/seed-data/authored/admin__catalog-listings.d.ts +0 -2
  116. package/dist/features/tester/seed-data/authored/admin__catalog-listings.js +0 -318
  117. package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.d.ts +0 -2
  118. package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.js +0 -177
  119. package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.d.ts +0 -2
  120. package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.js +0 -165
  121. package/dist/features/tester/seed-data/authored/admin__content-deletes.d.ts +0 -2
  122. package/dist/features/tester/seed-data/authored/admin__content-deletes.js +0 -267
  123. package/dist/features/tester/seed-data/authored/admin__content-marketing.d.ts +0 -2
  124. package/dist/features/tester/seed-data/authored/admin__content-marketing.js +0 -188
  125. package/dist/features/tester/seed-data/authored/admin__coupons.d.ts +0 -2
  126. package/dist/features/tester/seed-data/authored/admin__coupons.js +0 -215
  127. package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.d.ts +0 -2
  128. package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.js +0 -202
  129. package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.d.ts +0 -2
  130. package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.js +0 -249
  131. package/dist/features/tester/seed-data/authored/admin__media-watermark.d.ts +0 -2
  132. package/dist/features/tester/seed-data/authored/admin__media-watermark.js +0 -148
  133. package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.d.ts +0 -2
  134. package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.js +0 -350
  135. package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.d.ts +0 -2
  136. package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.js +0 -129
  137. package/dist/features/tester/seed-data/authored/admin__site-system.d.ts +0 -2
  138. package/dist/features/tester/seed-data/authored/admin__site-system.js +0 -586
  139. package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.d.ts +0 -2
  140. package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.js +0 -260
  141. package/dist/features/tester/seed-data/authored/admin__users-trust.d.ts +0 -2
  142. package/dist/features/tester/seed-data/authored/admin__users-trust.js +0 -569
  143. package/dist/features/tester/seed-data/authored/buying__bidding.d.ts +0 -2
  144. package/dist/features/tester/seed-data/authored/buying__bidding.js +0 -449
  145. package/dist/features/tester/seed-data/authored/buying__browsing-search.d.ts +0 -2
  146. package/dist/features/tester/seed-data/authored/buying__browsing-search.js +0 -684
  147. package/dist/features/tester/seed-data/authored/buying__buying-checkout.d.ts +0 -2
  148. package/dist/features/tester/seed-data/authored/buying__buying-checkout.js +0 -546
  149. package/dist/features/tester/seed-data/authored/buying__buying-coupons.d.ts +0 -2
  150. package/dist/features/tester/seed-data/authored/buying__buying-coupons.js +0 -379
  151. package/dist/features/tester/seed-data/authored/buying__cart.d.ts +0 -2
  152. package/dist/features/tester/seed-data/authored/buying__cart.js +0 -1264
  153. package/dist/features/tester/seed-data/authored/buying__image-tile-layout.d.ts +0 -2
  154. package/dist/features/tester/seed-data/authored/buying__image-tile-layout.js +0 -122
  155. package/dist/features/tester/seed-data/authored/buying__my-orders.d.ts +0 -2
  156. package/dist/features/tester/seed-data/authored/buying__my-orders.js +0 -279
  157. package/dist/features/tester/seed-data/authored/buying__offers.d.ts +0 -2
  158. package/dist/features/tester/seed-data/authored/buying__offers.js +0 -1127
  159. package/dist/features/tester/seed-data/authored/buying__order-detail-actions.d.ts +0 -2
  160. package/dist/features/tester/seed-data/authored/buying__order-detail-actions.js +0 -153
  161. package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.d.ts +0 -2
  162. package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.js +0 -252
  163. package/dist/features/tester/seed-data/authored/buying__product-detail.d.ts +0 -2
  164. package/dist/features/tester/seed-data/authored/buying__product-detail.js +0 -474
  165. package/dist/features/tester/seed-data/authored/buying__return-request.d.ts +0 -2
  166. package/dist/features/tester/seed-data/authored/buying__return-request.js +0 -165
  167. package/dist/features/tester/seed-data/authored/buying__reviews-pagination.d.ts +0 -2
  168. package/dist/features/tester/seed-data/authored/buying__reviews-pagination.js +0 -260
  169. package/dist/features/tester/seed-data/authored/buying__reviews.d.ts +0 -2
  170. package/dist/features/tester/seed-data/authored/buying__reviews.js +0 -128
  171. package/dist/features/tester/seed-data/authored/buying__spares-and-groups.d.ts +0 -2
  172. package/dist/features/tester/seed-data/authored/buying__spares-and-groups.js +0 -96
  173. package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.d.ts +0 -2
  174. package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.js +0 -283
  175. package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.d.ts +0 -2
  176. package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.js +0 -169
  177. package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.d.ts +0 -2
  178. package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.js +0 -105
  179. package/dist/features/tester/seed-data/authored/buying__wishlist-history.d.ts +0 -2
  180. package/dist/features/tester/seed-data/authored/buying__wishlist-history.js +0 -374
  181. package/dist/features/tester/seed-data/authored/community-support__messages.d.ts +0 -2
  182. package/dist/features/tester/seed-data/authored/community-support__messages.js +0 -200
  183. package/dist/features/tester/seed-data/authored/community-support__public-profile.d.ts +0 -2
  184. package/dist/features/tester/seed-data/authored/community-support__public-profile.js +0 -54
  185. package/dist/features/tester/seed-data/authored/community-support__support-tickets.d.ts +0 -2
  186. package/dist/features/tester/seed-data/authored/community-support__support-tickets.js +0 -76
  187. package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.d.ts +0 -4
  188. package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.js +0 -590
  189. package/dist/features/tester/seed-data/authored/content-discovery__blog.d.ts +0 -2
  190. package/dist/features/tester/seed-data/authored/content-discovery__blog.js +0 -110
  191. package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.d.ts +0 -2
  192. package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.js +0 -149
  193. package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.d.ts +0 -2
  194. package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.js +0 -145
  195. package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.d.ts +0 -2
  196. package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.js +0 -174
  197. package/dist/features/tester/seed-data/authored/content-discovery__coupons.d.ts +0 -2
  198. package/dist/features/tester/seed-data/authored/content-discovery__coupons.js +0 -169
  199. package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.d.ts +0 -2
  200. package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.js +0 -209
  201. package/dist/features/tester/seed-data/authored/content-discovery__event-participation.d.ts +0 -2
  202. package/dist/features/tester/seed-data/authored/content-discovery__event-participation.js +0 -207
  203. package/dist/features/tester/seed-data/authored/content-discovery__events.d.ts +0 -2
  204. package/dist/features/tester/seed-data/authored/content-discovery__events.js +0 -377
  205. package/dist/features/tester/seed-data/authored/content-discovery__faq-help.d.ts +0 -2
  206. package/dist/features/tester/seed-data/authored/content-discovery__faq-help.js +0 -87
  207. package/dist/features/tester/seed-data/authored/content-discovery__notifications.d.ts +0 -2
  208. package/dist/features/tester/seed-data/authored/content-discovery__notifications.js +0 -147
  209. package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.d.ts +0 -2
  210. package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.js +0 -209
  211. package/dist/features/tester/seed-data/authored/content-discovery__parts-database.d.ts +0 -2
  212. package/dist/features/tester/seed-data/authored/content-discovery__parts-database.js +0 -167
  213. package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.d.ts +0 -2
  214. package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.js +0 -73
  215. package/dist/features/tester/seed-data/authored/content-discovery__search.d.ts +0 -2
  216. package/dist/features/tester/seed-data/authored/content-discovery__search.js +0 -363
  217. package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.d.ts +0 -2
  218. package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.js +0 -340
  219. package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.d.ts +0 -2
  220. package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.js +0 -88
  221. package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.d.ts +0 -2
  222. package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.js +0 -78
  223. package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.d.ts +0 -2
  224. package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.js +0 -76
  225. package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.d.ts +0 -2
  226. package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.js +0 -62
  227. package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.d.ts +0 -2
  228. package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.js +0 -163
  229. package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.d.ts +0 -2
  230. package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.js +0 -61
  231. package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.d.ts +0 -2
  232. package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.js +0 -89
  233. package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.d.ts +0 -2
  234. package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.js +0 -95
  235. package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.d.ts +0 -2
  236. package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.js +0 -191
  237. package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.d.ts +0 -2
  238. package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.js +0 -158
  239. package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.d.ts +0 -2
  240. package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.js +0 -82
  241. package/dist/features/tester/seed-data/authored/design-ux__footer-theme.d.ts +0 -2
  242. package/dist/features/tester/seed-data/authored/design-ux__footer-theme.js +0 -106
  243. package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.d.ts +0 -2
  244. package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.js +0 -88
  245. package/dist/features/tester/seed-data/authored/design-ux__general-design.d.ts +0 -2
  246. package/dist/features/tester/seed-data/authored/design-ux__general-design.js +0 -204
  247. package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.d.ts +0 -2
  248. package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.js +0 -301
  249. package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.d.ts +0 -2
  250. package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.js +0 -90
  251. package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.d.ts +0 -2
  252. package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.js +0 -85
  253. package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.d.ts +0 -2
  254. package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.js +0 -407
  255. package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.d.ts +0 -2
  256. package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.js +0 -88
  257. package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.d.ts +0 -2
  258. package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.js +0 -84
  259. package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.d.ts +0 -2
  260. package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.js +0 -214
  261. package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.d.ts +0 -2
  262. package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.js +0 -275
  263. package/dist/features/tester/seed-data/authored/index.d.ts +0 -2
  264. package/dist/features/tester/seed-data/authored/index.js +0 -301
  265. package/dist/features/tester/seed-data/authored/page-wiring__data-loss.d.ts +0 -2
  266. package/dist/features/tester/seed-data/authored/page-wiring__data-loss.js +0 -125
  267. package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.d.ts +0 -2
  268. package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.js +0 -85
  269. package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.d.ts +0 -2
  270. package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.js +0 -92
  271. package/dist/features/tester/seed-data/authored/page-wiring__reachability.d.ts +0 -2
  272. package/dist/features/tester/seed-data/authored/page-wiring__reachability.js +0 -115
  273. package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.d.ts +0 -2
  274. package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.js +0 -137
  275. package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.d.ts +0 -2
  276. package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.js +0 -263
  277. package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.d.ts +0 -2
  278. package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.js +0 -229
  279. package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.d.ts +0 -2
  280. package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.js +0 -325
  281. package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.d.ts +0 -2
  282. package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.js +0 -126
  283. package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.d.ts +0 -2
  284. package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.js +0 -141
  285. package/dist/features/tester/seed-data/authored/public-pages__store-tabs.d.ts +0 -2
  286. package/dist/features/tester/seed-data/authored/public-pages__store-tabs.js +0 -115
  287. package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.d.ts +0 -2
  288. package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.js +0 -253
  289. package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.d.ts +0 -2
  290. package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.js +0 -93
  291. package/dist/features/tester/seed-data/authored/search-and-nav__header-search.d.ts +0 -3
  292. package/dist/features/tester/seed-data/authored/search-and-nav__header-search.js +0 -185
  293. package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.d.ts +0 -2
  294. package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.js +0 -82
  295. package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.d.ts +0 -2
  296. package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.js +0 -60
  297. package/dist/features/tester/seed-data/authored/selling__become-seller.d.ts +0 -2
  298. package/dist/features/tester/seed-data/authored/selling__become-seller.js +0 -117
  299. package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.d.ts +0 -2
  300. package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.js +0 -148
  301. package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.d.ts +0 -2
  302. package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.js +0 -108
  303. package/dist/features/tester/seed-data/authored/selling__listing-a-product.d.ts +0 -2
  304. package/dist/features/tester/seed-data/authored/selling__listing-a-product.js +0 -274
  305. package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.d.ts +0 -2
  306. package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.js +0 -145
  307. package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.d.ts +0 -2
  308. package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.js +0 -336
  309. package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.d.ts +0 -2
  310. package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.js +0 -136
  311. package/dist/features/tester/seed-data/authored/selling__media-limits.d.ts +0 -2
  312. package/dist/features/tester/seed-data/authored/selling__media-limits.js +0 -135
  313. package/dist/features/tester/seed-data/authored/selling__product-upload-details.d.ts +0 -2
  314. package/dist/features/tester/seed-data/authored/selling__product-upload-details.js +0 -155
  315. package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.d.ts +0 -2
  316. package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.js +0 -138
  317. package/dist/features/tester/seed-data/authored/selling__sectionised-forms.d.ts +0 -2
  318. package/dist/features/tester/seed-data/authored/selling__sectionised-forms.js +0 -191
  319. package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.d.ts +0 -2
  320. package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.js +0 -138
  321. package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.d.ts +0 -2
  322. package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.js +0 -106
  323. package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.d.ts +0 -2
  324. package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.js +0 -192
  325. package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.d.ts +0 -2
  326. package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.js +0 -109
  327. package/dist/features/tester/seed-data/authored/selling__seller-guide.d.ts +0 -2
  328. package/dist/features/tester/seed-data/authored/selling__seller-guide.js +0 -34
  329. package/dist/features/tester/seed-data/authored/selling__seller-listing-types.d.ts +0 -2
  330. package/dist/features/tester/seed-data/authored/selling__seller-listing-types.js +0 -348
  331. package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.d.ts +0 -2
  332. package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.js +0 -87
  333. package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.d.ts +0 -2
  334. package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.js +0 -90
  335. package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.d.ts +0 -2
  336. package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.js +0 -85
  337. package/dist/features/tester/seed-data/authored/selling__seller-orders.d.ts +0 -2
  338. package/dist/features/tester/seed-data/authored/selling__seller-orders.js +0 -213
  339. package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.d.ts +0 -2
  340. package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.js +0 -192
  341. package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.d.ts +0 -2
  342. package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.js +0 -77
  343. package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.d.ts +0 -2
  344. package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.js +0 -165
  345. package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.d.ts +0 -2
  346. package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.js +0 -116
  347. package/dist/features/tester/seed-data/authored/seo__canonical-and-host.d.ts +0 -2
  348. package/dist/features/tester/seed-data/authored/seo__canonical-and-host.js +0 -127
  349. package/dist/features/tester/seed-data/authored/seo__og-images.d.ts +0 -2
  350. package/dist/features/tester/seed-data/authored/seo__og-images.js +0 -107
  351. package/dist/features/tester/seed-data/authored/seo__page-metadata.d.ts +0 -2
  352. package/dist/features/tester/seed-data/authored/seo__page-metadata.js +0 -120
  353. package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.d.ts +0 -2
  354. package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.js +0 -105
  355. package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.d.ts +0 -2
  356. package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.js +0 -58
  357. package/dist/features/tester/seed-data/authored/tools__sticker-tracer.d.ts +0 -2
  358. package/dist/features/tester/seed-data/authored/tools__sticker-tracer.js +0 -284
  359. package/dist/features/tester/seed-data/index.d.ts +0 -2
  360. package/dist/features/tester/seed-data/index.js +0 -2
  361. package/dist/features/tester/seed-data/tester-checklist-seed-data.d.ts +0 -2
  362. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +0 -7601
  363. package/dist/features/tester/seed-data/tester-responses-seed-data.d.ts +0 -2
  364. package/dist/features/tester/seed-data/tester-responses-seed-data.js +0 -95
  365. package/dist/features/tester/seed-data/tester-window.d.ts +0 -25
  366. package/dist/features/tester/seed-data/tester-window.js +0 -66
  367. package/dist/seed/_helpers/brand-rows.d.ts +0 -35
  368. package/dist/seed/_helpers/brand-rows.js +0 -600
  369. package/dist/seed/_helpers/category-content-generated.d.ts +0 -24
  370. package/dist/seed/_helpers/category-content-generated.js +0 -1853
  371. package/dist/seed/_helpers/category-content.d.ts +0 -68
  372. package/dist/seed/_helpers/category-content.js +0 -731
  373. package/dist/seed/_helpers/category-forest.d.ts +0 -4
  374. package/dist/seed/_helpers/category-forest.js +0 -824
  375. package/dist/seed/_helpers/category-images-generated.d.ts +0 -57
  376. package/dist/seed/_helpers/category-images-generated.js +0 -618
  377. package/dist/seed/_helpers/category-models/chunk0.d.ts +0 -2
  378. package/dist/seed/_helpers/category-models/chunk0.js +0 -2648
  379. package/dist/seed/_helpers/category-models/chunk1.d.ts +0 -2
  380. package/dist/seed/_helpers/category-models/chunk1.js +0 -2318
  381. package/dist/seed/_helpers/category-models/chunk2.d.ts +0 -2
  382. package/dist/seed/_helpers/category-models/chunk2.js +0 -2560
  383. package/dist/seed/_helpers/category-models/chunk3.d.ts +0 -2
  384. package/dist/seed/_helpers/category-models/chunk3.js +0 -2196
  385. package/dist/seed/_helpers/category-models/chunk4.d.ts +0 -2
  386. package/dist/seed/_helpers/category-models/chunk4.js +0 -1732
  387. package/dist/seed/_helpers/category-models.d.ts +0 -12
  388. package/dist/seed/_helpers/category-models.js +0 -45
  389. package/dist/seed/_helpers/category-names.d.ts +0 -54
  390. package/dist/seed/_helpers/category-names.js +0 -118
  391. package/dist/seed/_helpers/category-parts-glossary-map.d.ts +0 -1
  392. package/dist/seed/_helpers/category-parts-glossary-map.js +0 -2499
  393. package/dist/seed/_helpers/category-parts.d.ts +0 -9
  394. package/dist/seed/_helpers/category-parts.js +0 -15022
  395. package/dist/seed/_helpers/category-tree.d.ts +0 -27
  396. package/dist/seed/_helpers/category-tree.js +0 -119
  397. package/dist/seed/_helpers/character-features.d.ts +0 -10
  398. package/dist/seed/_helpers/character-features.js +0 -120
  399. package/dist/seed/_helpers/final-sale-fixtures.d.ts +0 -35
  400. package/dist/seed/_helpers/final-sale-fixtures.js +0 -61
  401. package/dist/seed/_helpers/franchise-rows.d.ts +0 -43
  402. package/dist/seed/_helpers/franchise-rows.js +0 -189
  403. package/dist/seed/_helpers/media.d.ts +0 -67
  404. package/dist/seed/_helpers/media.js +0 -172
  405. package/dist/seed/_helpers/part-colours-generated.d.ts +0 -18
  406. package/dist/seed/_helpers/part-colours-generated.js +0 -273
  407. package/dist/seed/_helpers/product-search-txt.d.ts +0 -18
  408. package/dist/seed/_helpers/product-search-txt.js +0 -23
  409. package/dist/seed/_helpers/search-txt-wrappers.d.ts +0 -26
  410. package/dist/seed/_helpers/search-txt-wrappers.js +0 -58
  411. package/dist/seed/addresses-seed-data.d.ts +0 -2
  412. package/dist/seed/addresses-seed-data.js +0 -78
  413. package/dist/seed/authenticity-knowledge-seed-data.d.ts +0 -78
  414. package/dist/seed/authenticity-knowledge-seed-data.js +0 -10729
  415. package/dist/seed/bids-seed-data.d.ts +0 -2
  416. package/dist/seed/bids-seed-data.js +0 -206
  417. package/dist/seed/blog-posts-seed-data.d.ts +0 -6
  418. package/dist/seed/blog-posts-seed-data.js +0 -442
  419. package/dist/seed/carousel-slides-seed-data.d.ts +0 -2
  420. package/dist/seed/carousel-slides-seed-data.js +0 -411
  421. package/dist/seed/carousels-seed-data.d.ts +0 -2
  422. package/dist/seed/carousels-seed-data.js +0 -36
  423. package/dist/seed/cart-seed-data.d.ts +0 -2
  424. package/dist/seed/cart-seed-data.js +0 -241
  425. package/dist/seed/catalogue-seed-data.d.ts +0 -2
  426. package/dist/seed/catalogue-seed-data.js +0 -112
  427. package/dist/seed/categories-seed-data.d.ts +0 -3
  428. package/dist/seed/categories-seed-data.js +0 -816
  429. package/dist/seed/claimed-coupons-seed-data.d.ts +0 -2
  430. package/dist/seed/claimed-coupons-seed-data.js +0 -85
  431. package/dist/seed/coupon-usage-seed-data.d.ts +0 -9
  432. package/dist/seed/coupon-usage-seed-data.js +0 -55
  433. package/dist/seed/coupons-seed-data.d.ts +0 -2
  434. package/dist/seed/coupons-seed-data.js +0 -226
  435. package/dist/seed/defaults/categories.d.ts +0 -2
  436. package/dist/seed/defaults/categories.js +0 -12
  437. package/dist/seed/defaults/faqs.d.ts +0 -2
  438. package/dist/seed/defaults/faqs.js +0 -40
  439. package/dist/seed/events-seed-data.d.ts +0 -7
  440. package/dist/seed/events-seed-data.js +0 -482
  441. package/dist/seed/factories/address.factory.d.ts +0 -21
  442. package/dist/seed/factories/address.factory.js +0 -44
  443. package/dist/seed/factories/bid.factory.d.ts +0 -15
  444. package/dist/seed/factories/bid.factory.js +0 -33
  445. package/dist/seed/factories/blog-post.factory.d.ts +0 -15
  446. package/dist/seed/factories/blog-post.factory.js +0 -22
  447. package/dist/seed/factories/carousel.factory.d.ts +0 -11
  448. package/dist/seed/factories/carousel.factory.js +0 -17
  449. package/dist/seed/factories/cart.factory.d.ts +0 -25
  450. package/dist/seed/factories/cart.factory.js +0 -35
  451. package/dist/seed/factories/category.factory.d.ts +0 -11
  452. package/dist/seed/factories/category.factory.js +0 -16
  453. package/dist/seed/factories/coupon.factory.d.ts +0 -21
  454. package/dist/seed/factories/coupon.factory.js +0 -43
  455. package/dist/seed/factories/faq.factory.d.ts +0 -10
  456. package/dist/seed/factories/faq.factory.js +0 -15
  457. package/dist/seed/factories/notification.factory.d.ts +0 -18
  458. package/dist/seed/factories/notification.factory.js +0 -39
  459. package/dist/seed/factories/order.factory.d.ts +0 -20
  460. package/dist/seed/factories/order.factory.js +0 -20
  461. package/dist/seed/factories/payout.factory.d.ts +0 -21
  462. package/dist/seed/factories/payout.factory.js +0 -38
  463. package/dist/seed/factories/product.factory.d.ts +0 -27
  464. package/dist/seed/factories/product.factory.js +0 -80
  465. package/dist/seed/factories/review.factory.d.ts +0 -14
  466. package/dist/seed/factories/review.factory.js +0 -52
  467. package/dist/seed/factories/session.factory.d.ts +0 -15
  468. package/dist/seed/factories/session.factory.js +0 -31
  469. package/dist/seed/factories/store.factory.d.ts +0 -23
  470. package/dist/seed/factories/store.factory.js +0 -47
  471. package/dist/seed/factories/user.factory.d.ts +0 -19
  472. package/dist/seed/factories/user.factory.js +0 -56
  473. package/dist/seed/faq-seed-data.d.ts +0 -18
  474. package/dist/seed/faq-seed-data.js +0 -1956
  475. package/dist/seed/firestore-indexes.d.ts +0 -12
  476. package/dist/seed/firestore-indexes.js +0 -31
  477. package/dist/seed/grouped-listings-seed-data.d.ts +0 -2
  478. package/dist/seed/grouped-listings-seed-data.js +0 -283
  479. package/dist/seed/history-seed-data.d.ts +0 -12
  480. package/dist/seed/history-seed-data.js +0 -70
  481. package/dist/seed/homepage-sections-seed-data.d.ts +0 -2
  482. package/dist/seed/homepage-sections-seed-data.js +0 -1018
  483. package/dist/seed/index.d.ts +0 -98
  484. package/dist/seed/index.js +0 -112
  485. package/dist/seed/lottery-entries-seed-data.d.ts +0 -2
  486. package/dist/seed/lottery-entries-seed-data.js +0 -108
  487. package/dist/seed/manifest.d.ts +0 -16
  488. package/dist/seed/manifest.js +0 -235
  489. package/dist/seed/media-assets-seed-data.d.ts +0 -22
  490. package/dist/seed/media-assets-seed-data.js +0 -5593
  491. package/dist/seed/model-composition-seed-data.d.ts +0 -15
  492. package/dist/seed/model-composition-seed-data.js +0 -9032
  493. package/dist/seed/notifications-seed-data.d.ts +0 -2
  494. package/dist/seed/notifications-seed-data.js +0 -606
  495. package/dist/seed/offers-seed-data.d.ts +0 -2
  496. package/dist/seed/offers-seed-data.js +0 -398
  497. package/dist/seed/orders-seed-data.d.ts +0 -2
  498. package/dist/seed/orders-seed-data.js +0 -845
  499. package/dist/seed/part-glossary/chunk0.d.ts +0 -9
  500. package/dist/seed/part-glossary/chunk0.js +0 -35448
  501. package/dist/seed/part-glossary/chunk1.d.ts +0 -9
  502. package/dist/seed/part-glossary/chunk1.js +0 -40494
  503. package/dist/seed/part-glossary/chunk2.d.ts +0 -9
  504. package/dist/seed/part-glossary/chunk2.js +0 -51242
  505. package/dist/seed/part-glossary/chunk3.d.ts +0 -9
  506. package/dist/seed/part-glossary/chunk3.js +0 -53337
  507. package/dist/seed/part-glossary/chunk4.d.ts +0 -9
  508. package/dist/seed/part-glossary/chunk4.js +0 -51454
  509. package/dist/seed/part-glossary-seed-data.d.ts +0 -15
  510. package/dist/seed/part-glossary-seed-data.js +0 -25
  511. package/dist/seed/payouts-seed-data.d.ts +0 -2
  512. package/dist/seed/payouts-seed-data.js +0 -302
  513. package/dist/seed/product-features-seed-data.d.ts +0 -3
  514. package/dist/seed/product-features-seed-data.js +0 -366
  515. package/dist/seed/products-art-seed-data.d.ts +0 -2
  516. package/dist/seed/products-art-seed-data.js +0 -289
  517. package/dist/seed/products-auctions-seed-data.d.ts +0 -2
  518. package/dist/seed/products-auctions-seed-data.js +0 -475
  519. package/dist/seed/products-beyblade-x-seed-data.d.ts +0 -2
  520. package/dist/seed/products-beyblade-x-seed-data.js +0 -476
  521. package/dist/seed/products-catalogue-seed-data.d.ts +0 -22
  522. package/dist/seed/products-catalogue-seed-data.js +0 -86384
  523. package/dist/seed/products-classifieds-seed-data.d.ts +0 -7
  524. package/dist/seed/products-classifieds-seed-data.js +0 -435
  525. package/dist/seed/products-digital-codes-seed-data.d.ts +0 -7
  526. package/dist/seed/products-digital-codes-seed-data.js +0 -395
  527. package/dist/seed/products-live-items-seed-data.d.ts +0 -7
  528. package/dist/seed/products-live-items-seed-data.js +0 -269
  529. package/dist/seed/products-preorders-seed-data.d.ts +0 -2
  530. package/dist/seed/products-preorders-seed-data.js +0 -360
  531. package/dist/seed/products-prize-draws-seed-data.d.ts +0 -7
  532. package/dist/seed/products-prize-draws-seed-data.js +0 -427
  533. package/dist/seed/products-spares-seed-data.d.ts +0 -2
  534. package/dist/seed/products-spares-seed-data.js +0 -368
  535. package/dist/seed/products-standard-seed-data.d.ts +0 -2
  536. package/dist/seed/products-standard-seed-data.js +0 -632
  537. package/dist/seed/products-stickers-seed-data.d.ts +0 -2
  538. package/dist/seed/products-stickers-seed-data.js +0 -319
  539. package/dist/seed/reviews-seed-data.d.ts +0 -1
  540. package/dist/seed/reviews-seed-data.js +0 -185
  541. package/dist/seed/runner.d.ts +0 -2
  542. package/dist/seed/runner.js +0 -125
  543. package/dist/seed/scammers-seed-data.d.ts +0 -2
  544. package/dist/seed/scammers-seed-data.js +0 -235
  545. package/dist/seed/seed-market-config.d.ts +0 -48
  546. package/dist/seed/seed-market-config.js +0 -199
  547. package/dist/seed/seed-purpose.d.ts +0 -299
  548. package/dist/seed/seed-purpose.js +0 -431
  549. package/dist/seed/sessions-seed-data.d.ts +0 -3
  550. package/dist/seed/sessions-seed-data.js +0 -116
  551. package/dist/seed/shipments-seed-data.d.ts +0 -5
  552. package/dist/seed/shipments-seed-data.js +0 -185
  553. package/dist/seed/site-settings-seed-data.d.ts +0 -2
  554. package/dist/seed/site-settings-seed-data.js +0 -1069
  555. package/dist/seed/store-addresses-seed-data.d.ts +0 -18
  556. package/dist/seed/store-addresses-seed-data.js +0 -71
  557. package/dist/seed/store-extensions-seed-data.d.ts +0 -11
  558. package/dist/seed/store-extensions-seed-data.js +0 -292
  559. package/dist/seed/stores-seed-data.d.ts +0 -6
  560. package/dist/seed/stores-seed-data.js +0 -242
  561. package/dist/seed/support-tickets-seed-data.d.ts +0 -16
  562. package/dist/seed/support-tickets-seed-data.js +0 -239
  563. package/dist/seed/tax-codes-seed-data.d.ts +0 -34
  564. package/dist/seed/tax-codes-seed-data.js +0 -100
  565. package/dist/seed/test-data-ttl.d.ts +0 -29
  566. package/dist/seed/test-data-ttl.js +0 -31
  567. package/dist/seed/test-utils.d.ts +0 -49
  568. package/dist/seed/test-utils.js +0 -110
  569. package/dist/seed/types.d.ts +0 -89
  570. package/dist/seed/types.js +0 -15
  571. package/dist/seed/users-seed-data.d.ts +0 -2
  572. package/dist/seed/users-seed-data.js +0 -597
  573. package/dist/seed/wishlists-seed-data.d.ts +0 -12
  574. package/dist/seed/wishlists-seed-data.js +0 -54
@@ -1,165 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for the selling/store-dashboard-navigation page.
3
- * WHAT: 9 case(s), keyed by full checklist id.
4
- *
5
- * Written by hand, case by case, against the label each one states. There is no
6
- * generator: the authoring scripts were deleted once it was clear they were
7
- * scaffolding around work that is simply writing.
8
- *
9
- * 🛑 THE STORE SUBTREE IS PER-REQUEST BECAUSE ITS LAYOUT READS THE SESSION, and
10
- * that single read is what makes every route beneath it dynamic — there is no
11
- * route-segment config anywhere in the tree, and adding one would be declaring a
12
- * rendering contract to silence a build error. The redirect case below exercises
13
- * exactly that layout read.
14
- *
15
- * @tag domain:tester
16
- * @tag layer:seed
17
- * @tag pattern:none
18
- * @tag access:server-only
19
- * @tag consumers:seed-data/authored/index.ts
20
- * @tag sideEffects:none
21
- */
22
- export const authored = {
23
- "checklist-selling-store-dashboard-navigation-store-sidebar-all-links-work": {
24
- roles: ["seller"],
25
- startPage: "/store",
26
- steps: [
27
- "Sign in as tyson@beybladearena.in / TempPass123!.",
28
- "Open /store and expand ALL SIX sidebar groups: Overview, Listings, Orders & Reviews, Finance, Store, Guides. The last one — Guides — sets defaultOpen:false, so it is the one a tester skips and then reports as missing.",
29
- "Click each link in turn, reading where it lands and going back each time.",
30
- "Write down any link that 404s, renders an empty shell, or lands somewhere unrelated.",
31
- "Count the links against the pages that exist under /store. There are 39 sidebar items and 86 page.tsx files beneath /store, so a surplus of pages is EXPECTED — new/, [id]/edit/ and other sub-routes legitimately have no entry of their own. What matters is a top-level page with no route in at all.",
32
- ],
33
- expectedBehaviour: "Every sidebar link opens a real page with content. The inverse — a built page with no sidebar entry — is the same defect from the other side and is why the count matters: around seventeen store pages were once reachable only by typing their exact URL.",
34
- expectedUiState: "Every link resolves to a page that renders content, not a 404 and not chrome with an empty body. Note any page you know exists that has no link — that half is not enforced and has to be spotted by eye.",
35
- expectedData: { brokenLinks: 0 },
36
- endResult: "Read-only; nothing persists.",
37
- },
38
- "checklist-selling-store-dashboard-navigation-store-sidebar-active-highlight": {
39
- roles: ["seller"],
40
- startPage: "/store",
41
- steps: [
42
- "Sign in as tyson@beybladearena.in / TempPass123!.",
43
- "Open /store and note which sidebar entry is highlighted.",
44
- "Navigate to /store/products and read which entry is highlighted.",
45
- "Navigate to a nested page beneath it — open /store/products, then a product's editor at /store/products/{id}/edit — and read the highlight again. The parent Products entry must stay highlighted two levels down; a highlight that only matches the exact path goes dark on every editor.",
46
- "Navigate to /store/orders and read it again.",
47
- "Use the browser's back button and read the highlight.",
48
- ],
49
- expectedBehaviour: "The highlight follows the current path, including on nested routes where the sidebar has no entry of its own — a product editor should still highlight Products. It must also follow a back navigation, since the highlight is derived from the path rather than from the click.",
50
- expectedUiState: "Exactly one entry is highlighted at a time and it matches the current section, including on the nested editor. After the back navigation the highlight matches wherever the browser landed.",
51
- endResult: "Read-only; nothing persists.",
52
- },
53
- "checklist-selling-store-dashboard-navigation-store-sidebar-mobile-collapse": {
54
- roles: ["seller"],
55
- startPage: "/store",
56
- steps: [
57
- "Sign in as tyson@beybladearena.in / TempPass123!.",
58
- "Resize the browser window to 390 pixels wide and open /store.",
59
- "Open the sidebar using the header's hamburger icon.",
60
- "Read its entries, and navigate somewhere.",
61
- "Check whether it closed on navigation.",
62
- "Count the fixed bars at the bottom of the screen and read every one of its slots, including the last ('More').",
63
- "Tap the bottom bar's 'More' slot and read what it opens.",
64
- "Try to scroll the page sideways.",
65
- ],
66
- inputs: { mobileWidth: 390 },
67
- expectedBehaviour: "BEFORE (fixed 2026-09-28): /store rendered a dashboard-specific bottom bar — up to 5 flattened sidebar links, text-only, no icons — while the public bottom bar was suppressed on this route. AFTER: the dashboard sidebar opens from the header hamburger, exactly as on every dashboard route, and closes after navigating. The bottom tab bar itself is now the SAME shared bar every public page uses (same items, same order, same icons) — not a dashboard-specific one — and its own 'More' slot opens the public site menu, not this sidebar. Exactly one bottom bar is mounted either way.",
68
- expectedUiState: "The header hamburger opens the dashboard sidebar, collapsed by default, closing after navigation. The bottom bar matches the public site's bar item-for-item, and tapping its 'More' slot opens the public menu rather than the dashboard sidebar. The page does not scroll sideways.",
69
- expectedData: { bottomNavCount: 1 },
70
- endResult: "Read-only; restore the window width afterwards.",
71
- },
72
- "checklist-selling-store-dashboard-navigation-store-deep-link-direct-load": {
73
- roles: ["seller"],
74
- startPage: "/store/products",
75
- steps: [
76
- "Sign in as tyson@beybladearena.in / TempPass123!.",
77
- "Open a product's editor from /store/products and copy the URL.",
78
- "Open a new tab and paste that URL directly.",
79
- "Read whether the editor opens populated on the same record.",
80
- "Reload that tab and read it again.",
81
- "Copy a filtered listing URL — with a search term and a sort applied — and open it in a new tab.",
82
- "Read whether the filters and sort are applied on first paint.",
83
- ],
84
- expectedBehaviour: "Every dashboard URL is a real destination: an editor deep link opens on its record, and a filtered listing URL reproduces its filters on first paint. Listing state lives in the URL for this reason, so the server's render and the toolbar controls agree.",
85
- expectedUiState: "The pasted editor URL opens populated and survives a reload. The filtered listing URL shows the same rows, filters and sort as the tab it was copied from, on first paint rather than after a re-sort.",
86
- endResult: "Read-only; close the editors without saving.",
87
- },
88
- "checklist-selling-store-dashboard-navigation-store-user-crossnav": {
89
- roles: ["seller"],
90
- startPage: "/store",
91
- steps: [
92
- "Sign in as tyson@beybladearena.in / TempPass123!.",
93
- "Open /store and find the cross-dashboard navigation to the buyer portal.",
94
- "Click through to /user and read where it lands.",
95
- "From /user, find the way back to /store and click it.",
96
- "Check the sidebar changed with the portal each time.",
97
- "Open the public store page from within the dashboard — it is /stores/store-beyblade-arena, under the PLURAL /stores — and confirm it opens the public view rather than the editor. The two differ by one character, which is exactly how such a link ends up pointing back into the dashboard.",
98
- ],
99
- expectedBehaviour: "A seller is also a buyer, so both portals are reachable from each other and each renders its own navigation. The public-store link is a distinct destination from the store settings editor — conflating them is a live defect on the buyer side, where a 'My Profile' entry leads to the edit page rather than the public profile.",
100
- expectedUiState: "Each cross-link lands in the other portal with that portal's own sidebar. The public store link opens the public store page, not the settings editor.",
101
- endResult: "Read-only; nothing persists.",
102
- },
103
- "checklist-selling-store-dashboard-navigation-store-browser-back-forward": {
104
- roles: ["seller"],
105
- startPage: "/store",
106
- steps: [
107
- "Sign in as tyson@beybladearena.in / TempPass123!.",
108
- "Open /store, then /store/products, then apply a filter, then open a product editor.",
109
- "Press the browser back button once and read where it lands.",
110
- "Press back again and read where it lands, including whether the filter is still applied.",
111
- "Press back once more.",
112
- "Press forward three times, reading each landing.",
113
- ],
114
- expectedBehaviour: "Every state change that alters the URL is one history entry, so back walks them in reverse. A filter change that writes the URL twice — once for the filter and once to reset the page number — produces two entries for one action and makes back appear not to work.",
115
- expectedUiState: "Back and forward walk the sequence one step per press, and the filtered listing comes back with its filter applied. Two presses needed to undo a single filter change is the double-navigation failure.",
116
- endResult: "Read-only; close any editor without saving.",
117
- },
118
- "checklist-selling-store-dashboard-navigation-store-logged-out-redirect": {
119
- roles: ["guest"],
120
- startPage: "/store",
121
- steps: [
122
- "Open a private window with no session.",
123
- "Open /store and watch the page for 5 seconds.",
124
- "Open /store/products and watch for 5 seconds.",
125
- "Open /store/payouts and watch for 5 seconds.",
126
- "Read each for any store name, order, payout figure or seller detail at any point.",
127
- "Read where each ends up.",
128
- ],
129
- expectedBehaviour: "The store layout reads the session server-side, which both makes the whole subtree per-request and gates it. A signed-out request is redirected before any store data is rendered — no flash of a real store's figures.",
130
- expectedUiState: "All three end on the sign-in page. At no point does a store name, an order, a payout amount or a seller's detail appear. A spinner still turning after 5 seconds is a separate failure from a leak, and both should be reported.",
131
- expectedData: { storeDataShownToGuest: 0 },
132
- endResult: "Read-only. Any trace of real store data is a leak and fails the case outright.",
133
- },
134
- "checklist-selling-store-dashboard-navigation-store-nav-listing-type-groups": {
135
- roles: ["seller"],
136
- startPage: "/store",
137
- steps: [
138
- "Sign in as tyson@beybladearena.in / TempPass123!.",
139
- "Open /store and find the listing-type entries in the sidebar.",
140
- "Write down every listing type offered.",
141
- "Compare that list against the nine types the catalogue supports.",
142
- "Open each and check it lists that type's listings rather than everything.",
143
- "Write down any type that is missing or whose page shows the wrong listings.",
144
- ],
145
- expectedBehaviour: "Every listing type has a way in. Adding a type to the union and the plugin registry is not enough — omit it from the repository's filter-alias map and the alias returns an empty value that is then dropped, so the page runs with NO type filter and shows the seller everything.",
146
- expectedUiState: "All nine types are offered and each page shows only its own type. A page showing the full catalogue under a type heading is the dropped-filter failure; a missing type is the other half of the same bug.",
147
- expectedData: { listingTypeEntries: 9 },
148
- endResult: "Read-only; nothing persists.",
149
- },
150
- "checklist-selling-store-dashboard-navigation-store-sidebar-logout-button": {
151
- roles: ["seller"],
152
- startPage: "/store",
153
- steps: [
154
- "Sign in as tyson@beybladearena.in / TempPass123!.",
155
- "Open /store and find the log-out control in the sidebar.",
156
- "Click it and read where the browser lands.",
157
- "Open /store again.",
158
- "Read what happens.",
159
- "Press the browser back button and read what is shown.",
160
- ],
161
- expectedBehaviour: "Log out clears both halves of the session — the server cookie and the client auth session. Clearing only one leaves the browser able to re-mint a session on the next request, which is why the second navigation, not the redirect, is the real check.",
162
- expectedUiState: "The browser leaves the dashboard on log-out. Opening /store afterwards redirects to sign-in rather than rendering the dashboard, even briefly with real data. The back button does not restore it from cache.",
163
- endResult: "The session is ended. A dashboard visible via the back button after log-out is a real exposure on a shared machine.",
164
- },
165
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;
@@ -1,116 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for the selling/store-uncovered-pages page.
3
- * WHAT: 6 case(s), keyed by full checklist id.
4
- *
5
- * Six seller routes the sweep found with no case naming them anywhere. One case
6
- * each: does the page render, and does its main affordance work. A page nobody
7
- * has opened does not need depth before it has that.
8
- *
9
- * @tag domain:tester
10
- * @tag layer:seed
11
- * @tag pattern:none
12
- * @tag access:server-only
13
- * @tag consumers:seed-data/authored/index.ts
14
- * @tag sideEffects:none
15
- */
16
- const SIGN_IN_SELLER = "Sign in as tyson@beybladearena.in / TempPass123!.";
17
- export const authored = {
18
- "checklist-selling-store-uncovered-pages-store-stickers-renders": {
19
- roles: ["seller"],
20
- startPage: "/store/stickers",
21
- steps: [
22
- SIGN_IN_SELLER,
23
- "Open /store/stickers.",
24
- "Read the listings shown and check each is a sticker listing.",
25
- "Check no listing of another type appears.",
26
- "Create a sticker listing from this page titled 'QA Store Sticker Probe' priced at 99.",
27
- "Check it appears in the list, then delete it.",
28
- ],
29
- inputs: { title: "QA Store Sticker Probe", price: 99 },
30
- expectedBehaviour: "The page lists this seller's sticker listings only and can create one. A type-scoped page whose query dropped its own type filter returns the seller's whole catalogue — which reads as a working page until somebody notices a Beyblade on the stickers screen.",
31
- expectedUiState: "Only sticker listings are shown, and the new one appears after creation. Any other type present is the finding.",
32
- endResult: "The probe listing is deleted.",
33
- },
34
- "checklist-selling-store-uncovered-pages-store-support-renders": {
35
- roles: ["seller"],
36
- startPage: "/store/support",
37
- steps: [
38
- SIGN_IN_SELLER,
39
- "Open /store/support.",
40
- "Read the tickets listed, or the empty state.",
41
- "Open a new ticket with the subject 'QA seller support probe' and a body naming this checklist case.",
42
- "Submit it and check it appears in the list.",
43
- "Open it and reply once.",
44
- "Reload and check both the ticket and the reply are still there.",
45
- ],
46
- inputs: { subject: "QA seller support probe" },
47
- expectedBehaviour: "A seller can open and continue a ticket from their own dashboard rather than being sent to the buyer-side surface. The reply is the half more likely to fail silently — a reply appended optimistically and never written looks identical until the reload.",
48
- expectedUiState: "The ticket and its reply are both present after the reload.",
49
- endResult: "One QA support ticket exists; close it if the interface allows.",
50
- },
51
- "checklist-selling-store-uncovered-pages-store-analytics-cards-renders": {
52
- roles: ["seller"],
53
- startPage: "/store/analytics/cards",
54
- steps: [
55
- SIGN_IN_SELLER,
56
- "Open /store/analytics/cards with the console open.",
57
- "Read every figure shown.",
58
- "Open /store/orders and count this store's orders.",
59
- "Compare the analytics figures against what the orders list shows.",
60
- "Check no figure is an order of magnitude out.",
61
- "Read the console for errors.",
62
- ],
63
- expectedBehaviour: "The figures come from this store's real orders. Money is stored in whole rupees with decimals, so a figure computed against the older hundredth-unit scale reads a hundred times too large — plausible-looking on a screen nobody has a baseline for.",
64
- expectedUiState: "Figures that reconcile with the orders list, a clean console, and no hundredfold jump. All zeros against real orders is equally a finding.",
65
- endResult: "Read-only.",
66
- },
67
- "checklist-selling-store-uncovered-pages-store-preorders-renders": {
68
- roles: ["seller"],
69
- startPage: "/store/pre-orders",
70
- steps: [
71
- SIGN_IN_SELLER,
72
- "Open /store/pre-orders. It REDIRECTS to /store/products?listingType=pre-order — the per-type seller pages were folded into the one products list with a type filter — so landing on a differently-named URL carrying a query is the design, not a broken link. Everything below is read on that filtered list.",
73
- "Read the listings shown and check each is a pre-order.",
74
- "Read each one's production status and delivery date in the list.",
75
- "Create a pre-order from this page titled 'QA Store Preorder Probe' with a full price of 999 and a deposit of 200.",
76
- "Check it appears in the list, then delete it.",
77
- ],
78
- inputs: { title: "QA Store Preorder Probe", fullPrice: 999, deposit: 200 },
79
- expectedBehaviour: "The page lists this seller's pre-orders with the fields that make them pre-orders, and can create one. Production status and delivery date belong in the list rather than only in the editor — they are what the seller is managing.",
80
- expectedUiState: "Only pre-orders are shown, each with its production status and delivery date, and the new one appears after creation.",
81
- endResult: "The probe listing is deleted.",
82
- },
83
- "checklist-selling-store-uncovered-pages-store-guides-all-render": {
84
- roles: ["seller"],
85
- startPage: "/store/guide",
86
- steps: [
87
- SIGN_IN_SELLER,
88
- "Open each of these by URL in turn: /store/guide, /store/guide/capabilities, /store/guide/finance, /store/guide/listings, /store/guide/orders, /store/guide/settings and /store/guide/whatsapp.",
89
- "Check every one of them is also linked from the sidebar's 'Guides' group — it is the LAST group and sets defaultOpen:false, so EXPAND IT before concluding anything is unlinked. All seven are there: All Guides, Listings Guide, Orders Guide, Finance Guide, Settings, Capabilities, WhatsApp Catalog Sync.",
90
- "Record any that 404 or render empty.",
91
- "On two of them, check the screen they describe still exists and is named the same way.",
92
- "Record any guide describing a control that is no longer there.",
93
- ],
94
- expectedBehaviour: "Every seller guide renders and describes something that still exists. A guide has no compiler behind it, so it rots silently — and a seller following instructions for a screen that was renamed concludes the site is broken rather than the documentation.",
95
- expectedUiState: "Every guide loads with real content. A 404 is a finding; so is a guide naming a screen or control that no longer exists, recorded with which guide.",
96
- expectedData: { guidePagesNotFound: 0 },
97
- endResult: "Read-only.",
98
- },
99
- "checklist-selling-store-uncovered-pages-store-listing-templates-new-renders": {
100
- roles: ["seller"],
101
- startPage: "/store/listing-templates/new",
102
- steps: [
103
- SIGN_IN_SELLER,
104
- "Open /store/listing-templates/new directly by URL.",
105
- "Check the form is already open rather than the page being blank.",
106
- "Create a template named 'QA Template Probe' with a description and a default condition.",
107
- "Save it and check the browser lands on the template list with it present.",
108
- "Start creating a listing and check the template is offered and applies its defaults.",
109
- "Delete the template afterwards.",
110
- ],
111
- inputs: { name: "QA Template Probe" },
112
- expectedBehaviour: "The editor page opens with its form showing, and a saved template is usable where templates are meant to be used. A template that saves and is never offered during listing creation is a feature with no consumer — which is the state a superseded template feature sat in for a long time.",
113
- expectedUiState: "The form is open on arrival, the saved template is in the list, and it appears and applies when creating a listing. A template that saves and is never offered is the finding.",
114
- endResult: "The probe template is deleted.",
115
- },
116
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;
@@ -1,127 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for the seo/canonical-and-host checklist page.
3
- * WHAT: 6 case(s), keyed by full checklist id.
4
- *
5
- * 🛑 THE CANONICAL HOST HAS EXACTLY ONE DEFINITION AND EVERYTHING DERIVES FROM IT.
6
- * When it had two — one hardcoded, one read from an environment variable, with a
7
- * comment claiming they were kept in sync — the sitemap advertised 182 URLs on a
8
- * host that redirected, the destination declared a canonical on a host present in
9
- * no sitemap, and the site fell out of search results with nothing erroring
10
- * anywhere. These cases are the read-side proof that there is still only one.
11
- *
12
- * @tag domain:tester
13
- * @tag layer:seed
14
- * @tag pattern:none
15
- * @tag access:server-only
16
- * @tag consumers:seed-data/authored/index.ts
17
- * @tag sideEffects:none
18
- */
19
- export const authored = {
20
- "checklist-seo-canonical-and-host-gated-price-is-declared-in-structured-data": {
21
- roles: ["guest"],
22
- startPage: "/products/product-beyblade-burst-valkyrie",
23
- steps: [
24
- "Open /products/product-beyblade-burst-valkyrie in a private window and view the page source.",
25
- "Find every <script type=\"application/ld+json\"> block and read them.",
26
- "In the Product block, read the offers object and confirm it still carries a price and a priceCurrency.",
27
- "Find the WebPage block and read its isAccessibleForFree value and its hasPart.cssSelector value.",
28
- "Search the rendered HTML for that exact selector's class name and confirm at least one element carries it.",
29
- "Repeat all of the above for /auctions/auction-beyblade-metal-lightning-l-drago.",
30
- ],
31
- expectedBehaviour: "The structured data keeps the price on purpose, so search engines still see it — and declares the on-page gate alongside it, so the richer markup is not an undeclared mismatch. Both halves are required: the price alone is a mismatch, and the declaration alone throws away the search value the decision was made to keep.",
32
- expectedUiState: "The Product block's offers object contains a numeric price and priceCurrency 'INR'. A separate WebPage block is present carrying isAccessibleForFree: false and hasPart.cssSelector '.appkit-gated-price'. Searching the HTML for 'appkit-gated-price' finds at least one element. On the auction page the same two blocks are present, the offer price being the current bid. A page with offers.price and NO WebPage block is the failure; so is a cssSelector that matches no element in the HTML.",
33
- expectedData: { webPageBlocksWithGateDeclared: 2, selectorMatchesElement: true },
34
- endResult: "Read-only; nothing persists.",
35
- },
36
- "checklist-seo-canonical-and-host-apex-redirects-to-www": {
37
- roles: ["guest"],
38
- startPage: "/",
39
- steps: [
40
- "Open the site by typing the bare domain with no www prefix into the address bar.",
41
- "Open the browser's network panel before the page finishes loading.",
42
- "Read the status code of the FIRST response, before any redirect is followed.",
43
- "Read the address bar afterwards.",
44
- "Repeat with a deep path rather than the homepage.",
45
- ],
46
- expectedBehaviour: "The apex redirects to the www host permanently. A temporary redirect explicitly tells a search engine NOT to move the index entry, so the old address stays indexed while the new one is the only place content lives — which is how a site keeps two competing addresses for every page indefinitely.",
47
- expectedUiState: "The first response is a permanent redirect — a 301 or 308 — not a 307 or 302. The address bar ends on the www host, and the deep path is preserved rather than being dropped to the homepage.",
48
- expectedData: { redirectIsPermanent: true },
49
- endResult: "Read-only.",
50
- },
51
- "checklist-seo-canonical-and-host-locale-prefix-redirects-to-bare": {
52
- roles: ["guest"],
53
- startPage: "/products",
54
- steps: [
55
- "Type the products path with an /en prefix in front of it into the address bar.",
56
- "Watch the network panel and read the first response's status.",
57
- "Read where the address bar lands.",
58
- "Open /products from the site's own navigation — the Products entry in the main nav, not a typed URL — and read the address bar. It must land on /products with no locale prefix; the site's own links are what matter here, since a typed /en/products would only prove the redirect works, not that the navigation stopped emitting prefixed hrefs.",
59
- "Compare the two.",
60
- ],
61
- expectedBehaviour: "A locale-prefixed path resolves to the unprefixed one, and the site's own links use the unprefixed form so no internal navigation pays the redirect. Two spellings of every path is two addresses a crawler has to reconcile, and one of them is always the slower.",
62
- expectedUiState: "The prefixed path redirects and the address bar reads the bare path. The site's own navigation produces the bare path directly, with no redirect in the network panel.",
63
- endResult: "Read-only.",
64
- },
65
- "checklist-seo-canonical-and-host-canonical-matches-visited-host": {
66
- roles: ["guest"],
67
- startPage: "/",
68
- steps: [
69
- "Open the homepage on the www host and view the page source. The canonical host has ONE definition — appkit.config.js seo.siteUrl, which defaults to https://www.letitrip.in and can be overridden by NEXT_PUBLIC_SITE_URL. That override is how these drifted apart before: one path read the env var and another held a hardcoded apex, so the sitemap advertised URLs on a host that redirected. Compare what you read here against the host in the address bar, not against a remembered value.",
70
- "Find the canonical link element and read its href.",
71
- "Compare its host against the host in the address bar.",
72
- "Open /products and read its canonical.",
73
- "Open /products/product-beyblade-burst-valkyrie and read its canonical.",
74
- "Open /sitemap.xml and read the host on the first entry.",
75
- "Compare all four hosts.",
76
- ],
77
- expectedBehaviour: "One definition of the host feeds page canonicals, social tags, structured data, robots and the sitemap. Two owners drifted the moment the deployment environment changed, and neither side errored — the sitemap simply advertised URLs that redirected while the destination pointed somewhere the sitemap never named.",
78
- expectedUiState: "The canonical on every page names the same host as the address bar and as the sitemap. Any page whose canonical names a different host is the finding, named by page.",
79
- expectedData: { distinctHosts: 1 },
80
- endResult: "Read-only.",
81
- },
82
- "checklist-seo-canonical-and-host-no-inherited-homepage-canonical": {
83
- roles: ["guest"],
84
- startPage: "/reviews",
85
- steps: [
86
- "Open /reviews and view the page source.",
87
- "Find the canonical link element, if there is one, and read its href.",
88
- "Check it is not the homepage's URL.",
89
- "Open /promotions and read its canonical the same way. EXPECT NONE: it is a bare redirect, and a redirect page deliberately carries no metadata at all, because redirect() fires before a document is produced — a crawler follows it and reads the canonical of the page it LANDS on. An absent canonical here is correct; the homepage's URL appearing here is the defect.",
90
- "Open /sellers and /brands — two more pages unlikely to declare their own metadata — and read theirs.",
91
- ],
92
- expectedBehaviour: "Metadata declared at the root is INHERITED by every page beneath it, so a static absolute canonical there makes every page that does not override it declare itself a duplicate of the homepage. A page either declares its own or has none.",
93
- expectedUiState: "No page other than the homepage carries the homepage's URL as its canonical. Every page whose canonical reads as the bare site root is a finding, listed by path.",
94
- expectedData: { pagesCanonicalisedToHomepage: 0 },
95
- endResult: "Read-only.",
96
- },
97
- "checklist-seo-canonical-and-host-tab-family-single-canonical": {
98
- roles: ["guest"],
99
- startPage: "/stores/store-beyblade-arena",
100
- steps: [
101
- "Open /stores/store-beyblade-arena and read its canonical from the page source.",
102
- "Open the store's About tab and read its canonical.",
103
- "Open two more of the store's tabs and read theirs.",
104
- "Compare all four canonicals.",
105
- "Read each tab's title and description as well.",
106
- ],
107
- inputs: { storeId: "store-beyblade-arena" },
108
- expectedBehaviour: "Tabs are views of ONE page, so they share one canonical — the store's own URL, which is the one the sitemap advertises. Four competing canonicals split the section into four addresses, none of which is the advertised one. Titles and descriptions genuinely differ per tab and must keep differing.",
109
- expectedUiState: "All four tabs declare the same canonical, and it is the store's base URL. Each tab still has its own title and description. Four different canonicals is the failure; four identical titles is a separate, smaller one.",
110
- expectedData: { distinctCanonicals: 1 },
111
- endResult: "Read-only.",
112
- },
113
- "checklist-seo-canonical-and-host-redirect-only-page-no-canonical": {
114
- roles: ["guest"],
115
- startPage: "/promotions",
116
- steps: [
117
- "Open the network panel and navigate to /promotions.",
118
- "Read whether the first response is a redirect.",
119
- "Read where it lands.",
120
- "View the source of the page it landed on and read its canonical.",
121
- "Check that canonical names the LANDING page rather than /promotions.",
122
- ],
123
- expectedBehaviour: "A redirect fires before any document is produced, so metadata declared on a redirecting page never reaches a browser at all — a crawler follows the redirect and reads the canonical of the page it lands on. Metadata there is code that reads as though it were doing something and is not.",
124
- expectedUiState: "The redirect resolves and the landing page's canonical names the landing page. A canonical naming the redirecting path is the failure.",
125
- endResult: "Read-only.",
126
- },
127
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;
@@ -1,107 +0,0 @@
1
- /*
2
- * WHY: Authored six-part procedures for the seo/og-images checklist page.
3
- * WHAT: 5 case(s), keyed by full checklist id.
4
- *
5
- * A social card is rendered server-side and never appears in the page a visitor
6
- * sees, so every failure here is invisible until somebody shares a link. The brand
7
- * card's image reader named a field the record does not have — always undefined,
8
- * always omitted, and the card still rendered.
9
- *
10
- * @tag domain:tester
11
- * @tag layer:seed
12
- * @tag pattern:none
13
- * @tag access:server-only
14
- * @tag consumers:seed-data/authored/index.ts
15
- * @tag sideEffects:none
16
- */
17
- export const authored = {
18
- "checklist-seo-og-images-og-image-renders-homepage": {
19
- roles: ["guest"],
20
- startPage: "/",
21
- steps: [
22
- "Open the homepage and view the page source.",
23
- "Find the og:image tag and copy its URL.",
24
- "Open that URL in a fresh tab.",
25
- "Read what renders — a real image, an error, or a blank frame.",
26
- "Read the response status and content type in the network panel.",
27
- ],
28
- expectedBehaviour: "The social image URL serves a real image. It is generated rather than a static file, so a failure inside the generator returns an error or an empty frame that nothing on the site would ever reveal.",
29
- expectedUiState: "The URL returns 200 with an image content type and renders a card carrying the site's branding. A blank frame or an error page is the finding.",
30
- endResult: "Read-only.",
31
- },
32
- "checklist-seo-og-images-og-image-product": {
33
- roles: ["guest"],
34
- startPage: "/products/product-beyblade-burst-valkyrie",
35
- steps: [
36
- "Open /products/product-beyblade-burst-valkyrie and note the product's title and main photo.",
37
- "View the source, find the og:image tag and copy its URL.",
38
- "Open that URL in a fresh tab.",
39
- "Read the title rendered on the card and compare it against the product's.",
40
- "Check the product's own photo appears on the card rather than a generic placeholder.",
41
- ],
42
- inputs: { productId: "product-beyblade-burst-valkyrie" },
43
- expectedBehaviour: "A product's card is built from that product. A card that renders correctly but with the site's default artwork is the more likely failure — it looks deliberate, and only comparing it against the product reveals that the record was never read.",
44
- expectedUiState: "The card shows the product's own title and its own photo. A generic card is the finding.",
45
- endResult: "Read-only.",
46
- },
47
- "checklist-seo-og-images-og-image-carries-no-price": {
48
- roles: ["guest"],
49
- startPage: "/products/product-beyblade-burst-valkyrie",
50
- steps: [
51
- "Open /products/product-beyblade-burst-valkyrie, view source, find the og:image tag and open its URL in a fresh tab.",
52
- "Read every figure printed on the card.",
53
- "Repeat for /bundles/bundle-every-generation-starter-pack.",
54
- "Repeat for /classified/classified-beyblade-stadium-set.",
55
- "Repeat for /digital-codes/digitalcode-beyblade-x-app-starter-pack.",
56
- "Repeat for /live/live-golden-retriever-puppy.",
57
- "Repeat for /prize-draws/prizedraw-beyblade-mystery-box.",
58
- ],
59
- expectedBehaviour: "None of these cards prints a money amount. The card is a public image URL with its contents burned into the pixels, so a price there survives every gate on the page and is fetchable by anyone who has the listing URL. A prize draw that is genuinely free may still say 'Free entry' — that is a fact about the draw, not a disclosed amount.",
60
- expectedUiState: "BEFORE: the product card showed '₹1,299', the bundle card its bundle price, the classified/digital-code/live/catalogue cards their own prices, and the prize-draw card '₹X / entry'. AFTER: no '₹' character appears on any of the six cards. The auction and pre-order cards are unchanged — they show an end date and a release date respectively and never carried a price.",
61
- expectedData: { cardsShowingRupee: 0 },
62
- endResult: "Read-only. A ₹ figure on any of these cards is the regression this case exists for.",
63
- },
64
- "checklist-seo-og-images-og-image-brand-logo-present": {
65
- roles: ["guest"],
66
- startPage: "/brands/brand-takara-tomy",
67
- steps: [
68
- "Open /brands/brand-takara-tomy and note the cover image shown in its hero.",
69
- "View the source, find the og:image tag and copy its URL.",
70
- "Open that URL in a fresh tab.",
71
- "Read whether the brand's image is on the card or the slot is empty.",
72
- "Repeat with /brands/brand-beyblade.",
73
- ],
74
- inputs: { brandId: "brand-takara-tomy" },
75
- expectedBehaviour: "The card reads the same cover image the brand page's hero uses. It previously read a field that does not exist on a brand record at all, so the value was always undefined and the image was silently omitted — the card still rendered, just without it.",
76
- expectedUiState: "The brand's cover image is on the card for both brands. An empty image slot with the rest of the card intact is exactly the failure this case exists for.",
77
- endResult: "Read-only.",
78
- },
79
- "checklist-seo-og-images-og-tags-present-and-absolute": {
80
- roles: ["guest"],
81
- startPage: "/products/product-beyblade-burst-valkyrie",
82
- steps: [
83
- "Open /products/product-beyblade-burst-valkyrie and view the source.",
84
- "List every og: and twitter: tag present.",
85
- "Check og:title, og:description, og:image and og:url are all there.",
86
- "Read og:image's and og:url's values and check both are absolute URLs.",
87
- "Check their host matches the canonical's host.",
88
- "Repeat on a store page and a blog post.",
89
- ],
90
- expectedBehaviour: "Social tags are present and their URLs are absolute on the canonical host. A relative social image URL is not fetchable by the service rendering the preview — it has no page context to resolve it against — so the card falls back to nothing.",
91
- expectedUiState: "All four tags present on all three pages, with absolute URLs on the canonical host. A relative URL, or one on a different host, is the finding.",
92
- endResult: "Read-only.",
93
- },
94
- "checklist-seo-og-images-og-image-missing-media-fallback": {
95
- roles: ["guest"],
96
- startPage: "/classified/classified-beyblade-stadium-set",
97
- steps: [
98
- "🛑 THIS BRANCH CANNOT BE REACHED THROUGH THE UI — answer null and record why, rather than hunting. The OG renderer falls back when a listing has neither mainImage nor images[0] (resolveOgImageUrl is passed null), but EVERY seeded listing carries images, and both product forms require one: the schema is mainImage: z.string().min(1, 'A main image is required'), on the quick form and the advanced form alike. So no listing a tester can find or create reaches the fallback. Confirm the branch exists by reading the source if you wish, then abstain — a fabricated yes here would be coverage of a path no visitor can produce.",
99
- "Open its detail page and view the source.",
100
- "Copy the og:image URL and open it in a fresh tab.",
101
- "Read what renders.",
102
- ],
103
- expectedBehaviour: "A record with no image still produces a readable card, falling back to the site's own artwork rather than to a broken image. A card generator that assumes an image exists throws, and the shared link then has no preview at all.",
104
- expectedUiState: "The card renders with the listing's title over the site's default artwork. A broken image, an error page or a 500 are all findings.",
105
- endResult: "Read-only.",
106
- },
107
- };
@@ -1,2 +0,0 @@
1
- import type { AuthoredCase } from "./_types";
2
- export declare const authored: Record<string, AuthoredCase>;