File tree Expand file tree Collapse file tree 2 files changed +27
-17
lines changed Expand file tree Collapse file tree 2 files changed +27
-17
lines changed Original file line number Diff line number Diff line change @@ -5,23 +5,30 @@ import type { EventType } from "@/sanity/types"
55import Select from "@/components/select/select"
66import { getEventTypeLabel } from "@/sanity/lib/utils"
77import AddToCalendarDropdown from "@/components/dropdown/addToCalendarDropdown"
8+ import { useSearchParams } from "next/navigation"
89
9- const CalendarModal : Component = ( ) => (
10- < Modal
11- size = { "xl" }
12- label = { "Abonner på arrangementer" }
13- modalTitle = { "Abonner på arrangementer i kalenderen din" }
14- modalContent = { < ModalContent /> }
15- trigger = { toggle => (
16- < button
17- onClick = { toggle }
18- className = { "text-root-primary dark:text-root-light" }
19- aria-label = { "Åpne meny" } >
20- Abonner på arrangementer
21- </ button >
22- ) }
23- />
24- )
10+ const CalendarModal : Component = ( ) => {
11+ const searchParams = useSearchParams ( )
12+ // Parameter for å åpne modal når side laster
13+ const startOpen = searchParams . has ( "abonner" )
14+ return (
15+ < Modal
16+ initialState = { startOpen }
17+ size = { "xl" }
18+ label = { "Abonner på arrangementer" }
19+ modalTitle = { "Abonner på arrangementer i kalenderen din" }
20+ modalContent = { < ModalContent /> }
21+ trigger = { toggle => (
22+ < button
23+ onClick = { toggle }
24+ className = { "text-root-primary dark:text-root-light" }
25+ aria-label = { "Åpne meny" } >
26+ Abonner på arrangementer
27+ </ button >
28+ ) }
29+ />
30+ )
31+ }
2532
2633export default CalendarModal
2734
Original file line number Diff line number Diff line change @@ -12,6 +12,7 @@ import useToggle from "@/hooks/useToggle"
1212import { type ReactNode } from "react"
1313
1414interface ModalProps extends DefaultProps {
15+ initialState ?: boolean
1516 label ?: string
1617 modalTitle ?: string
1718 modalContent ?: ReactNode
@@ -21,6 +22,7 @@ interface ModalProps extends DefaultProps {
2122
2223/**
2324 * En modal som flyter over innholdet på siden.
25+ * @param initialState State til om modal skal starte åpen eller lukket
2426 * @param label Tittelen på knappen som åpner modalen. Vises kun hvis trigger ikke er satt.
2527 * @param size Størrelsen på modalen.
2628 * @param modalTitle Tittelen på modalen. Vises på toppen av modalen.
@@ -29,14 +31,15 @@ interface ModalProps extends DefaultProps {
2931 * @param props Andre props som sendes til Modal komponenten.
3032 */
3133const Modal : Component < ModalProps > = ( {
34+ initialState,
3235 label,
3336 size,
3437 modalTitle,
3538 modalContent,
3639 trigger,
3740 ...props
3841} ) => {
39- const [ isOpen , toggleOpen ] = useToggle ( )
42+ const [ isOpen , toggleOpen ] = useToggle ( initialState )
4043
4144 function closeModal ( ) {
4245 toggleOpen ( false )
You can’t perform that action at this time.
0 commit comments