Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: updated all tab styles and add separate CSS / New UI Local providers #1393

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

Stijnus
Copy link
Collaborator

@Stijnus Stijnus commented Feb 27, 2025

Tab Navigation and Connection Interface Style Improvements

Overview

We've implemented a comprehensive styling system for the Settings tabs, with particular focus on the Connections tab and GitHub integration dialogs. The new styles replace Tailwind utility classes with semantic CSS classes, providing better maintainability, theme consistency, and improved user experience.

Tab Navigation Enhancements

  1. Tab Management Structure

    • Created a hierarchical tab system with main tabs and nested sub-tabs
    • Implemented consistent spacing and alignment with flex layouts
    • Added visual cues for active/inactive states with color differentiation
  2. Tab Card Design

    • Designed cards with hover effects (subtle scaling and background changes)
    • Added icon containers with animation effects on hover
    • Implemented badge system for indicating tab status (beta, optional, etc.)
    • Used proper border-radius (0.5rem) and padding (1rem) for consistent appearance
  3. Tab Navigation Controls

    • Added .tab-button class with consistent height and minimum width
    • Implemented active state with purple-500 (#a855f7) background
    • Added hover states with slightly darker backgrounds
    • Ensured proper spacing between tab buttons (0.5rem gap)

Connections Tab Specific Improvements

  1. Connection Cards

    • Implemented cards with service information and connection status
    • Added visual indicators for connected/disconnected states
    • Used consistent padding (1.5rem) and border-radius (0.5rem)
    • Added hover effects with border color changes
  2. Form Elements

    • Styled input fields with proper padding and focus states
    • Added error states with red border and error messages
    • Implemented help text with smaller font size and secondary text color
  3. Action Buttons

    • Created primary (purple), secondary (themed background), and danger (red) button styles
    • Added hover and active states for better interaction feedback
    • Implemented loading states with spinner animation

GitHub Integration Dialog Improvements

  1. Dialog Positioning and Layout

    • Fixed positioning with proper z-index values
    • Set appropriate max-height with overflow handling
    • Ensured dialogs are properly centered on screen
  2. Repository Selection Experience

    • Made repository lists scrollable with max-height of 50vh
    • Added proper spacing between repository items
    • Implemented hover states for better interaction feedback
  3. Theme Compatibility

    • Fixed CSS variable references from incorrect --bolt-elements-background-depth-X to correct --bolt-elements-bg-depth-X
    • Ensured consistent appearance in both light and dark modes
    • Used theme variables for text colors, backgrounds, and borders

Technical Implementation

  1. CSS Architecture

    • Created dedicated SCSS files for each component type:
      • tab-management.scss for general tab structure
      • connections.scss for the connections tab
      • repository-dialog.scss for repository selection
      • push-github-dialog.scss for GitHub push dialog
    • Used nesting for better organization and specificity control
    • Implemented consistent naming conventions for class names
  2. Theme Integration

    • Used CSS variables for colors to maintain theme consistency
    • Implemented proper dark mode support with theme-aware backgrounds
    • Added appropriate contrast for text elements in both themes

These improvements provide a consistent, accessible, and visually appealing interface for users while maintaining the application's design language across both light and dark themes.

screencapture-localhost-5173-2025-02-28-01_03_22

@Stijnus Stijnus changed the title feat: updated all tab styles and add separate CSS feat: updated all tab styles and add separate CSS / New UI Local providers Feb 28, 2025
@xKevIsDev
Copy link
Collaborator

Nice work @Stijnus, Testing this out asap.

@xKevIsDev
Copy link
Collaborator

Looks awesome @Stijnus,

Something i noticed before we merge this PR though is text foreground clashing with the background on these items.

Screenshot 2025-02-28 at 14 18 03 Screenshot 2025-02-28 at 14 14 42

@Stijnus
Copy link
Collaborator Author

Stijnus commented Feb 28, 2025

Hi @xKevIsDev , I will look at it this evening i think i know what is wrong with these items.

@thecodacus
Copy link
Collaborator

thecodacus commented Feb 28, 2025

I would vote against creating stylesheet for each components separately and create common classes along with unocss classes to mostly style the containers.
the entire tool is basically using unocss classes to make style the components, so this will create two different code patterns into the same codebase

@xKevIsDev
Copy link
Collaborator

@thecodacus makes a good point, best to keep the same pattern throughout the codebase.

Copy link
Collaborator

Choose a reason for hiding this comment

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

no need for a proxy we already have a generic proxy endpoint for any url api.git-proxy.$.ts which basically should work for any endpoint just should rename it to just proxy maybe

rules: {
'@typescript-eslint/no-unused-vars': 'off',
},
},
{
files: [...tsFileExtensions, ...jsFileExtensions, '**/*.tsx'],
Copy link
Collaborator

Choose a reason for hiding this comment

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

dont think we need these, it totally defeats the purpose of pre commit hooks validations

@thecodacus
Copy link
Collaborator

I really like what you have done here but I reaaally would love to see PR with smaller updates. if we can break it down to very focused change/atomic changes

  • Like one for Local Provider UI update, with no styling changes only functionality
  • And another to improve the UI with styling

like I said before it also helps the people to understand the changes by looking at the change log to see whats beed added here. 10k PR is a huge PR, and very difficult for others to review. Any PR more than 2k changes should be broken down to multiple PRs in my opinion

@risenowrise
Copy link

WOAH wow

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