From 198fbf6751d4fa334eb78e718d670a7da8c7c95e Mon Sep 17 00:00:00 2001 From: Codex Agent Date: Wed, 21 Jan 2026 10:30:12 +0100 Subject: [PATCH] Hide add FAB at task limit --- resources/js/admin/mobile/EventTasksPage.tsx | 24 ++++++++++--------- .../mobile/__tests__/EventTasksPage.test.tsx | 21 +++++++++++++++- 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/resources/js/admin/mobile/EventTasksPage.tsx b/resources/js/admin/mobile/EventTasksPage.tsx index 8b54ae1..cfcbd49 100644 --- a/resources/js/admin/mobile/EventTasksPage.tsx +++ b/resources/js/admin/mobile/EventTasksPage.tsx @@ -1555,17 +1555,19 @@ export default function MobileEventTasksPage() { - { - if (!canAddTasks) { - toast.error(limitReachedMessage); - return; - } - setShowFabMenu(true); - }} - label={t('events.tasks.add', 'Add')} - icon={Plus} - /> + {canAddTasks ? ( + { + if (!canAddTasks) { + toast.error(limitReachedMessage); + return; + } + setShowFabMenu(true); + }} + label={t('events.tasks.add', 'Add')} + icon={Plus} + /> + ) : null} ({ @@ -309,4 +309,23 @@ describe('MobileEventTasksPage', () => { expect((await screen.findAllByText('Auswahl löschen')).length).toBeGreaterThan(0); }); + + it('hides the add FAB when the task limit is reached', async () => { + (api.getEvent as unknown as { mockResolvedValueOnce: (value: any) => void }).mockResolvedValueOnce({ + ...fixtures.event, + limits: { + tasks: { + limit: 2, + remaining: 0, + }, + }, + }); + + render(); + + expect(await screen.findByText('Photo task mode')).toBeInTheDocument(); + await waitFor(() => { + expect(screen.queryByLabelText('Add')).not.toBeInTheDocument(); + }); + }); });