import React, { useState, useEffect, useRef } from 'react'; import theme from '../theme.jsx'; import { useNavigate, Link, useParams } from "react-router-dom"; import SearchBox from "../components/SearchData.jsx"; import { Chip, IconButton, TextField, InputAdornment, List, Card, ListItem, Button, Dialog, ListItemAvatar, ListItemText, Avatar, Typography, Tooltip, Divider, DialogTitle, DialogContent, } from '@mui/material'; import Mousetrap from 'mousetrap'; import { AvatarGroup, } from "@mui/material" import { Search as SearchIcon, Close as CloseIcon, Folder as FolderIcon, Code as CodeIcon, LibraryBooks as LibraryBooksIcon } from '@mui/icons-material' import KeyboardCommandKeyIcon from '@mui/icons-material/KeyboardCommandKey'; import aa from 'search-insights' import { InstantSearch, Configure, connectSearchBox, connectHits, Index } from 'react-instantsearch-dom'; //import { InstantSearch, SearchBox, Hits, connectSearchBox, connectHits, Index } from 'react-instantsearch-dom'; import { HotKeys } from 'react-hotkeys'; // https://www.algolia.com/doc/api-reference/widgets/search-box/react/ const chipStyle = { backgroundColor: "#3d3f43", height: 30, marginRight: 5, paddingLeft: 5, paddingRight: 5, height: 28, cursor: "pointer", borderColor: "#3d3f43", color: "white", } const SearchField = props => { const { serverside, userdata, isMobile, isLoaded, globalUrl, isHeader, isLoggedIn, small, rounded } = props let navigate = useNavigate(); const borderRadius = 3 const node = useRef() const [searchOpen, setSearchOpen] = useState(false) const [modalOpen, setModalOpen] = React.useState(false); const [oldPath, setOldPath] = useState("") const [value, setValue] = useState(""); useEffect(() => { Mousetrap.bind(['command+k', 'ctrl+k'], () => { setModalOpen(true); return false; // Prevent the default action }); Mousetrap.bind(['esc'], () => { setModalOpen(false); return false; // Prevent the default action }); return () => { Mousetrap.unbind(['command+k', 'ctrl+k']); }; }, []); const fieldWidth = small === true ? 120 : 310 const modalView = ( // console.log("key:", dataValue.key), //console.log("value:",dataValue.value), { setModalOpen(false); }} PaperProps={{ style: { color: "white", minWidth: 750, height: 785, borderRadius: 16, border: "1px solid var(--Container-Stroke, #494949)", background: "var(--Container, #000000)", boxShadow: "0px 16px 24px 8px rgba(0, 0, 0, 0.25)", zIndex: 13000, }, }} > {isHeader ?
Search for Docs, Apps, Workflows and more
: null} {/*
Discord Algolia logo
Search by Algolia logo
*/}
); return (
{modalView} ), endAdornment: ( ) }} variant="standard" autoComplete='off' color="primary" placeholder="Search Apps, Workflows, Docs..." onClick={(event) => { setModalOpen(true) }} limit={5} />
) } export default SearchField;