Skip to content

feat(apollo-vertex): add settings template#677

Open
petervachon wants to merge 1 commit into
mainfrom
feat/vertex-settings-template
Open

feat(apollo-vertex): add settings template#677
petervachon wants to merge 1 commit into
mainfrom
feat/vertex-settings-template

Conversation

@petervachon
Copy link
Copy Markdown
Collaborator

Summary

  • Adds a workspace settings page template under Templates → Settings
  • Demonstrates Field, Input, Textarea, Select, RadioGroup, and Switch primitives composed on the foundation grid
  • Form column constrained to lg:col-span-7 for readable line lengths; full-width on mobile/tablet
  • Draft/saved state comparison powers the disabled Save changes button — no external state library needed
  • Includes a full MDX docs page with composition breakdown, grid table, and customization guide

Test plan

  • Visit /templates/settings in the preview — all four sections render (Profile, Notifications, Regional, Privacy & security)
  • Edit a field — Save button becomes enabled; reset returns to defaults
  • Verify layout at mobile, tablet, and desktop breakpoints
  • Verify dark mode renders correctly

🤖 Generated with Claude Code

Adds a traditional settings page composition under Templates: a
vertically-stacked workspace settings form with Profile, Notifications,
Regional, and Privacy & security sections. Demonstrates Field, Input,
Textarea, Select, RadioGroup, and Switch primitives on the foundation
grid, with the form column constrained to lg:col-span-7 for readable
line lengths and Switch rows using FieldContent for proper
title-over-description layout.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@petervachon petervachon requested a review from a team as a code owner May 11, 2026 15:06
@petervachon petervachon requested review from angeloaltamiranom and pieman1313 and removed request for a team May 11, 2026 15:06
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 11, 2026

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

Project Deployment Review Updated (PT)
apollo-design 🟢 Ready Preview, Logs May 11, 2026, 08:10:58 AM
apollo-docs 🟢 Ready Preview, Logs May 11, 2026, 08:09:33 AM
apollo-landing 🟢 Ready Preview, Logs May 11, 2026, 08:07:46 AM
apollo-ui-react 🟢 Ready Preview, Logs May 11, 2026, 08:09:35 AM
apollo-vertex 🟢 Ready Preview, Logs May 11, 2026, 08:09:32 AM

@KokoMilev KokoMilev enabled auto-merge (rebase) May 11, 2026 15:06
@github-actions github-actions Bot added the size:XL 500-999 changed lines. label May 11, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Dependency License Review

  • 2105 package(s) scanned
  • ✅ No license issues found
  • ⚠️ 15 package(s) excluded (see details below)
License distribution
License Packages
MIT 1826
ISC 104
Apache-2.0 69
BSD-3-Clause 30
BSD-2-Clause 24
Copyright 2022, UiPath, all rights reserved 9
BlueOak-1.0.0 8
MPL-2.0 5
MIT OR Apache-2.0 3
MIT-0 3
Unknown 3
Unlicense 3
CC0-1.0 3
LGPL-3.0-or-later 2
(MIT OR Apache-2.0) 2
Python-2.0 1
CC-BY-4.0 1
(MPL-2.0 OR Apache-2.0) 1
BSD 1
Artistic-2.0 1
(WTFPL OR MIT) 1
(BSD-2-Clause OR MIT OR Apache-2.0) 1
CC-BY-3.0 1
0BSD 1
(MIT OR CC0-1.0) 1
MIT AND ISC 1
Excluded packages
Package Version License Reason
@img/sharp-libvips-linux-x64 1.2.4 LGPL-3.0-or-later LGPL pre-built binary, not linked
@img/sharp-libvips-linuxmusl-x64 1.2.4 LGPL-3.0-or-later LGPL pre-built binary, not linked
@uipath/apollo-angular-elements 5.89.0 Copyright 2022, UiPath, all rights reserved UiPath first-party package
@uipath/apollo-core 4.35.0, 4.35.1, 4.35.2 Copyright 2022, UiPath, all rights reserved UiPath first-party package
@uipath/apollo-fonts 1.25.8 Copyright 2022, UiPath, all rights reserved UiPath first-party package
@uipath/apollo-icons 1.33.7 Copyright 2022, UiPath, all rights reserved UiPath first-party package
@uipath/apollo-mui5 2.31.26, 2.31.27 Copyright 2022, UiPath, all rights reserved UiPath first-party package
@uipath/portal-shell 3.351.4 Copyright 2022, UiPath, all rights reserved UiPath first-party package
@uipath/portal-shell-react 3.149.36 Copyright 2022, UiPath, all rights reserved UiPath first-party package
@uipath/portal-shell-types 3.326.0 Copyright 2022, UiPath, all rights reserved UiPath first-party package
@uipath/portal-shell-util 1.114.0 Copyright 2022, UiPath, all rights reserved UiPath first-party package
@uipath/apollo-lab 25.12.0 Unknown UiPath first-party package
@uipath/telemetry-client-web 5.1.0 Unknown UiPath first-party package
khroma 2.1.0 Unknown MIT per GitHub repo, missing license field in package.json
hyperx 2.5.4 BSD BSD-2-Clause per LICENSE file, non-SPDX "BSD" in package.json

Comment on lines +127 to +154
const [draft, setDraft] = useState<SettingsDraft>(INITIAL_DRAFT);
const [saved, setSaved] = useState<SettingsDraft>(INITIAL_DRAFT);

const hasChanges =
draft.workspaceName !== saved.workspaceName ||
draft.description !== saved.description ||
draft.industry !== saved.industry ||
draft.emailFrequency !== saved.emailFrequency ||
draft.emailDigest !== saved.emailDigest ||
draft.browserPush !== saved.browserPush ||
draft.language !== saved.language ||
draft.timezone !== saved.timezone ||
draft.dateFormat !== saved.dateFormat ||
draft.visibility !== saved.visibility ||
draft.require2fa !== saved.require2fa;

const updateField = <K extends keyof SettingsDraft>(
key: K,
value: SettingsDraft[K],
) => {
setDraft((prev) => ({ ...prev, [key]: value }));
};

const handleSave = () => setSaved(draft);
const handleReset = () => {
setDraft(INITIAL_DRAFT);
setSaved(INITIAL_DRAFT);
};
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I see we are using react hook form in vertex, can we switch to showcasing that here instead of the manual plumbing?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app:apollo-vertex size:XL 500-999 changed lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants