Layout save fix

This commit is contained in:
headlesdev 2025-05-19 12:30:18 +02:00
parent 458af58e99
commit deed90c83c
2 changed files with 9 additions and 7 deletions

View File

@ -1,4 +1,5 @@
import { ChangeEvent } from "react"; import { ChangeEvent } from "react";
import Cookies from "js-cookie";
interface SearchAndLayoutProps { interface SearchAndLayoutProps {
search: string; search: string;
@ -11,8 +12,9 @@ const SearchAndLayout = ({
search, search,
setSearch, setSearch,
itemPerPage, itemPerPage,
setItemPerPage setItemPerPage,
}: SearchAndLayoutProps) => ( }: SearchAndLayoutProps) => {
return (
<div className="flex gap-2 items-center pt-4"> <div className="flex gap-2 items-center pt-4">
<input <input
type="text" type="text"
@ -34,5 +36,6 @@ const SearchAndLayout = ({
</select> </select>
</div> </div>
); );
};
export default SearchAndLayout; export default SearchAndLayout;

View File

@ -3,9 +3,12 @@ import axios from "axios";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
const useSites = () => { const useSites = () => {
const savedLayout = Cookies.get('sites-itemPerPage');
const defaultLayout = savedLayout ? Number(savedLayout) : 5;
const [sites, setSites] = useState([]); const [sites, setSites] = useState([]);
const [currentPage, setCurrentPage] = useState(1); const [currentPage, setCurrentPage] = useState(1);
const [itemPerPage, setItemPerPage] = useState(5); const [itemPerPage, setItemPerPage] = useState(defaultLayout);
const [total, setTotal] = useState(0); const [total, setTotal] = useState(0);
const [search, setSearch] = useState(""); const [search, setSearch] = useState("");
@ -22,10 +25,6 @@ const useSites = () => {
loadSites(); loadSites();
}, [loadSites]); }, [loadSites]);
useEffect(() => {
const savedItemPerPage = Cookies.get('sites-itemPerPage');
if (savedItemPerPage) setItemPerPage(Number(savedItemPerPage));
}, []);
useEffect(() => { useEffect(() => {
Cookies.set('sites-itemPerPage', itemPerPage.toString()); Cookies.set('sites-itemPerPage', itemPerPage.toString());