Show search tips for MyAnimeList

This commit is contained in:
schroda
2024-05-07 14:42:02 +02:00
parent f994d32e91
commit f2be29ea3a
4 changed files with 46 additions and 3 deletions

View File

@@ -13,8 +13,10 @@ import CancelIcon from '@mui/icons-material/Cancel';
export const SearchTextField = ({ onCancel, ...textFieldProps }: TextFieldProps & { onCancel: () => void }) => (
<TextField
{...textFieldProps}
InputProps={{
endAdornment: (
...textFieldProps.InputProps,
endAdornment: textFieldProps.InputProps?.endAdornment ?? (
<InputAdornment position="end">
<IconButton onClick={() => onCancel()}>
<CancelIcon />
@@ -22,6 +24,5 @@ export const SearchTextField = ({ onCancel, ...textFieldProps }: TextFieldProps
</InputAdornment>
),
}}
{...textFieldProps}
/>
);

View File

@@ -16,10 +16,15 @@ import ArrowBack from '@mui/icons-material/ArrowBack';
import ArrowForwardIcon from '@mui/icons-material/ArrowForward';
import DialogContent from '@mui/material/DialogContent';
import DialogTitle from '@mui/material/DialogTitle';
import InputAdornment from '@mui/material/InputAdornment';
import InfoIcon from '@mui/icons-material/Info';
import PopupState, { bindPopover, bindTrigger } from 'material-ui-popup-state';
import Popover from '@mui/material/Popover';
import Typography from '@mui/material/Typography';
import { requestManager } from '@/lib/requests/RequestManager.ts';
import { EmptyViewAbsoluteCentered } from '@/components/util/EmptyViewAbsoluteCentered.tsx';
import { LoadingPlaceholder } from '@/components/util/LoadingPlaceholder.tsx';
import { TBaseTracker } from '@/lib/data/Trackers.ts';
import { TBaseTracker, Tracker } from '@/lib/data/Trackers.ts';
import { SearchTextField } from '@/components/atoms/SearchTextField.tsx';
import { makeToast } from '@/components/util/Toast.tsx';
import { TrackerMangaCard } from '@/components/tracker/TrackerMangaCard.tsx';
@@ -103,6 +108,32 @@ export const TrackerSearch = ({
}
}}
onCancel={() => setTmpSearchString('')}
InputProps={{
startAdornment: tracker.id === Tracker.MYANIMELIST && (
<InputAdornment position="start">
<PopupState variant="popover" popupId="tracker-search-info">
{(popupState) => (
<>
<IconButton {...bindTrigger(popupState)}>
<InfoIcon />
</IconButton>
<Popover
{...bindPopover(popupState)}
anchorOrigin={{
vertical: 'bottom',
horizontal: 'left',
}}
>
<Typography sx={{ padding: 1, whiteSpace: 'pre-line' }}>
{t('tracking.my_anime_list.search.label.hint')}
</Typography>
</Popover>
</>
)}
</PopupState>
</InputAdornment>
),
}}
/>
</Stack>
</DialogTitle>