diff --git a/package-lock.json b/package-lock.json index e34d81d..4afe8c2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1880,9 +1880,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001620", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001620.tgz", - "integrity": "sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==", + "version": "1.0.30001640", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001640.tgz", + "integrity": "sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==", "dev": true, "funding": [ { diff --git a/package.json b/package.json index 850d1ca..de1f53a 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0", + "lint": "eslint -c eslint.config.js --ext .js,.jsx,.ts,.tsx .", "preview": "vite preview" }, "dependencies": { diff --git a/src/App.jsx b/src/App.jsx index 1be36b2..0265ae1 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -7,20 +7,21 @@ import { Route, Routes } from "react-router-dom"; import Contact from "./components/Contact"; import Mininav from "./components/Mininav"; import AddJobListing from "./components/AddJobListing"; +import Cookies from "./components/Cookies"; function App() { return (
-
+
{/* */} -
+
-
+
} /> @@ -32,6 +33,7 @@ function App() { {/* } /> */} {/* Add more routes as needed */} +
diff --git a/src/components/Cookies.jsx b/src/components/Cookies.jsx new file mode 100644 index 0000000..f8de240 --- /dev/null +++ b/src/components/Cookies.jsx @@ -0,0 +1,29 @@ +import propTypes from 'prop-types' +import { useState } from 'react' +const Cookies = props => { + const handleCookies = () => { + localStorage.setItem('cookies', true) + } + const cookies = localStorage.getItem('cookies') + // if(cookies) return null + const [show, setShow] = useState(true) + if (cookies) return null; + if (!show) return null; + return ( + <> +
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

+ + +
+ + ) +} + +Cookies.propTypes = { + +} + +export default Cookies \ No newline at end of file diff --git a/src/components/Filter.jsx b/src/components/Filter.jsx index 0a4dd71..b92e93f 100644 --- a/src/components/Filter.jsx +++ b/src/components/Filter.jsx @@ -7,64 +7,19 @@ import Selector from './Selector'; const Filter = (props) => { useEffect(() => { console.log(props.searchQuery) - console.log(selectedCategories) - console.log(selectedWorkFromHome) - console.log(selectedEmploymentTypes) - console.log(valueminSalary) }, [props.searchQuery]); - const [selectedCategories, setSelectedCategories] = useState([]); - const [selectedWorkFromHome, setSelectedWorkFromHome] = useState([]); - const [selectedEmploymentTypes, setSelectedEmploymentTypes] = useState([]); - const [valueminSalary, setValueminSalary] = useState(''); - const [valuemaxSalary, setValuemaxSalary] = useState(''); - const [valueName, setValueName] = useState(''); - const [valueLocalization, setValueLocalization] = useState(''); - - useEffect(() => { - setSelectedCategories([]) - setSelectedWorkFromHome([]) - setSelectedEmploymentTypes([]) - setValueminSalary('') - setValuemaxSalary('') - setValueName('') - setValueLocalization('') - }, [props.clearSearchQuery]) const handle_checked_change = (e) => { - switch (e.target.name) { - case 'categories': - if (e.target.checked) { - setSelectedCategories([...selectedCategories, e.target.value]); - } else { - setSelectedCategories(selectedCategories.filter(category => category !== e.target.value)); - } - props.setSearchQuery(prevState => - ({...prevState, - categories: e.target.checked ? [...(prevState.categories || []), e.target.value] : (prevState.categories || []).filter(category => category !== e.target.value)})); - break; - case 'work_from_home': - if (e.target.checked) { - setSelectedWorkFromHome([...selectedWorkFromHome, e.target.value]); - } else { - setSelectedWorkFromHome(selectedCategories.filter(work_from_home => work_from_home !== e.target.value)); - } - props.setSearchQuery(prevState => - ({...prevState, - work_from_home: e.target.checked ? [...(prevState.work_from_home || []), e.target.value] : (prevState.work_from_home || []).filter(work_from_home => work_from_home !== e.target.value)})); - break; - case 'employment': - if (e.target.checked) { - setSelectedEmploymentTypes([...selectedEmploymentTypes, e.target.value]); - } else { - setSelectedEmploymentTypes(selectedCategories.filter(employment => employment !== e.target.value)); - } - props.setSearchQuery(prevState => - ({...prevState, - employment: e.target.checked ? [...(prevState.employment || []), e.target.value] : (prevState.employment || []).filter(employment => employment !== e.target.value)})); - break; - } + const { name, value, checked } = e.target; + props.setSearchQuery(prevState => { + const newArray = checked + ? [...(prevState[name] || []), value] + : (prevState[name] || []).filter(item => item !== value); + return { ...prevState, [name]: newArray }; + }); } + return ( @@ -103,9 +58,9 @@ const Filter = (props) => { setSearchQuery={props.setSearchQuery} _type='text' value={props.searchQuery.max_salary || ''}/> - - - + + +
diff --git a/src/components/WorkApp.jsx b/src/components/WorkApp.jsx index f0e3b3f..395994b 100644 --- a/src/components/WorkApp.jsx +++ b/src/components/WorkApp.jsx @@ -137,12 +137,12 @@ const WorkApp = () => { }, []); return ( -
-
+
+
{