migrate SingleSearch to Mui 5 (#101)

* migrate SingleSearch to Mui 5

* fix some styles
This commit is contained in:
Aria Moradi
2021-11-17 14:34:56 +03:30
committed by GitHub
parent 30dd0fb86f
commit 70febecd04

View File

@@ -6,33 +6,19 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
import React, { useContext, useEffect, useState } from 'react'; import React, { useContext, useEffect, useState } from 'react';
import makeStyles from '@mui/styles/makeStyles';
import TextField from '@mui/material/TextField'; import TextField from '@mui/material/TextField';
import Button from '@mui/material/Button'; import Button from '@mui/material/Button';
import { useParams } from 'react-router-dom'; import { useParams } from 'react-router-dom';
import MangaGrid from 'components/MangaGrid'; import MangaGrid from 'components/MangaGrid';
import NavbarContext from 'components/context/NavbarContext'; import NavbarContext from 'components/context/NavbarContext';
import client from 'util/client'; import client from 'util/client';
import { Box } from '@mui/system';
const useStyles = makeStyles((theme) => ({
root: {
margin: '20px 10px',
display: 'flex',
justifyContent: 'space-around',
width: '300px',
TextField: {
margin: theme.spacing(1),
width: '25ch',
},
},
}));
export default function SearchSingle() { export default function SearchSingle() {
const { setTitle, setAction } = useContext(NavbarContext); const { setTitle, setAction } = useContext(NavbarContext);
useEffect(() => { setTitle('Search'); setAction(<></>); }, []); useEffect(() => { setTitle('Search'); setAction(<></>); }, []);
const { sourceId } = useParams<{ sourceId: string }>(); const { sourceId } = useParams<{ sourceId: string }>();
const classes = useStyles();
const [error, setError] = useState<boolean>(false); const [error, setError] = useState<boolean>(false);
const [mangas, setMangas] = useState<IMangaCard[]>([]); const [mangas, setMangas] = useState<IMangaCard[]>([]);
const [message, setMessage] = useState<string>(''); const [message, setMessage] = useState<string>('');
@@ -89,20 +75,34 @@ export default function SearchSingle() {
return ( return (
<> <>
<div className={classes.root}> <Box sx={{
margin: '20px 10px',
display: 'flex',
width: '400px',
maxWidth: 'calc(100% - 20px)',
}}
>
<TextField <TextField
inputRef={textInput} inputRef={textInput}
error={error} error={error}
sx={{
mx: 1,
flexGrow: 1,
}}
id="filled-basic" id="filled-basic"
variant="filled" variant="filled"
size="small" size="small"
label="Search text.." label="Search text.."
onKeyDown={(e) => e.key === 'Enter' && processInput()} onKeyDown={(e) => e.key === 'Enter' && processInput()}
/> />
<Button variant="contained" color="primary" onClick={() => processInput()}> <Button
variant="contained"
color="primary"
onClick={() => processInput()}
>
Search Search
</Button> </Button>
</div> </Box>
{searchTerm.length > 0 {searchTerm.length > 0
&& ( && (
<MangaGrid <MangaGrid