Skip to content

Commit 2259215

Browse files
shaurya-harnessHarness
authored andcommitted
fix: edit connector flow and cards for delegate selector (#10338)
* 15c3bc fix: edit connector flow and cards for delegate selector
1 parent fd9a834 commit 2259215

File tree

8 files changed

+38
-25
lines changed

8 files changed

+38
-25
lines changed

apps/design-system/src/subjects/views/connectors/connector-details.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ const ConnectorsDetailsPageWrapper = (): JSX.Element => {
6565
connectorDetails={connectorDetails}
6666
onTest={noop}
6767
onDelete={noop}
68+
onEdit={noop}
6869
toConnectorsList={() => '/connectors'}
6970
>
7071
<Tabs.Content className="mt-9" value={ConnectorDetailsTabsKeys.CONFIGURATION}>

packages/ui/locales/en/views.json

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,6 @@
381381
"RequireMinDefaultReviewers": "Require a minimum number of default reviewers",
382382
"RequireMinDefaultReviewersDescription": "Require approval on pull requests from a minimum number of default reviewers",
383383
"newRule": "New branch rule",
384-
"deleteConnector": "Delete Connector",
385384
"deleteSecret": "Delete Secret",
386385
"status": "Status",
387386
"branchCreated": "Branch created",
@@ -404,7 +403,8 @@
404403
"connectorId": "Connector ID",
405404
"success": "Success",
406405
"failure": "Failed",
407-
"delete": "Delete",
406+
"editConnector": "Edit Connector",
407+
"deleteConnector": "Delete Connector",
408408
"configuration": "Configuration",
409409
"references": "References",
410410
"activityHistory": "Activity history",
@@ -414,6 +414,7 @@
414414
"id": "Connector ID",
415415
"connectivityStatus": "Connectivity status",
416416
"updated": "Last updated",
417+
"delete": "Delete",
417418
"filterOptions": {
418419
"statusOption": {
419420
"success": "Success",
@@ -517,12 +518,12 @@
517518
"useAnyDelegate": "Use any available delegate",
518519
"delegateTags": "Delegate with tags",
519520
"useDelegateTags": "Use delegate with following tags",
520-
"noDelegatesInstalled": "Haven't installed a delegate yet?",
521-
"installDelegate": "Install delegate",
522521
"enterTags": "Enter tags",
523522
"testDelegate": "Test Delegate connectivity",
524523
"delegateMatches": "Matches: ",
525-
"connectDelegates": "Connect "
524+
"connectDelegates": "Connect ",
525+
"noDelegatesInstalled": "Haven't installed a delegate yet?",
526+
"installDelegate": "Install delegate"
526527
},
527528
"createProject": {
528529
"backButton": "Back",

packages/ui/locales/fr/views.json

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,8 @@
394394
"connectorId": "Connector ID",
395395
"success": "Succès",
396396
"failure": "Échec",
397-
"delete": "Supprimer",
397+
"editConnector": "modifier connecteur",
398+
"deleteConnector": "supprimer connecteur",
398399
"configuration": "Configuration",
399400
"references": "Références",
400401
"activityHistory": "Historique des activités",
@@ -404,6 +405,7 @@
404405
"id": "ID du connecteur",
405406
"connectivityStatus": "État de la connexion",
406407
"updated": "Dernière mise à jour",
408+
"delete": "Supprimer",
407409
"filterOptions": {
408410
"statusOption": {
409411
"success": "Succès",
@@ -507,12 +509,12 @@
507509
"useAnyDelegate": "Use any available delegate",
508510
"delegateTags": "Delegate with tags",
509511
"useDelegateTags": "Use delegate with following tags",
510-
"noDelegatesInstalled": "Haven't installed a delegate yet?",
511-
"installDelegate": "Install Delegate",
512512
"enterTags": "Enter tags",
513513
"testDelegate": "Test Delegate connectivity",
514514
"delegateMatches": "Matches:",
515-
"connectDelegates": "Connect "
515+
"connectDelegates": "Connect ",
516+
"noDelegatesInstalled": "Haven't installed a delegate yet?",
517+
"installDelegate": "Install Delegate"
516518
},
517519
"createProject": {
518520
"backButton": "Retour",

packages/ui/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@harnessio/ui",
33
"description": "Harness Canary UI component library",
4-
"version": "0.0.106",
4+
"version": "0.0.107",
55
"private": false,
66
"type": "module",
77
"main": "./dist/index.js",

packages/ui/src/views/connectors/connector-details/connector-details-header.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ const ConnectorDetailsHeader: FC<ConnectorDetailsHeaderProps> = ({
1010
connectorDetails,
1111
onTest,
1212
onDelete,
13+
onEdit,
1314
toConnectorsList
1415
}) => {
1516
const { createdAt, lastModifiedAt, lastTestedAt, lastConnectedAt, status, type } = connectorDetails
@@ -89,9 +90,14 @@ const ConnectorDetailsHeader: FC<ConnectorDetailsHeaderProps> = ({
8990
<Button onClick={() => onTest(connectorDetails.identifier)}>Test Connection</Button>
9091
<MoreActionsTooltip
9192
actions={[
93+
{
94+
isDanger: false,
95+
title: t('views:connectors.editConnector', 'Edit connector'),
96+
onClick: () => onEdit()
97+
},
9298
{
9399
isDanger: true,
94-
title: t('views:connectors.delete', 'Delete connector'),
100+
title: t('views:connectors.deleteConnector', 'Delete connector'),
95101
onClick: () => onDelete(connectorDetails.identifier)
96102
}
97103
]}

packages/ui/src/views/connectors/connector-details/connector-details-layout.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ const ConnectorDetailsLayout = ({
1111
connectorDetails,
1212
onTest,
1313
onDelete,
14+
onEdit,
1415
children,
1516
toConnectorsList
1617
}: ConnectorDetailsLayoutProps) => {
@@ -28,6 +29,7 @@ const ConnectorDetailsLayout = ({
2829
connectorDetails={connectorDetails}
2930
onTest={onTest}
3031
onDelete={onDelete}
32+
onEdit={onEdit}
3133
toConnectorsList={toConnectorsList}
3234
/>
3335
<Tabs.Root

packages/ui/src/views/connectors/connector-details/types.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ export interface ConnectorDetailsLayoutProps {
9393
connectorDetails: ConnectorDetailsItem
9494
onTest: (connectorId: string) => void
9595
onDelete: (connectorId: string) => void
96+
onEdit: () => void
9697
children: React.ReactNode
9798
toConnectorsList?: () => string
9899
}
@@ -116,6 +117,7 @@ export interface ConnectorDetailsHeaderProps {
116117
connectorDetails: ConnectorDetailsItem
117118
onTest: (connectorId: string) => void
118119
onDelete: (connectorId: string) => void
120+
onEdit: () => void
119121
toConnectorsList?: () => string
120122
}
121123

packages/ui/src/views/delegates/delegate-selector/delegate-selector-form.tsx

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@ import {
55
Alert,
66
Button,
77
ButtonLayout,
8+
CardSelect,
89
Drawer,
910
EntityFormLayout,
1011
Fieldset,
1112
FormInput,
1213
FormSeparator,
1314
FormWrapper,
14-
Link,
1515
Spacer,
1616
Text
1717
} from '@/components'
1818
import { useTranslation } from '@/context'
1919
import { DelegateConnectivityList, DelegateItem } from '@/views'
2020
import { zodResolver } from '@hookform/resolvers/zod'
21-
import { RadioSelect, RadioSelectOption } from '@views/components/RadioSelect'
21+
import { RadioSelectOption } from '@views/components/RadioSelect'
2222
import { z } from 'zod'
2323

2424
const componentsMap: Record<
@@ -158,23 +158,22 @@ export const DelegateSelectorForm: FC<DelegateSelectorFormProps> = ({
158158
return (
159159
<>
160160
<Body {...bodyProps}>
161-
<div className="flex">
162-
{t('views:delegates.noDelegatesInstalled', `Haven't installed a delegate yet?`)}
163-
{/* TODO: Design system : Update Attachment icon */}
164-
<Link className="ml-1 flex flex-row items-center" to="#" suffixIcon="supply-chain">
165-
{t('views:delegates.installDelegate', 'Install Delegate')}
166-
</Link>
167-
</div>
168161
<Spacer size={5} />
169162
<FormWrapper {...formMethods} className="flex h-full flex-col" onSubmit={handleSubmit(onSubmit)}>
170163
<Fieldset className="mb-0">
171-
<RadioSelect
172-
id="type"
164+
<CardSelect.Root
165+
type="single"
173166
{...register('type')}
174-
options={options}
175167
value={delegateType}
176-
onValueChange={value => setValue('type', value)}
177-
/>
168+
onValueChange={(value: unknown) => setValue('type', value as DelegateSelectionTypes)}
169+
>
170+
{options.map(option => (
171+
<CardSelect.Item value={option.value} key={option.value?.toString()} disabled={option.disabled}>
172+
<CardSelect.Title>{option.title}</CardSelect.Title>
173+
{option.description && <CardSelect.Description>{option.description}</CardSelect.Description>}
174+
</CardSelect.Item>
175+
))}
176+
</CardSelect.Root>
178177
</Fieldset>
179178

180179
{apiError && (

0 commit comments

Comments
 (0)