Skip to content

Conversation

@sean-zlai
Copy link
Contributor

@sean-zlai sean-zlai commented Mar 13, 2025

Summary

This PR is mostly a continuation of the initial Tailwind 4 upgrade with some additional best practices and simplification applied and has the goal of introducing minimal visual changes.

With that said, there are some minor visual changes due to the removal of all the custom font sizes. This removal helps to simplify the config and usage (Tailwind already provides many sizes and weights by default). We can still refine the sizing if desired with 1-off custom sizes (ex. text-[13px]) but the simplification improved readability. I did manually refine a few sizes already to tighten up the design.

  • Switch from @tailwindcss/postcss to @tailwindcss/vite (recommended)
  • Migrate config from legacy tailwind.config.js (js-based) to app.css (css-first with directives)
    • Cleanup / simplify
      • Remove unused @tailwindcss/typography plugin
      • Remove unused container config (no longer supported in v4 as well)
      • Remove use of deprecated/unsupported safelist
      • Simplify job tracking styling by using css directly (remove js / tailwind indirection)
      • Rename MetadataTableSection to MetadataTable and replace MetadataTable usage with simple div
        • MetadataTableSection was the actual Table
        • Removes dynamic grid-col-{$columns} class string which isn't supported by Tailwind (especially without safelist support)
  • Update LayerChart and Svelte UX to 2.0.0@next (improved compat with Tailwind 4 and later Svelte 5)

Screenshots

Dark mode

Before After
image image
image image
image image
image image

Light mode

Before After
image image
image image
image image
image image

Checklist

  • Added Unit Tests
  • Covered by existing CI
  • Integration tested
  • Documentation update

Summary by CodeRabbit

  • New Features

    • Introduced enhanced theming with a comprehensive set of CSS custom properties for improved color schemes and typography.
    • Streamlined metadata and status displays for a cleaner and more intuitive presentation.
  • Style

    • Refined UI elements including navigation bars, headers, and buttons for better readability and visual consistency.
    • Updated layout adjustments across key pages, offering a more cohesive look and feel.
  • Chores

    • Upgraded dependencies and optimized build configurations while removing legacy styling tools for improved performance.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 13, 2025

Walkthrough

This pull request updates project dependencies and configurations. In the package.json, several dev dependencies are removed and new dependencies added, with version updates applied to some existing packages. The PostCSS configuration file is removed, while the main CSS file now includes new source imports and theme settings for animations. Additionally, the Tailwind configuration is streamlined by removing several properties and plugins, and the Vite configuration now integrates a Tailwind CSS plugin.

Changes

File(s) Change Summary
frontend/package.json Removed devDependencies (@tailwindcss/typography, autoprefixer, postcss); added @tailwindcss/vite; updated versions for layerchart and svelte-ux.
frontend/postcss.config.js Removed the PostCSS configuration file that previously imported Tailwind CSS and Autoprefixer.
frontend/src/app.css Added new CSS sources for svelte-ux and layerchart; introduced a temporary theme block with custom properties and keyframes for an animated dash effect.
frontend/tailwind.config.js Removed the import and usage of the typography plugin, darkMode, content paths, animation, and keyframes definitions; retained safelist and theme.
frontend/vite.config.ts Introduced Tailwind CSS plugin (tailwindcss()) to the Vite configuration.

Possibly related PRs

Suggested reviewers

  • ken-zlai

In code we dance, lines refined and jived,
Dependencies shift, with changes well derived.
Configs evolve as plugins blend in view,
New themes and versions bring a vibrant hue.
With every tweak and every byte, 🎉
Our project gleams in the coder’s light!

Warning

Review ran into problems

🔥 Problems

GitHub Actions and Pipeline Checks: Resource not accessible by integration - https://docs.github.com/rest/actions/workflow-runs#list-workflow-runs-for-a-repository.

Please grant the required permissions to the CodeRabbit GitHub App under the organization or repository settings.


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@sean-zlai sean-zlai marked this pull request as draft March 13, 2025 20:53
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro (Legacy)

📥 Commits

Reviewing files that changed from the base of the PR and between a0a969d and a507a77.

⛔ Files ignored due to path filters (1)
  • frontend/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (5)
  • frontend/package.json (1 hunks)
  • frontend/postcss.config.js (0 hunks)
  • frontend/src/app.css (1 hunks)
  • frontend/tailwind.config.js (1 hunks)
  • frontend/vite.config.ts (1 hunks)
💤 Files with no reviewable changes (1)
  • frontend/postcss.config.js
🧰 Additional context used
🪛 Biome (1.9.4)
frontend/src/app.css

[error] 11-11: expected , but instead found .5

Remove .5

(parse)


[error] 11-11: expected , but instead found x

Remove x

(parse)


[error] 11-11: Expected a compound selector but instead found '2'.

Expected a compound selector here.

(parse)


[error] 11-11: expected , but instead found s

Remove s

(parse)


[error] 11-11: expected , but instead found ;

Remove ;

(parse)


[error] 12-12: expected , but instead found --animate-dashoffset-1x

Remove --animate-dashoffset-1x

(parse)


[error] 12-12: Expected a compound selector but instead found '1'.

Expected a compound selector here.

(parse)


[error] 12-12: expected , but instead found s

Remove s

(parse)


[error] 12-12: expected , but instead found ;

Remove ;

(parse)


[error] 13-13: expected , but instead found --animate-dashoffset-2x

Remove --animate-dashoffset-2x

(parse)


[error] 13-13: Expected a compound selector but instead found '0.5'.

Expected a compound selector here.

(parse)


[error] 13-13: expected , but instead found s

Remove s

(parse)


[error] 13-13: expected , but instead found ;

Remove ;

(parse)


[error] 14-14: expected , but instead found --animate-dashoffset-3x

Remove --animate-dashoffset-3x

(parse)


[error] 14-14: Expected a compound selector but instead found '0.25'.

Expected a compound selector here.

(parse)


[error] 14-14: expected , but instead found s

Remove s

(parse)


[error] 14-14: expected , but instead found ;

Remove ;

(parse)


[error] 15-15: expected , but instead found --animate-dashoffset-4x

Remove --animate-dashoffset-4x

(parse)


[error] 15-15: Expected a compound selector but instead found '0.125'.

Expected a compound selector here.

(parse)


[error] 15-15: expected , but instead found s

Remove s

(parse)


[error] 15-15: expected , but instead found ;

Remove ;

(parse)


[error] 16-16: expected , but instead found --animate-dashoffset-5x

Remove --animate-dashoffset-5x

