Skip to content

Replace Tailwind v4 arbitrary values with canonical class names#1168

Open
corypride wants to merge 2 commits into
mainfrom
cpride/canonical_classes_fixes
Open

Replace Tailwind v4 arbitrary values with canonical class names#1168
corypride wants to merge 2 commits into
mainfrom
cpride/canonical_classes_fixes

Conversation

@corypride

Copy link
Copy Markdown
Contributor

Why

Since adopting Tailwind v4 the project's default spacing scale now includes
built-in equivalents for many arbitrary values previously required. The VS Code
Tailwind CSS IntelliSense extension (suggestCanonicalClasses) flags every
occurrence, surfacing noise in every PR that touches these files. This sweeps
them up app-wide in one dedicated pass.

What changed

Every replacement is a pure alias — compiled CSS output is bit-for-bit identical.
w-[160px] and w-40 both emit width: 10rem. No visual change.

Conversions applied:

  • w-[Npx] / h-[Npx] / min-w-[Npx] / max-w-[Npx] / max-h-[Npx] / min-h-[Npx] → canonical scale class (where N÷4 is an integer)
  • z-[N]z-N
  • flex-shrink-0shrink-0 (Tailwind v4 shorthand)

49 replacements across 29 files.

Out of scope (intentionally kept as arbitrary)

min-w-[70px], min-w-[130px], min-w-[250px], max-w-[250px], rounded-[4px]
and all calc(...), viewport-unit, and hex-color values — no canonical equivalent exists.

@corypride corypride requested a review from a team as a code owner June 9, 2026 21:43
@corypride corypride requested review from calisio and removed request for a team June 9, 2026 21:43
@corypride corypride requested review from carddev81 and removed request for calisio June 9, 2026 21:44
@coderabbitai

coderabbitai Bot commented Jun 9, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@corypride, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 32 minutes and 5 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 19d183e1-d7c7-48bb-9658-2867cb30552e

📥 Commits

Reviewing files that changed from the base of the PR and between 713773d and b485793.

📒 Files selected for processing (1)
  • frontend/src/styles/globals.css
📝 Walkthrough

Walkthrough

This pull request systematically refactors Tailwind utility classes across 27 component and page files, replacing arbitrary bracketed pixel values with named preset classes and normalizing deprecated utilities. No component logic, state, or data handling is altered.

Changes

Tailwind Utility Class Standardization

