- Create RequestSubmittedModal component matching design specs:
- 448x170px, black background, border-radius 6px
- Close button (X) at top right with 0.7 opacity
- Title: 'Request submitted' (18px semibold)
- Description text (14px, #8C8C8C)
- Done button to dismiss and navigate to homepage
- Update InformationRequestForm to show modal on successful submit
- Navigate to '/' (homepage) when modal is closed
- Add i18n translations for modal text (15 languages):
- ENTERPRISE$REQUEST_SUBMITTED_TITLE
- ENTERPRISE$REQUEST_SUBMITTED_DESCRIPTION
- ENTERPRISE$DONE_BUTTON
- MODAL$CLOSE_BUTTON_LABEL
- Add unit tests for RequestSubmittedModal (10 tests)
- Update form tests for modal behavior (22 tests)
Co-authored-by: openhands <openhands@all-hands.dev>
- Remove always-visible red asterisk from required fields
- Add showError prop to FormInput for conditional error display
- Add hasAttemptedSubmit state to track form submission attempts
- Show red border only when: showError=true AND required AND empty
- Add aria-invalid attribute for accessibility
- Prevent form submission when required fields are empty
- Update unit tests for new validation behavior
Co-authored-by: openhands <openhands@all-hands.dev>
- Revert ServerIcon back to StackedIcon in login-cta.tsx
- Revert ServerIcon back to StackedIcon in context-menu-cta.tsx
- Revert test name back to 'stacked icon'
This PR should only add stacked icon to new files, not rename
existing icon usage.
Co-authored-by: openhands <openhands@all-hands.dev>
- Add required prop to FormInput with red asterisk indicator
- Make all form fields required (name, company, email, message)
- Add aria-label and aria-required attributes to inputs
- Add aria-label to all buttons (Back, Submit, Learn More)
- Add role='group' to button container
- Fix logo size inconsistency (55px → 56px)
Co-authored-by: openhands <openhands@all-hands.dev>
- Add full description for self-hosted option including:
'Ideal for enterprises that require on-premises or private cloud deployment.'
- Updated all 15 language translations
Co-authored-by: openhands <openhands@all-hands.dev>
- Add gradient variant with 'standard' option to card.tsx
- Semi-transparent background (#0A0A0A80)
- Border-top color (#24242499)
- Box shadow for depth
- Radial gradient overlay via before pseudo-element
- Update information-request-form to use gradient='standard' variant
- Remove inline style overrides in favor of variant
Co-authored-by: openhands <openhands@all-hands.dev>
- Add wave.svg icon for form header
- Redesign form with side-by-side layout: form fields left, info card right
- Show different content based on request type (SaaS vs Self-hosted)
- Different titles, subtitles, and message placeholders per type
- Use Card component for info card section
- Submit navigates to home page (/)
- Back returns to card selection view
- Update i18n translations for all form labels and placeholders
Co-authored-by: openhands <openhands@all-hands.dev>
- Create InformationRequestForm component in features/onboarding
- Update information-request route to show form when Learn More is clicked
- Change back button to navigate to /login instead of browser history
- Add i18n translations for form fields (name, email, company, message)
- Form back button returns to card selection view
Co-authored-by: openhands <openhands@all-hands.dev>
The stacked.svg icon was mistakenly deleted in a previous commit
but is still needed by information-request.tsx.
Co-authored-by: openhands <openhands@all-hands.dev>
- Add hover='elevated' variant to Card component with proper gradients:
- Linear gradient background (180deg, #0F0F0F to #0A0A0A)
- Radial gradient overlay for subtle glow effect
- Border-top and box-shadow on hover
- Simplify onboarding routes: use index for onboarding-form
- Update onboarding-layout background to bg-black
- Simplify icon usage in information-request (remove wrapper div)
Co-authored-by: openhands <openhands@all-hands.dev>
- Add new route /onboarding/information-request for enterprise lead capture
- Create onboarding layout with shared dark background for onboarding routes
- Refactor onboarding routes to use layout pattern with child routes
- Add EnterpriseCard component with SaaS and Self-hosted options
- Add cloud.svg icon for Enterprise SaaS card
- Rename stacked.svg to server.svg (deleted stacked.svg)
- Update all usages of StackedIcon to ServerIcon
- Add i18n translations for all new text content (all languages)
- Add new paths to intermediate pages list
Co-authored-by: openhands <openhands@all-hands.dev>