import { Button, Input, Segmented } from 'antd'; import { observer } from 'mobx-react-lite'; import React from 'react'; import { connect } from 'react-redux'; import { downgradeScope } from 'App/duck/user'; import { useStore } from 'App/mstore'; import { debounce } from 'App/utils'; import { Icon } from 'UI'; const DebugDowngrade = connect(null, { downgradeScope })( ({ downgradeScope }: any) => ( DEBUG: downgrade account scope ) ); const SpotsListHeader = observer( ({ onDelete, selectedCount, onClearSelection, isEmpty, toggleEmptyState, isEmptyState, }: { onDelete: () => void; selectedCount: number; onClearSelection: () => void; isEmpty?: boolean; toggleEmptyState?: () => void; isEmptyState?: boolean; }) => { const { spotStore } = useStore(); const debouncedFetch = React.useMemo( () => debounce(spotStore.fetchSpots, 250), [] ); const onSearch = (value: string) => { spotStore.setQuery(value); void spotStore.fetchSpots(); }; const handleInputChange = (e: React.ChangeEvent) => { spotStore.setQuery(e.target.value); debouncedFetch(); }; const onFilterChange = (key: 'all' | 'own') => { spotStore.setFilter(key); void spotStore.fetchSpots(); }; const handleSegmentChange = (value: string) => { const key = value === 'All Spots' ? 'all' : 'own'; onFilterChange(key); }; return ( Spot List DEBUG: empty state {isEmptyState ? 'ON' : 'OFF'} {isEmpty ? null : ( {selectedCount > 0 && ( <> Clear Delete ({selectedCount}) > )} )} ); } ); export default SpotsListHeader;