(parse)


[error] 16-16: Expected a compound selector but instead found '0.0625'.

Expected a compound selector here.

(parse)


[error] 16-16: expected , but instead found s

Remove s

(parse)


[error] 16-16: expected , but instead found ;

Remove ;

(parse)


[error] 18-18: expected , but instead found keyframes

Remove keyframes

(parse)


[error] 19-19: Expected a declaration, or an at rule but instead found '100% {'.

Expected a declaration, or an at rule here.

(parse)


[error] 22-23: Expected a qualified rule, or an at rule but instead found '}'.

Expected a qualified rule, or an at rule here.

(parse)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: enforce_triggered_workflows
🔇 Additional comments (7)
frontend/vite.config.ts (2)

2-3: Added Tailwind CSS Vite plugin

Integration of Tailwind via Vite plugin instead of PostCSS.


9-9: Plugin order is correct

Tailwind plugin positioned before SvelteKit as expected.

frontend/tailwind.config.js (2)

3-3: Typography plugin removed

Import and usage of typography plugin removed as part of Tailwind 4 upgrade.


5-6:

❓ Verification inconclusive

Check content array configuration

The content array for pattern scanning has been removed. Make sure this is now properly configured in the Vite plugin.


🏁 Script executed:

#!/bin/bash
# Check if content configuration exists in Vite plugin or any documentation
grep -r "content:" --include="*.js" --include="*.ts" frontend/

Length of output: 151


🏁 Script executed:

#!/bin/bash
# Look for Vite plugin configuration with content array setup
rg "content:\s*\[" -n frontend/vite.config.js

Length of output: 111


Action: Verify Vite Plugin Content Setup

The Tailwind config now shows a "content:" set for CSS values (e.g. colors) rather than a file scan array. We didn't find a Vite configuration file (vite.config.js). Please manually verify that the Vite plugin is correctly set up with the necessary content array for pattern scanning.

frontend/package.json (1)

65-65: Added Tailwind CSS Vite plugin dependency

New dependency aligns with the Vite config changes.

frontend/src/app.css (2)

3-4: Added direct source imports

Sources correctly imported from node_modules for updated dependencies.


6-6: Migration in progress

Comment indicates this is temporary until full migration is complete.

@sean-zlai sean-zlai marked this pull request as ready for review March 18, 2025 12:32
techniq added 19 commits March 18, 2025 08:32
…`MetadataTable` usage with simple `<div>`
@sean-zlai
Copy link
Contributor Author

@nikhil-zlai Sorry to throw such a big PR to review for you're first frontend. It's mostly a continuation of #430 with some simplifications and recommendations applied.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

♻️ Duplicate comments (1)
frontend/src/app.css (1)

115-120: ⚠️ Potential issue

Fix animation variable syntax errors.

Variable names with dots cause CSS parsing errors.

Replace dots with underscores in animation variable names:

- --animate-dashoffset-0.5x: animated-dash 2s linear infinite;
- --animate-dashoffset-1x: animated-dash 1s linear infinite;
- --animate-dashoffset-2x: animated-dash 0.5s linear infinite;
- --animate-dashoffset-3x: animated-dash 0.25s linear infinite;
- --animate-dashoffset-4x: animated-dash 0.125s linear infinite;
- --animate-dashoffset-5x: animated-dash 0.0625s linear infinite;
+ --animate-dashoffset-0_5x: animated-dash 2s linear infinite;
+ --animate-dashoffset-1x: animated-dash 1s linear infinite;
+ --animate-dashoffset-2x: animated-dash 0.5s linear infinite;
+ --animate-dashoffset-3x: animated-dash 0.25s linear infinite;
+ --animate-dashoffset-4x: animated-dash 0.125s linear infinite;
+ --animate-dashoffset-5x: animated-dash 0.0625s linear infinite;
🧰 Tools
🪛 Biome (1.9.4)

[error] 115-115: expected , but instead found .5

Remove .5

(parse)


[error] 115-115: expected , but instead found x

Remove x

(parse)


[error] 115-115: Expected a compound selector but instead found '2'.

Expected a compound selector here.

(parse)


[error] 115-115: expected , but instead found s

Remove s

(parse)


[error] 115-115: expected , but instead found ;

Remove ;

(parse)


[error] 116-116: expected , but instead found --animate-dashoffset-1x

Remove --animate-dashoffset-1x

(parse)


[error] 116-116: Expected a compound selector but instead found '1'.

Expected a compound selector here.

(parse)


[error] 116-116: expected , but instead found s

Remove s

(parse)


[error] 116-116: expected , but instead found ;

Remove ;

(parse)


[error] 117-117: expected , but instead found --animate-dashoffset-2x

Remove --animate-dashoffset-2x

(parse)


[error] 117-117: Expected a compound selector but instead found '0.5'.

Expected a compound selector here.

(parse)


[error] 117-117: expected , but instead found s

Remove s

(parse)


[error] 117-117: expected , but instead found ;

Remove ;

(parse)


[error] 118-118: expected , but instead found --animate-dashoffset-3x

Remove --animate-dashoffset-3x

(parse)


[error] 118-118: Expected a compound selector but instead found '0.25'.

Expected a compound selector here.

(parse)


[error] 118-118: expected , but instead found s

Remove s

(parse)


[error] 118-118: expected , but instead found ;

Remove ;

(parse)


[error] 119-119: expected , but instead found --animate-dashoffset-4x

Remove --animate-dashoffset-4x

(parse)


[error] 119-119: Expected a compound selector but instead found '0.125'.

Expected a compound selector here.

(parse)


[error] 119-119: expected , but instead found s

Remove s

(parse)


[error] 119-119: expected , but instead found ;

Remove ;

(parse)


[error] 120-120: expected , but instead found --animate-dashoffset-5x

Remove --animate-dashoffset-5x

(parse)


[error] 120-120: Expected a compound selector but instead found '0.0625'.

Expected a compound selector here.

(parse)


[error] 120-120: expected , but instead found s

Remove s

(parse)


[error] 120-120: expected , but instead found ;

Remove ;

(parse)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro (Legacy)

📥 Commits

Reviewing files that changed from the base of the PR and between a507a77 and 848c644.

