/* * 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 FilterListIcon from '@mui/icons-material/FilterList'; import SortIcon from '@mui/icons-material/Sort'; import { Drawer, FormControlLabel, IconButton, ListItem, ListItemButton, ListItemIcon, ListItemText, } from '@mui/material'; import useLibraryOptions from 'util/useLibraryOptions'; import ThreeStateCheckbox from 'components/util/ThreeStateCheckbox'; import { Box } from '@mui/system'; import ArrowDownwardIcon from '@mui/icons-material/ArrowDownward'; import ArrowUpwardIcon from '@mui/icons-material/ArrowUpward'; function Options() { const { downloaded, setDownloaded, unread, setUnread, } = useLibraryOptions(); return ( } label="Unread" /> } label="Downloaded" /> ); } function SortOptions() { const { sorts, setSorts, sortDesc, setSortDesc, } = useLibraryOptions(); const handleChange = (event: React.MouseEvent, index: string) => { if (sorts === index) { setSortDesc(!sortDesc); } else { setSortDesc(false); } setSorts(index); }; return ( <> { ['sortToRead', 'sortAlph', 'sortID'].map((e) => { let icon; if (sorts === e) { icon = !sortDesc ? () : (); } icon = icon === undefined && sortDesc === undefined && e === 'sortID' ? () : icon; return ( handleChange(event, e)}> {icon} ); }) } ); } export default function LibraryOptions() { const [filtersOpen, setFiltersOpen] = React.useState(false); const [sortsOpen, setSortsOpen] = React.useState(false); const { active } = useLibraryOptions(); return ( <> setFiltersOpen(!filtersOpen)} color={active ? 'warning' : 'default'} > setFiltersOpen(false)} PaperProps={{ style: { maxWidth: 600, padding: '1em', marginLeft: 'auto', marginRight: 'auto', }, }} > setSortsOpen(!filtersOpen)} color={active ? 'warning' : 'default'} > setSortsOpen(false)} PaperProps={{ style: { maxWidth: 600, padding: '1em', marginLeft: 'auto', marginRight: 'auto', }, }} > ); }