Search Engine: Problematic Tooltip

This commit is contained in:
NanoAim
2025-08-08 22:21:40 +08:00
parent ea40cb82a9
commit 9b2d2b1531

View File

@@ -2,7 +2,6 @@ import { Search, X } from "@styled-icons/boxicons-regular";
import { HelpCircle } from "@styled-icons/boxicons-solid"; import { HelpCircle } from "@styled-icons/boxicons-solid";
import styled from "styled-components/macro"; import styled from "styled-components/macro";
import { useEffect, useRef, useState } from "preact/hooks"; import { useEffect, useRef, useState } from "preact/hooks";
import { Tooltip } from "@revoltchat/ui";
import { internalEmit } from "../../lib/eventEmitter"; import { internalEmit } from "../../lib/eventEmitter";
import { useSearchAutoComplete, transformSearchQuery, UserMapping } from "../../lib/hooks/useSearchAutoComplete"; import { useSearchAutoComplete, transformSearchQuery, UserMapping } from "../../lib/hooks/useSearchAutoComplete";
import SearchAutoComplete from "./SearchAutoComplete"; import SearchAutoComplete from "./SearchAutoComplete";
@@ -964,6 +963,7 @@ export function SearchBar() {
}, 0); }, 0);
}; };
// Global keyboard shortcut // Global keyboard shortcut
useEffect(() => { useEffect(() => {
const handleGlobalKeydown = (e: KeyboardEvent) => { const handleGlobalKeydown = (e: KeyboardEvent) => {
@@ -1008,31 +1008,27 @@ export function SearchBar() {
onKeyDown={handleKeyDown} onKeyDown={handleKeyDown}
onKeyUp={onKeyUp} onKeyUp={onKeyUp}
/> />
<Tooltip
content={
showServerWideError
? "Server-wide search requires at least one other filter or search term"
: showDateRangeError
? "Only one date range filter is allowed"
: showMultipleHasError
? "Only one attachment type filter is allowed"
: showDuplicateFilterError
? "Only one of each filter type is allowed"
: ""
}
visible={!isSearching && (showServerWideError || showDateRangeError || showMultipleHasError || showDuplicateFilterError)}
placement="bottom"
>
{isSearching ? ( {isSearching ? (
<IconButton onClick={handleClear}> <IconButton onClick={handleClear}>
<X size={18} /> <X size={18} />
</IconButton> </IconButton>
) : ( ) : (
<IconButton onClick={handleSearch}> <IconButton
onClick={handleSearch}
title={
showServerWideError
? "Server-wide search requires at least one other filter or search term"
: showDateRangeError
? "Only one date range filter is allowed"
? "Only one attachment type filter is allowed"
: showDuplicateFilterError
? "Only one of each filter type is allowed"
: undefined
}
>
<Search size={18} /> <Search size={18} />
</IconButton> </IconButton>
)} )}
</Tooltip>
{autocompleteState.type !== "none" && ( {autocompleteState.type !== "none" && (
<SearchAutoComplete <SearchAutoComplete
state={autocompleteState} state={autocompleteState}
@@ -1050,9 +1046,7 @@ export function SearchBar() {
> >
<OptionLabel>{option.label}</OptionLabel> <OptionLabel>{option.label}</OptionLabel>
<OptionDesc>{option.description}</OptionDesc> <OptionDesc>{option.description}</OptionDesc>
<Tooltip content={option.tooltip} placement="right"> <HelpIcon size={16} title={option.tooltip} />
<HelpIcon size={16} />
</Tooltip>
</Option> </Option>
))} ))}
</OptionsDropdown> </OptionsDropdown>