From f30211bdad157a1aaa8503bd1a5e3dcad009d17e Mon Sep 17 00:00:00 2001 From: Michael Bunsen Date: Tue, 6 Oct 2026 15:26:28 -0700 Subject: [PATCH 1/3] fix(ui): stop fading taxa rows that have verified occurrences The taxa table set opacity-50 on every row with at least one verified occurrence, which dimmed the name, dates, counts, images and links of exactly the taxa curators have reviewed most. The shield marker in the Verified column already flags these rows, so the dimming is removed along with the per-row class hook on the shared Table that only it used. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01DurLKiG8bGASzdgs6BtxRq --- ui/src/nova-ui-kit/components/table/table/table.tsx | 5 +---- ui/src/pages/species/species.tsx | 3 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/ui/src/nova-ui-kit/components/table/table/table.tsx b/ui/src/nova-ui-kit/components/table/table/table.tsx index 47b85e5dd..987a21b4f 100644 --- a/ui/src/nova-ui-kit/components/table/table/table.tsx +++ b/ui/src/nova-ui-kit/components/table/table/table.tsx @@ -29,8 +29,6 @@ interface TableProps { items?: T[] onSelectedItemsChange?: (selectedItems: string[]) => void onSortSettingsChange?: (sortSettings?: TableSortSettings) => void - // Optional per-row class hook, e.g. to de-emphasize already-processed rows. - rowClassName?: (item: T) => string | undefined selectable?: boolean selectedItems?: string[] sortable?: boolean @@ -45,7 +43,6 @@ export const Table = ({ items = [], onSelectedItemsChange, onSortSettingsChange, - rowClassName, selectable, selectedItems = [], sortable, @@ -128,7 +125,7 @@ export const Table = ({ {items.map((item, rowIndex) => ( - + {selectable && ( diff --git a/ui/src/pages/species/species.tsx b/ui/src/pages/species/species.tsx index 23c813b90..a84a9e11e 100644 --- a/ui/src/pages/species/species.tsx +++ b/ui/src/pages/species/species.tsx @@ -231,9 +231,6 @@ export const Species = () => { isLoading={!id && !verifyOccurrenceId && isLoading} items={species} onSortSettingsChange={setSort} - rowClassName={(item) => - item.numVerified > 0 ? 'opacity-50' : undefined - } sortable sortSettings={sort} /> From 1cd532f480678dbe8bfab96d61ebe860d12d4dea Mon Sep 17 00:00:00 2001 From: Michael Bunsen Date: Tue, 6 Oct 2026 15:41:42 -0700 Subject: [PATCH 2/3] fix(ui): drop the shield icon from the taxa Verified column A verified count above zero already shows that a taxon has verified occurrences, so the extra icon repeated the same information. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01DurLKiG8bGASzdgs6BtxRq --- ui/src/pages/species/species-columns.tsx | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/ui/src/pages/species/species-columns.tsx b/ui/src/pages/species/species-columns.tsx index dd4e2e779..3f03afb24 100644 --- a/ui/src/pages/species/species-columns.tsx +++ b/ui/src/pages/species/species-columns.tsx @@ -2,7 +2,6 @@ import { DeterminationScore } from 'components/determination-score' import { TaxonDetails } from 'components/taxon-details/taxon-details' import { Tag } from 'components/taxon-tags/tag' import { Species } from 'data-services/models/species' -import { ShieldCheckIcon } from 'lucide-react' import { BasicTableCell, CellTheme, @@ -157,15 +156,7 @@ export const columns: (project: { filters: { ...carryFilters, taxon: item.id, verified: 'true' }, })} > -
- {item.numVerified > 0 ? ( - - ) : null} - -
+ ), }, From 908366458a5e023ead25a40e4eaa119dda816ca4 Mon Sep 17 00:00:00 2001 From: Michael Bunsen Date: Tue, 6 Oct 2026 15:44:23 -0700 Subject: [PATCH 3/3] fix(ui): sort taxa by occurrences and sessions by most recent by default The taxa list opened in alphabetical order, which puts rarely seen taxa first. It now opens with the most frequently observed taxa at the top. The sessions list opened sorted by occurrence count; it now opens with the most recent session first. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01DurLKiG8bGASzdgs6BtxRq --- ui/src/pages/sessions/sessions.tsx | 5 +---- ui/src/pages/species/species.tsx | 5 ++++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ui/src/pages/sessions/sessions.tsx b/ui/src/pages/sessions/sessions.tsx index 45b74618b..0cf42a4c1 100644 --- a/ui/src/pages/sessions/sessions.tsx +++ b/ui/src/pages/sessions/sessions.tsx @@ -33,10 +33,7 @@ export const Sessions = () => { occurrences: true, species: true, }) - const { sort, setSort } = useSort({ - field: 'occurrences_count', - order: 'desc', - }) + const { sort, setSort } = useSort({ field: 'start', order: 'desc' }) const { pagination, setPage } = usePagination() const { filters } = useFilters() const { sessions, total, isLoading, isFetching, error } = useSessions({ diff --git a/ui/src/pages/species/species.tsx b/ui/src/pages/species/species.tsx index a84a9e11e..12a4bbe99 100644 --- a/ui/src/pages/species/species.tsx +++ b/ui/src/pages/species/species.tsx @@ -55,7 +55,10 @@ export const Species = () => { 'created-at': false, 'updated-at': false, }) - const { sort, setSort } = useSort({ field: 'name', order: 'asc' }) + const { sort, setSort } = useSort({ + field: 'occurrences_count', + order: 'desc', + }) const { pagination, setPage } = usePagination() const { activeFilters, filters } = useFilters() const { species, total, isLoading, isFetching, error } = useSpecies({