@@ -13,10 +13,21 @@ import { CaptableLogo } from "@/components/common/logo";
13
13
import { cn } from "@/lib/utils" ;
14
14
import type { DialogProps } from "@radix-ui/react-dialog" ;
15
15
16
+ const sizes = {
17
+ sm : "max-w-sm" ,
18
+ md : "max-w-md" ,
19
+ lg : "max-w-lg" ,
20
+ xl : "max-w-xl" ,
21
+ "2xl" : "max-w-2xl" ,
22
+ "3xl" : "max-w-3xl" ,
23
+ "4xl" : "max-w-4xl" ,
24
+ screen : "max-w-[96vw]" ,
25
+ } ;
26
+
16
27
export type ModalProps = {
17
28
title : string | React . ReactNode ;
18
29
subtitle ?: string | React . ReactNode ;
19
- size ?: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" ;
30
+ size ?: keyof typeof sizes ;
20
31
trigger : React . ReactNode ;
21
32
children : React . ReactNode ;
22
33
dialogProps ?: DialogProps ;
@@ -36,17 +47,7 @@ const Modal = ({
36
47
< Dialog { ...dialogProps } >
37
48
< DialogTrigger asChild > { trigger } </ DialogTrigger >
38
49
< DialogContent
39
- className = { cn (
40
- "mb-10 mt-10 gap-0 bg-white p-0" ,
41
- size === "sm" && "sm:max-w-sm" ,
42
- size === "md" && "sm:max-w-md" ,
43
- size === "lg" && "sm:max-w-lg" ,
44
- size === "xl" && "sm:max-w-xl" ,
45
- size === "2xl" && "sm:max-w-2xl" ,
46
- size === "3xl" && "sm:max-w-3xl" ,
47
- size === "4xl" && "sm:max-w-4xl" ,
48
- size === "5xl" && "sm:max-w-5xl" ,
49
- ) }
50
+ className = { cn ( "mb-10 mt-10 gap-0 bg-white p-0" , sizes [ size ] ) }
50
51
>
51
52
< div
52
53
className = { cn (
0 commit comments