From d812628d0748e14286efef8e5a19d8d891fb6df4 Mon Sep 17 00:00:00 2001 From: Lina Date: Tue, 28 Oct 2025 15:49:24 +0100 Subject: [PATCH 01/11] New cells for the last messages --- components/kern-table/CellComponents.tsx | 26 +++++++++++++++++++++++- components/kern-table/KernTable.tsx | 6 +++++- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/components/kern-table/CellComponents.tsx b/components/kern-table/CellComponents.tsx index 77ec1e4..046be61 100644 --- a/components/kern-table/CellComponents.tsx +++ b/components/kern-table/CellComponents.tsx @@ -345,4 +345,28 @@ function ConfigReleaseNotificationCell({ onClickView, onClickEdit }) { ; } -export { OrganizationAndUsersCell, MaxRowsColsCharsCell, CommentsCell, ExportConsumptionAndDeleteCell, BadgeCell, OrganizationUserCell, DeleteCell, LevelCell, ArchiveReasonCell, ProjectNameTaskCell, CancelTaskCell, IconCell, ConfigCell, EditDeleteOrgButtonCell, ViewStackCell, AbortSessionButtonCell, FeedbackMessageCell, FeedbackMessageTextCell, JumpToConversationCell, RemoteVersionCell, ExternalLinkCell, ModelDateCell, FileSizeCell, StatusModelCell, DeleteModelCell, LabelCell, ViewCell, EvaluationRunStateCell, EvaluationRunDetailsCell, EtlApiTokenCell, EmailCell, EditIntegrationCell, ExpiredTokenCell, LinkCell, ConfigReleaseNotificationCell } \ No newline at end of file +function TruncateAndTooltipCell({ value, hasError = false }) { + return
+ {hasError && } + {value ? {value}} color="invert" hideArrow={true} placement='bottom'> + {value} + : } +
; +} + +function JumpToConversationAndAssignCell({ onClick }) { + + const clickArrow = useCallback(() => { + console.log("JumpToConversationAndAssignCell clicked", onClick) + if (onClick) onClick(); + }, [onClick]); + + return
+ +
+} + +export { OrganizationAndUsersCell, MaxRowsColsCharsCell, CommentsCell, ExportConsumptionAndDeleteCell, BadgeCell, OrganizationUserCell, DeleteCell, LevelCell, ArchiveReasonCell, ProjectNameTaskCell, CancelTaskCell, IconCell, ConfigCell, EditDeleteOrgButtonCell, ViewStackCell, AbortSessionButtonCell, FeedbackMessageCell, FeedbackMessageTextCell, JumpToConversationCell, RemoteVersionCell, ExternalLinkCell, ModelDateCell, FileSizeCell, StatusModelCell, DeleteModelCell, LabelCell, ViewCell, EvaluationRunStateCell, EvaluationRunDetailsCell, EtlApiTokenCell, EmailCell, EditIntegrationCell, ExpiredTokenCell, LinkCell, ConfigReleaseNotificationCell, TruncateAndTooltipCell, JumpToConversationAndAssignCell } \ No newline at end of file diff --git a/components/kern-table/KernTable.tsx b/components/kern-table/KernTable.tsx index ab346cc..33c6a6a 100644 --- a/components/kern-table/KernTable.tsx +++ b/components/kern-table/KernTable.tsx @@ -1,6 +1,6 @@ import SortArrows from "@/submodules/react-components/components/kern-table/SortArrows"; import { KernTableProps } from "../../types/kern-table"; -import { AbortSessionButtonCell, ArchiveReasonCell, BadgeCell, CancelTaskCell, CommentsCell, ConfigCell, DeleteModelCell, DeleteCell, EditDeleteOrgButtonCell, EmailCell, EtlApiTokenCell, EvaluationRunDetailsCell, EvaluationRunStateCell, ExportConsumptionAndDeleteCell, ExternalLinkCell, FeedbackMessageCell, FeedbackMessageTextCell, FileSizeCell, IconCell, JumpToConversationCell, LabelCell, LevelCell, MaxRowsColsCharsCell, ModelDateCell, OrganizationAndUsersCell, OrganizationUserCell, ProjectNameTaskCell, RemoteVersionCell, StatusModelCell, ViewCell, ViewStackCell, EditIntegrationCell, ExpiredTokenCell, LinkCell, ConfigReleaseNotificationCell } from "./CellComponents"; +import { AbortSessionButtonCell, ArchiveReasonCell, BadgeCell, CancelTaskCell, CommentsCell, ConfigCell, DeleteModelCell, DeleteCell, EditDeleteOrgButtonCell, EmailCell, EtlApiTokenCell, EvaluationRunDetailsCell, EvaluationRunStateCell, ExportConsumptionAndDeleteCell, ExternalLinkCell, FeedbackMessageCell, FeedbackMessageTextCell, FileSizeCell, IconCell, JumpToConversationCell, LabelCell, LevelCell, MaxRowsColsCharsCell, ModelDateCell, OrganizationAndUsersCell, OrganizationUserCell, ProjectNameTaskCell, RemoteVersionCell, StatusModelCell, ViewCell, ViewStackCell, EditIntegrationCell, ExpiredTokenCell, LinkCell, ConfigReleaseNotificationCell, TruncateAndTooltipCell, JumpToConversationAndAssignCell } from "./CellComponents"; import { Fragment, useMemo } from "react"; import KernDropdown from "../KernDropdown"; import { NotApplicableBadge } from "@/submodules/react-components/components/Badges"; @@ -162,6 +162,10 @@ function ComponentMapper(cell: any) { return ; case 'ConfigReleaseNotificationCell': return ; + case 'TruncateAndTooltipCell': + return ; + case 'JumpToConversationAndAssignCell': + return ; case '@provided@': return cell.jsx ?? ; } From 2cdebdc9f578dd54d4c4dd16e997617dfc89c868 Mon Sep 17 00:00:00 2001 From: Lina Date: Wed, 29 Oct 2025 12:25:14 +0100 Subject: [PATCH 02/11] Dropdown with checkboxes update --- components/KernDropdown.tsx | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/components/KernDropdown.tsx b/components/KernDropdown.tsx index b1a0541..f3198e4 100644 --- a/components/KernDropdown.tsx +++ b/components/KernDropdown.tsx @@ -61,7 +61,7 @@ export default function KernDropdown(props: KernDropdownProps) { setDropdownCaptions(prepareOptions); setSearchIndexes(null); } - }, [props.options, searchText, selectedCheckboxes, props.hasSearchBar, props.hasCheckboxes, props.selectedCheckboxes, props.hasSelectAll, props.valuePropertyPath]); + }, [props.options, searchText, props.hasSearchBar, props.hasCheckboxes, props.valuePropertyPath, props.selectedCheckboxes, props.hasSelectAll]); useEffect(() => { if (!props.disabledOptions || !props.options) return; @@ -94,8 +94,7 @@ export default function KernDropdown(props: KernDropdownProps) { return { "maxHeight": `${maxHeight}rem`, "overflowY": "auto" }; }, [props.scrollAfterNOptions]); - function setOptionsWithCheckboxes(options: any[]) { - if (selectedCheckboxes.length > 0) return; + const setOptionsWithCheckboxes = useCallback((options: any[]) => { const newSelectedCheckboxes = options.map((option: any, index: number) => { return { name: option, @@ -110,7 +109,7 @@ export default function KernDropdown(props: KernDropdownProps) { } setSelectedCheckboxes(newSelectedCheckboxes); setDropdownCaptions(newSelectedCheckboxes.map((option: any) => option.name)); - } + }, [props.hasSelectAll, props.selectedCheckboxes]); function toggleDropdown() { if (isDisabled && !props.hasCheckboxes) return; // if the dropdown has checkboxes, it shouldn't be disabled because the user can still select options @@ -118,7 +117,7 @@ export default function KernDropdown(props: KernDropdownProps) { setIsOpen(!isOpen); } - function handleSelectedCheckboxes(option: string, index: number, e: any) { + const handleSelectedCheckboxes = useCallback((option: string, index: number, e: any) => { let newSelectedCheckboxes = [...selectedCheckboxes]; if (option == SELECT_ALL) { newSelectedCheckboxes.forEach((checkbox) => { @@ -136,7 +135,7 @@ export default function KernDropdown(props: KernDropdownProps) { newSelectedCheckboxes = newSelectedCheckboxes.filter((checkbox) => checkbox.name != SELECT_ALL); } props.selectedOption(newSelectedCheckboxes); - } + }, [selectedCheckboxes, props.hasSelectAll]); function handleSelectedCheckboxesThreeStates(index: number) { const optionSave = { ...props.options[index] }; @@ -161,8 +160,7 @@ export default function KernDropdown(props: KernDropdownProps) { setSavedIndex(index); } - - function performActionOnClick(option: string, index: number) { + const performActionOnClick = useCallback((option: string, index: number) => { if (props.hasCheckboxes) { handleSelectedCheckboxes(option, index, { target: { checked: !selectedCheckboxes[index].checked } }); return; @@ -180,8 +178,9 @@ export default function KernDropdown(props: KernDropdownProps) { props.selectedOption(props.options[index]); } setIsOpen(false); + setSelectedCheckboxes([]); } - } + }, [props, selectedCheckboxes, searchIndexes]); return ( @@ -266,7 +265,7 @@ export default function KernDropdown(props: KernDropdownProps) { if (!props.optionsHaveHoverBox) return; setHoverBoxPosition(null); }}> - {props.hasCheckboxes && handleSelectedCheckboxes(option, index, e)} />} {props.hasCheckboxesThreeStates &&
From 0f229d660d4719df9eb1bcc1e8ee382bbedbb607 Mon Sep 17 00:00:00 2001 From: Lina Date: Wed, 29 Oct 2025 17:35:56 +0100 Subject: [PATCH 03/11] Cell visual changes --- components/kern-table/CellComponents.tsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/components/kern-table/CellComponents.tsx b/components/kern-table/CellComponents.tsx index 046be61..2ea5cf0 100644 --- a/components/kern-table/CellComponents.tsx +++ b/components/kern-table/CellComponents.tsx @@ -355,17 +355,17 @@ function TruncateAndTooltipCell({ value, hasError = false }) { } function JumpToConversationAndAssignCell({ onClick }) { - const clickArrow = useCallback(() => { - console.log("JumpToConversationAndAssignCell clicked", onClick) if (onClick) onClick(); }, [onClick]); return
- + + +
} From ce908b0ccb0b6e7e5724ca62c34340119340fc03 Mon Sep 17 00:00:00 2001 From: Lina Date: Thu, 30 Oct 2025 14:59:31 +0100 Subject: [PATCH 04/11] Cell statuses and dropdown with text truncation --- components/KernDropdown.tsx | 2 +- components/kern-table/CellComponents.tsx | 19 ++++++++++++++++++- components/kern-table/KernTable.tsx | 4 +++- types/dropdown.ts | 2 ++ 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/components/KernDropdown.tsx b/components/KernDropdown.tsx index f3198e4..ab59fcd 100644 --- a/components/KernDropdown.tsx +++ b/components/KernDropdown.tsx @@ -212,7 +212,7 @@ export default function KernDropdown(props: KernDropdownProps) { ) : ( -
+
{props.buttonPrefixIcon} {!props.hasCheckboxesThreeStates && props.buttonName}
diff --git a/components/kern-table/CellComponents.tsx b/components/kern-table/CellComponents.tsx index 2ea5cf0..1a16b81 100644 --- a/components/kern-table/CellComponents.tsx +++ b/components/kern-table/CellComponents.tsx @@ -369,4 +369,21 @@ function JumpToConversationAndAssignCell({ onClick }) {
} -export { OrganizationAndUsersCell, MaxRowsColsCharsCell, CommentsCell, ExportConsumptionAndDeleteCell, BadgeCell, OrganizationUserCell, DeleteCell, LevelCell, ArchiveReasonCell, ProjectNameTaskCell, CancelTaskCell, IconCell, ConfigCell, EditDeleteOrgButtonCell, ViewStackCell, AbortSessionButtonCell, FeedbackMessageCell, FeedbackMessageTextCell, JumpToConversationCell, RemoteVersionCell, ExternalLinkCell, ModelDateCell, FileSizeCell, StatusModelCell, DeleteModelCell, LabelCell, ViewCell, EvaluationRunStateCell, EvaluationRunDetailsCell, EtlApiTokenCell, EmailCell, EditIntegrationCell, ExpiredTokenCell, LinkCell, ConfigReleaseNotificationCell, TruncateAndTooltipCell, JumpToConversationAndAssignCell } \ No newline at end of file +function ETLTaskStateCell({ value, color }) { + const className = useMemo(() => { + return `inline-flex items-center px-2 py-0.5 rounded text-xs font-medium ${color === 'green' + ? 'bg-green-300' + : 'bg-' + color + '-100 text-' + color + '-800'}`; + }, [color]); + + return ( + + + + + {value} + + ); +} + +export { OrganizationAndUsersCell, MaxRowsColsCharsCell, CommentsCell, ExportConsumptionAndDeleteCell, BadgeCell, OrganizationUserCell, DeleteCell, LevelCell, ArchiveReasonCell, ProjectNameTaskCell, CancelTaskCell, IconCell, ConfigCell, EditDeleteOrgButtonCell, ViewStackCell, AbortSessionButtonCell, FeedbackMessageCell, FeedbackMessageTextCell, JumpToConversationCell, RemoteVersionCell, ExternalLinkCell, ModelDateCell, FileSizeCell, StatusModelCell, DeleteModelCell, LabelCell, ViewCell, EvaluationRunStateCell, EvaluationRunDetailsCell, EtlApiTokenCell, EmailCell, EditIntegrationCell, ExpiredTokenCell, LinkCell, ConfigReleaseNotificationCell, TruncateAndTooltipCell, JumpToConversationAndAssignCell, ETLTaskStateCell } \ No newline at end of file diff --git a/components/kern-table/KernTable.tsx b/components/kern-table/KernTable.tsx index 33c6a6a..0a25ff0 100644 --- a/components/kern-table/KernTable.tsx +++ b/components/kern-table/KernTable.tsx @@ -1,6 +1,6 @@ import SortArrows from "@/submodules/react-components/components/kern-table/SortArrows"; import { KernTableProps } from "../../types/kern-table"; -import { AbortSessionButtonCell, ArchiveReasonCell, BadgeCell, CancelTaskCell, CommentsCell, ConfigCell, DeleteModelCell, DeleteCell, EditDeleteOrgButtonCell, EmailCell, EtlApiTokenCell, EvaluationRunDetailsCell, EvaluationRunStateCell, ExportConsumptionAndDeleteCell, ExternalLinkCell, FeedbackMessageCell, FeedbackMessageTextCell, FileSizeCell, IconCell, JumpToConversationCell, LabelCell, LevelCell, MaxRowsColsCharsCell, ModelDateCell, OrganizationAndUsersCell, OrganizationUserCell, ProjectNameTaskCell, RemoteVersionCell, StatusModelCell, ViewCell, ViewStackCell, EditIntegrationCell, ExpiredTokenCell, LinkCell, ConfigReleaseNotificationCell, TruncateAndTooltipCell, JumpToConversationAndAssignCell } from "./CellComponents"; +import { AbortSessionButtonCell, ArchiveReasonCell, BadgeCell, CancelTaskCell, CommentsCell, ConfigCell, DeleteModelCell, DeleteCell, EditDeleteOrgButtonCell, EmailCell, EtlApiTokenCell, EvaluationRunDetailsCell, EvaluationRunStateCell, ExportConsumptionAndDeleteCell, ExternalLinkCell, FeedbackMessageCell, FeedbackMessageTextCell, FileSizeCell, IconCell, JumpToConversationCell, LabelCell, LevelCell, MaxRowsColsCharsCell, ModelDateCell, OrganizationAndUsersCell, OrganizationUserCell, ProjectNameTaskCell, RemoteVersionCell, StatusModelCell, ViewCell, ViewStackCell, EditIntegrationCell, ExpiredTokenCell, LinkCell, ConfigReleaseNotificationCell, TruncateAndTooltipCell, JumpToConversationAndAssignCell, ETLTaskStateCell } from "./CellComponents"; import { Fragment, useMemo } from "react"; import KernDropdown from "../KernDropdown"; import { NotApplicableBadge } from "@/submodules/react-components/components/Badges"; @@ -166,6 +166,8 @@ function ComponentMapper(cell: any) { return ; case 'JumpToConversationAndAssignCell': return ; + case 'ETLTaskStateCell': + return ; case '@provided@': return cell.jsx ?? ; } diff --git a/types/dropdown.ts b/types/dropdown.ts index cef95d6..0746bce 100644 --- a/types/dropdown.ts +++ b/types/dropdown.ts @@ -44,6 +44,7 @@ import React from "react"; * @positionDropdown {string} - The position of the dropdown * @dropdownAdd {JSX.Element} - array of JSX elements that will be added to the dropdown items * @forceOverwriteOpen {boolean} - forces the dropdown to stay open until set to false/undefined + * @truncateButtonName {boolean} - If the button name should be truncated when it exceeds the button width */ export type KernDropdownProps = { buttonName?: string; @@ -93,6 +94,7 @@ export type KernDropdownProps = { scrollAfterNOptions?: number; dropdownAdd?: JSX.Element[]; forceOverwriteOpen?: boolean; + truncateButtonName?: boolean; } export type AppSelectionDropdownProps = { From 8e81f1555bc87664378d90f48bff8ccfb48bc5b3 Mon Sep 17 00:00:00 2001 From: Lina Date: Mon, 3 Nov 2025 16:41:46 +0100 Subject: [PATCH 05/11] Cell rename --- components/kern-table/CellComponents.tsx | 4 ++-- components/kern-table/KernTable.tsx | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/components/kern-table/CellComponents.tsx b/components/kern-table/CellComponents.tsx index 1a16b81..5dd66c9 100644 --- a/components/kern-table/CellComponents.tsx +++ b/components/kern-table/CellComponents.tsx @@ -369,7 +369,7 @@ function JumpToConversationAndAssignCell({ onClick }) {
} -function ETLTaskStateCell({ value, color }) { +function TaskStateCell({ value, color }) { const className = useMemo(() => { return `inline-flex items-center px-2 py-0.5 rounded text-xs font-medium ${color === 'green' ? 'bg-green-300' @@ -386,4 +386,4 @@ function ETLTaskStateCell({ value, color }) { ); } -export { OrganizationAndUsersCell, MaxRowsColsCharsCell, CommentsCell, ExportConsumptionAndDeleteCell, BadgeCell, OrganizationUserCell, DeleteCell, LevelCell, ArchiveReasonCell, ProjectNameTaskCell, CancelTaskCell, IconCell, ConfigCell, EditDeleteOrgButtonCell, ViewStackCell, AbortSessionButtonCell, FeedbackMessageCell, FeedbackMessageTextCell, JumpToConversationCell, RemoteVersionCell, ExternalLinkCell, ModelDateCell, FileSizeCell, StatusModelCell, DeleteModelCell, LabelCell, ViewCell, EvaluationRunStateCell, EvaluationRunDetailsCell, EtlApiTokenCell, EmailCell, EditIntegrationCell, ExpiredTokenCell, LinkCell, ConfigReleaseNotificationCell, TruncateAndTooltipCell, JumpToConversationAndAssignCell, ETLTaskStateCell } \ No newline at end of file +export { OrganizationAndUsersCell, MaxRowsColsCharsCell, CommentsCell, ExportConsumptionAndDeleteCell, BadgeCell, OrganizationUserCell, DeleteCell, LevelCell, ArchiveReasonCell, ProjectNameTaskCell, CancelTaskCell, IconCell, ConfigCell, EditDeleteOrgButtonCell, ViewStackCell, AbortSessionButtonCell, FeedbackMessageCell, FeedbackMessageTextCell, JumpToConversationCell, RemoteVersionCell, ExternalLinkCell, ModelDateCell, FileSizeCell, StatusModelCell, DeleteModelCell, LabelCell, ViewCell, EvaluationRunStateCell, EvaluationRunDetailsCell, EtlApiTokenCell, EmailCell, EditIntegrationCell, ExpiredTokenCell, LinkCell, ConfigReleaseNotificationCell, TruncateAndTooltipCell, JumpToConversationAndAssignCell, TaskStateCell } \ No newline at end of file diff --git a/components/kern-table/KernTable.tsx b/components/kern-table/KernTable.tsx index 0a25ff0..3b8657f 100644 --- a/components/kern-table/KernTable.tsx +++ b/components/kern-table/KernTable.tsx @@ -1,6 +1,6 @@ import SortArrows from "@/submodules/react-components/components/kern-table/SortArrows"; import { KernTableProps } from "../../types/kern-table"; -import { AbortSessionButtonCell, ArchiveReasonCell, BadgeCell, CancelTaskCell, CommentsCell, ConfigCell, DeleteModelCell, DeleteCell, EditDeleteOrgButtonCell, EmailCell, EtlApiTokenCell, EvaluationRunDetailsCell, EvaluationRunStateCell, ExportConsumptionAndDeleteCell, ExternalLinkCell, FeedbackMessageCell, FeedbackMessageTextCell, FileSizeCell, IconCell, JumpToConversationCell, LabelCell, LevelCell, MaxRowsColsCharsCell, ModelDateCell, OrganizationAndUsersCell, OrganizationUserCell, ProjectNameTaskCell, RemoteVersionCell, StatusModelCell, ViewCell, ViewStackCell, EditIntegrationCell, ExpiredTokenCell, LinkCell, ConfigReleaseNotificationCell, TruncateAndTooltipCell, JumpToConversationAndAssignCell, ETLTaskStateCell } from "./CellComponents"; +import { AbortSessionButtonCell, ArchiveReasonCell, BadgeCell, CancelTaskCell, CommentsCell, ConfigCell, DeleteModelCell, DeleteCell, EditDeleteOrgButtonCell, EmailCell, EtlApiTokenCell, EvaluationRunDetailsCell, EvaluationRunStateCell, ExportConsumptionAndDeleteCell, ExternalLinkCell, FeedbackMessageCell, FeedbackMessageTextCell, FileSizeCell, IconCell, JumpToConversationCell, LabelCell, LevelCell, MaxRowsColsCharsCell, ModelDateCell, OrganizationAndUsersCell, OrganizationUserCell, ProjectNameTaskCell, RemoteVersionCell, StatusModelCell, ViewCell, ViewStackCell, EditIntegrationCell, ExpiredTokenCell, LinkCell, ConfigReleaseNotificationCell, TruncateAndTooltipCell, JumpToConversationAndAssignCell, TaskStateCell } from "./CellComponents"; import { Fragment, useMemo } from "react"; import KernDropdown from "../KernDropdown"; import { NotApplicableBadge } from "@/submodules/react-components/components/Badges"; @@ -166,8 +166,8 @@ function ComponentMapper(cell: any) { return ; case 'JumpToConversationAndAssignCell': return ; - case 'ETLTaskStateCell': - return ; + case 'TaskStateCell': + return ; case '@provided@': return cell.jsx ?? ; } From d7798b3ea4013e47ff4a3b6e34337fa6702cd109 Mon Sep 17 00:00:00 2001 From: Lina Date: Wed, 5 Nov 2025 14:12:56 +0100 Subject: [PATCH 06/11] Cell component change --- components/kern-table/CellComponents.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/kern-table/CellComponents.tsx b/components/kern-table/CellComponents.tsx index 5dd66c9..66118ac 100644 --- a/components/kern-table/CellComponents.tsx +++ b/components/kern-table/CellComponents.tsx @@ -354,13 +354,13 @@ function TruncateAndTooltipCell({ value, hasError = false }) { ; } -function JumpToConversationAndAssignCell({ onClick }) { +function JumpToConversationAndAssignCell({ onClick, jumpTo }) { const clickArrow = useCallback(() => { if (onClick) onClick(); }, [onClick]); return
- +
} -function TaskStateCell({ value, color }) { +function TaskStateCell({ value, color, tooltipValue }) { const className = useMemo(() => { return `inline-flex items-center px-2 py-0.5 rounded text-xs font-medium ${color === 'green' ? 'bg-green-300' @@ -377,12 +377,25 @@ function TaskStateCell({ value, color }) { }, [color]); return ( - - - - - {value} - + <> + {tooltipValue ? ( + + + + + + {value} + + + ) : ( + + + + + {value} + + )} + ); } From 2a9533bcb97a1d1a819e4f4db93ccb59584b80c1 Mon Sep 17 00:00:00 2001 From: Lina Date: Fri, 7 Nov 2025 09:39:48 +0100 Subject: [PATCH 08/11] PR comments --- components/kern-table/CellComponents.tsx | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/components/kern-table/CellComponents.tsx b/components/kern-table/CellComponents.tsx index e1090df..dceaf59 100644 --- a/components/kern-table/CellComponents.tsx +++ b/components/kern-table/CellComponents.tsx @@ -348,20 +348,16 @@ function ConfigReleaseNotificationCell({ onClickView, onClickEdit }) { function TruncateAndTooltipCell({ value, hasError = false }) { return
{hasError && } - {value ? {value}} color="invert" hideArrow={true} placement='bottom'> + {value ? {value}} color="invert" hideArrow={true} placement='bottom'> {value} : }
; } function JumpToConversationAndAssignCell({ onClick, jumpTo }) { - const clickArrow = useCallback(() => { - if (onClick) onClick(); - }, [onClick]); - return
- From b54e403f6fc99778a3a5574ca54bdae07097e825 Mon Sep 17 00:00:00 2001 From: Lina Date: Fri, 7 Nov 2025 10:20:28 +0100 Subject: [PATCH 09/11] PR comments --- components/kern-table/CellComponents.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/kern-table/CellComponents.tsx b/components/kern-table/CellComponents.tsx index dceaf59..a8cd1fd 100644 --- a/components/kern-table/CellComponents.tsx +++ b/components/kern-table/CellComponents.tsx @@ -348,7 +348,7 @@ function ConfigReleaseNotificationCell({ onClickView, onClickEdit }) { function TruncateAndTooltipCell({ value, hasError = false }) { return
{hasError && } - {value ? {value}} color="invert" hideArrow={true} placement='bottom'> + {value ? {value}} color="invert" hideArrow={true} placement='bottom'> {value} : }
; From a6bc47de8da5096d5cc864ff5c18b8353d646569 Mon Sep 17 00:00:00 2001 From: Lina Date: Fri, 7 Nov 2025 12:27:02 +0100 Subject: [PATCH 10/11] BUild fix --- components/kern-icons/icons.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/kern-icons/icons.ts b/components/kern-icons/icons.ts index 06b17c2..b5636eb 100644 --- a/components/kern-icons/icons.ts +++ b/components/kern-icons/icons.ts @@ -1,5 +1,5 @@ import { memo } from 'react'; -import { IconActivity, IconAdjustments, IconAdjustmentsAlt, IconAdjustmentsOff, IconAlertCircle, IconAlertTriangle, IconAlertTriangleFilled, IconAngle, IconApi, IconArchive, IconArrowAutofitDown, IconArrowCurveRight, IconArrowDown, IconArrowLeft, IconArrowNarrowLeft, IconArrowNarrowRight, IconArrowRight, IconArrowsRandom, IconArrowsSort, IconArrowUp, IconArrowUpRight, IconAssembly, IconBallpen, IconBallpenOff, IconBell, IconBolt, IconBottle, IconBox, IconBoxOff, IconBrandGithub, IconBrandOpenai, IconBrandPython, IconBulb, IconBulldozer, IconCamera, IconCategoryPlus, IconCell, IconChartBubble, IconChartCircles, IconChartDots3, IconChartLine, IconChartPie, IconCheck, IconChecks, IconChevronCompactLeft, IconChevronCompactRight, IconChevronDown, IconChevronLeft, IconChevronRight, IconChevronUp, IconCircle, IconCircleCheck, IconCircleCheckFilled, IconCircleMinus, IconCirclePlus, IconClick, IconClipboard, IconClipboardCheck, IconClipboardOff, IconClock, IconCode, IconCodePlus, IconColorPicker, IconColumns, IconColumns1, IconColumns2, IconColumns3, IconCopy, IconCrown, IconCrownOff, IconDatabase, IconDatabasePlus, IconDeviceFloppy, IconDots, IconDotsVertical, IconDownload, IconEdit, IconEngine, IconExclamationCircle, IconExclamationMark, IconExternalLink, IconEye, IconEyeCancel, IconEyeCheck, IconEyeOff, IconFile, IconFileDownload, IconFileImport, IconFileInfo, IconFilePencil, IconFiles, IconFileText, IconFileUpload, IconFilter, IconFilterOff, IconFishHook, IconFolderBolt, IconGitCommit, IconGripVertical, IconHandClick, IconHeading, IconHelp, IconHexagons, IconHierarchy, IconHierarchy3, IconHistory, IconHome, IconHourglass, IconHourglassEmpty, IconInfoCircle, IconInfoCircleFilled, IconInfoSquare, IconLayoutList, IconLayoutNavbarCollapse, IconLayoutSidebar, IconLetterGSmall, IconLink, IconList, IconLoader, IconLoader2, IconLockAccess, IconMap, IconMaximize, IconMessageCircle, IconMinus, IconMessageCircleSearch, IconMessages, IconMinimize, IconMoustache, IconNews, IconNotes, IconPencil, IconPlayCardStar, IconPlayerPlay, IconPlayerPlayFilled, IconPlus, IconPoint, IconPointerOff, IconPointerSearch, IconPointFilled, IconQuestionMark, IconRecycle, IconRefresh, IconRefreshAlert, IconResize, IconRobot, IconRotate, IconScissors, IconScreenshot, IconSearch, IconSend, IconSettings, IconShare, IconShieldCheckFilled, IconShieldFilled, IconSquare, IconSquareCheck, IconStar, IconTag, IconTemplate, IconTerminal, IconThumbDown, IconThumbDownFilled, IconThumbUp, IconThumbUpFilled, IconTrash, IconTrashXFilled, IconTriangleInverted, IconTriangleSquareCircle, IconUpload, IconUser, IconUsersGroup, IconUserX, IconVariable, IconVariablePlus, IconVersions, IconWand, IconWaveSine, IconWebhook, IconWreckingBall, IconX, IconZoomCode, IconDragDrop2, IconWorld } from '@tabler/icons-react'; +import { IconActivity, IconAdjustments, IconAdjustmentsAlt, IconAdjustmentsOff, IconAlertCircle, IconAlertTriangle, IconAlertTriangleFilled, IconAngle, IconApi, IconArchive, IconArrowAutofitDown, IconArrowCurveRight, IconArrowDown, IconArrowLeft, IconArrowNarrowLeft, IconArrowNarrowRight, IconArrowRight, IconArrowsRandom, IconArrowsSort, IconArrowUp, IconArrowUpRight, IconAssembly, IconBallpen, IconBallpenOff, IconBell, IconBolt, IconBottle, IconBox, IconBoxOff, IconBrandGithub, IconBrandOpenai, IconBrandPython, IconBulb, IconBulldozer, IconCamera, IconCategoryPlus, IconCell, IconChartBubble, IconChartCircles, IconChartDots3, IconChartLine, IconChartPie, IconCheck, IconChecks, IconChevronCompactLeft, IconChevronCompactRight, IconChevronDown, IconChevronLeft, IconChevronRight, IconChevronUp, IconCircle, IconCircleCheck, IconCircleCheckFilled, IconCircleMinus, IconCirclePlus, IconClick, IconClipboard, IconClipboardCheck, IconClipboardOff, IconClock, IconCode, IconCodePlus, IconColorPicker, IconColumns, IconColumns1, IconColumns2, IconColumns3, IconCopy, IconCrown, IconCrownOff, IconDatabase, IconDatabasePlus, IconDeviceFloppy, IconDots, IconDotsVertical, IconDownload, IconEdit, IconEngine, IconExclamationCircle, IconExclamationMark, IconExternalLink, IconEye, IconEyeCancel, IconEyeCheck, IconEyeOff, IconFile, IconFileDownload, IconFileImport, IconFileInfo, IconFilePencil, IconFiles, IconFileText, IconFileUpload, IconFilter, IconFilterOff, IconFishHook, IconFolderBolt, IconGitCommit, IconGripVertical, IconHandClick, IconHeading, IconHelp, IconHexagons, IconHierarchy, IconHierarchy3, IconHistory, IconHome, IconHourglass, IconHourglassEmpty, IconInfoCircle, IconInfoCircleFilled, IconInfoSquare, IconLayoutList, IconLayoutNavbarCollapse, IconLayoutSidebar, IconLetterGSmall, IconLink, IconList, IconLoader, IconLoader2, IconLockAccess, IconMap, IconMaximize, IconMessageCircle, IconMinus, IconMessageCircleSearch, IconMessages, IconMinimize, IconMoustache, IconNews, IconNotes, IconPencil, IconPlayCardStar, IconPlayerPlay, IconPlayerPlayFilled, IconPlus, IconPoint, IconPointerOff, IconPointerSearch, IconPointFilled, IconQuestionMark, IconRecycle, IconRefresh, IconRefreshAlert, IconResize, IconRobot, IconRotate, IconScissors, IconScreenshot, IconSearch, IconSend, IconSettings, IconShare, IconShieldCheckFilled, IconShieldFilled, IconSquare, IconSquareCheck, IconStar, IconTag, IconTemplate, IconTerminal, IconThumbDown, IconThumbDownFilled, IconThumbUp, IconThumbUpFilled, IconTrash, IconTrashXFilled, IconTriangleInverted, IconTriangleSquareCircle, IconUpload, IconUser, IconUsersGroup, IconUserX, IconVariable, IconVariablePlus, IconVersions, IconWand, IconWaveSine, IconWebhook, IconWreckingBall, IconX, IconZoomCode, IconDragDrop2, IconWorld, IconCircleDotted } from '@tabler/icons-react'; export const MemoIconHome = memo(IconHome); export const MemoIconInfoCircle = memo(IconInfoCircle); @@ -184,3 +184,4 @@ export const MemoIconArrowNarrowRight = memo(IconArrowNarrowRight); export const MemoIconMinus = memo(IconMinus); export const MemoIconDragDrop2 = memo(IconDragDrop2); export const MemoIconWorld = memo(IconWorld); +export const MemoIconCircleDotted = memo(IconCircleDotted); \ No newline at end of file From 3fa14bf388e375ba357bfa2852c978dc44133e59 Mon Sep 17 00:00:00 2001 From: Lina Date: Fri, 7 Nov 2025 13:06:12 +0100 Subject: [PATCH 11/11] PR comments --- components/KernDropdown.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/KernDropdown.tsx b/components/KernDropdown.tsx index fc05cf2..6975432 100644 --- a/components/KernDropdown.tsx +++ b/components/KernDropdown.tsx @@ -213,7 +213,7 @@ export default function KernDropdown(props: KernDropdownProps) { ) : ( + disabled={isDisabled}>
{props.buttonPrefixIcon} {!props.hasCheckboxesThreeStates && props.buttonName}