⛔ Files ignored due to path filters (1)
  • frontend/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (117)
  • frontend/package.json (1 hunks)
  • frontend/postcss.config.js (0 hunks)
  • frontend/src/app.css (4 hunks)
  • frontend/src/lib/components/BreadcrumbNav.svelte (1 hunks)
  • frontend/src/lib/components/CollapsibleSection.svelte (1 hunks)
  • frontend/src/lib/components/DateRangeSelector.svelte (3 hunks)
  • frontend/src/lib/components/MetadataTable/MetadataTable.svelte (1 hunks)
  • frontend/src/lib/components/MetadataTable/MetadataTableSection.svelte (0 hunks)
  • frontend/src/lib/components/NavigationBar.svelte (6 hunks)
  • frontend/src/lib/components/PageHeader.svelte (1 hunks)
  • frontend/src/lib/components/ResetZoomButton.svelte (1 hunks)
  • frontend/src/lib/components/StatusBar.svelte (1 hunks)
  • frontend/src/lib/components/StatusCell.svelte (2 hunks)
  • frontend/src/lib/components/charts/TransformControls.svelte (2 hunks)
  • frontend/src/lib/components/charts/common.ts (1 hunks)
  • frontend/src/lib/components/ui/alert/alert-description.svelte (1 hunks)
  • frontend/src/lib/components/ui/alert/alert-title.svelte (2 hunks)
  • frontend/src/lib/components/ui/alert/alert.svelte (2 hunks)
  • frontend/src/lib/components/ui/avatar/avatar-fallback.svelte (2 hunks)
  • frontend/src/lib/components/ui/avatar/avatar-image.svelte (2 hunks)
  • frontend/src/lib/components/ui/avatar/avatar.svelte (2 hunks)
  • frontend/src/lib/components/ui/badge/badge.svelte (2 hunks)
  • frontend/src/lib/components/ui/breadcrumb/breadcrumb-ellipsis.svelte (2 hunks)
  • frontend/src/lib/components/ui/breadcrumb/breadcrumb-item.svelte (2 hunks)
  • frontend/src/lib/components/ui/breadcrumb/breadcrumb-link.svelte (2 hunks)
  • frontend/src/lib/components/ui/breadcrumb/breadcrumb-list.svelte (2 hunks)
  • frontend/src/lib/components/ui/breadcrumb/breadcrumb-page.svelte (2 hunks)
  • frontend/src/lib/components/ui/breadcrumb/breadcrumb-separator.svelte (2 hunks)
  • frontend/src/lib/components/ui/button/button.svelte (2 hunks)
  • frontend/src/lib/components/ui/button/index.ts (2 hunks)
  • frontend/src/lib/components/ui/calendar/calendar-cell.svelte (2 hunks)
  • frontend/src/lib/components/ui/calendar/calendar-day.svelte (2 hunks)
  • frontend/src/lib/components/ui/calendar/calendar-grid-body.svelte (1 hunks)
  • frontend/src/lib/components/ui/calendar/calendar-grid-head.svelte (1 hunks)
  • frontend/src/lib/components/ui/calendar/calendar-grid-row.svelte (1 hunks)
  • frontend/src/lib/components/ui/calendar/calendar-grid.svelte (1 hunks)
  • frontend/src/lib/components/ui/calendar/calendar-head-cell.svelte (2 hunks)
  • frontend/src/lib/components/ui/calendar/calendar-header.svelte (2 hunks)
  • frontend/src/lib/components/ui/calendar/calendar-heading.svelte (2 hunks)
  • frontend/src/lib/components/ui/calendar/calendar-months.svelte (2 hunks)
  • frontend/src/lib/components/ui/calendar/calendar-next-button.svelte (2 hunks)
  • frontend/src/lib/components/ui/calendar/calendar-prev-button.svelte (2 hunks)
  • frontend/src/lib/components/ui/calendar/calendar.svelte (2 hunks)
  • frontend/src/lib/components/ui/checkbox/checkbox.svelte (3 hunks)
  • frontend/src/lib/components/ui/command/command-empty.svelte (1 hunks)
  • frontend/src/lib/components/ui/command/command-group.svelte (1 hunks)
  • frontend/src/lib/components/ui/command/command-input.svelte (2 hunks)
  • frontend/src/lib/components/ui/command/command-item.svelte (2 hunks)
  • frontend/src/lib/components/ui/command/command-list.svelte (1 hunks)
  • frontend/src/lib/components/ui/command/command-separator.svelte (1 hunks)
  • frontend/src/lib/components/ui/command/command-shortcut.svelte (2 hunks)
  • frontend/src/lib/components/ui/command/command.svelte (2 hunks)
  • frontend/src/lib/components/ui/dialog/dialog-content.svelte (2 hunks)
  • frontend/src/lib/components/ui/dialog/dialog-description.svelte (2 hunks)
  • frontend/src/lib/components/ui/dialog/dialog-footer.svelte (2 hunks)
  • frontend/src/lib/components/ui/dialog/dialog-header.svelte (1 hunks)
  • frontend/src/lib/components/ui/dialog/dialog-overlay.svelte (2 hunks)
  • frontend/src/lib/components/ui/dialog/dialog-title.svelte (2 hunks)
  • frontend/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte (2 hunks)
  • frontend/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte (2 hunks)
  • frontend/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte (2 hunks)
  • frontend/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte (2 hunks)
  • frontend/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte (2 hunks)
  • frontend/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte (2 hunks)
  • frontend/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte (1 hunks)
  • frontend/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte (2 hunks)
  • frontend/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte (2 hunks)
  • frontend/src/lib/components/ui/input/input.svelte (2 hunks)
  • frontend/src/lib/components/ui/popover/popover-content.svelte (2 hunks)
  • frontend/src/lib/components/ui/range-calendar/range-calendar-cell.svelte (2 hunks)
  • frontend/src/lib/components/ui/range-calendar/range-calendar-day.svelte (2 hunks)
  • frontend/src/lib/components/ui/range-calendar/range-calendar-grid-body.svelte (1 hunks)
  • frontend/src/lib/components/ui/range-calendar/range-calendar-grid-head.svelte (1 hunks)
  • frontend/src/lib/components/ui/range-calendar/range-calendar-grid-row.svelte (1 hunks)
  • frontend/src/lib/components/ui/range-calendar/range-calendar-grid.svelte (2 hunks)
  • frontend/src/lib/components/ui/range-calendar/range-calendar-head-cell.svelte (2 hunks)
  • frontend/src/lib/components/ui/range-calendar/range-calendar-header.svelte (2 hunks)
  • frontend/src/lib/components/ui/range-calendar/range-calendar-heading.svelte (2 hunks)
  • frontend/src/lib/components/ui/range-calendar/range-calendar-months.svelte (2 hunks)
  • frontend/src/lib/components/ui/range-calendar/range-calendar-next-button.svelte (2 hunks)
  • frontend/src/lib/components/ui/range-calendar/range-calendar-prev-button.svelte (2 hunks)
  • frontend/src/lib/components/ui/range-calendar/range-calendar.svelte (2 hunks)
  • frontend/src/lib/components/ui/select/select-content.svelte (2 hunks)
  • frontend/src/lib/components/ui/select/select-item.svelte (2 hunks)
  • frontend/src/lib/components/ui/select/select-label.svelte (1 hunks)
  • frontend/src/lib/components/ui/select/select-separator.svelte (1 hunks)
  • frontend/src/lib/components/ui/select/select-trigger.svelte (2 hunks)
  • frontend/src/lib/components/ui/separator/separator.svelte (2 hunks)
  • frontend/src/lib/components/ui/sheet/sheet-content.svelte (2 hunks)
  • frontend/src/lib/components/ui/sheet/sheet-description.svelte (1 hunks)
  • frontend/src/lib/components/ui/sheet/sheet-footer.svelte (2 hunks)
  • frontend/src/lib/components/ui/sheet/sheet-header.svelte (1 hunks)
  • frontend/src/lib/components/ui/sheet/sheet-overlay.svelte (2 hunks)
  • frontend/src/lib/components/ui/sheet/sheet-portal.svelte (1 hunks)
  • frontend/src/lib/components/ui/sheet/sheet-title.svelte (2 hunks)
  • frontend/src/lib/components/ui/table/index.ts (1 hunks)
  • frontend/src/lib/components/ui/table/table-body.svelte (1 hunks)
  • frontend/src/lib/components/ui/table/table-caption.svelte (1 hunks)
  • frontend/src/lib/components/ui/table/table-cell.svelte (2 hunks)
  • frontend/src/lib/components/ui/table/table-footer.svelte (1 hunks)
  • frontend/src/lib/components/ui/table/table-head.svelte (2 hunks)
  • frontend/src/lib/components/ui/table/table-header.svelte (1 hunks)
  • frontend/src/lib/components/ui/table/table-row.svelte (2 hunks)
  • frontend/src/lib/components/ui/table/table.svelte (2 hunks)
  • frontend/src/lib/components/ui/tabs/tabs-content.svelte (2 hunks)
  • frontend/src/lib/components/ui/tabs/tabs-list.svelte (2 hunks)
  • frontend/src/lib/components/ui/tabs/tabs-trigger.svelte (2 hunks)
  • frontend/src/lib/components/ui/tooltip/tooltip-content.svelte (2 hunks)
  • frontend/src/lib/job/status.ts (0 hunks)
  • frontend/src/lib/util/colors.ts (0 hunks)
  • frontend/src/lib/utils.ts (0 hunks)
  • frontend/src/routes/[conf]/[name]/job-tracking/+page.svelte (2 hunks)
  • frontend/src/routes/[conf]/[name]/observability/drift/+page.svelte (4 hunks)
  • frontend/src/routes/[conf]/[name]/observability/summary/+page.svelte (1 hunks)
  • frontend/src/routes/[conf]/[name]/overview/+page.svelte (7 hunks)
  • frontend/tailwind.config.js (0 hunks)
  • frontend/vite.config.ts (1 hunks)
