From 006a3530fae552c9eaa3c5f87a42594cd4364972 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Goral?= Date: Wed, 22 Oct 2025 12:01:23 +0200 Subject: [PATCH 01/15] Update MCPHealthPopoverButton.tsx --- .../ControlPlane/MCPHealthPopoverButton.tsx | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/components/ControlPlane/MCPHealthPopoverButton.tsx b/src/components/ControlPlane/MCPHealthPopoverButton.tsx index 8ed4d7e7..90a51b26 100644 --- a/src/components/ControlPlane/MCPHealthPopoverButton.tsx +++ b/src/components/ControlPlane/MCPHealthPopoverButton.tsx @@ -11,7 +11,7 @@ import { import { AnalyticalTableColumnDefinition } from '@ui5/webcomponents-react/wrappers'; import PopoverPlacement from '@ui5/webcomponents/dist/types/PopoverPlacement.js'; import '@ui5/webcomponents-icons/dist/copy'; -import { JSX, useRef, useState, ReactNode } from 'react'; +import { JSX, useRef, useState } from 'react'; import type { ButtonClickEventDetail } from '@ui5/webcomponents/dist/Button.js'; import { ControlPlaneStatusType, @@ -27,13 +27,11 @@ import type { Ui5CustomEvent } from '@ui5/webcomponents-react-base'; interface CellData { cell: { - value: ReactNode; + value: T | undefined; + row: { + original: Record; + }; }; - row: { - original: T; - [key: string]: unknown; - }; - [key: string]: unknown; } type MCPHealthPopoverButtonProps = { @@ -99,7 +97,7 @@ const MCPHealthPopoverButton = ({ mcpStatus, projectName, workspaceName, mcpName Header: t('MCPHealthPopoverButton.statusHeader'), accessor: 'status', width: 50, - Cell: (instance: CellData) => { + Cell: (instance: CellData) => { const isReady = instance.cell.value === 'True'; return ( ) => { + Cell: (instance: CellData) => { return {instance.cell.value}; }, }, @@ -121,7 +119,7 @@ const MCPHealthPopoverButton = ({ mcpStatus, projectName, workspaceName, mcpName Header: t('MCPHealthPopoverButton.messageHeader'), accessor: 'message', width: 350, - Cell: (instance: CellData) => { + Cell: (instance: CellData) => { return {instance.cell.value}; }, }, @@ -129,7 +127,7 @@ const MCPHealthPopoverButton = ({ mcpStatus, projectName, workspaceName, mcpName Header: t('MCPHealthPopoverButton.reasonHeader'), accessor: 'reason', width: 100, - Cell: (instance: CellData) => { + Cell: (instance: CellData) => { return {instance.cell.value}; }, }, @@ -137,7 +135,7 @@ const MCPHealthPopoverButton = ({ mcpStatus, projectName, workspaceName, mcpName Header: t('MCPHealthPopoverButton.transitionHeader'), accessor: 'lastTransitionTime', width: 125, - Cell: (instance: CellData) => { + Cell: (instance: CellData) => { const rawDate = instance.cell.value; const date = new Date(rawDate as string); return ( From 9bb5bf2863abea935fcb1f59724faadb7e6283e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Goral?= Date: Wed, 22 Oct 2025 12:03:13 +0200 Subject: [PATCH 02/15] Update ImportMembersDialog.tsx --- src/components/Members/ImportMembersDialog.tsx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/components/Members/ImportMembersDialog.tsx b/src/components/Members/ImportMembersDialog.tsx index 0128976c..9d5a3bf2 100644 --- a/src/components/Members/ImportMembersDialog.tsx +++ b/src/components/Members/ImportMembersDialog.tsx @@ -25,6 +25,15 @@ import { useTranslation } from 'react-i18next'; import IllustratedError from '../Shared/IllustratedError.tsx'; import { TFunction } from 'i18next'; +interface CellData { + cell: { + value: T | undefined; + row: { + original: Record; + }; + }; +} + type FilteredFor = 'All' | 'Users' | 'ServiceAccounts'; type SourceType = 'Workspace' | 'Project'; type TableRow = { @@ -91,8 +100,9 @@ export const ImportMembersDialog: FC = ({ Header: t('MemberTable.columnTypeHeader'), accessor: 'kind', width: 145, - Cell: (instance: { cell: { row: { original: TableRow } } }) => { - const kind = ACCOUNT_TYPES.find(({ value }) => value === instance.cell.row.original.kind); + Cell: (instance: CellData) => { + const original = instance.cell.row.original as TableRow; + const kind = ACCOUNT_TYPES.find(({ value }) => value === original.kind); return ( From 0d66cf86e5b1a50628be5392cec71c758c359d50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Goral?= Date: Wed, 22 Oct 2025 12:05:35 +0200 Subject: [PATCH 03/15] Update MemberTable.tsx --- src/components/Members/MemberTable.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/Members/MemberTable.tsx b/src/components/Members/MemberTable.tsx index d77131f6..106faed4 100644 --- a/src/components/Members/MemberTable.tsx +++ b/src/components/Members/MemberTable.tsx @@ -25,7 +25,7 @@ type MemberTableProps = { type CellInstance = { cell: { row: { - original: MemberTableRow; + original: Record; }; }; }; @@ -81,7 +81,7 @@ export const MemberTable: FC = ({ icon="edit" design="Transparent" onClick={() => { - const selectedMember = instance.cell.row.original._member; + const selectedMember = instance.cell.row.original._member as Member; onEditMember(selectedMember); }} /> @@ -89,7 +89,7 @@ export const MemberTable: FC = ({ design="Transparent" icon="delete" onClick={() => { - const selectedMemberEmail = instance.cell.row.original.email; + const selectedMemberEmail = instance.cell.row.original.email as string; onDeleteMember(selectedMemberEmail); }} /> From 431a8544474900392a9264eae56aa8431eb44631 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Goral?= Date: Wed, 22 Oct 2025 12:07:19 +0200 Subject: [PATCH 04/15] Update Providers.tsx --- src/components/ControlPlane/Providers.tsx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/components/ControlPlane/Providers.tsx b/src/components/ControlPlane/Providers.tsx index 977a9537..ab54e25b 100644 --- a/src/components/ControlPlane/Providers.tsx +++ b/src/components/ControlPlane/Providers.tsx @@ -26,9 +26,9 @@ import { Resource } from '../../utils/removeManagedFieldsAndFilterData.ts'; interface CellData { cell: { - value: T | null; + value: T | undefined; row: { - original?: ProvidersRow; + original: Record; }; }; } @@ -78,14 +78,14 @@ export function Providers() { width: 125, Filter: ({ column }) => , filter: 'equals', - Cell: (cellData: CellData) => + Cell: (cellData: CellData) => cellData.cell.row.original?.installed != null ? ( ) : null, }, @@ -96,14 +96,14 @@ export function Providers() { width: 125, Filter: ({ column }) => , filter: 'equals', - Cell: (cellData: CellData) => + Cell: (cellData: CellData) => cellData.cell.row.original?.installed != null ? ( ) : null, }, @@ -113,7 +113,7 @@ export function Providers() { width: 75, accessor: 'yaml', disableFilters: true, - Cell: (cellData: CellData) => ( + Cell: (cellData: CellData) => ( ), }, From e3f03c3d7d435a822766d2d4a906442dbb962496 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Goral?= Date: Wed, 22 Oct 2025 12:09:00 +0200 Subject: [PATCH 05/15] Update ControlPlaneListWorkspaceGridTile.tsx --- .../ControlPlanes/List/ControlPlaneListWorkspaceGridTile.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/ControlPlanes/List/ControlPlaneListWorkspaceGridTile.tsx b/src/components/ControlPlanes/List/ControlPlaneListWorkspaceGridTile.tsx index b3ecef31..cf97ef31 100644 --- a/src/components/ControlPlanes/List/ControlPlaneListWorkspaceGridTile.tsx +++ b/src/components/ControlPlanes/List/ControlPlaneListWorkspaceGridTile.tsx @@ -52,7 +52,7 @@ export function ControlPlaneListWorkspaceGridTile({ projectName, workspace }: Pr const errorView = createErrorView(cpsError); const shouldCollapsePanel = !!errorView; - function createErrorView(error: APIError) { + function createErrorView(error: APIError | undefined) { if (error) { if (error.status === 403) { return ( From 7381ebe7d57ae41e38754a922053c8164b4acb23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Goral?= Date: Wed, 22 Oct 2025 12:10:38 +0200 Subject: [PATCH 06/15] Update FeedbackButton.tsx --- src/components/Core/FeedbackButton.tsx | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/components/Core/FeedbackButton.tsx b/src/components/Core/FeedbackButton.tsx index 1fc3d8aa..d623e129 100644 --- a/src/components/Core/FeedbackButton.tsx +++ b/src/components/Core/FeedbackButton.tsx @@ -17,6 +17,7 @@ import { Dispatch, RefObject, SetStateAction, useRef, useState } from 'react'; import { useAuthOnboarding } from '../../spaces/onboarding/auth/AuthContextOnboarding'; import { useTranslation } from 'react-i18next'; import { ButtonClickEventDetail } from '@ui5/webcomponents/dist/Button.js'; +import { TextAreaInputEventDetail } from '@ui5/webcomponents/dist/TextArea.js'; import PopoverPlacement from '@ui5/webcomponents/dist/types/PopoverPlacement.js'; import ButtonDesign from '@ui5/webcomponents/dist/types/ButtonDesign.js'; @@ -35,7 +36,7 @@ export function FeedbackButton() { setFeedbackPopoverOpen(!feedbackPopoverOpen); }; - const onFeedbackMessageChange = (event: Ui5CustomEvent) => { + const onFeedbackMessageChange = (event: Ui5CustomEvent) => { const newValue = event.target.value; setFeedbackMessage(newValue); }; @@ -98,15 +99,7 @@ const FeedbackPopover = ({ rating: number; onFeedbackSent: () => void; feedbackMessage: string; - onFeedbackMessageChange: ( - event: Ui5CustomEvent< - TextAreaDomRef, - { - value: string; - previousValue: string; - } - >, - ) => void; + onFeedbackMessageChange: (event: Ui5CustomEvent) => void; feedbackSent: boolean; }) => { const { t } = useTranslation(); From 5d012a806ee7987f6b6ef77e96f764a6c9d57b34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Goral?= Date: Wed, 22 Oct 2025 12:12:45 +0200 Subject: [PATCH 07/15] Update ProjectsList.tsx --- src/components/Projects/ProjectsList.tsx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/components/Projects/ProjectsList.tsx b/src/components/Projects/ProjectsList.tsx index 3284f27f..57428767 100644 --- a/src/components/Projects/ProjectsList.tsx +++ b/src/components/Projects/ProjectsList.tsx @@ -20,9 +20,9 @@ type ProjectListRow = { type ProjectListCellInstance = { cell: { - value: string; + value: T | undefined; row: { - original: T; + original: Record; }; }; }; @@ -47,7 +47,7 @@ export default function ProjectsList() { { Header: t('ProjectsListView.title'), accessor: 'projectName', - Cell: (instance: ProjectListCellInstance) => ( + Cell: (instance: ProjectListCellInstance) => ( { - navigate(`/mcp/projects/${instance.cell.row.original?.projectName}`); + navigate(`/mcp/projects/${instance.cell.row.original?.projectName as string}`); }} > {instance.cell.value} @@ -68,7 +68,7 @@ export default function ProjectsList() { Header: 'Namespace', accessor: 'nameSpace', width: 340, - Cell: (instance: ProjectListCellInstance) => ( + Cell: (instance: ProjectListCellInstance) => (
- +
), }, @@ -89,7 +89,7 @@ export default function ProjectsList() { width: 75, disableFilters: true, hAlign: 'Center' as const, - Cell: (instance: ProjectListCellInstance) => ( + Cell: (instance: ProjectListCellInstance) => (
), @@ -112,7 +112,7 @@ export default function ProjectsList() { width: 60, disableFilters: true, hAlign: 'Center' as const, - Cell: (instance: ProjectListCellInstance) => ( + Cell: (instance: ProjectListCellInstance) => (
- +
), }, From 9f73cb9d854171d755b79b3ad7c7e79529a6b38f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Goral?= Date: Wed, 22 Oct 2025 12:13:51 +0200 Subject: [PATCH 08/15] Update YamlEditor.tsx --- src/components/YamlEditor/YamlEditor.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/YamlEditor/YamlEditor.tsx b/src/components/YamlEditor/YamlEditor.tsx index eafa5a7a..c55e4c66 100644 --- a/src/components/YamlEditor/YamlEditor.tsx +++ b/src/components/YamlEditor/YamlEditor.tsx @@ -45,7 +45,9 @@ export const YamlEditor = (props: YamlEditorProps) => { if (isEdit) { setEditorContent(val ?? ''); } - onChange?.(val ?? '', event); + if (event) { + onChange?.(val ?? '', event); + } }, [isEdit, onChange], ); From 5adc8affef3254096f1e34337aaaf590a653e1b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Goral?= Date: Wed, 22 Oct 2025 12:16:44 +0200 Subject: [PATCH 09/15] Update hintsCardsRowCalculations.spec.ts --- src/utils/hintsCardsRowCalculations.spec.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/utils/hintsCardsRowCalculations.spec.ts b/src/utils/hintsCardsRowCalculations.spec.ts index d5c1df9f..79cd4187 100644 --- a/src/utils/hintsCardsRowCalculations.spec.ts +++ b/src/utils/hintsCardsRowCalculations.spec.ts @@ -28,7 +28,8 @@ describe('calculations', () => { metadata: { name: 'test-resource', creationTimestamp: '2023-01-01T00:00:00Z', - labels: [], + resourceVersion: '1', + labels: {}, }, status: { conditions, From cb906455bb6fcc39a83cb026061b578dfb150a4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Goral?= Date: Wed, 22 Oct 2025 12:45:42 +0200 Subject: [PATCH 10/15] Update build.yaml --- .github/workflows/build.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index ca3bc30d..c49d33ca 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -24,6 +24,9 @@ jobs: - name: Lint run: npm run lint + - name: TypeScript Type Check + run: npx tsc --noEmit + - name: Run Vitest Tests run: npm run test:vi From 45687d70cb2e0f4262757ce098be3256222c07ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Goral?= Date: Wed, 22 Oct 2025 13:20:58 +0200 Subject: [PATCH 11/15] Update src/components/ControlPlane/Providers.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- src/components/ControlPlane/Providers.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/ControlPlane/Providers.tsx b/src/components/ControlPlane/Providers.tsx index ab54e25b..06496beb 100644 --- a/src/components/ControlPlane/Providers.tsx +++ b/src/components/ControlPlane/Providers.tsx @@ -26,7 +26,7 @@ import { Resource } from '../../utils/removeManagedFieldsAndFilterData.ts'; interface CellData { cell: { - value: T | undefined; + value: T | null; row: { original: Record; }; From d7ff0412981c305d91f63012f1ff04de001f2fa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Goral?= Date: Wed, 22 Oct 2025 13:21:18 +0200 Subject: [PATCH 12/15] Update src/components/Projects/ProjectsList.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- src/components/Projects/ProjectsList.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Projects/ProjectsList.tsx b/src/components/Projects/ProjectsList.tsx index 57428767..d88316f7 100644 --- a/src/components/Projects/ProjectsList.tsx +++ b/src/components/Projects/ProjectsList.tsx @@ -121,7 +121,7 @@ export default function ProjectsList() { alignItems: 'center', }} > - + ), }, From 7e966946c64ad186c0eba01ee0ebeb1998a0543b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Goral?= Date: Wed, 22 Oct 2025 13:31:06 +0200 Subject: [PATCH 13/15] fix --- src/components/ControlPlane/Providers.tsx | 11 +++++------ src/components/Projects/ProjectsList.tsx | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/components/ControlPlane/Providers.tsx b/src/components/ControlPlane/Providers.tsx index 06496beb..e92a52d0 100644 --- a/src/components/ControlPlane/Providers.tsx +++ b/src/components/ControlPlane/Providers.tsx @@ -24,14 +24,13 @@ import StatusFilter from '../Shared/StatusFilter/StatusFilter.tsx'; import { ResourceStatusCell } from '../Shared/ResourceStatusCell.tsx'; import { Resource } from '../../utils/removeManagedFieldsAndFilterData.ts'; -interface CellData { +type CellInstance = { cell: { - value: T | null; row: { original: Record; }; }; -} +}; type ProvidersRow = { name: string; @@ -78,7 +77,7 @@ export function Providers() { width: 125, Filter: ({ column }) => , filter: 'equals', - Cell: (cellData: CellData) => + Cell: (cellData: CellInstance) => cellData.cell.row.original?.installed != null ? ( , filter: 'equals', - Cell: (cellData: CellData) => + Cell: (cellData: CellInstance) => cellData.cell.row.original?.installed != null ? ( ) => ( + Cell: (cellData: CellInstance) => ( ), }, diff --git a/src/components/Projects/ProjectsList.tsx b/src/components/Projects/ProjectsList.tsx index d88316f7..57428767 100644 --- a/src/components/Projects/ProjectsList.tsx +++ b/src/components/Projects/ProjectsList.tsx @@ -121,7 +121,7 @@ export default function ProjectsList() { alignItems: 'center', }} > - + ), }, From 05f0a166aa538e969f8f4f40675ffe3ac7538eb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Goral?= Date: Mon, 27 Oct 2025 11:53:10 +0100 Subject: [PATCH 14/15] fix --- .github/workflows/build.yaml | 2 +- package.json | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index d2f45a8b..b05b2ae8 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -25,7 +25,7 @@ jobs: run: npm run lint - name: TypeScript Type Check - run: npx tsc --noEmit + run: npm run type-check - name: Run Vitest Tests run: npm run test:vi diff --git a/package.json b/package.json index f3a39e74..b7813347 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,8 @@ "test:cy": "cypress run --component --browser chrome", "test:cy:open": "cypress open --component --browser chrome", "generate-graphql-types": "graphql-codegen --config graphql.config.yaml", - "generate-graphql-types:watch": "graphql-codegen --config graphql.config.yaml --watch" + "generate-graphql-types:watch": "graphql-codegen --config graphql.config.yaml --watch", + "type-check": "tsc --noEmit" }, "dependencies": { "@apollo/client": "3.14.0", From 6079587e57ae17edcde305099c260b47d4aac11b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Goral?= Date: Mon, 27 Oct 2025 12:33:04 +0100 Subject: [PATCH 15/15] refactor --- .../ControlPlane/GitRepositories.tsx | 12 +++-------- .../ControlPlane/Kustomizations.tsx | 12 +++-------- .../ControlPlane/MCPHealthPopoverButton.tsx | 19 +++++------------ .../ControlPlane/ManagedResources.tsx | 11 ++++------ src/components/ControlPlane/Providers.tsx | 14 +++---------- .../ControlPlane/ProvidersConfig.tsx | 8 ++----- .../Members/ImportMembersDialog.tsx | 11 +--------- src/components/Members/MemberTable.tsx | 12 ++--------- src/components/Projects/ProjectsList.tsx | 21 ++++++------------- 9 files changed, 29 insertions(+), 91 deletions(-) diff --git a/src/components/ControlPlane/GitRepositories.tsx b/src/components/ControlPlane/GitRepositories.tsx index e12ec596..d33865b5 100644 --- a/src/components/ControlPlane/GitRepositories.tsx +++ b/src/components/ControlPlane/GitRepositories.tsx @@ -23,10 +23,6 @@ export type GitRepoItem = GitReposResponse['items'][0] & { metadata: GitReposResponse['items'][0]['metadata'] & { namespace?: string }; }; -interface CellRow { - original: T; -} - export function GitRepositories() { const { data, error, isLoading } = useApiResource(FluxRequest); //404 if component not enabled const { t } = useTranslation(); @@ -83,7 +79,7 @@ export function GitRepositories() { width: 125, hAlign: 'Center', Filter: ({ column }) => , - Cell: ({ row }: { row: CellRow }) => + Cell: ({ row }) => row.original?.isReady != null ? ( }) => ( - - ), + Cell: ({ row }) => , }, { Header: t('ManagedResources.actionColumnHeader'), @@ -110,7 +104,7 @@ export function GitRepositories() { width: 60, disableFilters: true, accessor: 'actions', - Cell: ({ row }: { row: CellRow }) => { + Cell: ({ row }) => { const item = row.original?.item; if (!item) return undefined; const actions: ActionItem[] = [ diff --git a/src/components/ControlPlane/Kustomizations.tsx b/src/components/ControlPlane/Kustomizations.tsx index 0cc69768..aeb9fec1 100644 --- a/src/components/ControlPlane/Kustomizations.tsx +++ b/src/components/ControlPlane/Kustomizations.tsx @@ -30,10 +30,6 @@ export function Kustomizations() { const errorDialogRef = useRef(null); const handlePatch = useHandleResourcePatch(errorDialogRef); - interface CellRow { - original: T; - } - type FluxRow = { name: string; created: string; @@ -78,7 +74,7 @@ export function Kustomizations() { width: 125, hAlign: 'Center', Filter: ({ column }) => , - Cell: ({ row }: { row: CellRow }) => + Cell: ({ row }) => row.original?.isReady != null ? ( }) => ( - - ), + Cell: ({ row }) => , }, { Header: t('ManagedResources.actionColumnHeader'), @@ -105,7 +99,7 @@ export function Kustomizations() { width: 60, disableFilters: true, accessor: 'actions', - Cell: ({ row }: { row: CellRow }) => { + Cell: ({ row }) => { const item = row.original?.item; if (!item) return undefined; const actions: ActionItem[] = [ diff --git a/src/components/ControlPlane/MCPHealthPopoverButton.tsx b/src/components/ControlPlane/MCPHealthPopoverButton.tsx index 90a51b26..389c7623 100644 --- a/src/components/ControlPlane/MCPHealthPopoverButton.tsx +++ b/src/components/ControlPlane/MCPHealthPopoverButton.tsx @@ -25,15 +25,6 @@ import { useLink } from '../../lib/shared/useLink.ts'; import TooltipCell from '../Shared/TooltipCell.tsx'; import type { Ui5CustomEvent } from '@ui5/webcomponents-react-base'; -interface CellData { - cell: { - value: T | undefined; - row: { - original: Record; - }; - }; -} - type MCPHealthPopoverButtonProps = { mcpStatus: ControlPlaneStatusType | undefined; projectName: string; @@ -97,7 +88,7 @@ const MCPHealthPopoverButton = ({ mcpStatus, projectName, workspaceName, mcpName Header: t('MCPHealthPopoverButton.statusHeader'), accessor: 'status', width: 50, - Cell: (instance: CellData) => { + Cell: (instance) => { const isReady = instance.cell.value === 'True'; return ( ) => { + Cell: (instance) => { return {instance.cell.value}; }, }, @@ -119,7 +110,7 @@ const MCPHealthPopoverButton = ({ mcpStatus, projectName, workspaceName, mcpName Header: t('MCPHealthPopoverButton.messageHeader'), accessor: 'message', width: 350, - Cell: (instance: CellData) => { + Cell: (instance) => { return {instance.cell.value}; }, }, @@ -127,7 +118,7 @@ const MCPHealthPopoverButton = ({ mcpStatus, projectName, workspaceName, mcpName Header: t('MCPHealthPopoverButton.reasonHeader'), accessor: 'reason', width: 100, - Cell: (instance: CellData) => { + Cell: (instance) => { return {instance.cell.value}; }, }, @@ -135,7 +126,7 @@ const MCPHealthPopoverButton = ({ mcpStatus, projectName, workspaceName, mcpName Header: t('MCPHealthPopoverButton.transitionHeader'), accessor: 'lastTransitionTime', width: 125, - Cell: (instance: CellData) => { + Cell: (instance) => { const rawDate = instance.cell.value; const date = new Date(rawDate as string); return ( diff --git a/src/components/ControlPlane/ManagedResources.tsx b/src/components/ControlPlane/ManagedResources.tsx index 80a26ddc..bebc8c54 100644 --- a/src/components/ControlPlane/ManagedResources.tsx +++ b/src/components/ControlPlane/ManagedResources.tsx @@ -40,9 +40,6 @@ interface StatusFilterColumn { filterValue?: string; setFilter?: (value?: string) => void; } -interface CellRow { - original: T; -} type ResourceRow = { kind: string; @@ -130,7 +127,7 @@ export function ManagedResources() { hAlign: 'Center', width: 125, Filter: ({ column }: { column: StatusFilterColumn }) => , - Cell: ({ row }: { row: CellRow }) => { + Cell: ({ row }) => { const { original } = row; return original?.synced != null ? ( , - Cell: ({ row }: { row: CellRow }) => { + Cell: ({ row }) => { const { original } = row; return original?.ready != null ? ( }) => { + Cell: ({ row }) => { const { original } = row; return original?.item ? ( @@ -180,7 +177,7 @@ export function ManagedResources() { hAlign: 'Center', width: 60, disableFilters: true, - Cell: ({ row }: { row: CellRow }) => { + Cell: ({ row }) => { const { original } = row; const item = original?.item; if (!item) return undefined; diff --git a/src/components/ControlPlane/Providers.tsx b/src/components/ControlPlane/Providers.tsx index e92a52d0..0ed0fd6b 100644 --- a/src/components/ControlPlane/Providers.tsx +++ b/src/components/ControlPlane/Providers.tsx @@ -24,14 +24,6 @@ import StatusFilter from '../Shared/StatusFilter/StatusFilter.tsx'; import { ResourceStatusCell } from '../Shared/ResourceStatusCell.tsx'; import { Resource } from '../../utils/removeManagedFieldsAndFilterData.ts'; -type CellInstance = { - cell: { - row: { - original: Record; - }; - }; -}; - type ProvidersRow = { name: string; version: string; @@ -77,7 +69,7 @@ export function Providers() { width: 125, Filter: ({ column }) => , filter: 'equals', - Cell: (cellData: CellInstance) => + Cell: (cellData) => cellData.cell.row.original?.installed != null ? ( , filter: 'equals', - Cell: (cellData: CellInstance) => + Cell: (cellData) => cellData.cell.row.original?.installed != null ? ( ( + Cell: (cellData) => ( ), }, diff --git a/src/components/ControlPlane/ProvidersConfig.tsx b/src/components/ControlPlane/ProvidersConfig.tsx index 524eaaba..68d3705f 100644 --- a/src/components/ControlPlane/ProvidersConfig.tsx +++ b/src/components/ControlPlane/ProvidersConfig.tsx @@ -32,10 +32,6 @@ type Rows = { resource: ProviderConfigItem; }; -interface CellRow { - original: T; -} - export function ProvidersConfig() { const { t } = useTranslation(); const { openInAside } = useSplitter(); @@ -104,7 +100,7 @@ export function ProvidersConfig() { width: 75, accessor: 'yaml', disableFilters: true, - Cell: ({ row }: { row: CellRow }) => { + Cell: ({ row }) => { const item = row.original?.resource; return item ? : undefined; }, @@ -115,7 +111,7 @@ export function ProvidersConfig() { width: 60, disableFilters: true, accessor: 'actions', - Cell: ({ row }: { row: CellRow }) => { + Cell: ({ row }) => { const item = row.original?.resource; if (!item) return undefined; const actions: ActionItem[] = [ diff --git a/src/components/Members/ImportMembersDialog.tsx b/src/components/Members/ImportMembersDialog.tsx index 9d5a3bf2..5d751d25 100644 --- a/src/components/Members/ImportMembersDialog.tsx +++ b/src/components/Members/ImportMembersDialog.tsx @@ -25,15 +25,6 @@ import { useTranslation } from 'react-i18next'; import IllustratedError from '../Shared/IllustratedError.tsx'; import { TFunction } from 'i18next'; -interface CellData { - cell: { - value: T | undefined; - row: { - original: Record; - }; - }; -} - type FilteredFor = 'All' | 'Users' | 'ServiceAccounts'; type SourceType = 'Workspace' | 'Project'; type TableRow = { @@ -100,7 +91,7 @@ export const ImportMembersDialog: FC = ({ Header: t('MemberTable.columnTypeHeader'), accessor: 'kind', width: 145, - Cell: (instance: CellData) => { + Cell: (instance) => { const original = instance.cell.row.original as TableRow; const kind = ACCOUNT_TYPES.find(({ value }) => value === original.kind); return ( diff --git a/src/components/Members/MemberTable.tsx b/src/components/Members/MemberTable.tsx index 106faed4..1a62131f 100644 --- a/src/components/Members/MemberTable.tsx +++ b/src/components/Members/MemberTable.tsx @@ -22,14 +22,6 @@ type MemberTableProps = { requireAtLeastOneMember: boolean; }; -type CellInstance = { - cell: { - row: { - original: Record; - }; - }; -}; - export const MemberTable: FC = ({ members, onDeleteMember, @@ -49,7 +41,7 @@ export const MemberTable: FC = ({ Header: t('MemberTable.columnTypeHeader'), accessor: 'kind', width: 145, - Cell: (instance: CellInstance) => { + Cell: (instance) => { const kind = ACCOUNT_TYPES.find(({ value }) => value === instance.cell.row.original.kind); return ( @@ -75,7 +67,7 @@ export const MemberTable: FC = ({ Header: '', id: 'edit', width: 100, - Cell: (instance: CellInstance) => ( + Cell: (instance) => (