Skip to content

fix: column dropdown visibility and z-index in dark theme - #27

Merged
yash-pouranik merged 4 commits into
geturbackend:mainfrom
Nitin-kumar-yadav1307:fix/dark-theme-dropdown
Feb 15, 2026
Merged

fix: column dropdown visibility and z-index in dark theme#27
yash-pouranik merged 4 commits into
geturbackend:mainfrom
Nitin-kumar-yadav1307:fix/dark-theme-dropdown

Conversation

@Nitin-kumar-yadav1307

@Nitin-kumar-yadav1307 Nitin-kumar-yadav1307 commented Feb 14, 2026

Copy link
Copy Markdown
Collaborator

What was fixed

  • Column visibility dropdown was partially hidden behind sticky table columns
  • Z-index stacking caused poor visibility in dark theme
  • Redundant label inside dropdown added visual clutter

What was changed

  • Adjusted z-index hierarchy for toolbar, table headers, and cells
  • Ensured dropdown renders above sticky columns
  • Removed unnecessary label for a cleaner UI

Screenshots

Before
Before

After
After

Scope

UI-only change, no logic or API impact

Summary by CodeRabbit

  • Style
    • Refined collection table layout, menu placement and overflow behavior for cleaner visuals.
    • Added dark-mode select dropdown styling for consistent theming and improved option appearance.
  • Bug Fixes
    • Resolved overlay/clipping issues so toolbar and column menu render reliably above content.
    • Adjusted sticky column layering so headers and cells display in the correct stacking order.

@vercel

vercel Bot commented Feb 14, 2026

Copy link
Copy Markdown
Contributor

@Nitin-kumar-yadav1307 is attempting to deploy a commit to the Yash Pouranik's projects Team on Vercel.

A member of the Team first needs to authorize it.

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @Nitin-kumar-yadav1307, 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 focuses on enhancing the user interface of the table component by resolving several visual glitches. The primary goal was to ensure the column visibility dropdown functions and appears correctly, especially when interacting with sticky table elements and in dark mode. This was achieved through precise adjustments to CSS z-index properties and minor layout tweaks, resulting in a more polished and intuitive user experience.

Highlights

  • Column Dropdown Visibility: Resolved the issue where the column visibility dropdown was partially hidden behind sticky table columns, ensuring it renders correctly above other elements.
  • Z-index Stacking Context: Addressed z-index stacking conflicts that caused poor visibility of UI elements, particularly in dark theme, by adjusting the z-index hierarchy across the toolbar, table headers, and cells.
  • UI Clutter Reduction: Removed a redundant label from within the column dropdown, contributing to a cleaner and less cluttered user interface.
Changelog
  • frontend/src/components/CollectionTable.jsx
    • Modified the table-wrapper div to allow overflow: 'visible' to prevent clipping of dropdowns.
    • Updated the table-toolbar styling by adding overflow: 'visible', position: 'relative', and setting its zIndex to 50 to establish a new stacking context.
    • Adjusted the zIndex of the fixed-backdrop for the column menu to 10 to place it correctly behind the menu but above other content.
    • Revised the column-menu styling, including its top positioning, width, maxHeight, and significantly increased its zIndex to 100000 to ensure it always appears on top.
    • Reduced the zIndex for sticky table headers from 20 to 5 to prevent them from overlapping the column menu.
    • Decreased the zIndex for sticky table cells from 5 to 2 to maintain proper layering relative to other table elements.
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.

@coderabbitai

coderabbitai Bot commented Feb 14, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

Update to UI layout and stacking: CollectionTable container and toolbar overflow/z-index changed; column menu repositioned and restyled (anchored right, top calc, reduced size, new z-index/backdrop); sticky header/body cell z-indexes lowered; minor JSX spacing edits. Added dark-mode select/option CSS. No API/data changes.

Changes

Cohort / File(s) Summary
Table layout & stacking
frontend/src/components/CollectionTable.jsx
Outer table container and toolbar overflow set to visible; toolbar positioned with z-index: 50; column menu reworked to anchor right with top: calc(100% + 6px), narrower width and reduced max-height, menu z-index: 1000, backdrop z-index: 10; sticky left/right header z-index lowered (20 → 5) and sticky left/right body cells lowered (5 → 2); minor JSX spacing/indentation adjustments.
Dark-mode select styles
frontend/src/index.css
Added dark-mode select styling: select background uses --color-bg-input with white text; option background set to #0f0f0f and white text; hover/appearance adjustments for options. Presentation-only CSS additions.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 I nudged the menus, slid them right,
I softened z-index into the night,
Overflow cleared paths to roam,
Dark selects now find a home,
A tiny hop — the layout's bright.