💤 Files with no reviewable changes (6)
  • frontend/src/lib/components/MetadataTable/MetadataTableSection.svelte
  • frontend/src/lib/util/colors.ts
  • frontend/postcss.config.js
  • frontend/src/lib/utils.ts
  • frontend/tailwind.config.js
  • frontend/src/lib/job/status.ts
✅ Files skipped from review due to trivial changes (9)
  • frontend/src/lib/components/PageHeader.svelte
  • frontend/src/lib/components/ui/dialog/dialog-footer.svelte
  • frontend/src/lib/components/ui/table/table-footer.svelte
  • frontend/src/lib/components/ui/checkbox/checkbox.svelte
  • frontend/src/lib/components/ui/range-calendar/range-calendar-header.svelte
  • frontend/src/lib/components/ui/select/select-item.svelte
  • frontend/src/lib/components/ui/range-calendar/range-calendar.svelte
  • frontend/src/lib/components/charts/TransformControls.svelte
  • frontend/src/lib/components/ui/table/table-row.svelte
🚧 Files skipped from review as they are similar to previous changes (2)
  • frontend/vite.config.ts
  • frontend/package.json
🧰 Additional context used
🪛 Biome (1.9.4)
frontend/src/app.css

[error] 115-115: expected , but instead found .5

Remove .5

(parse)


[error] 115-115: expected , but instead found x

Remove x

(parse)


[error] 115-115: Expected a compound selector but instead found '2'.

Expected a compound selector here.

(parse)


[error] 115-115: expected , but instead found s

Remove s

(parse)


[error] 115-115: expected , but instead found ;

Remove ;

(parse)


[error] 116-116: expected , but instead found --animate-dashoffset-1x

Remove --animate-dashoffset-1x

(parse)


[error] 116-116: Expected a compound selector but instead found '1'.

Expected a compound selector here.

(parse)


[error] 116-116: expected , but instead found s

Remove s

(parse)


[error] 116-116: expected , but instead found ;

Remove ;

(parse)


[error] 117-117: expected , but instead found --animate-dashoffset-2x

Remove --animate-dashoffset-2x

(parse)


[error] 117-117: Expected a compound selector but instead found '0.5'.

Expected a compound selector here.

(parse)


[error] 117-117: expected , but instead found s

Remove s

(parse)


[error] 117-117: expected , but instead found ;

Remove ;

(parse)


[error] 118-118: expected , but instead found --animate-dashoffset-3x

Remove --animate-dashoffset-3x

(parse)


[error] 118-118: Expected a compound selector but instead found '0.25'.

Expected a compound selector here.

(parse)


[error] 118-118: expected , but instead found s

Remove s

(parse)


[error] 118-118: expected , but instead found ;

Remove ;

(parse)


[error] 119-119: expected , but instead found --animate-dashoffset-4x

Remove --animate-dashoffset-4x

(parse)


[error] 119-119: Expected a compound selector but instead found '0.125'.

Expected a compound selector here.

(parse)


[error] 119-119: expected , but instead found s

Remove s

(parse)


[error] 119-119: expected , but instead found ;

Remove ;

(parse)


[error] 120-120: expected , but instead found --animate-dashoffset-5x

Remove --animate-dashoffset-5x

(parse)


[error] 120-120: Expected a compound selector but instead found '0.0625'.

Expected a compound selector here.

(parse)


