From a02965de4a53fd532529bd2f8584d62643f4adaa Mon Sep 17 00:00:00 2001 From: FragginWagon Date: Thu, 10 Sep 2026 07:48:42 -0400 Subject: [PATCH] fix: improve public detail keyboard access and reflow --- apps/web/.storybook/test-runner.js | 6 ++- .../atoms/ConditionBadge.stories.js | 3 +- .../src/components/atoms/ConditionBadge.vue | 4 +- .../components/molecules/ImageGallery.scss | 2 +- .../molecules/ImageGallery.stories.js | 8 ++++ .../src/components/molecules/ImageGallery.vue | 7 ++-- .../organisms/CollectibleDetail.stories.js | 42 ++++++++++++++++++- .../organisms/CollectibleDetail.vue | 7 +++- apps/web/src/pages/CatalogPage.stories.js | 28 ++++++++++++- .../src/pages/ListingDetailPage.stories.js | 22 ++++++++++ apps/web/src/pages/ListingDetailPage.vue | 4 +- .../src/pages/ProductDetailPage.stories.js | 22 ++++++++++ apps/web/src/pages/ProductDetailPage.vue | 4 +- docs/ACCESSIBILITY.md | 41 ++++++++++++++++++ docs/IMPLEMENTATION-STATUS.md | 11 ++++- 15 files changed, 193 insertions(+), 18 deletions(-) diff --git a/apps/web/.storybook/test-runner.js b/apps/web/.storybook/test-runner.js index 7572f85..0cb4219 100644 --- a/apps/web/.storybook/test-runner.js +++ b/apps/web/.storybook/test-runner.js @@ -3,8 +3,10 @@ // headless iframe size that @storybook/test-runner navigates to directly. export default { async preVisit(page, context) { - if (context.id?.startsWith('pages-catalogpage--mobile')) { - await page.setViewportSize({ width: 375, height: 900 }); + if (context.id?.includes('--enlarged')) { + await page.setViewportSize({ width: 640, height: 900 }); + } else if (context.id?.includes('--mobile')) { + await page.setViewportSize({ width: 320, height: 900 }); } }, }; diff --git a/apps/web/src/components/atoms/ConditionBadge.stories.js b/apps/web/src/components/atoms/ConditionBadge.stories.js index 2754c72..030726e 100644 --- a/apps/web/src/components/atoms/ConditionBadge.stories.js +++ b/apps/web/src/components/atoms/ConditionBadge.stories.js @@ -2,4 +2,5 @@ import ConditionBadge from './ConditionBadge.vue'; export default { title: 'Atoms/ConditionBadge', component: ConditionBadge }; export const Unselected = { args: { label: 'Near Mint', selected: false } }; -export const Selected = { args: { label: 'Near Mint', selected: true } }; \ No newline at end of file +export const Selected = { args: { label: 'Near Mint', selected: true } }; +export const ReadOnly = { args: { label: 'Near Mint', interactive: false } }; diff --git a/apps/web/src/components/atoms/ConditionBadge.vue b/apps/web/src/components/atoms/ConditionBadge.vue index 94ec55c..4558789 100644 --- a/apps/web/src/components/atoms/ConditionBadge.vue +++ b/apps/web/src/components/atoms/ConditionBadge.vue @@ -1,15 +1,17 @@