From de6cd7d0dc61b59fd59afb5fb6dc9833cd9801a9 Mon Sep 17 00:00:00 2001 From: jeffvli Date: Mon, 9 Feb 2026 02:14:12 -0800 Subject: [PATCH] add configuration for alternate row colors --- .../item-detail-list/item-detail.module.css | 14 ++++++++++++++ .../item-list/item-detail-list/item-detail.tsx | 11 +++++++++++ 2 files changed, 25 insertions(+) diff --git a/src/renderer/components/item-list/item-detail-list/item-detail.module.css b/src/renderer/components/item-list/item-detail-list/item-detail.module.css index bd6d25e60..5b0a51eac 100644 --- a/src/renderer/components/item-list/item-detail-list/item-detail.module.css +++ b/src/renderer/components/item-list/item-detail-list/item-detail.module.css @@ -172,6 +172,20 @@ opacity: 0.5; } +.track-row.track-row-alternate-even { + background-color: var(--theme-colors-background); +} + +.track-row.track-row-alternate-odd { + @mixin dark { + background-color: darken(var(--theme-colors-background), 30%); + } + + @mixin light { + background-color: darken(var(--theme-colors-background), 2%); + } +} + .track-row.track-row-with-horizontal-border { border-top: 1px solid transparent; } diff --git a/src/renderer/components/item-list/item-detail-list/item-detail.tsx b/src/renderer/components/item-list/item-detail-list/item-detail.tsx index 26889ed05..5cc404539 100644 --- a/src/renderer/components/item-list/item-detail-list/item-detail.tsx +++ b/src/renderer/components/item-list/item-detail-list/item-detail.tsx @@ -55,6 +55,7 @@ interface RowData { columnWidthPercents: number[]; controls?: ItemControls; data: unknown[]; + enableAlternateRowColors: boolean; enableHorizontalBorders: boolean; enableRowHoverHighlight: boolean; enableVerticalBorders: boolean; @@ -70,6 +71,7 @@ interface TrackRowProps { columns: ItemTableListColumnConfig[]; columnWidthPercents: number[]; controls?: ItemControls; + enableAlternateRowColors: boolean; enableHorizontalBorders: boolean; enableRowHoverHighlight: boolean; enableVerticalBorders: boolean; @@ -89,6 +91,7 @@ const TrackRow = memo( columns, columnWidthPercents, controls, + enableAlternateRowColors, enableHorizontalBorders, enableRowHoverHighlight, enableVerticalBorders, @@ -194,6 +197,8 @@ const TrackRow = memo( return (
0, @@ -278,6 +283,7 @@ const RowContent = memo( columnWidthPercents, controls, data, + enableAlternateRowColors, enableHorizontalBorders, enableRowHoverHighlight, enableVerticalBorders, @@ -407,6 +413,7 @@ const RowContent = memo( columns={trackColumns} columnWidthPercents={columnWidthPercents} controls={controls} + enableAlternateRowColors={enableAlternateRowColors} enableHorizontalBorders={enableHorizontalBorders} enableRowHoverHighlight={enableRowHoverHighlight} enableVerticalBorders={enableVerticalBorders} @@ -428,6 +435,7 @@ const RowContent = memo( prev.index === next.index && prev.data === next.data && prev.columnWidthPercents === next.columnWidthPercents && + prev.enableAlternateRowColors === next.enableAlternateRowColors && prev.enableHorizontalBorders === next.enableHorizontalBorders && prev.enableRowHoverHighlight === next.enableRowHoverHighlight && prev.enableVerticalBorders === next.enableVerticalBorders && @@ -527,6 +535,7 @@ export const ItemDetailList = ({ }, [tableConfig?.columns]); const trackTableSize = tableConfig?.size ?? 'default'; const enableRowHoverHighlight = tableConfig?.enableRowHoverHighlight ?? true; + const enableAlternateRowColors = tableConfig?.enableAlternateRowColors ?? false; const enableHorizontalBorders = tableConfig?.enableHorizontalBorders ?? false; const enableVerticalBorders = tableConfig?.enableVerticalBorders ?? false; @@ -567,6 +576,7 @@ export const ItemDetailList = ({ columnWidthPercents, controls, data: dataSource, + enableAlternateRowColors, enableHorizontalBorders, enableRowHoverHighlight, enableVerticalBorders, @@ -582,6 +592,7 @@ export const ItemDetailList = ({ columnWidthPercents, controls, dataSource, + enableAlternateRowColors, enableHorizontalBorders, enableRowHoverHighlight, enableVerticalBorders,