[error] 120-120: expected , but instead found s

Remove s

(parse)


[error] 120-120: expected , but instead found ;

Remove ;

(parse)


[error] 122-122: expected , but instead found keyframes

Remove keyframes

(parse)


[error] 123-123: Expected a declaration, or an at rule but instead found '100% {'.

Expected a declaration, or an at rule here.

(parse)


[error] 126-127: Expected a qualified rule, or an at rule but instead found '}'.

Expected a qualified rule, or an at rule here.

(parse)


[error] 247-247: expected , but instead found (

Remove (

(parse)


[error] 247-247: expected , but instead found --color-scroll-thumb

Remove --color-scroll-thumb

(parse)


[error] 247-247: expected , but instead found )

Remove )

(parse)


[error] 247-247: expected , but instead found var

Remove var

(parse)


[error] 247-247: expected , but instead found (

Remove (

(parse)


[error] 247-247: expected , but instead found --color-scroll-track

Remove --color-scroll-track

(parse)


[error] 247-247: expected , but instead found )

Remove )

(parse)


[error] 247-247: expected , but instead found ;

Remove ;

(parse)

🔇 Additional comments (178)
frontend/src/routes/[conf]/[name]/observability/summary/+page.svelte (1)

73-73: Font size updated to use Tailwind's standard size

Changed from text-regular to text-sm for trigger element.

frontend/src/lib/components/ui/table/table-body.svelte (2)

3-3: Import updated to use @layerstack/tailwind

Replaced cn utility with cls from @layerstack/tailwind.


11-11: Class utility function changed

Updated class utility from cn to cls while maintaining the same functionality.

frontend/src/lib/components/charts/common.ts (1)

46-46: Tooltip text style standardized

Changed from custom text-small to Tailwind's text-sm/4 with line height specification.

frontend/src/lib/components/CollapsibleSection.svelte (2)

33-33: Small title size standardized

Updated from custom text-regular to Tailwind's standard text-sm.


37-37: Default title size standardized

Updated from custom text-large-medium to Tailwind's standard text-base.

frontend/src/lib/components/ResetZoomButton.svelte (1)

8-8: Class binding simplified.

Direct use of className prop improves readability.

frontend/src/lib/components/ui/command/command-group.svelte (2)

3-3: Import updated to use cls from @layerstack/tailwind.

Standardizes utility functions across codebase.


11-11: Using cls instead of cn for class composition.

Maintains consistent approach with other components.

frontend/src/lib/components/ui/badge/badge.svelte (2)

3-3: Import updated to use cls from @layerstack/tailwind.

Aligns with Tailwind 4 migration strategy.


14-14: Using cls instead of cn for class composition.

Consistent with overall pattern changes throughout the codebase.

frontend/src/lib/components/ui/breadcrumb/breadcrumb-list.svelte (2)

3-3: Import updated to use cls from @layerstack/tailwind.

Part of standardizing class utility functions.


16-17: Class utility and text size updated.

Text class changed from text-small to text-sm/3, embracing Tailwind's default sizing for better consistency.

frontend/src/lib/components/ui/calendar/calendar-heading.svelte (1)

3-3: Import change looks good.

From cn to cls - part of Tailwind 4 upgrade.

Also applies to: 13-13

frontend/src/lib/components/ui/breadcrumb/breadcrumb-separator.svelte (1)

4-4: cncls transition implemented properly.

Consistent with project-wide Tailwind 4 migration.

Also applies to: 18-18

frontend/src/lib/components/ui/alert/alert.svelte (1)

4-4: Utility function swap looks good.

cls from @layerstack/tailwind correctly replaces cn.

Also applies to: 15-15

frontend/src/lib/components/ui/dialog/dialog-header.svelte (1)

3-3: Import and usage change is correct.

Properly migrated to new Tailwind utility.

Also applies to: 11-11

frontend/src/lib/components/ui/table/table-caption.svelte (2)

3-3: Utility function import updated.

Changed from cn to cls from Tailwind package.


11-11: Function call updated to match import.

Maintains same styling parameters.

frontend/src/lib/components/ui/avatar/avatar.svelte (2)

3-3: Updated import to use Tailwind utility.

Using cls from Tailwind package.


14-14: Updated class utility function.

Class parameters unchanged.

frontend/src/lib/components/ui/select/select-label.svelte (2)

3-3: Import updated to new Tailwind utility.

Switched to cls function.


11-11: Updated class utility function call.

Styling remains consistent.

frontend/src/lib/components/ui/sheet/sheet-description.svelte (2)

3-3: Updated to use Tailwind utility.

Uses cls from Tailwind package.


11-14: Updated component styling with new utility.

Function name updated while preserving styling.

frontend/src/lib/components/ui/sheet/sheet-portal.svelte (1)

3-3: Import and usage of cls looks good

Clean transition from local cn to @layerstack/tailwind cls utility.

Also applies to: 11-11

frontend/src/lib/components/ui/breadcrumb/breadcrumb-item.svelte (1)

3-3: Import and usage of cls looks good

Proper transition from local utility to @layerstack/tailwind.

Also applies to: 14-14

frontend/src/lib/components/ui/calendar/calendar-next-button.svelte (1)

5-5: Import and cls function usage looks good

Consistent implementation in the class binding.

Also applies to: 16-20

frontend/src/lib/components/ui/table/table-header.svelte (1)

3-3: Import and usage of cls looks good

Clean migration to @layerstack/tailwind utility.

Also applies to: 11-11

frontend/src/lib/components/ui/range-calendar/range-calendar-heading.svelte (2)

3-3: Import change from utils to layerstack library

Switched from local utility to external library.


13-13: Function name updated to match import

Updated class utility usage.

frontend/src/lib/components/ui/dialog/dialog-overlay.svelte (2)

4-4: Import updated to layerstack library

Consistent with other component changes.


19-19: Function name updated to match import

Function replacement maintains same functionality.

frontend/src/lib/components/ui/breadcrumb/breadcrumb-link.svelte (2)

3-3: Import updated to layerstack library

Part of systematic replacement across codebase.


19-19: Function name updated in attrs definition

Correctly replaced utility function while maintaining classes.

frontend/src/lib/components/BreadcrumbNav.svelte (1)

15-15: Simplified class binding

Removed unnecessary function wrapper for class binding.

frontend/src/lib/components/ui/calendar/calendar-grid-row.svelte (1)

3-3: Utility function change looks good.

Import and usage of cls correctly replaces cn.

Also applies to: 11-11

frontend/src/lib/components/ui/calendar/calendar-grid.svelte (1)

