@@ -2,7 +2,9 @@ import { MagnifyingGlassIcon } from "@heroicons/react/20/solid";
22import { Form } from "@remix-run/react" ;
33import type { LoaderFunctionArgs } from "@remix-run/server-runtime" ;
44import { redirect , typedjson , useTypedLoaderData } from "remix-typedjson" ;
5+ import { useState } from "react" ;
56import { z } from "zod" ;
7+ import { FeatureFlagsDialog } from "~/components/admin/FeatureFlagsDialog" ;
68import { Button , LinkButton } from "~/components/primitives/Buttons" ;
79import { CopyableText } from "~/components/primitives/CopyableText" ;
810import { Input } from "~/components/primitives/Input" ;
@@ -46,6 +48,16 @@ export const loader = async ({ request, params }: LoaderFunctionArgs) => {
4648export default function AdminDashboardRoute ( ) {
4749 const { organizations, filters, page, pageCount } = useTypedLoaderData < typeof loader > ( ) ;
4850
51+ const [ flagsOrgId , setFlagsOrgId ] = useState < string | null > ( null ) ;
52+ const [ flagsOrgTitle , setFlagsOrgTitle ] = useState ( "" ) ;
53+ const [ flagsOpen , setFlagsOpen ] = useState ( false ) ;
54+
55+ const openFlagsDialog = ( orgId : string , orgTitle : string ) => {
56+ setFlagsOrgId ( orgId ) ;
57+ setFlagsOrgTitle ( orgTitle ) ;
58+ setFlagsOpen ( true ) ;
59+ } ;
60+
4961 return (
5062 < main
5163 aria-labelledby = "primary-heading"
@@ -113,6 +125,13 @@ export default function AdminDashboardRoute() {
113125 < TableCell > { org . v3Enabled ? "✅" : "" } </ TableCell >
114126 < TableCell > { org . deletedAt ? "☠️" : "" } </ TableCell >
115127 < TableCell isSticky = { true } >
128+ < Button
129+ variant = "tertiary/small"
130+ onClick = { ( ) => openFlagsDialog ( org . id , org . title ) }
131+ className = "mr-2"
132+ >
133+ Flags
134+ </ Button >
116135 < LinkButton
117136 to = { `/@/orgs/${ org . slug } ` }
118137 className = "mr-2"
@@ -135,6 +154,12 @@ export default function AdminDashboardRoute() {
135154
136155 < PaginationControls currentPage = { page } totalPages = { pageCount } />
137156 </ div >
157+ < FeatureFlagsDialog
158+ orgId = { flagsOrgId }
159+ orgTitle = { flagsOrgTitle }
160+ open = { flagsOpen }
161+ onOpenChange = { setFlagsOpen }
162+ />
138163 </ main >
139164 ) ;
140165}
0 commit comments