Skip to content

fix(datatrakWeb): conditionally called hook#6642

Merged
jaskfla merged 5 commits intodevfrom
conditional-hook
Mar 15, 2026
Merged

fix(datatrakWeb): conditionally called hook#6642
jaskfla merged 5 commits intodevfrom
conditional-hook

Conversation

@jaskfla
Copy link
Copy Markdown
Contributor

@jaskfla jaskfla commented Feb 19, 2026

No description provided.

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @jaskfla, 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 addresses a potential issue where a React hook was being called conditionally within the SelectItem component. By refactoring the component to extract the hook call to the top level, it ensures compliance with React's rules, preventing unexpected behavior or errors related to hook execution order.

Highlights

  • React Hooks Rule Fix: Refactored the SelectItem component to ensure the useTheme hook is called unconditionally, adhering to React's Rules of Hooks.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • packages/datatrak-web/src/components/FullScreenSelect.tsx
    • Refactored SelectItem component to unconditionally call useTheme hook.
    • Extracted theme color into a variable before conditional rendering.
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
Copy Markdown
Contributor

@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 correctly fixes a violation of the Rules of Hooks, where useTheme was being called conditionally. The change moves the hook call to the top level of the component, which resolves the issue. I've also added a suggestion to address an unused value prop in the same component, which appears to be a pre-existing issue.

)}
</StyledListItem>
);
const SelectItem = ({ label, value, ...listItemProps }: SelectItemProps) => {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The value prop is destructured but then not used within the component. This means the value passed to SelectItem is not being passed down to the underlying StyledListItem. To ensure the value is correctly applied, you can remove it from the destructuring here. It will then be included in listItemProps and spread onto StyledListItem.

Suggested change
const SelectItem = ({ label, value, ...listItemProps }: SelectItemProps) => {
const SelectItem = ({ label, ...listItemProps }: SelectItemProps) => {

Comment thread packages/datatrak-web/src/components/FullScreenSelect.tsx
Comment thread packages/datatrak-web/src/components/FullScreenSelect.tsx
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Comment thread packages/datatrak-web/src/components/FullScreenSelect.tsx
@jaskfla jaskfla merged commit de8c4ed into dev Mar 15, 2026
104 checks passed
@jaskfla jaskfla deleted the conditional-hook branch March 15, 2026 20:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants