feat: load phoneOnly filter from localStorage after component mount
This commit is contained in:
@@ -20,21 +20,26 @@ export default function ProjectListPage() {
|
||||
const [projects, setProjects] = useState([]);
|
||||
const [searchTerm, setSearchTerm] = useState("");
|
||||
const [filteredProjects, setFilteredProjects] = useState([]);
|
||||
const [filters, setFilters] = useState(() => {
|
||||
// Load phoneOnly filter from localStorage
|
||||
const savedPhoneOnly = typeof window !== 'undefined'
|
||||
? localStorage.getItem('projectsPhoneOnlyFilter') === 'true'
|
||||
: false;
|
||||
return {
|
||||
const [filters, setFilters] = useState({
|
||||
status: 'all',
|
||||
type: 'all',
|
||||
customer: 'all',
|
||||
mine: false,
|
||||
phoneOnly: savedPhoneOnly
|
||||
};
|
||||
phoneOnly: false
|
||||
});
|
||||
|
||||
const [customers, setCustomers] = useState([]);
|
||||
|
||||
// Load phoneOnly filter from localStorage after mount to avoid hydration issues
|
||||
useEffect(() => {
|
||||
const savedPhoneOnly = localStorage.getItem('projectsPhoneOnlyFilter') === 'true';
|
||||
if (savedPhoneOnly) {
|
||||
setFilters(prev => ({
|
||||
...prev,
|
||||
phoneOnly: savedPhoneOnly
|
||||
}));
|
||||
}
|
||||
}, []);
|
||||
const [filtersExpanded, setFiltersExpanded] = useState(true); // Start expanded on mobile so users know filters exist
|
||||
const [searchMatchType, setSearchMatchType] = useState(null); // Track what type of match was found
|
||||
|
||||
|
||||
Reference in New Issue
Block a user