3-3: Utility function change looks good.

Import and usage of cls correctly replaces cn.

Also applies to: 11-11

frontend/src/lib/components/ui/range-calendar/range-calendar-grid-row.svelte (1)

3-3: Utility function change looks good.

Import and usage of cls correctly replaces cn.

Also applies to: 11-11

frontend/src/lib/components/ui/range-calendar/range-calendar-grid-head.svelte (1)

3-3: Utility function change looks good.

Import and usage of cls correctly replaces cn.

Also applies to: 11-11

frontend/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte (2)

3-3: Import utility replaced correctly

Import changed from cn to cls per Tailwind 4 migration.


11-11: Function usage updated properly

cls function replaces cn with identical parameters.

frontend/src/lib/components/ui/sheet/sheet-content.svelte (2)

12-12: Import utility replaced correctly

Import changed from cn to cls per Tailwind 4 migration.


43-43: Function usage updated properly

cls function replaces cn with identical parameters.

frontend/src/lib/components/ui/command/command-separator.svelte (2)

3-3: Import utility replaced correctly

Import changed from cn to cls per Tailwind 4 migration.


10-10: Function usage updated properly

cls function replaces cn with identical parameters.

frontend/src/lib/components/StatusCell.svelte (2)

24-24: StatusBar props simplified

Props includeHover and isActive removed, simplifying component usage.


35-35: Text size updated to Tailwind default

Changed from custom text-small! to standard Tailwind text-xs! for better consistency.

frontend/src/lib/components/ui/select/select-separator.svelte (2)

3-3: Updated utility function import

Changed from local cn to @layerstack/tailwind package's cls.


11-11: Function call updated

Changed from cn() to cls() while maintaining same parameters.

frontend/src/lib/components/ui/range-calendar/range-calendar-head-cell.svelte (2)

3-3: Updated utility function import

Changed from local cn to @layerstack/tailwind package's cls.


12-12: Function call updated

Changed from cn() to cls() while maintaining same class strings.

frontend/src/lib/components/ui/sheet/sheet-header.svelte (2)

3-3: Updated utility function import

Changed from local cn to @layerstack/tailwind package's cls.


11-11: Function call updated

Changed from cn() to cls() while preserving class parameters.

frontend/src/lib/components/ui/dialog/dialog-description.svelte (2)

3-3: Updated utility function import

Changed from local cn to @layerstack/tailwind package's cls.


12-12: Function call updated

Changed from cn() to cls() with identical class parameters.

frontend/src/lib/components/ui/input/input.svelte (1)

4-4: Changed class utility from cn to cls.

Import and usage updated consistently from local utils to @layerstack/tailwind.

Also applies to: 19-19

frontend/src/lib/components/ui/calendar/calendar-grid-head.svelte (1)

3-3: Updated class utility.

Consistent change to cls from @layerstack/tailwind.

Also applies to: 11-11

frontend/src/lib/components/ui/range-calendar/range-calendar-grid-body.svelte (1)

3-3: Switched to @layerstack/tailwind cls utility.

Change aligns with other components.

Also applies to: 11-11

frontend/src/lib/components/ui/command/command-shortcut.svelte (1)

3-3: Updated to cls utility function.

Consistent with other changes throughout the codebase.

Also applies to: 12-12

frontend/src/lib/components/ui/command/command-input.svelte (2)

4-4: Import updated to use cls from layerstack

Correctly replaced local utility with package function.


16-17: Text size standardized to Tailwind default

Changed from custom text-regular to Tailwind's standard text-sm.

frontend/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte (2)

3-4: Updated imports for utility functions

Kept flyAndScale from local utils while migrating class utility to layerstack.


20-20: Updated class utility function

Changed from cn to cls for class composition.

frontend/src/lib/components/ui/calendar/calendar-grid-body.svelte (2)

3-3: Import updated for class utility

Switched to layerstack implementation.


11-11: Updated class composition function

Correctly migrated to cls utility.

frontend/src/lib/components/ui/breadcrumb/breadcrumb-page.svelte (2)

3-3: Updated import for class utility

Replaced local cn with layerstack cls.


19-19: Updated class composition implementation

Successfully migrated to use cls function.

frontend/src/lib/components/ui/tooltip/tooltip-content.svelte (2)

3-4: Updated imports correctly.

Switched from cn to cls function as part of Tailwind 4 migration.


22-25: Class utility updated.

Function changed from cn to cls while preserving class names.

frontend/src/lib/components/ui/breadcrumb/breadcrumb-ellipsis.svelte (2)

4-4: Import updated correctly.

Changed from cn to cls import for Tailwind 4 compatibility.


19-19: Class utility updated.

Function changed from cn to cls while preserving styling.

frontend/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte (2)

4-4: Import updated correctly.

Changed from cn to cls import as part of Tailwind 4 migration.


16-19: Class utility updated.

Function changed from cn to cls while maintaining class structure.

frontend/src/lib/components/ui/table/table-head.svelte (2)

3-3: Import updated correctly.

Changed from cn to cls import for Tailwind 4 compatibility.


16-18: Updated class utility and text size.

Function changed from cn to cls and text size updated from text-regular to text-sm to align with Tailwind's default sizing.

frontend/src/lib/components/ui/command/command.svelte (1)

3-3: Import and usage of cls function correctly implemented.

Changed from cn to cls as part of Tailwind 4 migration.

Also applies to: 14-14

frontend/src/lib/components/ui/alert/alert-description.svelte (1)

3-3: Import and usage of cls function correctly implemented.

Changed from cn to cls as part of Tailwind 4 migration.

Also applies to: 11-11

frontend/src/lib/components/ui/sheet/sheet-footer.svelte (1)

3-3: Import and usage of cls function correctly implemented.

Changed from cn to cls as part of Tailwind 4 migration.

Also applies to: 12-12

frontend/src/lib/components/ui/command/command-list.svelte (1)

3-3: Import and usage of cls function correctly implemented.

Changed from cn to cls as part of Tailwind 4 migration.

Also applies to: 11-11

frontend/src/lib/components/ui/sheet/sheet-overlay.svelte (1)

4-4: Import and usage updated to @layerstack/tailwind

Switched from cn to cls function.

Also applies to: 19-19

frontend/src/lib/components/ui/tabs/tabs-content.svelte (1)

3-3: Updated to use cls from @layerstack/tailwind

Import and usage changed from cn to cls.

Also applies to: 13-13

frontend/src/lib/components/ui/range-calendar/range-calendar-cell.svelte (1)

