import React, {useState, useEffect} from 'react'; import SearchBar from './SearchBar'; import FilterMenu from './FilterMenu'; import {SortDropdown} from './SortDropdown'; import ToggleSelectButton from './ToggleSelectButton'; import AddButton from './AddButton'; const FloatingBar = ({children}) => ( <>
{children}
); const DataBar = ({ searchPlaceholder = 'Search by name or tag...', searchTerms, currentInput, onInputChange, onAddTerm, onRemoveTerm, onClearTerms, filterType, setFilterType, filterValue, setFilterValue, allTags, sortBy, setSortBy, isSelectionMode, toggleSelectionMode, onAdd, addButtonLabel = 'Add New', showAddButton = true, className }) => { const [isFloating, setIsFloating] = useState(false); useEffect(() => { const handleScroll = () => { setIsFloating(window.scrollY > 64); }; window.addEventListener('scroll', handleScroll, {passive: true}); return () => window.removeEventListener('scroll', handleScroll); }, []); const controls = ( <>
setSortBy(key)} /> {showAddButton && !isSelectionMode && ( )}
); if (isFloating) { return {controls}; } return (
{controls}
); }; export default DataBar;