Skip to content

Conversation

@harsh-akamai
Copy link
Contributor

Description 📝

Highlight the Pull Request's context and intentions.

Changes 🔄

List any change(s) relevant to the reviewer.

  • ...
  • ...

Scope 🚢

Upon production release, changes in this PR will be visible to:

  • All customers
  • Some customers (e.g. in Beta or Limited Availability)
  • No customers / Not applicable

Target release date 🗓️

Please specify a release date (and environment, if applicable) to guarantee timely review of this PR. If exact date is not known, please approximate and update it as needed.

Preview 📷

Include a screenshot <img src="" /> or video <video src="" /> of the change.

🔒 Use the Mask Sensitive Data setting for security.

💡 For changes requiring multiple steps to validate, prefer a video for clarity.

Before After
📷 📷

How to test 🧪

Prerequisites

(How to setup test environment)

  • ...
  • ...

Reproduction steps

(How to reproduce the issue, if applicable)

  • ...
  • ...

Verification steps

(How to verify changes)

  • ...
  • ...
Author Checklists

As an Author, to speed up the review process, I considered 🤔

👀 Doing a self review
❔ Our contribution guidelines
🤏 Splitting feature into small PRs
➕ Adding a changeset
🧪 Providing/improving test coverage
🔐 Removing all sensitive information from the code and PR description
🚩 Using a feature flag to protect the release
👣 Providing comprehensive reproduction steps
📑 Providing or updating our documentation
🕛 Scheduling a pair reviewing session
📱 Providing mobile support
♿ Providing accessibility support


  • I have read and considered all applicable items listed above.

As an Author, before moving this PR from Draft to Open, I confirmed ✅

  • All tests and CI checks are passing
  • TypeScript compilation succeeded without errors
  • Code passes all linting rules

placeholderData: keepPreviousData,
});

export const useAllMarketplacePartnersQuery = (
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we update this name to useAllMarketplacePartnersMapQuery for more clarity?

Comment on lines 174 to 176
return {
partnersById,
};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
return {
partnersById,
};
return partnersById;

Comment on lines 27 to 37
export interface ProductCardData {
data: {
companyName: string;
description: string;
logoUrl: string;
productName: string;
productTag?: string;
type: string;
};
id: number;
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
export interface ProductCardData {
data: {
companyName: string;
description: string;
logoUrl: string;
productName: string;
productTag?: string;
type: string;
};
id: number;
}
export interface ProductCardItem {
data: ProductCardData;
id: number;
}

Let's reuse the ProductCardData type defined in ProductSelectionCard to avoid duplicating types and names

Comment on lines +76 to +82
const products = React.useMemo(
() =>
productsData?.pages.flatMap((page) => page.data) ??
filteredProducts ??
[],
[productsData, filteredProducts]
);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can simplify this since filteredProducts isn't needed here:

  const products = React.useMemo(
    () => productsData?.pages.flatMap((page) => page.data) ?? [],
    [productsData]
  );

isLoading,
} = useAllMarketplaceCategoriesQuery({}, {}, true);

const filteredProducts = marketplaceProductFactory.buildList(5);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
const filteredProducts = marketplaceProductFactory.buildList(5);


const filteredProducts = marketplaceProductFactory.buildList(5);

const categories = categoriesData || marketplaceCategoryFactory.buildList(5);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
const categories = categoriesData || marketplaceCategoryFactory.buildList(5);

Let's avoid using factories here


export const MarketplaceLanding = () => {
const {
data: categoriesData,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
data: categoriesData,
data: categories,

<CategorySection
key={category.id}
{...category}
filteredProducts={filteredProducts}
Copy link
Contributor

@pmakode-akamai pmakode-akamai Jan 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
filteredProducts={filteredProducts}
filters={globalFilters}

reason mentioned here: #13267 (comment)

category.products_count > 0 && (
<CategorySection
key={category.id}
{...category}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{...category}
category={category}

@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🔺 1 failing test on test run #2 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
1 Failing854 Passing11 Skipped43m 22s

Details

Failing Tests
SpecTest
clone-linode.spec.tsCloud Manager Cypress Tests→clone linode » can clone a Linode from Linode details page

Troubleshooting

Use this command to re-run the failing tests:

pnpm cy:run -s "cypress/e2e/core/linodes/clone-linode.spec.ts"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Review

Development

Successfully merging this pull request may close these issues.

3 participants