From c7611e4ae1fc948d679425918c44a617c2415831 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Mon, 10 Mar 2025 01:10:00 +0100 Subject: [PATCH] Remove unnecessary virtuoso "group item counts" mapping --- src/lib/virtuoso/Virtuoso.util.tsx | 4 ++++ src/modules/extension/screens/Extensions.tsx | 2 +- src/modules/history/screens/History.tsx | 15 +++++++-------- src/modules/updates/screens/Updates.tsx | 15 +++++++-------- 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/lib/virtuoso/Virtuoso.util.tsx b/src/lib/virtuoso/Virtuoso.util.tsx index bae9fcb4..9bfa0220 100644 --- a/src/lib/virtuoso/Virtuoso.util.tsx +++ b/src/lib/virtuoso/Virtuoso.util.tsx @@ -9,6 +9,10 @@ import { useCallback, useMemo } from 'react'; export class VirtuosoUtil { + static readonly GROUP = 0; + + static readonly ITEMS = 1; + /** * Returns the index converted to the index of the list of group or normal items. * diff --git a/src/modules/extension/screens/Extensions.tsx b/src/modules/extension/screens/Extensions.tsx index d773ee75..73dddb83 100644 --- a/src/modules/extension/screens/Extensions.tsx +++ b/src/modules/extension/screens/Extensions.tsx @@ -107,7 +107,7 @@ export function Extensions({ tabsMenuHeight }: { tabsMenuHeight: number }) { const computeItemKey = VirtuosoUtil.useCreateGroupedComputeItemKey( groupCounts, - useCallback((index) => filteredGroupedExtensions[index][0], [filteredGroupedExtensions]), + useCallback((index) => filteredGroupedExtensions[index][LANGUAGE], [filteredGroupedExtensions]), useCallback((index) => visibleExtensions[index].pkgName, [visibleExtensions]), ); diff --git a/src/modules/history/screens/History.tsx b/src/modules/history/screens/History.tsx index 9fc1d577..bdae0e36 100644 --- a/src/modules/history/screens/History.tsx +++ b/src/modules/history/screens/History.tsx @@ -40,18 +40,17 @@ export const History: React.FC = () => { const endCursor = chapterHistoryData?.chapters.pageInfo.endCursor; const readEntries = chapterHistoryData?.chapters.nodes ?? []; const groupedHistory = useMemo( - () => - Object.entries(Chapters.groupByDate(readEntries, 'lastReadAt')).map(([date, chapters]) => [ - date, - chapters.length, - ]) satisfies [date: string, itemCount: number][], + () => Object.entries(Chapters.groupByDate(readEntries, 'lastReadAt')), [readEntries], ); - const groupCounts: number[] = useMemo(() => groupedHistory.map((group) => group[1]), [groupedHistory]); + const groupCounts: number[] = useMemo( + () => groupedHistory.map((group) => group[VirtuosoUtil.ITEMS].length), + [groupedHistory], + ); const computeItemKey = VirtuosoUtil.useCreateGroupedComputeItemKey( groupCounts, - useCallback((index) => groupedHistory[index][0], [groupedHistory]), + useCallback((index) => groupedHistory[index][VirtuosoUtil.GROUP], [groupedHistory]), useCallback((index) => readEntries[index].id, [readEntries]), ); @@ -100,7 +99,7 @@ export const History: React.FC = () => { groupContent={(index) => ( - {groupedHistory[index][0]} + {groupedHistory[index][VirtuosoUtil.GROUP]} )} diff --git a/src/modules/updates/screens/Updates.tsx b/src/modules/updates/screens/Updates.tsx index dabc6a9f..8f90634f 100644 --- a/src/modules/updates/screens/Updates.tsx +++ b/src/modules/updates/screens/Updates.tsx @@ -42,18 +42,17 @@ export const Updates: React.FC = () => { const endCursor = chapterUpdateData?.chapters.pageInfo.endCursor; const updateEntries = chapterUpdateData?.chapters.nodes ?? []; const groupedUpdates = useMemo( - () => - Object.entries(Chapters.groupByDate(updateEntries, 'fetchedAt')).map(([date, chapters]) => [ - date, - chapters.length, - ]) satisfies [date: string, itemCount: number][], + () => Object.entries(Chapters.groupByDate(updateEntries, 'fetchedAt')), [updateEntries], ); - const groupCounts: number[] = useMemo(() => groupedUpdates.map((group) => group[1]), [groupedUpdates]); + const groupCounts: number[] = useMemo( + () => groupedUpdates.map((group) => group[VirtuosoUtil.ITEMS].length), + [groupedUpdates], + ); const computeItemKey = VirtuosoUtil.useCreateGroupedComputeItemKey( groupCounts, - useCallback((index) => groupedUpdates[index][0], [groupedUpdates]), + useCallback((index) => groupedUpdates[index][VirtuosoUtil.GROUP], [groupedUpdates]), useCallback((index) => updateEntries[index].id, [updateEntries]), ); @@ -131,7 +130,7 @@ export const Updates: React.FC = () => { groupContent={(index) => ( - {groupedUpdates[index][0]} + {groupedUpdates[index][VirtuosoUtil.GROUP]} )}