fix(apollo-react): default add-node search placeholder to "Search nodes" [MST-11831]#880
fix(apollo-react): default add-node search placeholder to "Search nodes" [MST-11831]#880KodudulaAshishUiPath wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Dependency License Review
License distribution
Excluded packages
|
There was a problem hiding this comment.
Pull request overview
Updates the canvas add-node search UX copy in @uipath/apollo-react so the placeholder describes what the user is searching, aligning with the referenced content audit guidance.
Changes:
- Added a new Lingui message id for the add-node search placeholder and defaulted it to “Search nodes” in
AddNodePanel. - Extended
Toolboxwith an optionalsearchPlaceholderprop (default remains the existing generic “Search”). - Plumbed the optional
searchPlaceholderthroughAddNodePanelso hosts can override it with context-specific copy.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| packages/apollo-react/src/canvas/locales/en.json | Adds addNodePanel.searchNodes English catalog entry (“Search nodes”). |
| packages/apollo-react/src/canvas/components/Toolbox/Toolbox.tsx | Introduces optional searchPlaceholder prop and applies it to the search input placeholder with a backwards-compatible default. |
| packages/apollo-react/src/canvas/components/AddNodePanel/AddNodePanel.types.ts | Adds optional searchPlaceholder prop to AddNodePanelProps. |
| packages/apollo-react/src/canvas/components/AddNodePanel/AddNodePanel.tsx | Defaults add-node placeholder to the new Lingui message (“Search nodes”) and passes through host override. |
📊 Coverage + size by packagePer-package coverage and bundle size on this PR. New-line coverage = of the source lines this PR adds or changes, the % hit by tests.
"Coverage" is each package's own |
440cc27 to
7317713
Compare
7317713 to
2337a94
Compare
| fullHeight = false, | ||
| quickActions, | ||
| renderEmptyState, | ||
| searchPlaceholder: searchPlaceholderProp, | ||
| }: ToolboxProps<T>) { | ||
| const { _ } = useSafeLingui(); | ||
| const searchPlaceholder = _({ id: 'toolbox.search', message: 'Search' }); | ||
| const searchPlaceholder = searchPlaceholderProp ?? _({ id: 'toolbox.search', message: 'Search' }); |
| loading={loading} | ||
| onItemSelect={handleNodeListItemSelect} | ||
| onSearch={handleSearch} | ||
| onClose={onClose} | ||
| onItemHover={onNodeHover} | ||
| renderEmptyState={renderEmptyState} | ||
| searchPlaceholder={ | ||
| searchPlaceholder ?? _({ id: 'addNodePanel.searchNodes', message: 'Search nodes' }) | ||
| } |
| searchPlaceholder={ | ||
| searchPlaceholder ?? _({ id: 'add-node-panel.search-nodes', message: 'Search nodes' }) | ||
| } |
| }: ToolboxProps<T>) { | ||
| const { _ } = useSafeLingui(); | ||
| const searchPlaceholder = _({ id: 'toolbox.search', message: 'Search' }); | ||
| const searchPlaceholder = searchPlaceholderProp ?? _({ id: 'toolbox.search', message: 'Search' }); |
| "sticky-note.toolbar.color": "Color", | ||
| "sticky-note.toolbar.delete": "Delete", | ||
| "sticky-note.toolbar.edit": "Edit", | ||
| "add-node-panel.search-nodes": "Search nodes", |
2337a94 to
25de34c
Compare
Summary
AddNodePanelnow defaults its search placeholder to "Search nodes" (new lingui messageadd-node-panel.search-nodes).AddNodePanelandToolboxexpose an optionalsearchPlaceholderprop so hosts can pass scoped copy ("Search agents", "Search data nodes") per menu context.Changes
Toolbox: new optionalsearchPlaceholderprop; default behavior unchanged (linguitoolbox.search= "Search"), so other Toolbox consumers (e.g. StageNode) are unaffectedAddNodePanel+AddNodePanel.types: pass-through prop, defaulting to "Search nodes"src/canvas/locales/en.json:add-node-panel.search-nodesentry (English only; translated catalogs land via the usual translator flow), kebab-cased to match the catalog's key conventionTesting
searchPlaceholderprop: Toolbox renders a custom placeholder, AddNodePanel defaults to "Search nodes" and forwards a host overrideturbo run typecheck --filter=@uipath/apollo-reactgreen; biome lint shows only pre-existing warningspnpm run i18n:extractcurrently fails repo-wide on a pre-existing duplicate id in ap-chat (autopilot-chat.error.multiple-fileshas two different default texts) — the catalog entry was added by hand and verified withi18n:compile