diff options
| author | Oliver <oliver@mohlin.dev> | 2025-05-29 09:15:35 +0200 |
|---|---|---|
| committer | Oliver <oliver@mohlin.dev> | 2025-06-05 10:26:46 +0200 |
| commit | 8c12555cd1be291cede241012c8174db901394ea (patch) | |
| tree | cc1cd6c6964b082a2ca1ceefc721c967d5eb69d9 | |
| parent | dc8fcd776db1668b378c69988d88f12cc0bfe695 (diff) | |
| download | mullvadvpn-8c12555cd1be291cede241012c8174db901394ea.tar.xz mullvadvpn-8c12555cd1be291cede241012c8174db901394ea.zip | |
Add FilterAccordion
| -rw-r--r-- | desktop/packages/mullvad-vpn/src/renderer/components/FilterAccordion.tsx | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/desktop/packages/mullvad-vpn/src/renderer/components/FilterAccordion.tsx b/desktop/packages/mullvad-vpn/src/renderer/components/FilterAccordion.tsx new file mode 100644 index 0000000000..1c5c7f5230 --- /dev/null +++ b/desktop/packages/mullvad-vpn/src/renderer/components/FilterAccordion.tsx @@ -0,0 +1,24 @@ +import React from 'react'; + +import { Accordion } from '../lib/components/accordion'; + +export type FilterAccordionProps = { + title?: string; + children?: React.ReactNode; + defaultOpen?: boolean; +}; + +export function FilterAccordion({ title, children, defaultOpen }: FilterAccordionProps) { + const [open, setOpen] = React.useState(defaultOpen); + return ( + <Accordion expanded={open} onExpandedChange={setOpen}> + <Accordion.Trigger> + <Accordion.Header> + <Accordion.Title>{title}</Accordion.Title> + <Accordion.Icon /> + </Accordion.Header> + </Accordion.Trigger> + <Accordion.Content>{children}</Accordion.Content> + </Accordion> + ); +} |
