@@ -33,11 +33,18 @@ import { addFrameworksSchema } from "@/actions/schema"; // Will create/update th
3333
3434type Props = {
3535 onOpenChange : ( isOpen : boolean ) => void ;
36- availableFrameworks : Pick < FrameworkEditorFramework , "id" | "name" | "description" | "version" | "visible" > [ ] ;
36+ availableFrameworks : Pick <
37+ FrameworkEditorFramework ,
38+ "id" | "name" | "description" | "version" | "visible"
39+ > [ ] ;
3740 organizationId : string ;
3841} ;
3942
40- export function AddFrameworkModal ( { onOpenChange, availableFrameworks, organizationId } : Props ) {
43+ export function AddFrameworkModal ( {
44+ onOpenChange,
45+ availableFrameworks,
46+ organizationId,
47+ } : Props ) {
4148 const t = useI18n ( ) ;
4249 const router = useRouter ( ) ;
4350 const [ isExecuting , setIsExecuting ] = useState ( false ) ;
@@ -79,7 +86,9 @@ export function AddFrameworkModal({ onOpenChange, availableFrameworks, organizat
7986 < DialogHeader className = "my-4" >
8087 < DialogTitle > { t ( "frameworks.add_modal.title" ) } </ DialogTitle >
8188 < DialogDescription >
82- { availableFrameworks . length > 0 ? t ( "frameworks.add_modal.description" ) : t ( "frameworks.add_modal.all_enabled_description" ) }
89+ { availableFrameworks . length > 0
90+ ? t ( "frameworks.add_modal.description" )
91+ : t ( "frameworks.add_modal.all_enabled_description" ) }
8392 </ DialogDescription >
8493 </ DialogHeader >
8594
@@ -100,30 +109,40 @@ export function AddFrameworkModal({ onOpenChange, availableFrameworks, organizat
100109 </ FormLabel >
101110 < FormControl >
102111 < fieldset className = "flex flex-col gap-2 select-none" >
103- < legend className = "sr-only" >
104- { t ( "frameworks.overview.grid.title" ) }
105- </ legend >
106112 < div className = "flex flex-col gap-2 overflow-y-auto max-h-[300px]" >
107- { availableFrameworks . filter ( framework => framework . visible ) . map (
108- ( framework ) => {
109- const frameworkId = framework . id ;
113+ { availableFrameworks
114+ . filter (
115+ ( framework ) =>
116+ framework . visible ,
117+ )
118+ . map ( ( framework ) => {
119+ const frameworkId =
120+ framework . id ;
110121 return (
111122 < label
112- key = { frameworkId }
123+ key = {
124+ frameworkId
125+ }
113126 htmlFor = { `add-framework-${ frameworkId } ` }
114127 className = { cn (
115128 "relative flex flex-col p-4 border rounded-sm cursor-pointer transition-colors focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2 w-full text-left" ,
116- field . value . includes ( frameworkId ) &&
117- "border-primary bg-primary/5" ,
129+ field . value . includes (
130+ frameworkId ,
131+ ) &&
132+ "border-primary bg-primary/5" ,
118133 ) }
119134 >
120135 < div className = "flex items-start justify-between" >
121136 < div >
122137 < h3 className = "font-semibold" >
123- { framework . name }
138+ {
139+ framework . name
140+ }
124141 </ h3 >
125142 < p className = "text-sm text-muted-foreground mt-1" >
126- { framework . description }
143+ {
144+ framework . description
145+ }
127146 </ p >
128147 < p className = "text-xs text-muted-foreground/75 mt-2" >
129148 { `${ t ( "frameworks.overview.grid.version" ) } : ${ framework . version } ` }
@@ -132,21 +151,36 @@ export function AddFrameworkModal({ onOpenChange, availableFrameworks, organizat
132151 < div >
133152 < Checkbox
134153 id = { `add-framework-${ frameworkId } ` }
135- checked = { field . value . includes ( frameworkId ) }
154+ checked = { field . value . includes (
155+ frameworkId ,
156+ ) }
136157 className = "mt-1"
137- onCheckedChange = { ( checked ) => {
138- const newValue = checked
139- ? [ ...field . value , frameworkId ]
140- : field . value . filter ( ( id ) => id !== frameworkId ) ;
141- field . onChange ( newValue ) ;
158+ onCheckedChange = { (
159+ checked ,
160+ ) => {
161+ const newValue =
162+ checked
163+ ? [
164+ ...field . value ,
165+ frameworkId ,
166+ ]
167+ : field . value . filter (
168+ (
169+ id ,
170+ ) =>
171+ id !==
172+ frameworkId ,
173+ ) ;
174+ field . onChange (
175+ newValue ,
176+ ) ;
142177 } }
143178 />
144179 </ div >
145180 </ div >
146181 </ label >
147182 ) ;
148- } ,
149- ) }
183+ } ) }
150184 </ div >
151185 </ fieldset >
152186 </ FormControl >
@@ -166,7 +200,12 @@ export function AddFrameworkModal({ onOpenChange, availableFrameworks, organizat
166200 </ Button >
167201 < Button
168202 type = "submit"
169- disabled = { isExecuting || form . getValues ( "frameworkIds" ) . length === 0 || availableFrameworks . length === 0 }
203+ disabled = {
204+ isExecuting ||
205+ form . getValues ( "frameworkIds" )
206+ . length === 0 ||
207+ availableFrameworks . length === 0
208+ }
170209 suppressHydrationWarning
171210 >
172211 { isExecuting && (
@@ -182,7 +221,9 @@ export function AddFrameworkModal({ onOpenChange, availableFrameworks, organizat
182221
183222 { ! isExecuting && availableFrameworks . length === 0 && (
184223 < div className = "py-8 text-center" >
185- < p className = "text-md text-foreground" > { t ( "frameworks.add_modal.all_enabled_message" ) } </ p >
224+ < p className = "text-md text-foreground" >
225+ { t ( "frameworks.add_modal.all_enabled_message" ) }
226+ </ p >
186227 < DialogFooter className = "mt-8" >
187228 < Button
188229 type = "button"
@@ -198,9 +239,11 @@ export function AddFrameworkModal({ onOpenChange, availableFrameworks, organizat
198239 { isExecuting && (
199240 < div className = "flex items-center justify-center p-8" >
200241 < Loader2 className = "h-12 w-12 animate-spin text-primary" />
201- < p className = "ml-4 text-muted-foreground" > { t ( "frameworks.add_modal.loading" ) } </ p >
242+ < p className = "ml-4 text-muted-foreground" >
243+ { t ( "frameworks.add_modal.loading" ) }
244+ </ p >
202245 </ div >
203246 ) }
204247 </ DialogContent >
205248 ) ;
206- }
249+ }
0 commit comments