{ownCount === 0 ? t('packing.shareCat.noneOwn') : t('packing.shareCat.hint')}
@@ -73,7 +73,7 @@ export default function MPackingCategorySharingSheet({
{tier('shared', Share2, t('packing.tierShared'))}
{visibility === 'shared' &&
(others.length === 0 ? (
-
+
{t('packing.noOneToShare')}
) : (
@@ -87,7 +87,7 @@ export default function MPackingCategorySharingSheet({
onClick={() => sharing.toggleRecipient(m.id)}
className="flex items-center gap-[8px] rounded-[9px] py-[7px] pe-[10px] ps-9 text-start"
>
-
+
{m.username}
{picked && }
diff --git a/client/src/pages/CollectionsPage.test.tsx b/client/src/pages/CollectionsPage.test.tsx
index 2458678db..42658d5e4 100644
--- a/client/src/pages/CollectionsPage.test.tsx
+++ b/client/src/pages/CollectionsPage.test.tsx
@@ -81,7 +81,7 @@ function makeHook(overrides: Record = {}) {
incomingInvites: [],
orderedInvites: [],
routeInvite: null,
- counts: { all: 1, idea: 0, want: 1, visited: 0 },
+ counts: { all: 1, idea: 0, want: 1, visited: 0, revisit: 0 },
view: 'list',
statusFilter: 'all',
categoryFilter: 'all',
diff --git a/client/src/pages/CollectionsPage.wiring.test.tsx b/client/src/pages/CollectionsPage.wiring.test.tsx
index d033514bb..ac7c72266 100644
--- a/client/src/pages/CollectionsPage.wiring.test.tsx
+++ b/client/src/pages/CollectionsPage.wiring.test.tsx
@@ -214,7 +214,7 @@ function makeHook(overrides: Hook = {}): Hook {
incomingInvites: [],
orderedInvites: [],
routeInvite: null,
- counts: { all: 1, idea: 0, want: 1, visited: 0 },
+ counts: { all: 1, idea: 0, want: 1, visited: 0, revisit: 0 },
view: 'list',
statusFilter: 'all',
categoryFilter: 'all',
diff --git a/client/src/pages/admin/AdminSettingsTab.tsx b/client/src/pages/admin/AdminSettingsTab.tsx
index 84b8569e0..0f801d6dc 100644
--- a/client/src/pages/admin/AdminSettingsTab.tsx
+++ b/client/src/pages/admin/AdminSettingsTab.tsx
@@ -244,7 +244,7 @@ export default function AdminSettingsTab({ admin, t }: AdminSettingsTabProps): R
handleToggleAuthSetting('oidc_auto_redirect', !oidcAutoRedirect, setOidcAutoRedirect)}
+ onToggle={() => void handleToggleAuthSetting('oidc_auto_redirect', !oidcAutoRedirect, setOidcAutoRedirect)}
/>
}
/>
diff --git a/client/src/pages/collections/useCollections.test.tsx b/client/src/pages/collections/useCollections.test.tsx
index 3961b6b2c..4cc8c5059 100644
--- a/client/src/pages/collections/useCollections.test.tsx
+++ b/client/src/pages/collections/useCollections.test.tsx
@@ -381,7 +381,7 @@ describe('useCollections — derived place lists', () => {
it('FE-PAGE-COLL-020: visiblePlaces keeps the saved order by default', async () => {
const { result } = await setup()
expect(result.current.visiblePlaces.map(p => p.id)).toEqual([2, 1, 3])
- expect(result.current.counts).toEqual({ all: 3, idea: 1, want: 1, visited: 1 })
+ expect(result.current.counts).toEqual({ all: 3, idea: 1, want: 1, visited: 1, revisit: 0 })
expect(result.current.mappable.map(p => p.id)).toEqual([1, 3])
})
diff --git a/client/tests/unit/mobile/trip/MCostsTab.test.tsx b/client/tests/unit/mobile/trip/MCostsTab.test.tsx
index 898a49849..e3c50c5d0 100644
--- a/client/tests/unit/mobile/trip/MCostsTab.test.tsx
+++ b/client/tests/unit/mobile/trip/MCostsTab.test.tsx
@@ -254,7 +254,8 @@ describe('MCostsTab', () => {
it('FE-MOB-COSTT-011: breaks the spend down by category, largest bar first', async () => {
await renderTab()
- const block = up(screen.getByText('costs.byCategory'), 1)
+ // The heading sits in its own row now, beside the way to count everything again (#2819).
+ const block = up(screen.getByText('costs.byCategory'), 2)
const labels = within(block).getAllByText(/^costs\.cat\./).map(n => n.textContent)
expect(labels).toEqual(['costs.cat.food', 'costs.cat.activities', 'costs.cat.shopping', 'costs.cat.transport'])
expect(within(block).getByText('$60.00')).toBeInTheDocument()