Layer / File(s) Summary
Global CSS utilities and base UI component styling
frontend/src/styles/globals.css, frontend/src/components/ui/drawer.tsx, frontend/src/components/ui/navigation-menu.tsx, frontend/src/components/ui/command.tsx, frontend/src/components/knowledge-center/OpenContentItemAccordion.tsx
Global CSS utility classes (.filter-button, .lead-icon, .lead-icon-sm) updated to preset Tailwind classes; foundational UI components (drawer indicator, navigation menu z-index, command list max-height, accordion max-height) standardized with preset sizing and normalized z-index classes.
Sheet and card component sizing
frontend/src/components/schedule/SessionDetailSheet.tsx, frontend/src/components/student/ActivityHistoryCard.tsx
SessionDetailSheet and ActivityHistoryCard width and min-width classes replaced with preset utility equivalents for consistent responsive sizing.
Dashboard, Classes, and Programs page layouts
frontend/src/pages/Dashboard.tsx, frontend/src/pages/ClassesPage.tsx, frontend/src/pages/ProgramsPage.tsx
Dashboard column/block min-widths, Classes page filter controls and modal scroll containers, and Programs page filter triggers and popovers updated from arbitrary pixel widths to preset utility classes.
Class detail page tabs, modals, and session rendering
frontend/src/pages/class-detail/RosterTab.tsx, frontend/src/pages/class-detail/ScheduleTab.tsx, frontend/src/pages/class-detail/AuditTab.tsx, frontend/src/pages/class-detail/EnrollmentHistoryTab.tsx, frontend/src/pages/class-detail/SupportTab.tsx, frontend/src/pages/class-detail/EditClassModal.tsx, frontend/src/pages/class-detail/TakeAttendanceModal.tsx, frontend/src/pages/class-detail/index.tsx
RosterTab, ScheduleTab, AuditTab, EnrollmentHistoryTab, SupportTab tabs and their associated modals updated with preset width/min-width/max-height utilities and normalized z-index classes; RosterTab also refactored to memoize enrolledRows computation.
Program detail and overview page layouts
frontend/src/pages/program-detail/EditProgramDialog.tsx, frontend/src/pages/program-detail/ClassesTab.tsx, frontend/src/pages/programs/ClassEvents.tsx, frontend/src/pages/programs/ProgramOverviewFacilityAdmin.tsx
Program modals, class tabs, event calendars, and facility admin overview sections updated from arbitrary width/min-width to preset utility classes.
Attendance and event tables
frontend/src/pages/admin/resident-profile/DetailedAttendanceDialog.tsx, frontend/src/pages/event-attendance/AttendanceRow.tsx, frontend/src/pages/event-attendance/index.tsx
Attendance dialog table headers, event attendance row columns, and textarea elements standardized with preset min-width and min-height utility classes.
Authentication page styling
frontend/src/pages/auth/Login.tsx
Large-screen decorative circle backgrounds updated from explicit pixel dimensions to preset width/height utility classes while preserving inline color styling.
🚥 Pre-merge checks | ✅ 4 | ❌ 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 (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main objective: replacing Tailwind v4 arbitrary values with canonical class names, which is exactly what the PR accomplishes across 29 files.
Description check ✅ Passed The description is thorough and directly related to the changeset, explaining the motivation, scope, conversion rules applied, and intentional out-of-scope items with clear examples.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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


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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@frontend/src/pages/auth/Login.tsx`:
- Line 15: The PR wording around "canonical preset" for w-130/h-130/w-105/h-105
is misleading; update the text in the Login.tsx component where the className
contains "w-130 h-130 ... w-105 h-105" to clarify that these utilities are
dynamically generated in Tailwind v4 (not part of a fixed canonical spacing
preset) and that IntelliSense suggestions come from generated or configured
utilities rather than a single canonical preset—rephrase the comment/PR
description to state this distinction and, if helpful, point readers to their
Tailwind config or IntelliSense docs for how those utilities are produced.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 312fcd30-9e9a-4e29-963d-01b24372824a

📥 Commits

Reviewing files that changed from the base of the PR and between 3fa1a02 and ccc0904.

📒 Files selected for processing (29)
  • frontend/src/components/charts/OperationalInsightsCharts.tsx
  • frontend/src/components/knowledge-center/OpenContentItemAccordion.tsx
  • frontend/src/components/schedule/SessionDetailSheet.tsx
  • frontend/src/components/student/ActivityHistoryCard.tsx
  • frontend/src/components/ui/command.tsx
  • frontend/src/components/ui/drawer.tsx
  • frontend/src/components/ui/navigation-menu.tsx
  • frontend/src/pages/ClassesPage.tsx
  • frontend/src/pages/Dashboard.tsx
  • frontend/src/pages/ProgramsPage.tsx
  • frontend/src/pages/Schedule.tsx
  • frontend/src/pages/admin/resident-profile/DetailedAttendanceDialog.tsx
  • frontend/src/pages/auth/Login.tsx
  • frontend/src/pages/class-detail/AuditTab.tsx
  • frontend/src/pages/class-detail/EditClassModal.tsx
  • frontend/src/pages/class-detail/EnrollmentHistoryTab.tsx
  • frontend/src/pages/class-detail/RosterTab.tsx
  • frontend/src/pages/class-detail/ScheduleTab.tsx
  • frontend/src/pages/class-detail/SessionRow.tsx
  • frontend/src/pages/class-detail/SupportTab.tsx
  • frontend/src/pages/class-detail/TakeAttendanceModal.tsx
  • frontend/src/pages/class-detail/index.tsx
  • frontend/src/pages/event-attendance/AttendanceRow.tsx
  • frontend/src/pages/event-attendance/index.tsx
  • frontend/src/pages/program-detail/ClassesTab.tsx
  • frontend/src/pages/program-detail/EditProgramDialog.tsx
  • frontend/src/pages/programs/ClassEvents.tsx
  • frontend/src/pages/programs/ProgramOverviewFacilityAdmin.tsx
  • frontend/src/styles/globals.css

<div className="hidden lg:flex lg:w-[55%] flex-col justify-between bg-[#2C3622] text-white p-14 relative overflow-hidden">
<div
className="absolute top-0 left-0 w-[520px] h-[520px] rounded-full opacity-[0.07] -translate-x-1/3 -translate-y-1/3 pointer-events-none"
className="absolute top-0 left-0 w-130 h-130 rounded-full opacity-[0.07] -translate-x-1/3 -translate-y-1/3 pointer-events-none"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🌐 Web query:

Does Tailwind CSS v4 default spacing scale include w-130, w-105, h-130, and h-105 as canonical preset classes, or are these still considered arbitrary values?

💡 Result:

In Tailwind CSS v4, classes such as w-105, w-130, h-105, and h-130 are not part of a predefined, "canonical" list of hardcoded preset classes [1][2]. Instead, Tailwind v4 utilizes a dynamic, generative system for spacing-based utilities [2][3]. In this system, utility classes like w-* and h-* are derived from a single --spacing theme variable (which defaults to 0.25rem or 4px) [2][3]. Because the engine calculates the values mathematically by multiplying this unit by the number provided in the class name, virtually any whole or decimal number can be used dynamically [2][3]. Consequently, while these classes will function as expected in your project, they are effectively "arbitrary" in the sense that they are generated on-demand by the compiler rather than being restricted to a fixed set of curated, canonical presets [2][3]. While the Tailwind CLI and IntelliSense may provide suggestions for a standard range (typically up to *-96) to encourage design consistency, using a value like w-130 is a valid, supported part of the v4 architecture and does not require square-bracket arbitrary value syntax [2][4][3].

Citations:


Clarify PR “canonical” wording for w-130/h-130/w-105/h-105
These classes are valid in Tailwind v4 without bracket arbitrary syntax because w-*/h-* utilities are generated dynamically, but they aren’t part of a fixed predefined “canonical preset” spacing list—so PR wording about IntelliSense suggesting canonical presets is misleading.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@frontend/src/pages/auth/Login.tsx` at line 15, The PR wording around
"canonical preset" for w-130/h-130/w-105/h-105 is misleading; update the text in
the Login.tsx component where the className contains "w-130 h-130 ... w-105
h-105" to clarify that these utilities are dynamically generated in Tailwind v4
(not part of a fixed canonical spacing preset) and that IntelliSense suggestions
come from generated or configured utilities rather than a single canonical
preset—rephrase the comment/PR description to state this distinction and, if
helpful, point readers to their Tailwind config or IntelliSense docs for how
those utilities are produced.

@corypride corypride force-pushed the cpride/canonical_classes_fixes branch from 6a56770 to 713773d Compare June 9, 2026 23:52

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@frontend/src/components/ui/navigation-menu.tsx`:
- Line 148: The Tailwind utility "z-1" used in the class string inside the
NavigationMenu component is not in Tailwind v4's default scale; replace "z-1"
with the arbitrary value syntax "z-[1]" (or alternatively add a custom utility
for z-1) in the classNames string ('data-[state=visible]:animate-in ... top-full
z-1 flex ...') so the z-index is reliably generated.

In `@frontend/src/styles/globals.css`:
- Around line 467-478: The change split the selectors and accidentally set
.unlocked-calendar .rbc-agenda-view to overflow: auto, causing a functional
behavior change; revert this by restoring the original combined selector or
explicitly set overflow: hidden for both .unlocked-calendar .rbc-time-view and
.unlocked-calendar .rbc-agenda-view so they match the prior behavior (border:
1px solid `#e5e7eb`; border-radius: 8px; overflow: hidden) and remove the
unrelated overflow: auto modification.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 36122f1f-9d74-408e-85f8-4ade6c1ddfed

📥 Commits

Reviewing files that changed from the base of the PR and between ccc0904 and 713773d.

📒 Files selected for processing (26)
  • frontend/src/components/knowledge-center/OpenContentItemAccordion.tsx
  • frontend/src/components/schedule/SessionDetailSheet.tsx
  • frontend/src/components/student/ActivityHistoryCard.tsx
  • frontend/src/components/ui/command.tsx
  • frontend/src/components/ui/drawer.tsx
  • frontend/src/components/ui/navigation-menu.tsx
  • frontend/src/pages/ClassesPage.tsx
  • frontend/src/pages/Dashboard.tsx
  • frontend/src/pages/ProgramsPage.tsx
  • frontend/src/pages/admin/resident-profile/DetailedAttendanceDialog.tsx
  • frontend/src/pages/auth/Login.tsx
  • frontend/src/pages/class-detail/AuditTab.tsx
  • frontend/src/pages/class-detail/EditClassModal.tsx
  • frontend/src/pages/class-detail/EnrollmentHistoryTab.tsx
  • frontend/src/pages/class-detail/RosterTab.tsx
  • frontend/src/pages/class-detail/ScheduleTab.tsx
  • frontend/src/pages/class-detail/SupportTab.tsx
  • frontend/src/pages/class-detail/TakeAttendanceModal.tsx
  • frontend/src/pages/class-detail/index.tsx
  • frontend/src/pages/event-attendance/AttendanceRow.tsx
  • frontend/src/pages/event-attendance/index.tsx
  • frontend/src/pages/program-detail/ClassesTab.tsx
  • frontend/src/pages/program-detail/EditProgramDialog.tsx
  • frontend/src/pages/programs/ClassEvents.tsx
  • frontend/src/pages/programs/ProgramOverviewFacilityAdmin.tsx
  • frontend/src/styles/globals.css

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Caution

Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@frontend/src/components/ui/navigation-menu.tsx`:
- Line 148: The Tailwind utility "z-1" used in the class string inside the
NavigationMenu component is not in Tailwind v4's default scale; replace "z-1"
with the arbitrary value syntax "z-[1]" (or alternatively add a custom utility
for z-1) in the classNames string ('data-[state=visible]:animate-in ... top-full
z-1 flex ...') so the z-index is reliably generated.

In `@frontend/src/styles/globals.css`:
- Around line 467-478: The change split the selectors and accidentally set
.unlocked-calendar .rbc-agenda-view to overflow: auto, causing a functional
behavior change; revert this by restoring the original combined selector or
explicitly set overflow: hidden for both .unlocked-calendar .rbc-time-view and
.unlocked-calendar .rbc-agenda-view so they match the prior behavior (border:
1px solid `#e5e7eb`; border-radius: 8px; overflow: hidden) and remove the
unrelated overflow: auto modification.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 36122f1f-9d74-408e-85f8-4ade6c1ddfed

📥 Commits

Reviewing files that changed from the base of the PR and between ccc0904 and 713773d.

📒 Files selected for processing (26)
  • frontend/src/components/knowledge-center/OpenContentItemAccordion.tsx
  • frontend/src/components/schedule/SessionDetailSheet.tsx
  • frontend/src/components/student/ActivityHistoryCard.tsx
  • frontend/src/components/ui/command.tsx
  • frontend/src/components/ui/drawer.tsx
  • frontend/src/components/ui/navigation-menu.tsx
  • frontend/src/pages/ClassesPage.tsx
  • frontend/src/pages/Dashboard.tsx
  • frontend/src/pages/ProgramsPage.tsx
  • frontend/src/pages/admin/resident-profile/DetailedAttendanceDialog.tsx
  • frontend/src/pages/auth/Login.tsx
  • frontend/src/pages/class-detail/AuditTab.tsx
  • frontend/src/pages/class-detail/EditClassModal.tsx
  • frontend/src/pages/class-detail/EnrollmentHistoryTab.tsx
  • frontend/src/pages/class-detail/RosterTab.tsx
  • frontend/src/pages/class-detail/ScheduleTab.tsx
  • frontend/src/pages/class-detail/SupportTab.tsx
  • frontend/src/pages/class-detail/TakeAttendanceModal.tsx
  • frontend/src/pages/class-detail/index.tsx
  • frontend/src/pages/event-attendance/AttendanceRow.tsx
  • frontend/src/pages/event-attendance/index.tsx
  • frontend/src/pages/program-detail/ClassesTab.tsx
  • frontend/src/pages/program-detail/EditProgramDialog.tsx
  • frontend/src/pages/programs/ClassEvents.tsx
  • frontend/src/pages/programs/ProgramOverviewFacilityAdmin.tsx
  • frontend/src/styles/globals.css
🛑 Comments failed to post (2)
frontend/src/components/ui/navigation-menu.tsx (1)

148-148: ⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Search for other z-1 usage and check Tailwind config

# Check for z-1 usage in the codebase
echo "=== Searching for z-1 class usage ==="
rg -n '\bz-1\b' --type=ts --type=tsx --type=jsx -C2

# Check for z-index theme configuration
echo -e "\n=== Checking Tailwind config for z-index customization ==="
fd -e js -e ts -e cjs -e mjs 'tailwind.config' --exec cat {}

# Check if Tailwind v4 CSS `@theme` defines z-index values
echo -e "\n=== Checking for `@theme` z-index definitions ==="
rg -n '`@theme`.*z-index|--z-' --type=css

Repository: UnlockedLabs/UnlockEdv2

Length of output: 260


🌐 Web query:

Does Tailwind CSS v4 support z-1 utility class or only the default z-index scale (0, 10, 20, 30, 40, 50)?

💡 Result:

Tailwind CSS v4 does not include z-1 as a default utility class [1][2]. Instead, Tailwind v4 handles z-index utilities dynamically, allowing you to use arbitrary values directly in your HTML using square bracket syntax [1][3]. The default built-in z-index scale remains consistent with previous versions (0, 10, 20, 30, 40, 50) [1][2]. If you need a z-index of 1, you can use the arbitrary value syntax:

...
Because Tailwind v4 processes these utilities dynamically, you do not need to pre-define them in your configuration to use them [3]. If you frequently require a specific value like z-1 and prefer not to use arbitrary syntax in your HTML, you can define a custom utility class in your CSS using the @utility directive [3]: @utility z-1 { z-index: 1; }

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "=== Search for z-1 usage in source ==="
# Use file globs instead of invalid rg --type=tsx
rg -n '\bz-1\b' \
  -g'*.ts' -g'*.tsx' -g'*.js' -g'*.jsx' \
  -S . || true

echo
echo "=== Find Tailwind config files ==="
configs=$(fd -e js -e ts -e cjs -e mjs 'tailwind.config' . || true)
if [ -z "${configs}" ]; then
  echo "No tailwind.config.* found"
else
  echo "$configs"
  echo
  for f in $configs; do
    echo "---- ${f} (head) ----"
    sed -n '1,200p' "$f"
    echo "---- ${f} (tail) ----"
    sed -n '1,120p' "$f" | tail -n 120
  done
fi

echo
echo "=== Search for `@theme/`@utility z-index definitions in CSS ==="
# Look for tailwind v4 directives that define z-index
rg -n '`@theme`[^{]*\{|\bz-index\b|`@utility`' \
  -g'*.css' -g'*.scss' -g'*.pcss' \
  -S . || true

# Specifically look for z-index declarations in CSS
rg -n '(`@theme`[^{]*\{[\s\S]*?z-index)|(z-index\s*:\s*1\b)|(`@utility`\s+z-1)' \
  -g'*.css' -g'*.pcss' \
  -S . || true

Repository: UnlockedLabs/UnlockEdv2

Length of output: 544


🏁 Script executed:

#!/bin/bash
set -euo pipefail

file="frontend/src/styles/globals.css"
echo "=== globals.css: context around `@theme` inline ==="
nl -ba "$file" | sed -n '70,140p'

echo
echo "=== globals.css: search for z-index / z-1 related definitions ==="
rg -n 'z-index|z-1|`@utility`|--z-|z-index:' "$file" || true

Repository: UnlockedLabs/UnlockEdv2

Length of output: 178


🏁 Script executed:

#!/bin/bash
set -euo pipefail

file="frontend/src/styles/globals.css"

echo "=== globals.css: context around line 84 (`@theme` inline) ==="
cat -n "$file" | sed -n '70,140p'

echo
echo "=== globals.css: search for z-index / z-1 related definitions ==="
rg -n 'z-index|z-1|`@utility`\s+z-1|`@theme`|--z-' "$file" || true

Repository: UnlockedLabs/UnlockEdv2

Length of output: 3282


Replace z-1 with z-[1] (or define a z-1 utility) in Tailwind v4.
In frontend/src/components/ui/navigation-menu.tsx (line 148), z-1 is used, but Tailwind v4 doesn’t include z-1 in the default z-index scale (only z-0, z-10, … z-50, z-auto). The repo has no tailwind.config.*, and frontend/src/styles/globals.css’s @theme inline defines only color tokens (no z-index customizations), so z-1 won’t reliably generate CSS. Use z-[1] or add @utility z-1 { z-index: 1; }.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@frontend/src/components/ui/navigation-menu.tsx` at line 148, The Tailwind
utility "z-1" used in the class string inside the NavigationMenu component is
not in Tailwind v4's default scale; replace "z-1" with the arbitrary value
syntax "z-[1]" (or alternatively add a custom utility for z-1) in the classNames
string ('data-[state=visible]:animate-in ... top-full z-1 flex ...') so the
z-index is reliably generated.
frontend/src/styles/globals.css (1)

467-478: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Unrelated functional change in calendar styles.

The split of .rbc-time-view and .rbc-agenda-view selectors introduces a functional change: .rbc-agenda-view now has overflow: auto instead of the previous overflow: hidden. This is not a Tailwind class name standardization and appears to be an unrelated CSS modification that shouldn't be included in this PR focused on replacing arbitrary values with canonical class names.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@frontend/src/styles/globals.css` around lines 467 - 478, The change split the
selectors and accidentally set .unlocked-calendar .rbc-agenda-view to overflow:
auto, causing a functional behavior change; revert this by restoring the
original combined selector or explicitly set overflow: hidden for both
.unlocked-calendar .rbc-time-view and .unlocked-calendar .rbc-agenda-view so
they match the prior behavior (border: 1px solid `#e5e7eb`; border-radius: 8px;
overflow: hidden) and remove the unrelated overflow: auto modification.

@carddev81 carddev81 requested review from CK-7vn and removed request for carddev81 June 11, 2026 00:19
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.

1 participant