From 66a472267c9abfbb9568a6f0ab53c2db3a400544 Mon Sep 17 00:00:00 2001 From: asheen1234 Date: Tue, 12 May 2026 11:09:37 -0400 Subject: [PATCH] fix: add Bui theme Signed-off-by: asheen1234 --- .../RepoOwnerPicker/GitLabRepoOwnerPicker.tsx | 36 ++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/plugins/scaffolder/src/components/fields/RepoOwnerPicker/GitLabRepoOwnerPicker.tsx b/plugins/scaffolder/src/components/fields/RepoOwnerPicker/GitLabRepoOwnerPicker.tsx index 1136186ab5..1ebb2567be 100644 --- a/plugins/scaffolder/src/components/fields/RepoOwnerPicker/GitLabRepoOwnerPicker.tsx +++ b/plugins/scaffolder/src/components/fields/RepoOwnerPicker/GitLabRepoOwnerPicker.tsx @@ -18,14 +18,17 @@ import { useApi } from '@backstage/core-plugin-api'; import { scaffolderApiRef } from '@backstage/plugin-scaffolder-react'; import FormControl from '@material-ui/core/FormControl'; import FormHelperText from '@material-ui/core/FormHelperText'; -import TextField from '@material-ui/core/TextField'; -import Autocomplete from '@material-ui/lab/Autocomplete'; +import MuiTextField from '@material-ui/core/TextField'; +import MuiAutocomplete from '@material-ui/lab/Autocomplete'; import { useCallback, useState } from 'react'; import useDebounce from 'react-use/esm/useDebounce'; import { useTranslationRef } from '@backstage/core-plugin-api/alpha'; import { BaseRepoOwnerPickerProps } from './types'; import { scaffolderTranslationRef } from '../../../translation'; +import { useScaffolderTheme } from '@backstage/plugin-scaffolder-react/alpha'; +import { Autocomplete as BuiAutocomplete } from '../Autocomplete'; +import type { Key } from 'react-aria-components'; /** * The underlying component that is rendered in the form for the `GitLabRepoOwnerPicker` @@ -47,6 +50,7 @@ export const GitLabRepoOwnerPicker = ({ accessToken?: string; excludedOwners?: string[]; }>) => { + const theme = useScaffolderTheme(); const { host, owner } = state; const [availableOwners, setAvailableOwners] = useState([]); @@ -81,13 +85,37 @@ export const GitLabRepoOwnerPicker = ({ useDebounce(updateAvailableOwners, 500, [updateAvailableOwners]); + if (theme === 'bui') { + const options = availableOwners.map(o => ({ label: o, value: o })); + + return ( + onChange({ owner: value })} + onSelectionChange={(key: Key | null) => { + if (key !== null) { + onChange({ owner: String(key) }); + } + }} + options={options} + isDisabled={isDisabled} + isRequired={required} + isInvalid={rawErrors?.length > 0 && !owner} + /> + ); + } + return ( 0 && !owner} > - { onChange({ owner: newValue || '' }); @@ -95,7 +123,7 @@ export const GitLabRepoOwnerPicker = ({ disabled={isDisabled} options={availableOwners} renderInput={params => ( -