3-3: Migrated to @layerstack/tailwind cls utility

Replaced cn with cls for className handling.

Also applies to: 14-14

frontend/src/lib/components/ui/calendar/calendar.svelte (1)

4-4: Switched to cls from @layerstack/tailwind

Updated className utility consistently with other components.

Also applies to: 21-21

frontend/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte (2)

3-3: Function import updated.

Import changed from local utility to @layerstack/tailwind package.


15-15: Updated class application function.

Replaced 'cn' with 'cls' while preserving class structure.

frontend/src/lib/components/ui/dialog/dialog-title.svelte (2)

3-3: Utility function import updated.

Consistent switch from '$lib/utils.js' to '@layerstack/tailwind' package.


12-12: Class function updated.

Replaced 'cn' with 'cls' consistently with other components.

frontend/src/lib/components/ui/table/index.ts (1)

16-17: Table text size classes updated.

Font size classes updated for better consistency:

  • 'text-small' → 'text-[13px]' for compact variant
  • 'text-regular' → 'text-sm' for default variant

These changes align with PR objectives to use Tailwind's default sizes.

frontend/src/lib/components/ui/calendar/calendar-header.svelte (2)

3-3: Updated utility import.

Consistent change to use @layerstack/tailwind utilities.


12-12: Updated class function.

Function name updated from 'cn' to 'cls' while maintaining identical class structure.

frontend/src/lib/components/ui/calendar/calendar-months.svelte (1)

3-3: Utility migration looks good

Switched from local cn to package-based cls function.

Also applies to: 12-12

frontend/src/lib/components/ui/range-calendar/range-calendar-months.svelte (1)

3-3: Utility migration looks good

Switched from local cn to package-based cls function.

Also applies to: 12-12

frontend/src/lib/components/ui/command/command-item.svelte (1)

3-3: Utility migration and text size update

Switched from local cn to package-based cls function and updated text size to text-sm.

Also applies to: 15-16

frontend/src/lib/components/ui/avatar/avatar-image.svelte (1)

3-3: Utility migration looks good

Switched from local cn to package-based cls function.

Also applies to: 16-16

frontend/src/lib/components/ui/separator/separator.svelte (2)

3-3: Import updated to use cls from @layerstack/tailwind.

Consistent with Tailwind 4 migration approach.


16-16: Function call updated from cn to cls.

Matches the import change.

frontend/src/lib/components/ui/tabs/tabs-list.svelte (2)

3-3: Updated import to use cls utility.

Part of standardizing on @layerstack/tailwind utilities.


12-12: Replaced cn with cls function.

Consistent implementation with import change.

frontend/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte (2)

3-3: Updated to use cls from @layerstack/tailwind.

Part of Tailwind 4 migration.


12-12: Changed to cls function call.

Matches import change.

frontend/src/lib/components/ui/command/command-empty.svelte (2)

3-3: Updated import to use cls utility.

Consistent with other component changes.


10-10: Switched to cls function for class composition.

Properly implements the import change.

frontend/src/lib/components/ui/button/button.svelte (1)

4-4: Import and usage updated to @layerstack/tailwind.

Changed from cn to cls for class concatenation, aligning with Tailwind 4 updates.

Also applies to: 19-19

frontend/src/lib/components/ui/range-calendar/range-calendar-grid.svelte (1)

3-3: Switched to @layerstack/tailwind for class handling.

Consistent with other components, updated from cn to cls.

Also applies to: 12-12

frontend/src/lib/components/ui/range-calendar/range-calendar-prev-button.svelte (1)

5-5: Migrated to @layerstack/tailwind utility.

Changed class utility from cn to cls as part of Tailwind 4 upgrade.

Also applies to: 16-16

frontend/src/lib/components/ui/calendar/calendar-cell.svelte (1)

3-3: Updated to use @layerstack/tailwind.

Class concatenation now uses cls instead of cn, maintaining identical functionality.

Also applies to: 14-17

frontend/src/lib/components/ui/calendar/calendar-head-cell.svelte (1)

3-3: Utility function replaced correctly.

Consistent replacement of cn with cls for class management.

Also applies to: 12-12

frontend/src/lib/components/ui/table/table-cell.svelte (1)

3-3: Utility function replaced correctly.

cls replaces cn while maintaining existing class structure.

Also applies to: 12-15

frontend/src/lib/components/ui/range-calendar/range-calendar-next-button.svelte (1)

5-5: Utility function replaced correctly.

cls now handles class concatenation with buttonVariants.

Also applies to: 16-16

frontend/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte (1)

4-4: Utility function replaced correctly.

Consistent replacement with identical class string behavior.

Also applies to: 17-21

frontend/src/lib/components/ui/avatar/avatar-fallback.svelte (2)

3-3: Utility function migration

Switched from local cn to tailwind-specific cls function.


12-12: Updated class assignment

Function changed while maintaining same styling.

frontend/src/lib/components/ui/button/index.ts (2)

6-6: Font styling standardization

Replaced custom text-small with standard text-sm and updated font weight classes.


21-22: Size variant adjustments

Updated text classes for consistent sizing across button variants:

  • sm: Precise sizing with text-[13px]
  • md: Standard Tailwind sizing with text-sm

These changes align with PR objectives to improve design consistency.

frontend/src/lib/components/ui/sheet/sheet-title.svelte (2)

3-3: Utility function migration

Switched from local cn to tailwind-specific cls function.


12-12: Updated class assignment

Function changed while maintaining same styling.

frontend/src/lib/components/ui/dialog/dialog-content.svelte (2)

5-6: Import restructuring

Split utility imports to separate local and package functions:

  1. Kept flyAndScale from local utils
  2. Imported cls from external package

This supports the Tailwind 4 migration.


23-27: Updated class assignment

Function changed while maintaining same styling implementation.

frontend/src/lib/components/ui/alert/alert-title.svelte (1)

4-4: Updated utility function for class handling

Import and usage of cls from @layerstack/tailwind replaces the previous cn utility.

Also applies to: 17-17

frontend/src/lib/components/NavigationBar.svelte (8)

133-133: Button text size adjusted

Changed from text-regular to text-sm for better consistency.


138-138: Dataset header text styling updated

More explicit styling with text-xs font-medium instead of combined class.


147-147: Standardized button text size

Applied text-sm class for consistency with other navigation elements.


158-158: Resources header text styling updated

More explicit styling with text-xs font-medium instead of combined class.


161-162: Resource link text size standardized

Updated to text-sm for consistent text sizing across navigation elements.


173-174: Support link text size standardized

