mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
Add optional demographic and newsletter preference fields to the first user setup page, and redesign the setup form using non-MUI components ## New fields **Newsletter preferences** (opt-in checkboxes): - **Marketing updates** — product announcements, tips, best practices - **Release & security updates** — new releases, patches, security advisories ## Frontend redesign Migrated the setup page from MUI to the shadcn/ui design system used across the rest of the app: - Replaced MUI `TextField`, `MenuItem`, `Checkbox`, `Autocomplete` with `Input`, `Label`, `Select`, and `Checkbox` from `#/components` - Switched from Emotion `css` props to Tailwind utility classes - Left-aligned header, widened form container to 500px - Updated copy: "30-day trial", "Learn more", "Help us make Coder better" - Side-by-side layouts for first/last name, phone/country - Moved privacy policy text to always-visible onboarding section - Removed "Number of developers" field from trial section ### Implementation notes - The `onboarding_info` payload is fire-and-forget via `Telemetry.Report()` — not stored in the database - Country picker switched from MUI Autocomplete to Radix Select for design consistency - GitHub OAuth button preserved — conditionally rendered when `authMethods.github.enabled` - NewPasswordField is meant to be a drop in replacement for the MUI PasswordField ### References - #23989 - #24021 - #24014 - #24018 --------- Co-authored-by: Tracy Johnson <tracy@coder.com> Co-authored-by: Jeremy Ruppel <jeremy.ruppel@gmail.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Jeremy Ruppel <jeremyruppel@users.noreply.github.com> Co-authored-by: Kayla はな <mckayla@hey.com>