diff --git a/package.json b/package.json index 46e636c..0d5ca26 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,8 @@ }, "dependencies": { "@hookform/resolvers": "^3.3.2", - "@tanstack/react-query": "^5.0.5", + "@tanstack/react-query": "^5.8.4", + "@tanstack/react-query-devtools": "^5.8.4", "axios": "^1.6.0", "bootstrap": "5.3.2", "firebase": "^10.4.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 88dcdf3..96abfd9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,11 @@ dependencies: specifier: ^3.3.2 version: 3.3.2(react-hook-form@7.47.0) '@tanstack/react-query': - specifier: ^5.0.5 - version: 5.0.5(react-dom@18.2.0)(react@18.2.0) + specifier: ^5.8.4 + version: 5.8.4(react-dom@18.2.0)(react@18.2.0) + '@tanstack/react-query-devtools': + specifier: ^5.8.4 + version: 5.8.4(@tanstack/react-query@5.8.4)(react-dom@18.2.0)(react@18.2.0) axios: specifier: ^1.6.0 version: 1.6.0 @@ -1147,12 +1150,29 @@ packages: engines: {node: '>=14.0.0'} dev: false - /@tanstack/query-core@5.0.5: - resolution: {integrity: sha512-MThCETMkHDHTnFZHp71L+SqTtD5d6XHftFCVR1xRJdWM3qGrlQ2VCXaj0SKVcyJej2e1Opa2c7iknu1llxCDNQ==} + /@tanstack/query-core@5.8.3: + resolution: {integrity: sha512-SWFMFtcHfttLYif6pevnnMYnBvxKf3C+MHMH7bevyYfpXpTMsLB9O6nNGBdWSoPwnZRXFNyNeVZOw25Wmdasow==} dev: false - /@tanstack/react-query@5.0.5(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-ZG0Q4HZ0iuI8mWiZ2/MdVYPHbrmAVhMn7+gLOkxJh6zLIgCL4luSZlohzN5Xt4MjxfxxWioO1nemwpudaTsmQg==} + /@tanstack/query-devtools@5.8.4: + resolution: {integrity: sha512-F1dRbITNt9tMUoM9WCH8WQ2c54116hv52m/PKK8ZiN/pO2wGVzTZtKuLanF8pFpwmNchjIixcMw/a57HY5ivcw==} + dev: false + + /@tanstack/react-query-devtools@5.8.4(@tanstack/react-query@5.8.4)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-mffs51FJqXU/5rwhbwv393DccL6et7uK2pRLwOcmMrWbPyW8vpxr9oidaghHX4cdVeP/7u5owW9yMpBhBAJfcQ==} + peerDependencies: + '@tanstack/react-query': ^5.8.4 + react: ^18.0.0 + react-dom: ^18.0.0 + dependencies: + '@tanstack/query-devtools': 5.8.4 + '@tanstack/react-query': 5.8.4(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@tanstack/react-query@5.8.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-CD+AkXzg8J72JrE6ocmuBEJfGzEzu/bzkD6sFXFDDB5yji9N20JofXZlN6n0+CaPJuIi+e4YLCbGsyPFKkfNQA==} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 @@ -1163,7 +1183,7 @@ packages: react-native: optional: true dependencies: - '@tanstack/query-core': 5.0.5 + '@tanstack/query-core': 5.8.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false diff --git a/src/components/Navbar.component.tsx b/src/components/Navbar.component.tsx index 6e205ac..5dbc74b 100644 --- a/src/components/Navbar.component.tsx +++ b/src/components/Navbar.component.tsx @@ -1,11 +1,30 @@ -import { FC } from 'react' +import { FC, KeyboardEvent, useState } from 'react' -import { Link } from 'react-router-dom' +import { Link, useNavigate, useSearchParams } from 'react-router-dom' import NavLink from './NavLink.component' import UserOptions from './UserOptions.component' +import { FiSearch } from 'react-icons/fi' + const Navbar: FC = () => { + const [searchEventsParams] = useSearchParams() + const [searchQuery, setSearchQuery] = useState( + searchEventsParams.get('q') ?? '' + ) + + const navigate = useNavigate() + + const handleSearchPublicEvents = (event: KeyboardEvent) => { + const searchQuery = event.currentTarget.value + if (event.key === 'Enter' && searchQuery !== '') { + const searchParams = new URLSearchParams() + searchParams.append('q', searchQuery) + + navigate('/search?' + searchParams) + } + } + return (