diff --git a/src/Components/Navbar/NavDesktop.tsx b/src/Components/Navbar/NavDesktop.tsx
index 809d0d5..6c4b722 100644
--- a/src/Components/Navbar/NavDesktop.tsx
+++ b/src/Components/Navbar/NavDesktop.tsx
@@ -1,48 +1,30 @@
-
import { BsSearch } from "react-icons/bs";
import { motion } from "framer-motion";
-import { useAppDispatch, useAppSelector, useCurrentSection } from "src/utils/hooks";
-import { openModal } from "src/redux/features/modals.slice";
-import Button from "../Button/Button";
+import { useAppSelector, useCurrentSection } from "src/utils/hooks";
import ASSETS from "src/assets";
import Search from "./Search/Search";
import IconButton from "../IconButton/IconButton";
-import { toggleSearch } from "src/redux/features/ui.slice";
-import { navLinks } from "./Navbar";
import { Link, useNavigate } from "react-router-dom";
-import CategoriesList from "./CategoriesList/CategoriesList";
-import { useEffect, useRef, useState } from "react";
-import { IoExtensionPuzzle } from "react-icons/io5";
-import { useClickOutside, useToggle } from "@react-hookz/web";
+import { useState } from "react";
import {
Menu,
MenuItem,
MenuButton,
- MenuDivider,
- SubMenu
} from '@szhsin/react-menu';
import '@szhsin/react-menu/dist/index.css';
-import { FiAward, FiChevronDown, FiFeather, FiMic, FiSend } from "react-icons/fi";
-import { MdComment, MdOutlineExplore, MdOutlineLocalFireDepartment } from "react-icons/md";
-import { IoMdTrophy } from "react-icons/io";
-import { BiCoinStack } from "react-icons/bi";
+import { FiAward, FiChevronDown, FiFeather, FiMic } from "react-icons/fi";
export default function NavDesktop() {
- const dispatch = useAppDispatch();
- const [categoriesOpen, toggleCategories] = useToggle(false)
- const categoriesRef = useRef(null)
- useClickOutside(categoriesRef, () => toggleCategories(false))
+ const [searchOpen, setSearchOpen] = useState(false)
-
- const { isWalletConnected, searchOpen } = useAppSelector((state) => ({
+ const { isWalletConnected } = useAppSelector((state) => ({
isWalletConnected: state.wallet.isConnected,
- searchOpen: state.ui.isSearchOpen
}));
- const handleSearchClick = () => {
- dispatch(toggleSearch())
+ const openSearch = () => {
+ setSearchOpen(true);
};
@@ -50,7 +32,7 @@ export default function NavDesktop() {
const navigate = useNavigate()
- return (
+
toggleDrawerOpen(false)}
diff --git a/src/Components/Navbar/Search/Search.tsx b/src/Components/Navbar/Search/Search.tsx
index 9800962..cd99081 100644
--- a/src/Components/Navbar/Search/Search.tsx
+++ b/src/Components/Navbar/Search/Search.tsx
@@ -1,15 +1,16 @@
-import React, { FormEvent, useEffect, useRef, useState } from 'react'
+import React, { FormEvent, useRef, useState } from 'react'
import { motion } from 'framer-motion'
import { BsSearch } from 'react-icons/bs';
-import { useClickOutside, useThrottledCallback } from '@react-hookz/web'
+import { useClickOutside, useThrottledCallback, useUpdateEffect } from '@react-hookz/web'
import SearchResults from './SearchResults/SearchResults'
-import { useAppDispatch, useAppSelector } from 'src/utils/hooks';
-import { toggleSearch } from 'src/redux/features/ui.slice';
import { SearchProjectsQuery, useSearchProjectsLazyQuery } from 'src/graphql';
interface Props {
height?: number | string;
width?: number | string;
+ onClose?: () => void;
+ onResultClick?: () => void;
+ isOpen?: boolean;
}
export type ProjectSearchItem = SearchProjectsQuery['searchProjects'][number];
@@ -27,24 +28,26 @@ const SearchResultsListVariants = {
}
}
-export default function Search({
+export default function Search({
width,
height,
+ onClose,
+ onResultClick,
+ isOpen
}: Props) {
const inputRef = useRef(null);
const [searchInput, setSearchInput] = useState("");
const containerRef = useRef(null)
- const { isOpen } = useAppSelector(state => ({
- isOpen: state.ui.isSearchOpen
- }))
- const dispatch = useAppDispatch()
+ // const { isOpen } = useAppSelector(state => ({
+ // isOpen: state.ui.isSearchOpen
+ // }))
+ // const dispatch = useAppDispatch()
useClickOutside(containerRef, () => {
- if (isOpen)
- dispatch(toggleSearch(false))
+ onClose?.()
})
@@ -72,7 +75,7 @@ export default function Search({
// onSearch(searchInput);
};
- useEffect(() => {
+ useUpdateEffect(() => {
if (isOpen)
inputRef.current?.focus();
else {
@@ -83,43 +86,27 @@ export default function Search({
return (
-