diff --git a/apps/rebreak-native/app/(app)/blocker.tsx b/apps/rebreak-native/app/(app)/blocker.tsx index 9cab1a1..8b87b23 100644 --- a/apps/rebreak-native/app/(app)/blocker.tsx +++ b/apps/rebreak-native/app/(app)/blocker.tsx @@ -61,8 +61,6 @@ export default function BlockerScreen() { }, [refreshDomains, syncBlocklist, refresh]); useDomainSubmissionRealtime(onDomainChange, true); - // Section collapse state — beide Sections starten offen - const [webOpen, setWebOpen] = useState(true); const [mailOpen, setMailOpen] = useState(true); // AddSheet state: tracks which section opened it @@ -369,8 +367,6 @@ export default function BlockerScreen() { title={t('blocker.section_domains')} count={countsByType.web} max={limits.web} - open={webOpen} - onToggle={() => setWebOpen((v) => !v)} onAdd={() => openAddSheet('web')} atLimit={countsByType.web >= limits.web} > @@ -388,6 +384,7 @@ export default function BlockerScreen() { title={t('blocker.section_mails')} count={countsByType.mail} max={limits.mail} + collapsible open={mailOpen} onToggle={() => setMailOpen((v) => !v)} onAdd={() => openAddSheet('mail')} @@ -448,7 +445,8 @@ function DomainSection({ title, count, max, - open, + collapsible = false, + open = true, onToggle, onAdd, atLimit, @@ -457,8 +455,9 @@ function DomainSection({ title: string; count: number; max: number; - open: boolean; - onToggle: () => void; + collapsible?: boolean; + open?: boolean; + onToggle?: () => void; onAdd: () => void; atLimit: boolean; children: React.ReactNode; @@ -496,8 +495,8 @@ function DomainSection({ > {/* Section Header */} - + {collapsible && ( + + )} - {open && ( + {(!collapsible || open) && ( {/* Progressbar */}