@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.
- package/dist/.build-stamp.json +4 -4
- package/dist/_internal/server/features/beys/data.d.ts +44 -0
- package/dist/_internal/server/features/beys/data.js +107 -0
- package/dist/_internal/server/features/beys/og.d.ts +42 -0
- package/dist/_internal/server/features/beys/og.js +89 -0
- package/dist/_internal/server/features/parts/data.js +3 -2
- package/dist/_internal/server/jobs/handlers/messages.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/messages.js +1 -1
- package/dist/_internal/shared/actions/action-registry.d.ts +1 -1
- package/dist/_internal/shared/actions/action-registry.js +86 -0
- package/dist/_internal/shared/types/base-document.d.ts +1 -1
- package/dist/client.d.ts +2 -0
- package/dist/client.js +1 -0
- package/dist/constants/api-endpoints.d.ts +12 -0
- package/dist/constants/api-endpoints.js +10 -0
- package/dist/constants/field-names.d.ts +46 -0
- package/dist/constants/field-names.js +46 -0
- package/dist/constants/seed-meta.d.ts +113 -0
- package/dist/constants/seed-meta.js +91 -0
- package/dist/features/admin/components/AdminBeysView.d.ts +27 -0
- package/dist/features/admin/components/AdminBeysView.js +178 -0
- package/dist/features/admin/components/AdminPartsView.d.ts +27 -0
- package/dist/features/admin/components/AdminPartsView.js +160 -0
- package/dist/features/admin/components/OwnerQuickActions.d.ts +19 -2
- package/dist/features/admin/components/OwnerQuickActions.js +31 -3
- package/dist/features/admin/components/RecordOwnerQuickActions.d.ts +31 -0
- package/dist/features/admin/components/RecordOwnerQuickActions.js +128 -0
- package/dist/features/admin/components/ReferenceRecordEditor.d.ts +45 -0
- package/dist/features/admin/components/ReferenceRecordEditor.js +153 -0
- package/dist/features/admin/schemas/firestore.d.ts +1 -1
- package/dist/features/auctions/components/MarketplaceAuctionCard.js +15 -2
- package/dist/features/auth/permissions/constants.d.ts +1 -1
- package/dist/features/auth/permissions/constants.js +12 -1
- package/dist/features/beys/components/BeyDetailPageView.d.ts +50 -0
- package/dist/features/beys/components/BeyDetailPageView.js +98 -0
- package/dist/features/beys/schemas/firestore.d.ts +417 -0
- package/dist/features/beys/schemas/firestore.js +65 -0
- package/dist/features/blog/components/BlogFeaturedCard.js +15 -2
- package/dist/features/blog/components/BlogPostView.js +2 -2
- package/dist/features/categories/components/BrandDetailPageView.js +4 -2
- package/dist/features/categories/components/BundleDetailView.js +2 -2
- package/dist/features/categories/components/CategoryDetailPageView.js +36 -3
- package/dist/features/categories/components/CategoryGrid.js +24 -2
- package/dist/features/categories/components/FranchiseDetailPageView.js +2 -3
- package/dist/features/events/components/EventCard.js +15 -2
- package/dist/features/grouped/components/GroupedListingDetailView.js +2 -3
- package/dist/features/homepage/components/CustomCardsSection.js +67 -50
- package/dist/features/homepage/components/ShopByCategorySection.js +23 -10
- package/dist/features/homepage/schemas/index.d.ts +10 -10
- package/dist/features/parts/components/PartDetailPageView.js +5 -3
- package/dist/features/parts/components/PartsSearchBox.js +79 -4
- package/dist/features/parts/schemas/admin-edit.d.ts +81 -0
- package/dist/features/parts/schemas/admin-edit.js +89 -0
- package/dist/features/parts/schemas/firestore.d.ts +2 -1
- package/dist/features/pre-orders/components/MarketplacePreorderCard.js +15 -2
- package/dist/features/products/components/MarketplaceBundleCard.js +15 -2
- package/dist/features/products/components/MarketplacePrizeDrawCard.js +15 -2
- package/dist/features/products/components/ProductGrid.js +18 -2
- package/dist/features/products/schemas/firestore.d.ts +18 -0
- package/dist/features/seller/components/CategoryInlineSelect.d.ts +10 -1
- package/dist/features/seller/components/CategoryInlineSelect.js +53 -5
- package/dist/features/seller/components/SellerProductShell.d.ts +39 -0
- package/dist/features/seller/components/SellerProductShell.js +31 -3
- package/dist/index.d.ts +6 -129
- package/dist/index.js +61 -292
- package/dist/next/routing/route-map.d.ts +13 -1
- package/dist/next/routing/route-map.js +37 -0
- package/dist/schemas/registry.d.ts +6 -6
- package/dist/server.d.ts +2 -69
- package/dist/server.js +8 -69
- package/dist/styles.css +468 -1
- package/dist/tailwind-utilities.css +1 -1
- package/dist/ui/components/PosterCard.d.ts +99 -0
- package/dist/ui/components/PosterCard.js +109 -0
- package/dist/ui/components/PosterCard.style.css +466 -0
- package/dist/ui/components/index.style.css +1 -0
- package/dist/ui/index.d.ts +2 -0
- package/dist/ui/index.js +2 -0
- package/package.json +4 -2
- package/scripts/seed-cli.mjs +177 -2
- package/dist/features/tester/seed-data/_happy-path.d.ts +0 -23
- package/dist/features/tester/seed-data/_happy-path.js +0 -710
- package/dist/features/tester/seed-data/_money-flows.d.ts +0 -23
- package/dist/features/tester/seed-data/_money-flows.js +0 -610
- package/dist/features/tester/seed-data/authored/_types.d.ts +0 -57
- package/dist/features/tester/seed-data/authored/_types.js +0 -35
- package/dist/features/tester/seed-data/authored/account-auth__profile-settings.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/account-auth__profile-settings.js +0 -226
- package/dist/features/tester/seed-data/authored/account-auth__signup-login.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/account-auth__signup-login.js +0 -329
- package/dist/features/tester/seed-data/authored/addresses__address-filters.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__address-filters.js +0 -41
- package/dist/features/tester/seed-data/authored/addresses__postal-lookup.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__postal-lookup.js +0 -76
- package/dist/features/tester/seed-data/authored/addresses__postal-validation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__postal-validation.js +0 -78
- package/dist/features/tester/seed-data/authored/addresses__state-picker.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__state-picker.js +0 -59
- package/dist/features/tester/seed-data/authored/addresses__unban-request.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__unban-request.js +0 -77
- package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.js +0 -151
- package/dist/features/tester/seed-data/authored/admin__bans-and-trust.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bans-and-trust.js +0 -265
- package/dist/features/tester/seed-data/authored/admin__blog-faqs.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__blog-faqs.js +0 -131
- package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.js +0 -143
- package/dist/features/tester/seed-data/authored/admin__bulk-actions.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bulk-actions.js +0 -207
- package/dist/features/tester/seed-data/authored/admin__bundles.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bundles.js +0 -144
- package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.js +0 -265
- package/dist/features/tester/seed-data/authored/admin__catalog-listings.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__catalog-listings.js +0 -318
- package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.js +0 -177
- package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.js +0 -165
- package/dist/features/tester/seed-data/authored/admin__content-deletes.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__content-deletes.js +0 -267
- package/dist/features/tester/seed-data/authored/admin__content-marketing.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__content-marketing.js +0 -188
- package/dist/features/tester/seed-data/authored/admin__coupons.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__coupons.js +0 -215
- package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.js +0 -202
- package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.js +0 -249
- package/dist/features/tester/seed-data/authored/admin__media-watermark.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__media-watermark.js +0 -148
- package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.js +0 -350
- package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.js +0 -129
- package/dist/features/tester/seed-data/authored/admin__site-system.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__site-system.js +0 -586
- package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.js +0 -260
- package/dist/features/tester/seed-data/authored/admin__users-trust.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__users-trust.js +0 -569
- package/dist/features/tester/seed-data/authored/buying__bidding.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__bidding.js +0 -449
- package/dist/features/tester/seed-data/authored/buying__browsing-search.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__browsing-search.js +0 -684
- package/dist/features/tester/seed-data/authored/buying__buying-checkout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__buying-checkout.js +0 -546
- package/dist/features/tester/seed-data/authored/buying__buying-coupons.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__buying-coupons.js +0 -379
- package/dist/features/tester/seed-data/authored/buying__cart.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__cart.js +0 -1264
- package/dist/features/tester/seed-data/authored/buying__image-tile-layout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__image-tile-layout.js +0 -122
- package/dist/features/tester/seed-data/authored/buying__my-orders.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__my-orders.js +0 -279
- package/dist/features/tester/seed-data/authored/buying__offers.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__offers.js +0 -1127
- package/dist/features/tester/seed-data/authored/buying__order-detail-actions.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__order-detail-actions.js +0 -153
- package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.js +0 -252
- package/dist/features/tester/seed-data/authored/buying__product-detail.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__product-detail.js +0 -474
- package/dist/features/tester/seed-data/authored/buying__return-request.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__return-request.js +0 -165
- package/dist/features/tester/seed-data/authored/buying__reviews-pagination.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__reviews-pagination.js +0 -260
- package/dist/features/tester/seed-data/authored/buying__reviews.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__reviews.js +0 -128
- package/dist/features/tester/seed-data/authored/buying__spares-and-groups.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__spares-and-groups.js +0 -96
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.js +0 -283
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.js +0 -169
- package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.js +0 -105
- package/dist/features/tester/seed-data/authored/buying__wishlist-history.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__wishlist-history.js +0 -374
- package/dist/features/tester/seed-data/authored/community-support__messages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/community-support__messages.js +0 -200
- package/dist/features/tester/seed-data/authored/community-support__public-profile.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/community-support__public-profile.js +0 -54
- package/dist/features/tester/seed-data/authored/community-support__support-tickets.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/community-support__support-tickets.js +0 -76
- package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.d.ts +0 -4
- package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.js +0 -590
- package/dist/features/tester/seed-data/authored/content-discovery__blog.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__blog.js +0 -110
- package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.js +0 -149
- package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.js +0 -145
- package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.js +0 -174
- package/dist/features/tester/seed-data/authored/content-discovery__coupons.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__coupons.js +0 -169
- package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.js +0 -209
- package/dist/features/tester/seed-data/authored/content-discovery__event-participation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__event-participation.js +0 -207
- package/dist/features/tester/seed-data/authored/content-discovery__events.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__events.js +0 -377
- package/dist/features/tester/seed-data/authored/content-discovery__faq-help.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__faq-help.js +0 -87
- package/dist/features/tester/seed-data/authored/content-discovery__notifications.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__notifications.js +0 -147
- package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.js +0 -209
- package/dist/features/tester/seed-data/authored/content-discovery__parts-database.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__parts-database.js +0 -167
- package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.js +0 -73
- package/dist/features/tester/seed-data/authored/content-discovery__search.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__search.js +0 -363
- package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.js +0 -340
- package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.js +0 -88
- package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.js +0 -78
- package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.js +0 -76
- package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.js +0 -62
- package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.js +0 -163
- package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.js +0 -61
- package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.js +0 -89
- package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.js +0 -95
- package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.js +0 -191
- package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.js +0 -158
- package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.js +0 -82
- package/dist/features/tester/seed-data/authored/design-ux__footer-theme.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__footer-theme.js +0 -106
- package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.js +0 -88
- package/dist/features/tester/seed-data/authored/design-ux__general-design.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__general-design.js +0 -204
- package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.js +0 -301
- package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.js +0 -90
- package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.js +0 -85
- package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.js +0 -407
- package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.js +0 -88
- package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.js +0 -84
- package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.js +0 -214
- package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.js +0 -275
- package/dist/features/tester/seed-data/authored/index.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/index.js +0 -301
- package/dist/features/tester/seed-data/authored/page-wiring__data-loss.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__data-loss.js +0 -125
- package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.js +0 -85
- package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.js +0 -92
- package/dist/features/tester/seed-data/authored/page-wiring__reachability.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__reachability.js +0 -115
- package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.js +0 -137
- package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.js +0 -263
- package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.js +0 -229
- package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.js +0 -325
- package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.js +0 -126
- package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.js +0 -141
- package/dist/features/tester/seed-data/authored/public-pages__store-tabs.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__store-tabs.js +0 -115
- package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.js +0 -253
- package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.js +0 -93
- package/dist/features/tester/seed-data/authored/search-and-nav__header-search.d.ts +0 -3
- package/dist/features/tester/seed-data/authored/search-and-nav__header-search.js +0 -185
- package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.js +0 -82
- package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.js +0 -60
- package/dist/features/tester/seed-data/authored/selling__become-seller.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__become-seller.js +0 -117
- package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.js +0 -148
- package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.js +0 -108
- package/dist/features/tester/seed-data/authored/selling__listing-a-product.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-a-product.js +0 -274
- package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.js +0 -145
- package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.js +0 -336
- package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.js +0 -136
- package/dist/features/tester/seed-data/authored/selling__media-limits.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__media-limits.js +0 -135
- package/dist/features/tester/seed-data/authored/selling__product-upload-details.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__product-upload-details.js +0 -155
- package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.js +0 -138
- package/dist/features/tester/seed-data/authored/selling__sectionised-forms.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__sectionised-forms.js +0 -191
- package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.js +0 -138
- package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.js +0 -106
- package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.js +0 -192
- package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.js +0 -109
- package/dist/features/tester/seed-data/authored/selling__seller-guide.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-guide.js +0 -34
- package/dist/features/tester/seed-data/authored/selling__seller-listing-types.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-listing-types.js +0 -348
- package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.js +0 -87
- package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.js +0 -90
- package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.js +0 -85
- package/dist/features/tester/seed-data/authored/selling__seller-orders.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-orders.js +0 -213
- package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.js +0 -192
- package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.js +0 -77
- package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.js +0 -165
- package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.js +0 -116
- package/dist/features/tester/seed-data/authored/seo__canonical-and-host.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__canonical-and-host.js +0 -127
- package/dist/features/tester/seed-data/authored/seo__og-images.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__og-images.js +0 -107
- package/dist/features/tester/seed-data/authored/seo__page-metadata.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__page-metadata.js +0 -120
- package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.js +0 -105
- package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.js +0 -58
- package/dist/features/tester/seed-data/authored/tools__sticker-tracer.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/tools__sticker-tracer.js +0 -284
- package/dist/features/tester/seed-data/index.d.ts +0 -2
- package/dist/features/tester/seed-data/index.js +0 -2
- package/dist/features/tester/seed-data/tester-checklist-seed-data.d.ts +0 -2
- package/dist/features/tester/seed-data/tester-checklist-seed-data.js +0 -7601
- package/dist/features/tester/seed-data/tester-responses-seed-data.d.ts +0 -2
- package/dist/features/tester/seed-data/tester-responses-seed-data.js +0 -95
- package/dist/features/tester/seed-data/tester-window.d.ts +0 -25
- package/dist/features/tester/seed-data/tester-window.js +0 -66
- package/dist/seed/_helpers/brand-rows.d.ts +0 -35
- package/dist/seed/_helpers/brand-rows.js +0 -600
- package/dist/seed/_helpers/category-content-generated.d.ts +0 -24
- package/dist/seed/_helpers/category-content-generated.js +0 -1853
- package/dist/seed/_helpers/category-content.d.ts +0 -68
- package/dist/seed/_helpers/category-content.js +0 -731
- package/dist/seed/_helpers/category-forest.d.ts +0 -4
- package/dist/seed/_helpers/category-forest.js +0 -824
- package/dist/seed/_helpers/category-images-generated.d.ts +0 -57
- package/dist/seed/_helpers/category-images-generated.js +0 -618
- package/dist/seed/_helpers/category-models/chunk0.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk0.js +0 -2648
- package/dist/seed/_helpers/category-models/chunk1.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk1.js +0 -2318
- package/dist/seed/_helpers/category-models/chunk2.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk2.js +0 -2560
- package/dist/seed/_helpers/category-models/chunk3.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk3.js +0 -2196
- package/dist/seed/_helpers/category-models/chunk4.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk4.js +0 -1732
- package/dist/seed/_helpers/category-models.d.ts +0 -12
- package/dist/seed/_helpers/category-models.js +0 -45
- package/dist/seed/_helpers/category-names.d.ts +0 -54
- package/dist/seed/_helpers/category-names.js +0 -118
- package/dist/seed/_helpers/category-parts-glossary-map.d.ts +0 -1
- package/dist/seed/_helpers/category-parts-glossary-map.js +0 -2499
- package/dist/seed/_helpers/category-parts.d.ts +0 -9
- package/dist/seed/_helpers/category-parts.js +0 -15022
- package/dist/seed/_helpers/category-tree.d.ts +0 -27
- package/dist/seed/_helpers/category-tree.js +0 -119
- package/dist/seed/_helpers/character-features.d.ts +0 -10
- package/dist/seed/_helpers/character-features.js +0 -120
- package/dist/seed/_helpers/final-sale-fixtures.d.ts +0 -35
- package/dist/seed/_helpers/final-sale-fixtures.js +0 -61
- package/dist/seed/_helpers/franchise-rows.d.ts +0 -43
- package/dist/seed/_helpers/franchise-rows.js +0 -189
- package/dist/seed/_helpers/media.d.ts +0 -67
- package/dist/seed/_helpers/media.js +0 -172
- package/dist/seed/_helpers/part-colours-generated.d.ts +0 -18
- package/dist/seed/_helpers/part-colours-generated.js +0 -273
- package/dist/seed/_helpers/product-search-txt.d.ts +0 -18
- package/dist/seed/_helpers/product-search-txt.js +0 -23
- package/dist/seed/_helpers/search-txt-wrappers.d.ts +0 -26
- package/dist/seed/_helpers/search-txt-wrappers.js +0 -58
- package/dist/seed/addresses-seed-data.d.ts +0 -2
- package/dist/seed/addresses-seed-data.js +0 -78
- package/dist/seed/authenticity-knowledge-seed-data.d.ts +0 -78
- package/dist/seed/authenticity-knowledge-seed-data.js +0 -10729
- package/dist/seed/bids-seed-data.d.ts +0 -2
- package/dist/seed/bids-seed-data.js +0 -206
- package/dist/seed/blog-posts-seed-data.d.ts +0 -6
- package/dist/seed/blog-posts-seed-data.js +0 -442
- package/dist/seed/carousel-slides-seed-data.d.ts +0 -2
- package/dist/seed/carousel-slides-seed-data.js +0 -411
- package/dist/seed/carousels-seed-data.d.ts +0 -2
- package/dist/seed/carousels-seed-data.js +0 -36
- package/dist/seed/cart-seed-data.d.ts +0 -2
- package/dist/seed/cart-seed-data.js +0 -241
- package/dist/seed/catalogue-seed-data.d.ts +0 -2
- package/dist/seed/catalogue-seed-data.js +0 -112
- package/dist/seed/categories-seed-data.d.ts +0 -3
- package/dist/seed/categories-seed-data.js +0 -816
- package/dist/seed/claimed-coupons-seed-data.d.ts +0 -2
- package/dist/seed/claimed-coupons-seed-data.js +0 -85
- package/dist/seed/coupon-usage-seed-data.d.ts +0 -9
- package/dist/seed/coupon-usage-seed-data.js +0 -55
- package/dist/seed/coupons-seed-data.d.ts +0 -2
- package/dist/seed/coupons-seed-data.js +0 -226
- package/dist/seed/defaults/categories.d.ts +0 -2
- package/dist/seed/defaults/categories.js +0 -12
- package/dist/seed/defaults/faqs.d.ts +0 -2
- package/dist/seed/defaults/faqs.js +0 -40
- package/dist/seed/events-seed-data.d.ts +0 -7
- package/dist/seed/events-seed-data.js +0 -482
- package/dist/seed/factories/address.factory.d.ts +0 -21
- package/dist/seed/factories/address.factory.js +0 -44
- package/dist/seed/factories/bid.factory.d.ts +0 -15
- package/dist/seed/factories/bid.factory.js +0 -33
- package/dist/seed/factories/blog-post.factory.d.ts +0 -15
- package/dist/seed/factories/blog-post.factory.js +0 -22
- package/dist/seed/factories/carousel.factory.d.ts +0 -11
- package/dist/seed/factories/carousel.factory.js +0 -17
- package/dist/seed/factories/cart.factory.d.ts +0 -25
- package/dist/seed/factories/cart.factory.js +0 -35
- package/dist/seed/factories/category.factory.d.ts +0 -11
- package/dist/seed/factories/category.factory.js +0 -16
- package/dist/seed/factories/coupon.factory.d.ts +0 -21
- package/dist/seed/factories/coupon.factory.js +0 -43
- package/dist/seed/factories/faq.factory.d.ts +0 -10
- package/dist/seed/factories/faq.factory.js +0 -15
- package/dist/seed/factories/notification.factory.d.ts +0 -18
- package/dist/seed/factories/notification.factory.js +0 -39
- package/dist/seed/factories/order.factory.d.ts +0 -20
- package/dist/seed/factories/order.factory.js +0 -20
- package/dist/seed/factories/payout.factory.d.ts +0 -21
- package/dist/seed/factories/payout.factory.js +0 -38
- package/dist/seed/factories/product.factory.d.ts +0 -27
- package/dist/seed/factories/product.factory.js +0 -80
- package/dist/seed/factories/review.factory.d.ts +0 -14
- package/dist/seed/factories/review.factory.js +0 -52
- package/dist/seed/factories/session.factory.d.ts +0 -15
- package/dist/seed/factories/session.factory.js +0 -31
- package/dist/seed/factories/store.factory.d.ts +0 -23
- package/dist/seed/factories/store.factory.js +0 -47
- package/dist/seed/factories/user.factory.d.ts +0 -19
- package/dist/seed/factories/user.factory.js +0 -56
- package/dist/seed/faq-seed-data.d.ts +0 -18
- package/dist/seed/faq-seed-data.js +0 -1956
- package/dist/seed/firestore-indexes.d.ts +0 -12
- package/dist/seed/firestore-indexes.js +0 -31
- package/dist/seed/grouped-listings-seed-data.d.ts +0 -2
- package/dist/seed/grouped-listings-seed-data.js +0 -283
- package/dist/seed/history-seed-data.d.ts +0 -12
- package/dist/seed/history-seed-data.js +0 -70
- package/dist/seed/homepage-sections-seed-data.d.ts +0 -2
- package/dist/seed/homepage-sections-seed-data.js +0 -1018
- package/dist/seed/index.d.ts +0 -98
- package/dist/seed/index.js +0 -112
- package/dist/seed/lottery-entries-seed-data.d.ts +0 -2
- package/dist/seed/lottery-entries-seed-data.js +0 -108
- package/dist/seed/manifest.d.ts +0 -16
- package/dist/seed/manifest.js +0 -235
- package/dist/seed/media-assets-seed-data.d.ts +0 -22
- package/dist/seed/media-assets-seed-data.js +0 -5593
- package/dist/seed/model-composition-seed-data.d.ts +0 -15
- package/dist/seed/model-composition-seed-data.js +0 -9032
- package/dist/seed/notifications-seed-data.d.ts +0 -2
- package/dist/seed/notifications-seed-data.js +0 -606
- package/dist/seed/offers-seed-data.d.ts +0 -2
- package/dist/seed/offers-seed-data.js +0 -398
- package/dist/seed/orders-seed-data.d.ts +0 -2
- package/dist/seed/orders-seed-data.js +0 -845
- package/dist/seed/part-glossary/chunk0.d.ts +0 -9
- package/dist/seed/part-glossary/chunk0.js +0 -35448
- package/dist/seed/part-glossary/chunk1.d.ts +0 -9
- package/dist/seed/part-glossary/chunk1.js +0 -40494
- package/dist/seed/part-glossary/chunk2.d.ts +0 -9
- package/dist/seed/part-glossary/chunk2.js +0 -51242
- package/dist/seed/part-glossary/chunk3.d.ts +0 -9
- package/dist/seed/part-glossary/chunk3.js +0 -53337
- package/dist/seed/part-glossary/chunk4.d.ts +0 -9
- package/dist/seed/part-glossary/chunk4.js +0 -51454
- package/dist/seed/part-glossary-seed-data.d.ts +0 -15
- package/dist/seed/part-glossary-seed-data.js +0 -25
- package/dist/seed/payouts-seed-data.d.ts +0 -2
- package/dist/seed/payouts-seed-data.js +0 -302
- package/dist/seed/product-features-seed-data.d.ts +0 -3
- package/dist/seed/product-features-seed-data.js +0 -366
- package/dist/seed/products-art-seed-data.d.ts +0 -2
- package/dist/seed/products-art-seed-data.js +0 -289
- package/dist/seed/products-auctions-seed-data.d.ts +0 -2
- package/dist/seed/products-auctions-seed-data.js +0 -475
- package/dist/seed/products-beyblade-x-seed-data.d.ts +0 -2
- package/dist/seed/products-beyblade-x-seed-data.js +0 -476
- package/dist/seed/products-catalogue-seed-data.d.ts +0 -22
- package/dist/seed/products-catalogue-seed-data.js +0 -86384
- package/dist/seed/products-classifieds-seed-data.d.ts +0 -7
- package/dist/seed/products-classifieds-seed-data.js +0 -435
- package/dist/seed/products-digital-codes-seed-data.d.ts +0 -7
- package/dist/seed/products-digital-codes-seed-data.js +0 -395
- package/dist/seed/products-live-items-seed-data.d.ts +0 -7
- package/dist/seed/products-live-items-seed-data.js +0 -269
- package/dist/seed/products-preorders-seed-data.d.ts +0 -2
- package/dist/seed/products-preorders-seed-data.js +0 -360
- package/dist/seed/products-prize-draws-seed-data.d.ts +0 -7
- package/dist/seed/products-prize-draws-seed-data.js +0 -427
- package/dist/seed/products-spares-seed-data.d.ts +0 -2
- package/dist/seed/products-spares-seed-data.js +0 -368
- package/dist/seed/products-standard-seed-data.d.ts +0 -2
- package/dist/seed/products-standard-seed-data.js +0 -632
- package/dist/seed/products-stickers-seed-data.d.ts +0 -2
- package/dist/seed/products-stickers-seed-data.js +0 -319
- package/dist/seed/reviews-seed-data.d.ts +0 -1
- package/dist/seed/reviews-seed-data.js +0 -185
- package/dist/seed/runner.d.ts +0 -2
- package/dist/seed/runner.js +0 -125
- package/dist/seed/scammers-seed-data.d.ts +0 -2
- package/dist/seed/scammers-seed-data.js +0 -235
- package/dist/seed/seed-market-config.d.ts +0 -48
- package/dist/seed/seed-market-config.js +0 -199
- package/dist/seed/seed-purpose.d.ts +0 -299
- package/dist/seed/seed-purpose.js +0 -431
- package/dist/seed/sessions-seed-data.d.ts +0 -3
- package/dist/seed/sessions-seed-data.js +0 -116
- package/dist/seed/shipments-seed-data.d.ts +0 -5
- package/dist/seed/shipments-seed-data.js +0 -185
- package/dist/seed/site-settings-seed-data.d.ts +0 -2
- package/dist/seed/site-settings-seed-data.js +0 -1069
- package/dist/seed/store-addresses-seed-data.d.ts +0 -18
- package/dist/seed/store-addresses-seed-data.js +0 -71
- package/dist/seed/store-extensions-seed-data.d.ts +0 -11
- package/dist/seed/store-extensions-seed-data.js +0 -292
- package/dist/seed/stores-seed-data.d.ts +0 -6
- package/dist/seed/stores-seed-data.js +0 -242
- package/dist/seed/support-tickets-seed-data.d.ts +0 -16
- package/dist/seed/support-tickets-seed-data.js +0 -239
- package/dist/seed/tax-codes-seed-data.d.ts +0 -34
- package/dist/seed/tax-codes-seed-data.js +0 -100
- package/dist/seed/test-data-ttl.d.ts +0 -29
- package/dist/seed/test-data-ttl.js +0 -31
- package/dist/seed/test-utils.d.ts +0 -49
- package/dist/seed/test-utils.js +0 -110
- package/dist/seed/types.d.ts +0 -89
- package/dist/seed/types.js +0 -15
- package/dist/seed/users-seed-data.d.ts +0 -2
- package/dist/seed/users-seed-data.js +0 -597
- package/dist/seed/wishlists-seed-data.d.ts +0 -12
- package/dist/seed/wishlists-seed-data.js +0 -54
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* WHY: Authored six-part procedures for the design-ux/nav-reachability page.
|
|
3
|
-
* WHAT: 6 case(s), keyed by full checklist id.
|
|
4
|
-
*
|
|
5
|
-
* @tag domain:tester
|
|
6
|
-
* @tag layer:seed
|
|
7
|
-
* @tag pattern:none
|
|
8
|
-
* @tag access:server-only
|
|
9
|
-
* @tag consumers:seed-data/authored/index.ts
|
|
10
|
-
* @tag sideEffects:none
|
|
11
|
-
*/
|
|
12
|
-
export const authored = {
|
|
13
|
-
"checklist-design-ux-nav-reachability-main-nav-first-items-reachable": {
|
|
14
|
-
roles: ["guest"],
|
|
15
|
-
startPage: "/products",
|
|
16
|
-
steps: [
|
|
17
|
-
"Set the browser window to roughly 1024 pixels wide.",
|
|
18
|
-
"Open /products and look at the horizontal navigation strip under the header.",
|
|
19
|
-
"Read the FIRST item at the left edge of the strip.",
|
|
20
|
-
"Scroll the strip to the right as far as it goes and read the LAST item.",
|
|
21
|
-
],
|
|
22
|
-
expectedBehaviour: "The strip centres its items while they fit and falls back to starting at the left edge as soon as they would overflow, so nothing is ever pushed past the leading edge where scrolling cannot reach it.",
|
|
23
|
-
expectedUiState: "'Home' is the first item visible at the left edge of the strip, followed by 'Products'. Scrolling right reaches 'About Us' at the far end. The prior symptom was the strip opening mid-list with 'Home' and 'Products' already cut off past the left edge and no way to bring them back.",
|
|
24
|
-
endResult: "Nothing persists. Reloading at the same width shows 'Home' first again — the strip is not remembering a scroll position, it genuinely starts at the beginning.",
|
|
25
|
-
},
|
|
26
|
-
"checklist-design-ux-nav-reachability-main-nav-left-chevron-works": {
|
|
27
|
-
roles: ["guest"],
|
|
28
|
-
startPage: "/products",
|
|
29
|
-
steps: [
|
|
30
|
-
"At roughly 1024 pixels wide, scroll the navigation strip to the right (drag it, or use the right chevron).",
|
|
31
|
-
"Look at the left end of the strip for a left-pointing chevron.",
|
|
32
|
-
"Click the left chevron.",
|
|
33
|
-
],
|
|
34
|
-
expectedBehaviour: "The left chevron is shown when the strip has been scrolled away from its start. That condition could never be true while the centring pinned the scroll position at 0, so the control existed and never appeared.",
|
|
35
|
-
expectedUiState: "After scrolling right, a left chevron is visible at the left end of the strip. Clicking it scrolls the strip back towards the start, and continuing to click eventually brings 'Home' into view and the chevron disappears again.",
|
|
36
|
-
endResult: "The strip can be scrolled to either end and back as many times as wanted. No state is saved.",
|
|
37
|
-
},
|
|
38
|
-
"checklist-design-ux-nav-reachability-header-hamburger-reachable-at-320": {
|
|
39
|
-
roles: ["guest"],
|
|
40
|
-
startPage: "/products",
|
|
41
|
-
steps: [
|
|
42
|
-
"Set the browser window to 320 pixels wide, or choose an iPhone SE device profile.",
|
|
43
|
-
"Look at the right-hand end of the top header row.",
|
|
44
|
-
"Tap the hamburger (menu) control.",
|
|
45
|
-
],
|
|
46
|
-
expectedBehaviour: "The header row must fit inside the viewport at the narrowest supported width. The app shell clips horizontal overflow rather than scrolling it, so anything past the edge is unreachable — not merely out of sight.",
|
|
47
|
-
expectedUiState: "The hamburger is FULLY visible at the end of the header row, not half-cut and not missing, and tapping it opens the menu. The theme toggle immediately before it is also whole. The prior symptom was the hamburger sitting entirely beyond the right edge and the theme toggle sliced in half.",
|
|
48
|
-
endResult: "The menu opens and closes normally. Nothing persists.",
|
|
49
|
-
},
|
|
50
|
-
"checklist-design-ux-nav-reachability-header-demotes-optional-controls": {
|
|
51
|
-
roles: ["guest"],
|
|
52
|
-
startPage: "/products",
|
|
53
|
-
steps: [
|
|
54
|
-
"At 320 pixels wide, read every icon in the top header row.",
|
|
55
|
-
"Widen the window past about 640 pixels.",
|
|
56
|
-
"Read the header row again.",
|
|
57
|
-
"At 320 pixels again, open the hamburger menu and look for the deals and tour entries.",
|
|
58
|
-
],
|
|
59
|
-
expectedBehaviour: "Room for the hamburger is made by demoting the two most discretionary controls at the narrowest width, rather than by letting the most important one fall off the end. Neither is removed from the product — only from the header row at that width.",
|
|
60
|
-
expectedUiState: "At 320px the 'Today's Deals' and product-tour icons are NOT in the header. Above ~640px both are back. At 320px their destinations are still reachable from the menu, so nothing has become unavailable.",
|
|
61
|
-
endResult: "Purely responsive; no state is written. Resizing back and forth shows them disappear and reappear at the same point each time.",
|
|
62
|
-
},
|
|
63
|
-
"checklist-design-ux-nav-reachability-no-horizontal-page-scroll": {
|
|
64
|
-
roles: ["guest"],
|
|
65
|
-
startPage: "/",
|
|
66
|
-
steps: [
|
|
67
|
-
"Set the browser window to 320 pixels wide.",
|
|
68
|
-
"Visit each of: /, /products, any product detail page, /categories, /cart.",
|
|
69
|
-
"On each page, try to drag the page sideways and look for a horizontal scrollbar at the bottom of the window.",
|
|
70
|
-
],
|
|
71
|
-
expectedBehaviour: "No layout should be wider than the viewport at the narrowest supported width. A sideways-scrolling page is the clearest single symptom of a broken responsive layout.",
|
|
72
|
-
expectedUiState: "On all five pages the content does not move horizontally and no horizontal scrollbar appears. Report the page and the element if any one of them scrolls — this case is per-page, so a single failure is still a finding even if the other four pass.",
|
|
73
|
-
endResult: "Nothing persists. This is a pure layout check at one width.",
|
|
74
|
-
},
|
|
75
|
-
"checklist-design-ux-nav-reachability-lightbox-thumbnails-reachable": {
|
|
76
|
-
roles: ["guest"],
|
|
77
|
-
startPage: "/products",
|
|
78
|
-
steps: [
|
|
79
|
-
"Open a product that has several images — the Beyblade X UX-03 WizardRod and the video-demo fixtures all carry multiple.",
|
|
80
|
-
"Click the main product image to open the lightbox.",
|
|
81
|
-
"Look at the thumbnail strip below the enlarged image.",
|
|
82
|
-
"Scroll the strip to both ends.",
|
|
83
|
-
],
|
|
84
|
-
expectedBehaviour: "The thumbnail strip is a horizontal scroller and had the same centring defect as the navbar, so with enough images its first thumbnails were off the leading edge with no scroll position that could reach them.",
|
|
85
|
-
expectedUiState: "The strip begins at the FIRST image, and every thumbnail can be reached by scrolling. No thumbnail is stranded past the left edge. Clicking any thumbnail switches the enlarged image to it.",
|
|
86
|
-
endResult: "Closing the lightbox returns to the product page with no change. Reopening starts the strip at the first image again.",
|
|
87
|
-
},
|
|
88
|
-
};
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* WHY: Authored six-part procedures for the design-ux/rich-text-readability page.
|
|
3
|
-
* WHAT: 5 case(s), keyed by full checklist id.
|
|
4
|
-
*
|
|
5
|
-
* @tag domain:tester
|
|
6
|
-
* @tag layer:seed
|
|
7
|
-
* @tag pattern:none
|
|
8
|
-
* @tag access:server-only
|
|
9
|
-
* @tag consumers:seed-data/authored/index.ts
|
|
10
|
-
* @tag sideEffects:none
|
|
11
|
-
*/
|
|
12
|
-
export const authored = {
|
|
13
|
-
"checklist-design-ux-rich-text-readability-prose-body-readable-dark": {
|
|
14
|
-
roles: ["guest"],
|
|
15
|
-
startPage: "/categories/category-spinning-tops",
|
|
16
|
-
steps: [
|
|
17
|
-
"Set the site to DARK mode using the theme toggle in the header.",
|
|
18
|
-
"Open /categories/category-spinning-tops.",
|
|
19
|
-
"Scroll to the multi-paragraph write-up directly below the hero banner (it begins 'Four generations of Beyblade').",
|
|
20
|
-
"Read the full write-up at normal viewing distance without leaning in or changing zoom.",
|
|
21
|
-
],
|
|
22
|
-
expectedBehaviour: "The rich-text block takes its body colour from the active theme's own text token rather than from the Tailwind typography plugin's light-theme default. No element in the block should be rendering a colour that was chosen for a white page.",
|
|
23
|
-
expectedUiState: "Every sentence of the write-up is comfortably readable against the dark page. The body copy is a light grey, clearly brighter than the page background. It is NOT the dim, low-contrast grey that appears to recede into the background — the specific prior symptom was body text at gray-700 on a dark surface.",
|
|
24
|
-
endResult: "Nothing is written and nothing persists. Reloading the page in dark mode shows the same readable text; this is a pure rendering check.",
|
|
25
|
-
},
|
|
26
|
-
"checklist-design-ux-rich-text-readability-prose-links-visible-dark": {
|
|
27
|
-
roles: ["guest"],
|
|
28
|
-
startPage: "/categories/category-spinning-tops",
|
|
29
|
-
steps: [
|
|
30
|
-
"Stay in DARK mode on /categories/category-spinning-tops.",
|
|
31
|
-
"Without moving the mouse over them, locate the five inline links in the write-up: 'Beyblade Original', 'Metal Fight', 'Burst', 'Beyblade X' and 'Accessories'.",
|
|
32
|
-
"Compare each link's text colour against the paragraph text immediately surrounding it.",
|
|
33
|
-
],
|
|
34
|
-
expectedBehaviour: "Link colour resolves to the theme's secondary accent in dark mode, not to the typography plugin's default link colour. Identifying a link must not require hovering, because hover is unavailable on touch devices.",
|
|
35
|
-
expectedUiState: "All five links are a visibly different colour from the body copy around them and are obviously clickable at a glance. The prior symptom was links rendering at gray-900 — near-black on a dark page, effectively invisible, findable only by sweeping the cursor and watching for the pointer to change. An underline alone does NOT satisfy this case: the text colour itself must differ.",
|
|
36
|
-
endResult: "No state changes. Clicking any of the five navigates to that category, which also confirms they were real links and not styled text.",
|
|
37
|
-
},
|
|
38
|
-
"checklist-design-ux-rich-text-readability-prose-readable-light-regression": {
|
|
39
|
-
roles: ["guest"],
|
|
40
|
-
startPage: "/categories/category-spinning-tops",
|
|
41
|
-
steps: [
|
|
42
|
-
"On /categories/category-spinning-tops, switch the theme toggle to LIGHT mode.",
|
|
43
|
-
"Read the same write-up and locate the same five inline links.",
|
|
44
|
-
"Toggle between light and dark three times, pausing on each to re-read one paragraph and one link.",
|
|
45
|
-
],
|
|
46
|
-
expectedBehaviour: "Both themes resolve their colours from the same rebound token set, so a regression in one is a plausible consequence of a change to the other. Headings, body copy and links must each stay distinct from one another in both themes.",
|
|
47
|
-
expectedUiState: "In LIGHT mode the body copy is dark on the white surface and the links are the primary brand colour. Headings remain visibly darker/stronger than body copy. Nothing is washed out, and no text becomes near-invisible at either end of the toggle.",
|
|
48
|
-
endResult: "The theme choice persists across a reload (it is stored client-side), and the write-up renders correctly in whichever mode was last selected.",
|
|
49
|
-
},
|
|
50
|
-
"checklist-design-ux-rich-text-readability-prose-readable-across-surfaces": {
|
|
51
|
-
roles: ["guest"],
|
|
52
|
-
startPage: "/blog",
|
|
53
|
-
steps: [
|
|
54
|
-
"Set the site to DARK mode.",
|
|
55
|
-
"Open any published post from /blog and read its body copy and any inline links.",
|
|
56
|
-
"Open /terms (or /privacy) and read the policy body copy.",
|
|
57
|
-
"Open /faqs and expand any answer.",
|
|
58
|
-
"Open any product from /products and read its Description tab.",
|
|
59
|
-
],
|
|
60
|
-
expectedBehaviour: "All four surfaces render through the same shared rich-text renderer, so one shared fix must reach all of them. A surface that is still unreadable means the fix did not apply there and the renderer is being bypassed.",
|
|
61
|
-
expectedUiState: "On each of the four pages the body copy is readable light-grey-on-dark and any inline links are a visibly distinct colour. No page shows the dim gray-700 body or the near-black links described in the dark-mode cases above.",
|
|
62
|
-
endResult: "Nothing persists. If any ONE of the four fails while the others pass, record which one — that narrows the cause to that surface's own markup rather than the shared renderer.",
|
|
63
|
-
},
|
|
64
|
-
"checklist-design-ux-rich-text-readability-prose-follows-custom-theme": {
|
|
65
|
-
roles: ["admin"],
|
|
66
|
-
startPage: "/admin/site",
|
|
67
|
-
steps: [
|
|
68
|
-
"Sign in as admin@letitrip.in / TempPass123!.",
|
|
69
|
-
"Open /admin/site and go to the Themes tab.",
|
|
70
|
-
"Note which theme is currently the default, then set a visibly different one as the active default (for example Cobalt Night, or Sunset).",
|
|
71
|
-
"Open /categories/category-spinning-tops in a new tab and read the write-up's body copy and links.",
|
|
72
|
-
"Return to /admin/site → Themes and restore the original default theme.",
|
|
73
|
-
],
|
|
74
|
-
inputs: {
|
|
75
|
-
"Themes tab — active default": "a theme other than the current default",
|
|
76
|
-
},
|
|
77
|
-
expectedBehaviour: "Rich-text colours are bound to `--appkit-color-*` theme tokens, so switching the active theme must restyle admin-authored prose along with the rest of the site. This is only possible since the 2026-10-15 fix: the typography plugin's palette is hardcoded Tailwind greys that no theme record could ever reach.",
|
|
78
|
-
expectedUiState: "After the theme change, the write-up's paragraph colour and link colour both shift to match the new theme — they do not stay the same grey the previous theme used. Body copy remains readable against whatever surface the new theme sets.",
|
|
79
|
-
expectedData: {
|
|
80
|
-
"siteSettings.theme.defaultDarkThemeId": "restored to its original value at the end",
|
|
81
|
-
},
|
|
82
|
-
endResult: "The original default theme is restored, so no other tester inherits a changed site theme. Reloading the category page shows prose in the original theme's colours again.",
|
|
83
|
-
},
|
|
84
|
-
};
|
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* WHY: Authored six-part procedures for the design-ux/status-badge-legibility page.
|
|
3
|
-
* WHAT: 13 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
|
-
* 🛑 TWO PAIRINGS, NEVER MIXED. An inline chip is a status TINT with matching
|
|
10
|
-
* status ink; a badge overlaying a photo is a status SOLID with on-solid ink.
|
|
11
|
-
* Both halves of each pair invert together. A literal white ink against either
|
|
12
|
-
* background is invisible in exactly one theme, which is why every case here is
|
|
13
|
-
* read in both — and why several of them name the dark theme specifically.
|
|
14
|
-
*
|
|
15
|
-
* A third failure mode is worse than a wrong pairing: a class the build never
|
|
16
|
-
* generates. Tailwind drops an unknown utility silently, so the element renders
|
|
17
|
-
* with no background at all and looks like a styling choice.
|
|
18
|
-
*
|
|
19
|
-
* @tag domain:tester
|
|
20
|
-
* @tag layer:seed
|
|
21
|
-
* @tag pattern:none
|
|
22
|
-
* @tag access:server-only
|
|
23
|
-
* @tag consumers:seed-data/authored/index.ts
|
|
24
|
-
* @tag sideEffects:none
|
|
25
|
-
*/
|
|
26
|
-
export const authored = {
|
|
27
|
-
"checklist-design-ux-status-badge-legibility-listing-type-tags-readable-light": {
|
|
28
|
-
roles: ["guest"],
|
|
29
|
-
startPage: "/products",
|
|
30
|
-
steps: [
|
|
31
|
-
"Open /products in a private window in LIGHT mode and read the badges on the grid: Classified, Digital Code, Live Item.",
|
|
32
|
-
"Open /auctions and read the Auction badge; /pre-orders for Pre-Order; /prize-draws for Prize Draw; /art for Art Print and Sticker Sheet.",
|
|
33
|
-
"Read each badge's text against its own background.",
|
|
34
|
-
"Write down any badge whose text cannot be read.",
|
|
35
|
-
],
|
|
36
|
-
expectedBehaviour: "Each type badge pairs a background and an ink that belong together. A tint paired with a literal white ink is white on near-white in a light theme — and the same badge is perfectly readable in dark, which is why a light-mode pass is its own case.",
|
|
37
|
-
expectedUiState: "All eight badges are readable in light mode. The specific failure is a badge whose text is invisible against a pale fill while the badge shape is clearly there.",
|
|
38
|
-
expectedData: { unreadableBadgesLight: 0 },
|
|
39
|
-
endResult: "Read-only; nothing persists.",
|
|
40
|
-
},
|
|
41
|
-
"checklist-design-ux-status-badge-legibility-listing-type-tags-readable-dark": {
|
|
42
|
-
roles: ["guest"],
|
|
43
|
-
startPage: "/products",
|
|
44
|
-
steps: [
|
|
45
|
-
"Open /products in a private window and switch to DARK mode.",
|
|
46
|
-
"Read the Classified, Digital Code and Live Item badges on the grid, then visit /auctions, /pre-orders, /prize-draws and /art for the remaining five badges.",
|
|
47
|
-
"Compare each against how it read in light mode.",
|
|
48
|
-
"Write down any badge readable in one theme and not the other.",
|
|
49
|
-
],
|
|
50
|
-
expectedBehaviour: "The same eight badges hold in dark mode, because both halves of the pairing invert. A badge that is fine in one theme and unreadable in the other is the signature of a pairing where only one half is a token.",
|
|
51
|
-
expectedUiState: "All eight badges are readable in dark mode. A badge that passed the light-mode case and fails here is the finding, and it is the same bug from the other side.",
|
|
52
|
-
expectedData: { unreadableBadgesDark: 0 },
|
|
53
|
-
endResult: "Read-only; return the site to light mode afterwards.",
|
|
54
|
-
},
|
|
55
|
-
"checklist-design-ux-status-badge-legibility-live-item-tag-has-background": {
|
|
56
|
-
roles: ["guest"],
|
|
57
|
-
startPage: "/products",
|
|
58
|
-
steps: [
|
|
59
|
-
"Open /products in a private window and find a Live Item card.",
|
|
60
|
-
"Look at its badge and check whether it has a filled background at all.",
|
|
61
|
-
"Compare it against the Classified and Digital Code badges beside it, then against the Auction badge on /auctions.",
|
|
62
|
-
"Switch to dark mode and look again.",
|
|
63
|
-
"Open /live/live-golden-retriever-puppy and look at the badge on the detail page too.",
|
|
64
|
-
],
|
|
65
|
-
expectedBehaviour: "The Live Item badge names a colour the build can actually generate. Its background once used a flat alias that has no tint variant and is absent from the app's own palette entirely, so the class compiled to nothing and the badge rendered with no fill — which reads as a deliberate outline style rather than a dropped class.",
|
|
66
|
-
expectedUiState: "The Live Item badge has a visible filled background in both themes, like every other type badge. A badge that is text-only while its neighbours are filled is the failure.",
|
|
67
|
-
expectedData: { hasBackground: true },
|
|
68
|
-
endResult: "Read-only; return the site to light mode afterwards.",
|
|
69
|
-
},
|
|
70
|
-
"checklist-design-ux-status-badge-legibility-promo-badges-readable": {
|
|
71
|
-
roles: ["guest"],
|
|
72
|
-
startPage: "/products",
|
|
73
|
-
steps: [
|
|
74
|
-
"Open /products in a private window in light mode.",
|
|
75
|
-
"Find cards showing NEW, SALE and LIMITED badges and read each.",
|
|
76
|
-
"Note whether these badges sit over the card's photo or beside its title.",
|
|
77
|
-
"Switch to dark mode and read them again.",
|
|
78
|
-
],
|
|
79
|
-
expectedBehaviour: "These badges overlay a photograph, so they take the solid pairing rather than the tint one — a pale tint over an arbitrary product image is unreadable regardless of theme. A past sweep converted solid fills to tints and left the white ink behind, which broke these three specifically.",
|
|
80
|
-
expectedUiState: "NEW, SALE and LIMITED are readable over their photos in both themes, with a solid enough fill to separate them from the image behind. A pale badge floating over a light product photo is the failure.",
|
|
81
|
-
endResult: "Read-only; return the site to light mode afterwards.",
|
|
82
|
-
},
|
|
83
|
-
"checklist-design-ux-status-badge-legibility-soft-ban-lift-notification-has-a-body": {
|
|
84
|
-
roles: ["admin", "buyer"],
|
|
85
|
-
startPage: "/admin/users",
|
|
86
|
-
steps: [
|
|
87
|
-
"Sign in as admin@letitrip.in / TempPass123!.",
|
|
88
|
-
"Open /admin/users, find karthik.new@gmail.com, and apply a soft ban with a reason.",
|
|
89
|
-
"Lift the ban again.",
|
|
90
|
-
"Swap identity: this case lists roles [admin, buyer] and the harness resolves that to ADMIN, so it opens signed in as the admin. Copy tester/.tester-runs/session-buyer.json over session.json, CLOSE THE BROWSER, then sign in as karthik.new@gmail.com / TempPass123!.",
|
|
91
|
-
"Open /user/notifications and read the ban-lift notification's title AND its body.",
|
|
92
|
-
],
|
|
93
|
-
inputs: { targetUser: "karthik.new@gmail.com" },
|
|
94
|
-
expectedBehaviour: "The ban-lift notification carries a body, not only a title. Every notification type renders from a per-type template; a type with no template falls back to something generic, which shows as an empty body or a repeat of the title.",
|
|
95
|
-
expectedUiState: "The notification has a readable title and a distinct body explaining that access is restored. An empty body, or a body that simply restates the title, means this type has no template.",
|
|
96
|
-
endResult: "The account is unbanned. Confirm karthik.new@gmail.com can sign in normally afterwards — it is used by other cases.",
|
|
97
|
-
},
|
|
98
|
-
"checklist-design-ux-status-badge-legibility-review-feedback-notification-delivers": {
|
|
99
|
-
roles: ["buyer", "seller"],
|
|
100
|
-
startPage: "/products/product-beyblade-burst-valkyrie",
|
|
101
|
-
steps: [
|
|
102
|
-
"Sign in as rehan.sheikh@gmail.com / TempPass123!.",
|
|
103
|
-
"Open a product this account has bought and leave a review. 🛑 EXPECT NO CONTROL FOR THIS and record that as the finding rather than as a failure to look properly: createReviewAction, useCreateReview and the UI_TEXT.WRITE_REVIEW string all exist, but no .tsx consumes any of them — the only review modal is read-only. If there is genuinely no way to write a review, answer null for this case and report the missing control; do not improvise through an API, which would test a path no buyer can reach.",
|
|
104
|
-
"Sign out and sign in as tyson@beybladearena.in / TempPass123!, the store owner.",
|
|
105
|
-
"Open /store and check for a notification about the new review.",
|
|
106
|
-
"Read its title, its body and where its link goes.",
|
|
107
|
-
"Click the link.",
|
|
108
|
-
],
|
|
109
|
-
expectedBehaviour: "The seller is notified when a review lands, with a body and a destination. Reviews have no per-record page in any role, so the link correctly resolves to the reviews LIST — fabricating a per-review URL would 404, which is worse than a list.",
|
|
110
|
-
expectedUiState: "A notification exists for the store owner with a readable title and body. Its link opens the reviews list rather than a 404. No notification at all means the hook did not fire.",
|
|
111
|
-
endResult: "Delete the review afterwards so review counts on that product stay as seeded.",
|
|
112
|
-
},
|
|
113
|
-
"checklist-design-ux-status-badge-legibility-analytics-tags-absent-until-configured": {
|
|
114
|
-
roles: ["guest"],
|
|
115
|
-
startPage: "/",
|
|
116
|
-
steps: [
|
|
117
|
-
"Open / in a private window with no session.",
|
|
118
|
-
"Open the browser's View Source and search for gtag, googletagmanager, fbq and connect.facebook.net.",
|
|
119
|
-
"Open DevTools' Network tab, reload, and look for any request to a Google or Facebook analytics host.",
|
|
120
|
-
"Note whether any such tag is present.",
|
|
121
|
-
],
|
|
122
|
-
expectedBehaviour: "Analytics tags are injected only when their ids are configured. Those ids live in a settings group that is separate from the encrypted credentials — and that group was written by the admin form while being undeclared on the settings type, which is precisely how a field escapes every type-driven review.",
|
|
123
|
-
expectedUiState: "With no analytics ids configured, no tag script is present in the source and no request is made to an analytics host. A tag firing with an empty or placeholder id is the failure — it loads the third-party script for every visitor and sends nothing useful.",
|
|
124
|
-
expectedData: { analyticsRequests: 0 },
|
|
125
|
-
endResult: "Read-only; nothing persists. If ids ARE configured on this environment, note that instead of failing the case.",
|
|
126
|
-
},
|
|
127
|
-
"checklist-design-ux-status-badge-legibility-notification-count-bubbles-readable": {
|
|
128
|
-
roles: ["buyer"],
|
|
129
|
-
startPage: "/user",
|
|
130
|
-
steps: [
|
|
131
|
-
"Sign in as rehan.sheikh@gmail.com / TempPass123! with at least one unread notification.",
|
|
132
|
-
"Open /user and read the number inside the header bell's count bubble.",
|
|
133
|
-
"Read the same bubble in the sidebar if one appears there.",
|
|
134
|
-
"Switch to dark mode and read both again.",
|
|
135
|
-
"Resize to 390 pixels wide and read them again.",
|
|
136
|
-
],
|
|
137
|
-
inputs: { mobileWidth: 390 },
|
|
138
|
-
expectedBehaviour: "A count bubble overlays other chrome, so it takes the solid pairing. These bubbles were among the surfaces a past sweep converted to a tint while leaving the white ink, which makes the number invisible while the bubble itself is clearly there.",
|
|
139
|
-
expectedUiState: "The number is legible in both themes and at both widths. A visible coloured dot with no readable number in it is the failure.",
|
|
140
|
-
endResult: "Read-only; return the site to light mode and restore the width.",
|
|
141
|
-
},
|
|
142
|
-
"checklist-design-ux-status-badge-legibility-admin-status-chips-colored": {
|
|
143
|
-
roles: ["admin"],
|
|
144
|
-
startPage: "/admin/orders",
|
|
145
|
-
steps: [
|
|
146
|
-
"Sign in as admin@letitrip.in / TempPass123!.",
|
|
147
|
-
"Open /admin/orders and read every status chip in the list.",
|
|
148
|
-
"Check that different statuses use different colours and that each chip's text is readable.",
|
|
149
|
-
"Open /admin/stores and read its status chips.",
|
|
150
|
-
"Open /admin/payouts and read its status chips.",
|
|
151
|
-
"Switch to dark mode and read all three again.",
|
|
152
|
-
],
|
|
153
|
-
expectedBehaviour: "Status chips are inline, so they take the tint pairing with matching ink. Distinct statuses must be distinguishable by colour — a table where every chip is the same grey is a table where status has to be read word by word.",
|
|
154
|
-
expectedUiState: "Each status renders in its own colour and every chip's text is readable, on all three pages and in both themes. Chips that are all one colour, or whose text is invisible, are both failures.",
|
|
155
|
-
endResult: "Read-only; return the site to light mode afterwards.",
|
|
156
|
-
},
|
|
157
|
-
"checklist-design-ux-status-badge-legibility-faq-helpful-buttons-readable": {
|
|
158
|
-
roles: ["guest"],
|
|
159
|
-
startPage: "/faqs",
|
|
160
|
-
steps: [
|
|
161
|
-
"Open /faqs in a private window in light mode and expand a question.",
|
|
162
|
-
"Find the helpful / not-helpful controls and read their labels.",
|
|
163
|
-
"Hover each and read it while hovering.",
|
|
164
|
-
"Click one and read its label in the selected state.",
|
|
165
|
-
"Switch to dark mode and repeat all four readings.",
|
|
166
|
-
],
|
|
167
|
-
expectedBehaviour: "These controls have three states — resting, hover and selected — and each needs its own readable pairing in both themes. They were among the surfaces broken by a tint-with-white-ink conversion, and the selected state is the one most easily missed.",
|
|
168
|
-
expectedUiState: "Labels are readable in all three states, in both themes. The most likely failure is the selected state, since it is the only one requiring a click to see at all.",
|
|
169
|
-
endResult: "Read-only apart from the vote; return the site to light mode afterwards.",
|
|
170
|
-
},
|
|
171
|
-
"checklist-design-ux-status-badge-legibility-detail-page-tags-readable": {
|
|
172
|
-
roles: ["guest"],
|
|
173
|
-
startPage: "/auctions/auction-beyblade-x-shark-edge",
|
|
174
|
-
steps: [
|
|
175
|
-
"Open /auctions/auction-beyblade-x-shark-edge in a private window in light mode.",
|
|
176
|
-
"Read every tag and badge on the page — listing type, condition, stock, any promo tag.",
|
|
177
|
-
"Open /pre-orders/preorder-beyblade-x-bx-08-wave and read its badges, including the production status.",
|
|
178
|
-
"Open /prize-draws/prizedraw-beyblade-mystery-box and read its badges.",
|
|
179
|
-
"Switch to dark mode and read all three pages again.",
|
|
180
|
-
],
|
|
181
|
-
expectedBehaviour: "Detail-page badges follow the same two pairings as card badges. They are worth checking separately because a detail page renders badges the grid never shows — production status, reserve state, code-pool state — and those are the ones a card-only sweep misses.",
|
|
182
|
-
expectedUiState: "Every badge on all three pages is readable in both themes. Detail-only badges such as 'In Production' are included in the reading.",
|
|
183
|
-
expectedData: { unreadableBadges: 0 },
|
|
184
|
-
endResult: "Read-only; return the site to light mode afterwards.",
|
|
185
|
-
},
|
|
186
|
-
"checklist-design-ux-status-badge-legibility-whatsapp-community-member-pill": {
|
|
187
|
-
roles: ["guest"],
|
|
188
|
-
startPage: "/",
|
|
189
|
-
steps: [
|
|
190
|
-
"Open / in a private window in light mode and scroll to the WhatsApp community card.",
|
|
191
|
-
"Read the member-count pill on it.",
|
|
192
|
-
"Look at the pill's background against the card's own branded background.",
|
|
193
|
-
"Switch to dark mode and read the pill again.",
|
|
194
|
-
],
|
|
195
|
-
expectedBehaviour: "A pill sitting on a branded backdrop needs the translucent-white surface, not the page surface. The page surface is a LIGHT background in every light theme, so pairing it with inverse ink is white-on-white — the same defect as the badge cases, expressed through primitive props rather than utility classes.",
|
|
196
|
-
expectedUiState: "The member-count pill is readable against the branded card in both themes. A pill whose number is invisible while the pill shape is visible is the failure.",
|
|
197
|
-
endResult: "Read-only; return the site to light mode afterwards.",
|
|
198
|
-
},
|
|
199
|
-
"checklist-design-ux-status-badge-legibility-image-lightbox-close-hover": {
|
|
200
|
-
roles: ["guest"],
|
|
201
|
-
startPage: "/products/product-beyblade-burst-valkyrie",
|
|
202
|
-
steps: [
|
|
203
|
-
"Open /products/product-beyblade-burst-valkyrie in a private window.",
|
|
204
|
-
"Click the main image to open the lightbox.",
|
|
205
|
-
"Find the close control and read it at rest.",
|
|
206
|
-
"Hover it and read it while hovering.",
|
|
207
|
-
"Hover each of the other toolbar controls — zoom, rotate, expand — and read each.",
|
|
208
|
-
"Switch to dark mode and repeat.",
|
|
209
|
-
],
|
|
210
|
-
expectedBehaviour: "The lightbox toolbar sits on a fixed dark scrim, which is one of the few places a fixed light hover fill is correct — expressed as white with an alpha rather than as a named palette tint. A named tint is the same near-white in both themes and swallows the icon on hover.",
|
|
211
|
-
expectedUiState: "The close control and every toolbar control stay visible while hovered, in both themes. An icon that disappears under its own hover fill is the failure, and it only shows with the pointer actually over it.",
|
|
212
|
-
endResult: "Read-only; return the site to light mode afterwards.",
|
|
213
|
-
},
|
|
214
|
-
};
|