'use client' import { Check, ChevronDown, Home, Plus } from 'lucide-react' import { useState } from 'react' import { useActiveProperty, useProperties } from '../lib/properties/hooks' import { cn } from '@/lib/utils' import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from '@/components/ui/primitives/dropdown-menu' import { NewPropertyDialog } from './new-property-dialog' /** * PropertyDropdown - Shows active property and allows switching between properties */ export function PropertyDropdown() { const { properties, isLoading: propertiesLoading, refetch } = useProperties() const { activeProperty, setActiveProperty, isPending } = useActiveProperty() const [isNewPropertyDialogOpen, setIsNewPropertyDialogOpen] = useState(false) const handlePropertySelect = async (propertyId: string) => { await setActiveProperty(propertyId) } const handleAddNew = () => { setIsNewPropertyDialogOpen(true) } const handlePropertyCreated = () => { refetch() } return ( <> {/* Property list */} {properties.length > 0 ? (
{properties.map((property) => ( activeProperty?.id === property.id ? null : handlePropertySelect(property.id) } >
{property.name}
{activeProperty?.id === property.id && ( )}
))}
) : (
No properties yet
)} {/* Add new property option */} Add new property
) }