Skip to content

Conversation

@waleedlatif1
Copy link
Collaborator

Summary

  • Refactor auth forms (login, signup, reset-password) to use BrandedButton component
  • Add BrandedLink component for changelog page
  • Reduce code duplication by removing inline button styling
  • Update star count default value to 25.8k

Type of Change

  • Improvement (non-breaking change that improves existing functionality)

Testing

Tested manually

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

- Refactor auth forms to use BrandedButton component
- Add BrandedLink component for changelog page
- Reduce code duplication in login, signup, reset-password forms
- Update star count default value
@vercel
Copy link

vercel bot commented Jan 22, 2026

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

1 Skipped Deployment
Project Deployment Review Updated (UTC)
docs Skipped Skipped Jan 22, 2026 1:16am

Request Review

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 22, 2026

Greptile Summary

This PR refactors authentication and landing page forms to use the centralized BrandedButton and BrandedLink components, replacing duplicated inline button styling. The changes reduce code duplication and improve maintainability by consolidating branded button styling into reusable components that automatically handle whitelabel customization via the useBrandedButtonClass hook.

Key Changes:

  • Refactored auth forms (login, signup, reset-password) to use BrandedButton instead of inline styled buttons
  • Removed manual hover state management (isButtonHovered, isResetButtonHovered) that is now handled internally by BrandedButton
  • Added new BrandedLink component for changelog page GitHub link
  • Updated careers page to use BrandedButton with custom options (showArrow={false}, fullWidth={false})
  • Updated default star count from 25.1k to 25.8k across nav and chat components
  • Consistent loading states now use loading and loadingText props instead of conditional rendering

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • The changes are purely refactoring existing functionality into reusable components with no behavioral changes. The BrandedButton component is already well-tested in the codebase (used in SSO and verify flows), and the refactoring follows established patterns. All changes maintain the same visual appearance and functionality while improving code maintainability.
  • No files require special attention

Important Files Changed

Filename Overview
apps/sim/app/(auth)/login/login-form.tsx Refactored to use BrandedButton component, removed manual button styling and hover state management
apps/sim/app/(auth)/signup/signup-form.tsx Replaced custom button implementation with BrandedButton component
apps/sim/app/(landing)/careers/page.tsx Updated careers form to use BrandedButton with customization options (no arrow, not full width)
apps/sim/app/changelog/components/branded-link.tsx New component for branded links using useBrandedButtonClass hook

Sequence Diagram

sequenceDiagram
    participant User
    participant AuthForm as Auth Forms<br/>(login/signup/reset)
    participant BrandedButton
    participant Hook as useBrandedButtonClass
    participant CSS as globals.css
    
    User->>AuthForm: Interacts with form
    AuthForm->>BrandedButton: Renders with props<br/>(loading, loadingText, etc)
    BrandedButton->>Hook: Calls useBrandedButtonClass()
    Hook->>CSS: Checks --brand-accent-hex
    CSS-->>Hook: Returns custom or default brand
    Hook-->>BrandedButton: Returns class<br/>(branded-button-gradient<br/>or branded-button-custom)
    BrandedButton->>BrandedButton: Manages hover state<br/>(ChevronRight/ArrowRight)
    BrandedButton-->>AuthForm: Renders styled button
    AuthForm-->>User: Displays consistent branded button
Loading

@waleedlatif1 waleedlatif1 merged commit e2ccefb into staging Jan 22, 2026
12 checks passed
waleedlatif1 added a commit that referenced this pull request Jan 22, 2026
* fix(zustand): updated to useShallow from deprecated createWithEqualityFn (#2919)

* fix(logger): use direct env access for webpack inlining (#2920)

* fix(notifications): text overflow with line-clamp (#2921)

* chore(helm): add env vars for Vertex AI, orgs, and telemetry (#2922)

* fix(auth): improve reset password flow and consolidate brand detection (#2924)

* fix(auth): improve reset password flow and consolidate brand detection

* fix(auth): set errorHandled for EMAIL_NOT_VERIFIED to prevent duplicate error

* fix(auth): clear success message on login errors

* chore(auth): fix import order per lint

* fix(action-bar): duplicate subflows with children (#2923)

* fix(action-bar): duplicate subflows with children

* fix(action-bar): add validateTriggerPaste for subflow duplicate

* fix(resolver): agent response format, input formats, root level (#2925)

* fix(resolvers): agent response format, input formats, root level

* fix response block initial seeding

* fix tests

* fix(messages-input): fix cursor alignment and auto-resize with overlay (#2926)

* fix(messages-input): fix cursor alignment and auto-resize with overlay

* fixed remaining zustand warnings

* fix(stores): remove dead code causing log spam on startup (#2927)

* fix(stores): remove dead code causing log spam on startup

* fix(stores): replace custom tools zustand store with react query cache

* improvement(ui): use BrandedButton and BrandedLink components (#2930)

- Refactor auth forms to use BrandedButton component
- Add BrandedLink component for changelog page
- Reduce code duplication in login, signup, reset-password forms
- Update star count default value

* fix(custom-tools): remove unsafe title fallback in getCustomTool (#2929)

* fix(custom-tools): remove unsafe title fallback in getCustomTool

* fix(custom-tools): restore title fallback in getCustomTool lookup

Custom tools are referenced by title (custom_${title}), not database ID.
The title fallback is required for client-side tool resolution to work.

* fix(null-bodies): empty bodies handling (#2931)

* fix(null-statuses): empty bodies handling

* address bugbot comment

* fix(token-refresh): microsoft, notion, x, linear (#2933)

* fix(microsoft): proactive refresh needed

* fix(x): missing token refresh flag

* notion and linear missing flag too

* address bugbot comment

* fix(auth): handle EMAIL_NOT_VERIFIED in onError callback (#2932)

* fix(auth): handle EMAIL_NOT_VERIFIED in onError callback

* refactor(auth): extract redirectToVerify helper to reduce duplication

* fix(workflow-selector): use dedicated selector for workflow dropdown (#2934)

* feat(workflow-block): preview (#2935)

* improvement(copilot): tool configs to show nested props (#2936)

* fix(auth): add genericOAuth providers to trustedProviders (#2937)

---------

Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com>
Co-authored-by: Emir Karabeg <78010029+emir-karabeg@users.noreply.github.com>
@waleedlatif1 waleedlatif1 deleted the improvement/branded-button-refactor branch January 22, 2026 06:54
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