/* * Copyright (C) Contributors to the Suwayomi project * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ import React from 'react'; import Card from '@mui/material/Card'; import CardContent from '@mui/material/CardContent'; import { useHistory } from 'react-router-dom'; import SearchIcon from '@mui/icons-material/Search'; import Button from '@mui/material/Button'; import IconButton from '@mui/material/IconButton'; import FiberNewOutlinedIcon from '@mui/icons-material/FiberNewOutlined'; import Avatar from '@mui/material/Avatar'; import Typography from '@mui/material/Typography'; import useLocalStorage from 'util/useLocalStorage'; import { langCodeToName } from 'util/language'; import { Box } from '@mui/system'; interface IProps { source: ISource } export default function SourceCard(props: IProps) { const { source: { id, name, lang, iconUrl, supportsLatest, }, } = props; const history = useHistory(); const [serverAddress] = useLocalStorage('serverBaseURL', ''); const [useCache] = useLocalStorage('useCache', true); const redirectTo = (e: any, to: string) => { history.push(to); // prevent parent tags from getting the event e.stopPropagation(); }; return ( redirectTo(e, `/sources/${id}/popular/`)} > {name} {id !== '0' && ( {langCodeToName(lang)} )}
redirectTo(e, `/sources/${id}/search/`)} size="large" edge="end" > {supportsLatest && ( redirectTo(e, `/sources/${id}/latest/`)} size="large" > )} .MuiButton-root': { ml: '20px', }, }} > {supportsLatest && ( )}
); }