🚥 Pre-merge checks | ✅ 3 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main changes: fixing column dropdown visibility and z-index issues in dark theme, which matches the primary objectives of adjusting z-index hierarchy and ensuring proper dropdown rendering.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into main

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

No actionable comments were generated in the recent review. 🎉


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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

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.

Code Review

This pull request effectively resolves the visibility and z-index issues with the column dropdown menu in the dark theme. The changes systematically adjust the stacking context of the toolbar, table headers, and cells, ensuring the dropdown appears correctly above other elements. While the z-index values are now logically ordered, there's an opportunity to improve maintainability by avoiding an excessively high z-index value for the dropdown. Additionally, there's a potential regression regarding the styling of the dropdown menu that should be addressed.

Comment thread frontend/src/components/CollectionTable.jsx Outdated
width: '220px',
maxHeight: '320px',
overflowY: 'auto',
zIndex: 100000,

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

While this high z-index value fixes the stacking issue, using a large magic number like 100000 can make future CSS maintenance difficult and lead to "z-index wars". It's recommended to use a more constrained value that is still sufficient (e.g., 1000).

For better scalability, consider centralizing z-index values in CSS variables in index.css.

For example:

:root {
  --z-index-dropdown: 1000;
  --z-index-header: 50;
  /* ... etc */
}
Suggested change
zIndex: 100000,
zIndex: 1000,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@Nitin-kumar-yadav1307 try this value suggested by gemini

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

ok

@yash-pouranik
yash-pouranik self-requested a review February 15, 2026 06:30
@vercel

vercel Bot commented Feb 15, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ur-backend Ready Ready Preview, Comment Feb 15, 2026 1:56pm

@yash-pouranik

Copy link
Copy Markdown
Member

One more thing @Nitin-kumar-yadav1307 The issue #4 is not the column visibility taht u just fixed
actually that was the dropdown in create collection
please unlink it with #4
#4 was for -
image

@Nitin-kumar-yadav1307

Copy link
Copy Markdown
Collaborator Author

Updated the z-index to 1000 as suggested.

@Nitin-kumar-yadav1307

Copy link
Copy Markdown
Collaborator Author

@yash-pouranik do i fix #4 and merge along with it ?

@yash-pouranik

Copy link
Copy Markdown
Member

@yash-pouranik do i fix #4 and merge along with it ?

@Nitin-kumar-yadav1307 yes u can do that, i just be on the same branch and commit push.

@Nitin-kumar-yadav1307

Copy link
Copy Markdown
Collaborator Author

its fixed
image

@coderabbitai coderabbitai Bot left a comment

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.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@frontend/src/index.css`:
- Around line 513-516: Remove the dead CSS rule targeting "select option:hover"
because most browsers ignore :hover on <option> elements; locate the block
containing the selector "select option:hover" in frontend/src/index.css and
delete that entire rule (the comment "Optional: hover state" and its following
lines) to clean up unused styles.
🧹 Nitpick comments (1)
frontend/src/index.css (1)

502-511: Prefer existing CSS variables over hardcoded color values.

:root already defines --color-bg-input: #0F0F0F, `--color-text-main: `#EDEDED, etc. Using hardcoded hex values here bypasses the design system and will drift if the theme variables are ever updated.

♻️ Suggested diff
 select {
   background-color: var(--color-bg-input);
-  color: `#ffffff`;
+  color: var(--color-text-main);
 }
 
 select option {
-  background-color: `#0f0f0f`;   
-  color: `#ffffff`;              
+  background-color: var(--color-bg-input);
+  color: var(--color-text-main);
 }

Comment thread frontend/src/index.css Outdated

@yash-pouranik yash-pouranik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thank you for the PR @Nitin-kumar-yadav1307

@yash-pouranik
yash-pouranik merged commit b1d9e36 into geturbackend:main Feb 15, 2026
4 of 6 checks passed
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