Skip to content

Commit 4a45f41

Browse files
committed
La til abonner param for kalender
1 parent 094c9c6 commit 4a45f41

File tree

2 files changed

+27
-17
lines changed

2 files changed

+27
-17
lines changed

components/modals/calendarModal.tsx

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,30 @@ import type { EventType } from "@/sanity/types"
55
import Select from "@/components/select/select"
66
import { getEventTypeLabel } from "@/sanity/lib/utils"
77
import 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

2633
export default CalendarModal
2734

components/modals/modal.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import useToggle from "@/hooks/useToggle"
1212
import { type ReactNode } from "react"
1313

1414
interface 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
*/
3133
const 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)

0 commit comments

Comments
 (0)