diff --git a/desktop/src/components/market/MarketHome.test.tsx b/desktop/src/components/market/MarketHome.test.tsx
index 83862bcb..db4d0189 100644
--- a/desktop/src/components/market/MarketHome.test.tsx
+++ b/desktop/src/components/market/MarketHome.test.tsx
@@ -278,6 +278,29 @@ describe('MarketHome infinite scroll', () => {
})
})
+it('lays the controls and the cards on one page surface instead of a band over a tinted canvas', () => {
+ // The catalog redesign put the title, disclaimer, chips and search on a white
+ // band ruled off from a tinted canvas holding the cards. The extensions frame,
+ // the plugins tab and the skill detail are all the plain page surface, so the
+ // seam read as two pages glued together and the canvas flashed on every
+ // home ↔ detail switch.
+ render()
+ const scroll = screen.getByTestId('market-scroll')
+ expect(scroll.className).toContain('bg-[var(--color-surface)]')
+
+ const anchors = [
+ screen.getByRole('heading', { name: 'Skills Market' }),
+ screen.getByTestId('market-result-summary'),
+ screen.getByTestId('market-grid'),
+ ]
+ for (const anchor of anchors) {
+ for (let node = anchor.parentElement; node && node !== scroll; node = node.parentElement) {
+ expect(node.className).not.toMatch(/\bbg-\[/)
+ expect(node.className).not.toMatch(/\bborder-b\b/)
+ }
+ }
+})
+
it('keeps featured skill packages inside the existing scroll surface alongside search and installed skills', () => {
render(} />)
expect(screen.getByTestId('market-scroll')).toContainElement(screen.getByTestId('curated-skill-packages'))
diff --git a/desktop/src/components/market/MarketHome.tsx b/desktop/src/components/market/MarketHome.tsx
index 3e9c8932..bf9d7456 100644
--- a/desktop/src/components/market/MarketHome.tsx
+++ b/desktop/src/components/market/MarketHome.tsx
@@ -143,13 +143,13 @@ export function MarketHome({ onRequestInstall, featured }: { onRequestInstall: (
- {/* The top band holds everything that decides *what* is listed — title,
- disclaimer, categories, search and filters — on the page surface; the
- cards sit on the tinted canvas below it. */}
-
-
+ {/* One page surface from the title to the last card, like the plugins tab
+ and the skill detail. The controls and the cards are told apart by
+ spacing and the cards' own border, not by a band of a second color. */}
+
+
@@ -234,10 +234,8 @@ export function MarketHome({ onRequestInstall, featured }: { onRequestInstall: (
-
-