import { ReactNode } from 'react'; import { useParams } from 'react-router-dom'; import { ObjectFilterDropdownButton } from '@/object-record/object-filter-dropdown/components/ObjectFilterDropdownButton'; import { ObjectSortDropdownButton } from '@/object-record/object-sort-dropdown/components/ObjectSortDropdownButton'; import { useIsPrefetchLoading } from '@/prefetch/hooks/useIsPrefetchLoading'; import { TopBar } from '@/ui/layout/top-bar/components/TopBar'; import { QueryParamsFiltersEffect } from '@/views/components/QueryParamsFiltersEffect'; import { ViewBarFilterEffect } from '@/views/components/ViewBarFilterEffect'; import { ViewBarPageTitle } from '@/views/components/ViewBarPageTitle'; import { ViewBarSkeletonLoader } from '@/views/components/ViewBarSkeletonLoader'; import { ViewBarSortEffect } from '@/views/components/ViewBarSortEffect'; import { ViewPickerDropdown } from '@/views/view-picker/components/ViewPickerDropdown'; import { ViewsHotkeyScope } from '../types/ViewsHotkeyScope'; import { FiltersHotkeyScope } from '@/object-record/object-filter-dropdown/types/FiltersHotkeyScope'; import { VIEW_SORT_DROPDOWN_ID } from '@/object-record/object-sort-dropdown/constants/ViewSortDropdownId'; import { ObjectSortDropdownComponentInstanceContext } from '@/object-record/object-sort-dropdown/states/context/ObjectSortDropdownComponentInstanceContext'; import { ViewBarRecordFilterEffect } from '@/views/components/ViewBarRecordFilterEffect'; import { UpdateViewButtonGroup } from './UpdateViewButtonGroup'; import { ViewBarDetails } from './ViewBarDetails'; export type ViewBarProps = { viewBarId: string; className?: string; optionsDropdownButton: ReactNode; }; export const ViewBar = ({ viewBarId, className, optionsDropdownButton, }: ViewBarProps) => { const { objectNamePlural } = useParams(); const filterDropdownId = 'view-filter'; const loading = useIsPrefetchLoading(); if (!objectNamePlural) { return; } return ( : } rightComponent={ <> {optionsDropdownButton} } bottomComponent={ } /> } /> ); };