From c1f48b21a40bd230812cbc8c950859d72277d713 Mon Sep 17 00:00:00 2001 From: jeffvli Date: Thu, 29 Jan 2026 19:43:00 -0800 Subject: [PATCH] add config to show/hide table header --- src/i18n/locales/en.json | 3 +- src/renderer/components/item-list/types.ts | 1 + .../components/album-detail-content.tsx | 2 +- .../albums/components/album-list-content.tsx | 2 ++ .../components/album-list-infinite-table.tsx | 2 ++ .../components/album-list-paginated-table.tsx | 2 ++ .../album-artist-detail-content.tsx | 2 +- .../components/album-artist-list-content.tsx | 2 ++ .../album-artist-list-infinite-table.tsx | 2 ++ .../album-artist-list-paginated-table.tsx | 2 ++ .../components/artist-list-content.tsx | 2 ++ .../components/artist-list-infinite-table.tsx | 2 ++ .../artist-list-paginated-table.tsx | 2 ++ ...bum-artist-detail-top-songs-list-route.tsx | 2 +- .../components/folder-list-content.tsx | 1 + .../genres/components/genre-list-content.tsx | 2 ++ .../components/genre-list-infinite-table.tsx | 2 ++ .../components/genre-list-paginated-table.tsx | 2 ++ .../now-playing/components/play-queue.tsx | 2 +- .../playlist-detail-song-list-content.tsx | 2 ++ .../playlist-detail-song-list-table.tsx | 4 +++ .../components/playlist-list-content.tsx | 2 ++ .../playlist-list-infinite-table.tsx | 2 ++ .../playlist-list-paginated-table.tsx | 2 ++ .../shared/components/table-config.tsx | 12 ++++++++ .../components/similar-songs-list.tsx | 2 +- .../songs/components/song-list-content.tsx | 2 ++ .../components/song-list-infinite-table.tsx | 2 ++ .../components/song-list-paginated-table.tsx | 2 ++ src/renderer/store/settings.store.ts | 28 ++++++++++++++++++- 30 files changed, 90 insertions(+), 7 deletions(-) diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 31cb01a58..ba19a0bb8 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -655,7 +655,7 @@ "standardTags": "standard tags", "customTags": "custom tags" }, - "releaseType": { + "releaseType": { "primary": { "album": "$t(entity.album, {\"count\": 1})", "broadcast": "broadcast", @@ -1080,6 +1080,7 @@ "alternateRowColors": "alternate row colors", "horizontalBorders": "row borders", "rowHoverHighlight": "row hover highlight", + "showHeader": "show header", "verticalBorders": "column borders" }, "label": { diff --git a/src/renderer/components/item-list/types.ts b/src/renderer/components/item-list/types.ts index 35cc9329a..227148aec 100644 --- a/src/renderer/components/item-list/types.ts +++ b/src/renderer/components/item-list/types.ts @@ -84,6 +84,7 @@ export interface ItemListTableComponentProps extends ItemListComponentPr autoFitColumns?: boolean; columns: ItemTableListColumnConfig[]; enableAlternateRowColors?: boolean; + enableHeader?: boolean; enableHorizontalBorders?: boolean; enableRowHoverHighlight?: boolean; enableSelection?: boolean; diff --git a/src/renderer/features/albums/components/album-detail-content.tsx b/src/renderer/features/albums/components/album-detail-content.tsx index 3453a0de1..20bf05423 100644 --- a/src/renderer/features/albums/components/album-detail-content.tsx +++ b/src/renderer/features/albums/components/album-detail-content.tsx @@ -774,7 +774,7 @@ const AlbumDetailSongsTable = ({ songs }: AlbumDetailSongsTableProps) => { enableDragScroll={false} enableEntranceAnimation={false} enableExpansion={false} - enableHeader + enableHeader={tableConfig.enableHeader} enableHorizontalBorders={tableConfig.enableHorizontalBorders} enableRowHoverHighlight={tableConfig.enableRowHoverHighlight} enableSelection diff --git a/src/renderer/features/albums/components/album-list-content.tsx b/src/renderer/features/albums/components/album-list-content.tsx index e48937b18..8d84cc424 100644 --- a/src/renderer/features/albums/components/album-list-content.tsx +++ b/src/renderer/features/albums/components/album-list-content.tsx @@ -143,6 +143,7 @@ export const AlbumListView = ({ autoFitColumns={table.autoFitColumns} columns={table.columns} enableAlternateRowColors={table.enableAlternateRowColors} + enableHeader={table.enableHeader} enableHorizontalBorders={table.enableHorizontalBorders} enableRowHoverHighlight={table.enableRowHoverHighlight} enableVerticalBorders={table.enableVerticalBorders} @@ -159,6 +160,7 @@ export const AlbumListView = ({ autoFitColumns={table.autoFitColumns} columns={table.columns} enableAlternateRowColors={table.enableAlternateRowColors} + enableHeader={table.enableHeader} enableHorizontalBorders={table.enableHorizontalBorders} enableRowHoverHighlight={table.enableRowHoverHighlight} enableVerticalBorders={table.enableVerticalBorders} diff --git a/src/renderer/features/albums/components/album-list-infinite-table.tsx b/src/renderer/features/albums/components/album-list-infinite-table.tsx index 2d3f4aa30..959798714 100644 --- a/src/renderer/features/albums/components/album-list-infinite-table.tsx +++ b/src/renderer/features/albums/components/album-list-infinite-table.tsx @@ -23,6 +23,7 @@ export const AlbumListInfiniteTable = ({ autoFitColumns = false, columns, enableAlternateRowColors = false, + enableHeader = true, enableHorizontalBorders = false, enableRowHoverHighlight = true, enableSelection = true, @@ -73,6 +74,7 @@ export const AlbumListInfiniteTable = ({ columns={columns} data={loadedItems} enableAlternateRowColors={enableAlternateRowColors} + enableHeader={enableHeader} enableHorizontalBorders={enableHorizontalBorders} enableRowHoverHighlight={enableRowHoverHighlight} enableSelection={enableSelection} diff --git a/src/renderer/features/albums/components/album-list-paginated-table.tsx b/src/renderer/features/albums/components/album-list-paginated-table.tsx index fff993342..1da3e4dac 100644 --- a/src/renderer/features/albums/components/album-list-paginated-table.tsx +++ b/src/renderer/features/albums/components/album-list-paginated-table.tsx @@ -25,6 +25,7 @@ export const AlbumListPaginatedTable = ({ autoFitColumns = false, columns, enableAlternateRowColors = false, + enableHeader = true, enableHorizontalBorders = false, enableRowHoverHighlight = true, enableSelection = true, @@ -86,6 +87,7 @@ export const AlbumListPaginatedTable = ({ columns={columns} data={data || []} enableAlternateRowColors={enableAlternateRowColors} + enableHeader={enableHeader} enableHorizontalBorders={enableHorizontalBorders} enableRowHoverHighlight={enableRowHoverHighlight} enableSelection={enableSelection} diff --git a/src/renderer/features/artists/components/album-artist-detail-content.tsx b/src/renderer/features/artists/components/album-artist-detail-content.tsx index fbfe7e075..f9c5bc465 100644 --- a/src/renderer/features/artists/components/album-artist-detail-content.tsx +++ b/src/renderer/features/artists/components/album-artist-detail-content.tsx @@ -404,7 +404,7 @@ const AlbumArtistMetadataTopSongsContent = ({ enableDrag enableDragScroll={false} enableExpansion={false} - enableHeader + enableHeader={tableConfig.enableHeader} enableHorizontalBorders={tableConfig.enableHorizontalBorders} enableRowHoverHighlight={tableConfig.enableRowHoverHighlight} enableSelection diff --git a/src/renderer/features/artists/components/album-artist-list-content.tsx b/src/renderer/features/artists/components/album-artist-list-content.tsx index 6880e264b..86bd73f96 100644 --- a/src/renderer/features/artists/components/album-artist-list-content.tsx +++ b/src/renderer/features/artists/components/album-artist-list-content.tsx @@ -122,6 +122,7 @@ export const AlbumArtistListView = ({ autoFitColumns={table.autoFitColumns} columns={table.columns} enableAlternateRowColors={table.enableAlternateRowColors} + enableHeader={table.enableHeader} enableHorizontalBorders={table.enableHorizontalBorders} enableRowHoverHighlight={table.enableRowHoverHighlight} enableVerticalBorders={table.enableVerticalBorders} @@ -138,6 +139,7 @@ export const AlbumArtistListView = ({ autoFitColumns={table.autoFitColumns} columns={table.columns} enableAlternateRowColors={table.enableAlternateRowColors} + enableHeader={table.enableHeader} enableHorizontalBorders={table.enableHorizontalBorders} enableRowHoverHighlight={table.enableRowHoverHighlight} enableVerticalBorders={table.enableVerticalBorders} diff --git a/src/renderer/features/artists/components/album-artist-list-infinite-table.tsx b/src/renderer/features/artists/components/album-artist-list-infinite-table.tsx index 89c179a67..c2f1500c9 100644 --- a/src/renderer/features/artists/components/album-artist-list-infinite-table.tsx +++ b/src/renderer/features/artists/components/album-artist-list-infinite-table.tsx @@ -24,6 +24,7 @@ export const AlbumArtistListInfiniteTable = ({ autoFitColumns = false, columns, enableAlternateRowColors = false, + enableHeader = true, enableHorizontalBorders = false, enableRowHoverHighlight = true, enableSelection = true, @@ -75,6 +76,7 @@ export const AlbumArtistListInfiniteTable = ({ data={loadedItems} enableAlternateRowColors={enableAlternateRowColors} enableExpansion={false} + enableHeader={enableHeader} enableHorizontalBorders={enableHorizontalBorders} enableRowHoverHighlight={enableRowHoverHighlight} enableSelection={enableSelection} diff --git a/src/renderer/features/artists/components/album-artist-list-paginated-table.tsx b/src/renderer/features/artists/components/album-artist-list-paginated-table.tsx index 288a22766..3b5fa945a 100644 --- a/src/renderer/features/artists/components/album-artist-list-paginated-table.tsx +++ b/src/renderer/features/artists/components/album-artist-list-paginated-table.tsx @@ -26,6 +26,7 @@ export const AlbumArtistListPaginatedTable = ({ autoFitColumns = false, columns, enableAlternateRowColors = false, + enableHeader = true, enableHorizontalBorders = false, enableRowHoverHighlight = true, enableSelection = true, @@ -88,6 +89,7 @@ export const AlbumArtistListPaginatedTable = ({ data={data || []} enableAlternateRowColors={enableAlternateRowColors} enableExpansion={false} + enableHeader={enableHeader} enableHorizontalBorders={enableHorizontalBorders} enableRowHoverHighlight={enableRowHoverHighlight} enableSelection={enableSelection} diff --git a/src/renderer/features/artists/components/artist-list-content.tsx b/src/renderer/features/artists/components/artist-list-content.tsx index c7c46cfd0..f2b340d23 100644 --- a/src/renderer/features/artists/components/artist-list-content.tsx +++ b/src/renderer/features/artists/components/artist-list-content.tsx @@ -114,6 +114,7 @@ export const ArtistListView = ({ autoFitColumns={table.autoFitColumns} columns={table.columns} enableAlternateRowColors={table.enableAlternateRowColors} + enableHeader={table.enableHeader} enableHorizontalBorders={table.enableHorizontalBorders} enableRowHoverHighlight={table.enableRowHoverHighlight} enableVerticalBorders={table.enableVerticalBorders} @@ -130,6 +131,7 @@ export const ArtistListView = ({ autoFitColumns={table.autoFitColumns} columns={table.columns} enableAlternateRowColors={table.enableAlternateRowColors} + enableHeader={table.enableHeader} enableHorizontalBorders={table.enableHorizontalBorders} enableRowHoverHighlight={table.enableRowHoverHighlight} enableVerticalBorders={table.enableVerticalBorders} diff --git a/src/renderer/features/artists/components/artist-list-infinite-table.tsx b/src/renderer/features/artists/components/artist-list-infinite-table.tsx index a01c39048..8c9979701 100644 --- a/src/renderer/features/artists/components/artist-list-infinite-table.tsx +++ b/src/renderer/features/artists/components/artist-list-infinite-table.tsx @@ -23,6 +23,7 @@ export const ArtistListInfiniteTable = ({ autoFitColumns = false, columns, enableAlternateRowColors = false, + enableHeader = true, enableHorizontalBorders = false, enableRowHoverHighlight = true, enableSelection = true, @@ -74,6 +75,7 @@ export const ArtistListInfiniteTable = ({ data={loadedItems} enableAlternateRowColors={enableAlternateRowColors} enableExpansion={false} + enableHeader={enableHeader} enableHorizontalBorders={enableHorizontalBorders} enableRowHoverHighlight={enableRowHoverHighlight} enableSelection={enableSelection} diff --git a/src/renderer/features/artists/components/artist-list-paginated-table.tsx b/src/renderer/features/artists/components/artist-list-paginated-table.tsx index c639fe5fe..d4630dec5 100644 --- a/src/renderer/features/artists/components/artist-list-paginated-table.tsx +++ b/src/renderer/features/artists/components/artist-list-paginated-table.tsx @@ -25,6 +25,7 @@ export const ArtistListPaginatedTable = ({ autoFitColumns = false, columns, enableAlternateRowColors = false, + enableHeader = true, enableHorizontalBorders = false, enableRowHoverHighlight = true, enableSelection = true, @@ -87,6 +88,7 @@ export const ArtistListPaginatedTable = ({ data={data || []} enableAlternateRowColors={enableAlternateRowColors} enableExpansion={false} + enableHeader={enableHeader} enableHorizontalBorders={enableHorizontalBorders} enableRowHoverHighlight={enableRowHoverHighlight} enableSelection={enableSelection} diff --git a/src/renderer/features/artists/routes/album-artist-detail-top-songs-list-route.tsx b/src/renderer/features/artists/routes/album-artist-detail-top-songs-list-route.tsx index 62e639b5b..a9fd3dd79 100644 --- a/src/renderer/features/artists/routes/album-artist-detail-top-songs-list-route.tsx +++ b/src/renderer/features/artists/routes/album-artist-detail-top-songs-list-route.tsx @@ -123,7 +123,7 @@ const AlbumArtistDetailTopSongsListRoute = () => { enableAlternateRowColors={tableConfig.enableAlternateRowColors} enableDrag enableExpansion={false} - enableHeader + enableHeader={tableConfig.enableHeader} enableHorizontalBorders={tableConfig.enableHorizontalBorders} enableRowHoverHighlight={tableConfig.enableRowHoverHighlight} enableSelection diff --git a/src/renderer/features/folders/components/folder-list-content.tsx b/src/renderer/features/folders/components/folder-list-content.tsx index 5633b9cd6..1d23bd024 100644 --- a/src/renderer/features/folders/components/folder-list-content.tsx +++ b/src/renderer/features/folders/components/folder-list-content.tsx @@ -181,6 +181,7 @@ export const FolderListView = ({ folderQuery }: FolderListViewProps) => { enableAlternateRowColors={table.enableAlternateRowColors} enableDrag={true} enableExpansion={false} + enableHeader={table.enableHeader} enableHorizontalBorders={table.enableHorizontalBorders} enableRowHoverHighlight={table.enableRowHoverHighlight} enableVerticalBorders={table.enableVerticalBorders} diff --git a/src/renderer/features/genres/components/genre-list-content.tsx b/src/renderer/features/genres/components/genre-list-content.tsx index bb1acc710..2eb75a0a6 100644 --- a/src/renderer/features/genres/components/genre-list-content.tsx +++ b/src/renderer/features/genres/components/genre-list-content.tsx @@ -110,6 +110,7 @@ export const GenreListView = ({ autoFitColumns={table.autoFitColumns} columns={table.columns} enableAlternateRowColors={table.enableAlternateRowColors} + enableHeader={table.enableHeader} enableHorizontalBorders={table.enableHorizontalBorders} enableRowHoverHighlight={table.enableRowHoverHighlight} enableVerticalBorders={table.enableVerticalBorders} @@ -126,6 +127,7 @@ export const GenreListView = ({ autoFitColumns={table.autoFitColumns} columns={table.columns} enableAlternateRowColors={table.enableAlternateRowColors} + enableHeader={table.enableHeader} enableHorizontalBorders={table.enableHorizontalBorders} enableRowHoverHighlight={table.enableRowHoverHighlight} enableVerticalBorders={table.enableVerticalBorders} diff --git a/src/renderer/features/genres/components/genre-list-infinite-table.tsx b/src/renderer/features/genres/components/genre-list-infinite-table.tsx index cb5164b1f..3aee5f58b 100644 --- a/src/renderer/features/genres/components/genre-list-infinite-table.tsx +++ b/src/renderer/features/genres/components/genre-list-infinite-table.tsx @@ -23,6 +23,7 @@ export const GenreListInfiniteTable = ({ autoFitColumns = false, columns, enableAlternateRowColors = false, + enableHeader = true, enableHorizontalBorders = false, enableRowHoverHighlight = true, enableSelection = true, @@ -74,6 +75,7 @@ export const GenreListInfiniteTable = ({ data={loadedItems} enableAlternateRowColors={enableAlternateRowColors} enableExpansion={false} + enableHeader={enableHeader} enableHorizontalBorders={enableHorizontalBorders} enableRowHoverHighlight={enableRowHoverHighlight} enableSelection={enableSelection} diff --git a/src/renderer/features/genres/components/genre-list-paginated-table.tsx b/src/renderer/features/genres/components/genre-list-paginated-table.tsx index b97cab054..74b615926 100644 --- a/src/renderer/features/genres/components/genre-list-paginated-table.tsx +++ b/src/renderer/features/genres/components/genre-list-paginated-table.tsx @@ -25,6 +25,7 @@ export const GenreListPaginatedTable = ({ autoFitColumns = false, columns, enableAlternateRowColors = false, + enableHeader = true, enableHorizontalBorders = false, enableRowHoverHighlight = true, enableSelection = true, @@ -87,6 +88,7 @@ export const GenreListPaginatedTable = ({ data={data || []} enableAlternateRowColors={enableAlternateRowColors} enableExpansion={false} + enableHeader={enableHeader} enableHorizontalBorders={enableHorizontalBorders} enableRowHoverHighlight={enableRowHoverHighlight} enableSelection={enableSelection} diff --git a/src/renderer/features/now-playing/components/play-queue.tsx b/src/renderer/features/now-playing/components/play-queue.tsx index f3dbab140..192545cae 100644 --- a/src/renderer/features/now-playing/components/play-queue.tsx +++ b/src/renderer/features/now-playing/components/play-queue.tsx @@ -185,7 +185,7 @@ export const PlayQueue = forwardRef( enableAlternateRowColors={table.enableAlternateRowColors} enableDrag enableExpansion={false} - enableHeader + enableHeader={table.enableHeader} enableHorizontalBorders={table.enableHorizontalBorders} enableRowHoverHighlight={table.enableRowHoverHighlight} enableScrollShadow={enableScrollShadow} diff --git a/src/renderer/features/playlists/components/playlist-detail-song-list-content.tsx b/src/renderer/features/playlists/components/playlist-detail-song-list-content.tsx index 8243be7f6..b0910b311 100644 --- a/src/renderer/features/playlists/components/playlist-detail-song-list-content.tsx +++ b/src/renderer/features/playlists/components/playlist-detail-song-list-content.tsx @@ -107,6 +107,7 @@ export const PlaylistDetailSongListView = ({ data }: { data: PlaylistSongListRes columns={table.columns} data={data} enableAlternateRowColors={table.enableAlternateRowColors} + enableHeader={table.enableHeader} enableHorizontalBorders={table.enableHorizontalBorders} enableRowHoverHighlight={table.enableRowHoverHighlight} enableVerticalBorders={table.enableVerticalBorders} @@ -236,6 +237,7 @@ export const PlaylistDetailSongListEdit = ({ data }: { data: PlaylistSongListRes columns={columns} data={localData} enableAlternateRowColors={table.enableAlternateRowColors} + enableHeader={table.enableHeader} enableHorizontalBorders={table.enableHorizontalBorders} enableRowHoverHighlight={table.enableRowHoverHighlight} enableVerticalBorders={table.enableVerticalBorders} diff --git a/src/renderer/features/playlists/components/playlist-detail-song-list-table.tsx b/src/renderer/features/playlists/components/playlist-detail-song-list-table.tsx index 392d12089..e27bd7133 100644 --- a/src/renderer/features/playlists/components/playlist-detail-song-list-table.tsx +++ b/src/renderer/features/playlists/components/playlist-detail-song-list-table.tsx @@ -34,6 +34,7 @@ export const PlaylistDetailSongListTable = forwardRef setList(listKey, { table: { enableHeader: e } })} + value={list.table.enableHeader} + /> + ), + id: 'enableHeader', + label: t('table.config.general.showHeader', { + postProcess: 'sentenceCase', + }), + }, { component: ( { data={tableData} enableAlternateRowColors={fullScreenTable?.enableAlternateRowColors} enableExpansion={false} - enableHeader + enableHeader={fullScreenTable?.enableHeader} enableHorizontalBorders={fullScreenTable?.enableHorizontalBorders} enableRowHoverHighlight={fullScreenTable?.enableRowHoverHighlight} enableScrollShadow={false} diff --git a/src/renderer/features/songs/components/song-list-content.tsx b/src/renderer/features/songs/components/song-list-content.tsx index 7532bdc71..94edaa65f 100644 --- a/src/renderer/features/songs/components/song-list-content.tsx +++ b/src/renderer/features/songs/components/song-list-content.tsx @@ -138,6 +138,7 @@ export const SongListView = ({ autoFitColumns={table.autoFitColumns} columns={table.columns} enableAlternateRowColors={table.enableAlternateRowColors} + enableHeader={table.enableHeader} enableHorizontalBorders={table.enableHorizontalBorders} enableRowHoverHighlight={table.enableRowHoverHighlight} enableVerticalBorders={table.enableVerticalBorders} @@ -153,6 +154,7 @@ export const SongListView = ({ autoFitColumns={table.autoFitColumns} columns={table.columns} enableAlternateRowColors={table.enableAlternateRowColors} + enableHeader={table.enableHeader} enableHorizontalBorders={table.enableHorizontalBorders} enableRowHoverHighlight={table.enableRowHoverHighlight} enableVerticalBorders={table.enableVerticalBorders} diff --git a/src/renderer/features/songs/components/song-list-infinite-table.tsx b/src/renderer/features/songs/components/song-list-infinite-table.tsx index ab3837df8..4e51e6378 100644 --- a/src/renderer/features/songs/components/song-list-infinite-table.tsx +++ b/src/renderer/features/songs/components/song-list-infinite-table.tsx @@ -19,6 +19,7 @@ export const SongListInfiniteTable = ({ autoFitColumns = false, columns, enableAlternateRowColors = false, + enableHeader = true, enableHorizontalBorders = false, enableRowHoverHighlight = true, enableSelection = true, @@ -73,6 +74,7 @@ export const SongListInfiniteTable = ({ data={loadedItems} enableAlternateRowColors={enableAlternateRowColors} enableExpansion={false} + enableHeader={enableHeader} enableHorizontalBorders={enableHorizontalBorders} enableRowHoverHighlight={enableRowHoverHighlight} enableSelection={enableSelection} diff --git a/src/renderer/features/songs/components/song-list-paginated-table.tsx b/src/renderer/features/songs/components/song-list-paginated-table.tsx index c8cd82cbf..46154c69a 100644 --- a/src/renderer/features/songs/components/song-list-paginated-table.tsx +++ b/src/renderer/features/songs/components/song-list-paginated-table.tsx @@ -21,6 +21,7 @@ export const SongListPaginatedTable = ({ autoFitColumns = false, columns, enableAlternateRowColors = false, + enableHeader = true, enableHorizontalBorders = false, enableRowHoverHighlight = true, enableSelection = true, @@ -86,6 +87,7 @@ export const SongListPaginatedTable = ({ data={data || []} enableAlternateRowColors={enableAlternateRowColors} enableExpansion={false} + enableHeader={enableHeader} enableHorizontalBorders={enableHorizontalBorders} enableRowHoverHighlight={enableRowHoverHighlight} enableSelection={enableSelection} diff --git a/src/renderer/store/settings.store.ts b/src/renderer/store/settings.store.ts index bfa09dc8b..388b0baed 100644 --- a/src/renderer/store/settings.store.ts +++ b/src/renderer/store/settings.store.ts @@ -190,6 +190,7 @@ const ItemTableListPropsSchema = z.object({ autoFitColumns: z.boolean(), columns: z.array(ItemTableListColumnConfigSchema), enableAlternateRowColors: z.boolean(), + enableHeader: z.boolean(), enableHorizontalBorders: z.boolean(), enableRowHoverHighlight: z.boolean(), enableVerticalBorders: z.boolean(), @@ -1098,6 +1099,7 @@ const initialState: SettingsState = { ], }), enableAlternateRowColors: false, + enableHeader: true, enableHorizontalBorders: false, enableRowHoverHighlight: true, enableVerticalBorders: false, @@ -1126,6 +1128,7 @@ const initialState: SettingsState = { width: column.width, })), enableAlternateRowColors: false, + enableHeader: true, enableHorizontalBorders: false, enableRowHoverHighlight: true, enableVerticalBorders: false, @@ -1176,6 +1179,7 @@ const initialState: SettingsState = { width: column.width, })), enableAlternateRowColors: false, + enableHeader: true, enableHorizontalBorders: false, enableRowHoverHighlight: true, enableVerticalBorders: false, @@ -1216,6 +1220,7 @@ const initialState: SettingsState = { ], }), enableAlternateRowColors: false, + enableHeader: true, enableHorizontalBorders: false, enableRowHoverHighlight: true, enableVerticalBorders: false, @@ -1261,6 +1266,7 @@ const initialState: SettingsState = { ], }), enableAlternateRowColors: false, + enableHeader: true, enableHorizontalBorders: false, enableRowHoverHighlight: true, enableVerticalBorders: false, @@ -1306,6 +1312,7 @@ const initialState: SettingsState = { width: column.width, })), enableAlternateRowColors: false, + enableHeader: true, enableHorizontalBorders: false, enableRowHoverHighlight: true, enableVerticalBorders: false, @@ -1341,6 +1348,7 @@ const initialState: SettingsState = { ], }), enableAlternateRowColors: false, + enableHeader: true, enableHorizontalBorders: false, enableRowHoverHighlight: true, enableVerticalBorders: false, @@ -1387,6 +1395,7 @@ const initialState: SettingsState = { width: column.width, })), enableAlternateRowColors: false, + enableHeader: true, enableHorizontalBorders: false, enableRowHoverHighlight: true, enableVerticalBorders: false, @@ -1415,6 +1424,7 @@ const initialState: SettingsState = { width: column.width, })), enableAlternateRowColors: false, + enableHeader: true, enableHorizontalBorders: false, enableRowHoverHighlight: true, enableVerticalBorders: false, @@ -1461,6 +1471,7 @@ const initialState: SettingsState = { width: column.width, })), enableAlternateRowColors: false, + enableHeader: true, enableHorizontalBorders: false, enableRowHoverHighlight: true, enableVerticalBorders: false, @@ -1491,6 +1502,7 @@ const initialState: SettingsState = { ], }), enableAlternateRowColors: false, + enableHeader: true, enableHorizontalBorders: false, enableRowHoverHighlight: true, enableVerticalBorders: false, @@ -1998,10 +2010,24 @@ export const useSettingsStore = createWithEqualityFn()( }); } + if (version <= 22) { + // Add enableHeader to all list table configs + Object.keys(state.lists).forEach((listKey) => { + const listConfig = state.lists[listKey as keyof typeof state.lists]; + if ( + listConfig?.table && + typeof listConfig.table === 'object' && + !('enableHeader' in listConfig.table) + ) { + (listConfig.table as any).enableHeader = true; + } + }); + } + return persistedState; }, name: 'store_settings', - version: 22, + version: 23, }, ), );