import { Filter, Search } from 'lucide-react' import Link from 'next/link' import { useRouter } from 'next/router' import { IS_PLATFORM, useParams } from 'common' import { useIsNewLayoutEnabled } from 'components/interfaces/App/FeaturePreview/FeaturePreviewContext' import { useOrganizationsQuery } from 'data/organizations/organizations-query' import { useIsFeatureEnabled } from 'hooks/misc/useIsFeatureEnabled' import { PROJECT_STATUS } from 'lib/constants' import { EMPTY_ARR } from 'lib/void' import { Button, Checkbox_Shadcn_, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, Input, Label_Shadcn_, PopoverContent_Shadcn_, PopoverTrigger_Shadcn_, Popover_Shadcn_, } from 'ui' interface HomePageActionsProps { organizations?: { name: string; slug: string }[] search: string filterStatus: string[] setSearch: (value: string) => void setFilterStatus: (value: string[]) => void } const HomePageActions = ({ organizations = EMPTY_ARR, search, filterStatus, setSearch, setFilterStatus, }: HomePageActionsProps) => { const newLayoutPreview = useIsNewLayoutEnabled() const router = useRouter() const { slug } = useParams() const projectCreationEnabled = useIsFeatureEnabled('projects:create') const organizationCreationEnabled = useIsFeatureEnabled('organizations:create') const { isSuccess: orgsLoaded } = useOrganizationsQuery() return (
{newLayoutPreview ? ( projectCreationEnabled ? ( ) : null ) : ( <> Choose organization {organizations .sort((a, b) => a.name.localeCompare(b.name)) .map((x) => ( router.push(`/new/${x.slug}`)}> {x.name} ))} )} {IS_PLATFORM && organizationCreationEnabled && orgsLoaded && !newLayoutPreview && ( )}
} className="w-full flex-1 md:w-64 [&>div>div>div>input]:!pl-7 [&>div>div>div>div]:!pl-2" value={search} onChange={(event) => setSearch(event.target.value)} />
))}
) } export default HomePageActions