Updated to text-sm for consistent text sizing across navigation elements.


186-188: Feedback button styling adjusted

Changed to size="sm" with precise text-[13px] size instead of generic text-small.


206-206: User name text size standardized

Added text-sm class for consistent text sizing.

frontend/src/lib/components/ui/tabs/tabs-trigger.svelte (1)

3-3: Updated utility function and text sizing

Changed from cn to cls and replaced text-regular with text-sm for consistent sizing.

Also applies to: 17-18

frontend/src/lib/components/ui/table/table.svelte (1)

3-3: Updated utility function for class handling

Replaced cn with cls from @layerstack/tailwind across all class assignments.

Also applies to: 21-21, 24-24

frontend/src/lib/components/ui/popover/popover-content.svelte (2)

4-4: Utility function import updated.

Replaced cn with cls from @layerstack/tailwind.


25-30: Updated class utility function.

Modified class binding to use cls instead of cn while maintaining the same styling logic.

frontend/src/lib/components/DateRangeSelector.svelte (4)

19-19: Utility import updated.

Changed from cn to cls for class name composition.


102-105: Updated button styling.

Replaced cn with cls and added font-normal for better typography consistency.


109-109: Improved border styling.

Consistent border styling for better visual appearance.


154-158: Updated calendar button styling.

Replaced cn with cls while maintaining the existing styling logic.

frontend/src/lib/components/ui/select/select-trigger.svelte (2)

4-4: Updated utility import.

Replaced cn with cls from @layerstack/tailwind.


14-17: Updated class binding.

Switched to cls function while preserving the same class structure.

frontend/src/lib/components/ui/calendar/calendar-day.svelte (2)

4-4: Updated utility import.

Replaced cn with cls from Tailwind layer stack.


19-33: Updated class binding mechanism.

Switched to cls function while maintaining the same comprehensive styling rules.

frontend/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte (2)

3-3: Import updated to use cls from @layerstack/tailwind.

This change aligns with the Tailwind 4 migration.


16-16: Changed from cn to cls function.

Function call updated to match the new import.

frontend/src/lib/components/ui/calendar/calendar-prev-button.svelte (2)

5-5: Import updated to use cls from @layerstack/tailwind.

Consistent with other component changes in this PR.


16-16: Changed from cn to cls function.

Function call updated correctly.

frontend/src/lib/components/MetadataTable/MetadataTable.svelte (3)

2-2: Added Table components import.

Imports Table components needed for the new implementation.


5-5: Simplified props.

Removed columns and className props, keeping only children.


8-14: Refactored to use Table components.

Simplified implementation using Table components with consistent styling.

frontend/src/lib/components/ui/select/select-content.svelte (2)

4-5: Updated imports for animation and class utilities.

Maintains the flyAndScale import while adding cls from the Tailwind package.


28-28: Changed from cn to cls function.

Function call updated to match the new import.

frontend/src/lib/components/ui/range-calendar/range-calendar-day.svelte (2)

4-4: Updated import source for class utility.

cls from @layerstack/tailwind replaces previous import of cn.


19-19: Function call updated to match new import.

Changed from cn( to cls( while preserving same functionality.

frontend/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte (2)

4-4: Updated import source for class utility.

cls from @layerstack/tailwind replaces previous import of cn.


15-15: Function call updated to match new import.

Changed from cn( to cls( while preserving same functionality.

frontend/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte (2)

3-4: Updated imports for utility functions.

Removed cn import and added cls from @layerstack/tailwind.


19-19: Function call updated to match new import.

Changed from cn( to cls( while preserving same functionality.

frontend/src/routes/[conf]/[name]/observability/drift/+page.svelte (4)

28-28: Updated import source for class utility.

cls from @layerstack/tailwind replaces previous import of cn.


172-173: Function call updated to match new import.

Changed from cn( to cls( while preserving same functionality.


224-224: Updated text styling for better consistency.

Changed from text-xl-medium to text-xl font-medium to use standard Tailwind classes.


411-411: Function call updated to match new import.

Changed from cn( to cls( while preserving same functionality.

frontend/src/routes/[conf]/[name]/job-tracking/+page.svelte (5)

186-186: Improved section initialization.

Direct open attribute simplifies code by removing unnecessary state binding.


188-188: Text size class updated to align with Tailwind 4.

Changed from text-small! to text-sm! for consistency.


195-206: Improved metadata layout with grid.

Replaced MetadataTableSection with simpler grid layout containing two MetadataTable components.


212-212: Simplified timeline section initialization.

Direct open attribute improves code clarity.


256-256: Updated table header text size class.

Changed from text-regular to text-sm for consistency with Tailwind 4.

frontend/src/lib/components/StatusBar.svelte (4)

3-3: Switched to cls utility.

Aligns with project-wide migration from cn to cls for className generation.


5-7: Simplified component props API.

Removed isActive and includeHover props for a cleaner interface.


10-10: Simplified status bar rendering.

Uses cls function and status-based class names for more maintainable styling.


12-151: Added comprehensive status styling.

Moved from utility functions to CSS classes with proper light/dark variants for each status.

frontend/src/routes/[conf]/[name]/overview/+page.svelte (5)

32-32: Switched to cls utility.

Replaced cn with @layerstack/tailwind utility.


228-232: Updated class name generation.

cls function now handles class concatenation.


280-284: Consistent class utility usage.

Updated Spline components to use cls.

Also applies to: 295-301


387-387: Updated tooltip class generation.

Used cls for consistent class handling in tooltip items.

Also applies to: 412-412


503-512: Improved theme variable references.

Updated CSS variable assignments to use more maintainable CSS variable references.

frontend/src/app.css (5)

3-4: Added external style sources.

Imported styles from svelte-ux and layerchart packages.


6-6: Added custom dark mode variant.

Streamlined dark mode targeting with custom variant.


8-113: Added comprehensive theme variables.

Structured color system with consistent naming patterns.


167-230: Updated dark mode theme variables.

Consistent variable structure between light and dark themes.


283-289: Added unrestricted Geist Mono font face.

Complements the numbers-only variant for wider usage.

Copy link
Contributor

@david-zlai david-zlai left a comment

Choose a reason for hiding this comment

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

rubber stamp

@sean-zlai sean-zlai merged commit a5d7ff3 into main Mar 24, 2025
6 checks passed
@sean-zlai sean-zlai deleted the sean/tailwind-4 branch March 24, 2025 21:48
@coderabbitai coderabbitai bot mentioned this pull request Apr 23, 2025
4 tasks
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.

4 participants