Skip to content

Conversation

yashisrani
Copy link
Contributor

  • This PR enhances the "Why Kmesh" section by introducing visually meaningful, theme-aware icons for each feature card to improve visual scanning, user engagement, and brand consistency.

Why this matters:

  • Icons provide instant visual recognition of each benefit, reducing cognitive load.
  • Consistent use of brand color reinforces visual identity across themes.
  • Modern, clean design improves user experience and marketing appeal.

Before:

Screenshot 2025-10-08 at 12 35 52 AM

After:

Screenshot 2025-10-08 at 12 36 24 AM Screenshot 2025-10-08 at 12 36 45 AM

@kmesh-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign hzxuzhonghu for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Copy link

netlify bot commented Oct 7, 2025

Deploy Preview for kmesh-net failed.

Name Link
🔨 Latest commit ff14377
🔍 Latest deploy log https://app.netlify.com/projects/kmesh-net/deploys/68e5e456f1b120000835ce12

Copy link

Summary of Changes

Hello @yashisrani, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the "Why Kmesh" section by integrating thematic sky-blue icons into the feature cards. This change aims to improve the visual appeal and user experience by providing instant visual recognition of benefits, reducing cognitive load, and reinforcing brand identity through consistent design. The addition of these modern, clean icons contributes to a more engaging and aesthetically pleasing interface.

Highlights

  • New Feature Icons: Introduced visually meaningful, sky-blue icons to each feature card in the "Why Kmesh" section to enhance visual scanning, user engagement, and brand consistency.
  • Icon Library Integration: Integrated the @iconify/react library to easily incorporate a wide range of vector icons into the application, improving the visual language of the site.
  • UI/UX Enhancements: Updated the styling of feature cards to accommodate the new icons, including new flexbox properties and hover effects for the icons, improving the overall user experience and aesthetic appeal.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces icons to the feature cards in the 'Why Kmesh' section, which is a great visual enhancement. My review includes a few suggestions to improve maintainability and adhere to React and SCSS best practices. Specifically, I've recommended centralizing the icon styling in SCSS, using a more stable key for list rendering, and utilizing SCSS variables for colors.

</Translate>
</>
),
icon: <Icon icon="mdi:connection" color={SKY_BLUE} width="24" height="24" />,

Choose a reason for hiding this comment

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

medium

The color, width, and height props on the Icon component are redundant and potentially misleading, as these styles are already defined (and in the case of size, overridden) in the corresponding SCSS file (src/components/Why/index.scss). The SCSS sets the width and height to 30px (conflicting with the 24 here) and the fill color. To improve maintainability and have a single source of truth for styling, it's best to remove these props and let CSS handle the presentation entirely. This change should be applied to all <Icon> components in this file (lines 32, 41, 52, 65, 70).

Suggested change
icon: <Icon icon="mdi:connection" color={SKY_BLUE} width="24" height="24" />,
icon: <Icon icon="mdi:connection" />,

</h1>
<div className="reasonBoxContainer">
{reasons.map((item, index) => (
<div key={index} className="reasonBox">

Choose a reason for hiding this comment

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

medium

Using the array index as a key is not recommended in React, as it can lead to performance issues and bugs with dynamic lists. Although this list is static, it's a good practice to use a unique and stable identifier from the data itself. The text content of the title is a good candidate for a key.

Suggested change
<div key={index} className="reasonBox">
<div key={item.title.props.children} className="reasonBox">

Comment on lines +23 to 43
.reasonIcon {
margin-bottom: 12px;
display: flex;
justify-content: center;
align-items: center;
width: 60px;
height: 60px;
background: rgba(79, 195, 247, 0.1);
border-radius: 50%;
transition: transform 0.2s ease;

svg {
width: 30px;
height: 30px;
fill: #4FC3F7;
}

&:hover {
transform: scale(1.1);
}
}

Choose a reason for hiding this comment

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

medium

The color #4FC3F7 (and its RGB equivalent) is used in multiple places. To improve maintainability and avoid magic values, it's a good practice to define it as a SCSS variable at the top of this class scope and reuse it. This makes it easier to update the theme color in the future.

.reasonIcon {
  $sky-blue: #4FC3F7;

  margin-bottom: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  background: rgba($sky-blue, 0.1);
  border-radius: 50%;
  transition: transform 0.2s ease;

  svg {
    width: 30px;
    height: 30px;
    fill: $sky-blue;
  }

  &:hover {
    transform: scale(1.1);
  }
}

@kmesh-bot kmesh-bot added size/XXL and removed size/M labels Oct 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants