refactor
This commit is contained in:
@@ -17,9 +17,9 @@ import CssBaseline from '@mui/material/CssBaseline';
|
|||||||
import {
|
import {
|
||||||
createTheme, ThemeProvider, Theme, StyledEngineProvider,
|
createTheme, ThemeProvider, Theme, StyledEngineProvider,
|
||||||
} from '@mui/material/styles';
|
} from '@mui/material/styles';
|
||||||
import NavBar from 'components/navbar/NavBar';
|
import DefaultNavBar from 'components/navbar/DefaultNavBar';
|
||||||
import NavbarContext from 'context/NavbarContext';
|
import NavbarContext from 'components/context/NavbarContext';
|
||||||
import DarkTheme from 'context/DarkTheme';
|
import DarkTheme from 'components/context/DarkTheme';
|
||||||
import useLocalStorage from 'util/useLocalStorage';
|
import useLocalStorage from 'util/useLocalStorage';
|
||||||
import Settings from 'screens/Settings';
|
import Settings from 'screens/Settings';
|
||||||
import About from 'screens/settings/About';
|
import About from 'screens/settings/About';
|
||||||
@@ -98,7 +98,7 @@ export default function App() {
|
|||||||
<QueryParamProvider ReactRouterRoute={Route}>
|
<QueryParamProvider ReactRouterRoute={Route}>
|
||||||
<NavbarContext.Provider value={navBarContext}>
|
<NavbarContext.Provider value={navBarContext}>
|
||||||
<CssBaseline />
|
<CssBaseline />
|
||||||
<NavBar />
|
<DefaultNavBar />
|
||||||
<Container
|
<Container
|
||||||
id="appMainContainer"
|
id="appMainContainer"
|
||||||
maxWidth={false}
|
maxWidth={false}
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import Typography from '@mui/material/Typography';
|
|||||||
import { Link } from 'react-router-dom';
|
import { Link } from 'react-router-dom';
|
||||||
import { Grid } from '@mui/material';
|
import { Grid } from '@mui/material';
|
||||||
import useLocalStorage from 'util/useLocalStorage';
|
import useLocalStorage from 'util/useLocalStorage';
|
||||||
import SpinnerImage from 'components/SpinnerImage';
|
import SpinnerImage from 'components/util/SpinnerImage';
|
||||||
|
|
||||||
const useStyles = makeStyles((theme) => ({
|
const useStyles = makeStyles((theme) => ({
|
||||||
root: {
|
root: {
|
||||||
@@ -13,10 +13,10 @@ import FavoriteBorderIcon from '@mui/icons-material/FavoriteBorder';
|
|||||||
import FilterListIcon from '@mui/icons-material/FilterList';
|
import FilterListIcon from '@mui/icons-material/FilterList';
|
||||||
import PublicIcon from '@mui/icons-material/Public';
|
import PublicIcon from '@mui/icons-material/Public';
|
||||||
import React, { useContext, useEffect, useState } from 'react';
|
import React, { useContext, useEffect, useState } from 'react';
|
||||||
import NavbarContext from 'context/NavbarContext';
|
import NavbarContext from 'components/context/NavbarContext';
|
||||||
import client from 'util/client';
|
import client from 'util/client';
|
||||||
import useLocalStorage from 'util/useLocalStorage';
|
import useLocalStorage from 'util/useLocalStorage';
|
||||||
import CategorySelect from './CategorySelect';
|
import CategorySelect from './navbar/action/CategorySelect';
|
||||||
|
|
||||||
const useStyles = (inLibrary: string) => makeStyles((theme: Theme) => ({
|
const useStyles = (inLibrary: string) => makeStyles((theme: Theme) => ({
|
||||||
root: {
|
root: {
|
||||||
@@ -7,8 +7,8 @@
|
|||||||
|
|
||||||
import React, { useEffect, useRef } from 'react';
|
import React, { useEffect, useRef } from 'react';
|
||||||
import Grid from '@mui/material/Grid';
|
import Grid from '@mui/material/Grid';
|
||||||
import EmptyView from 'components/EmptyView';
|
import EmptyView from 'components/util/EmptyView';
|
||||||
import LoadingPlaceholder from 'components/LoadingPlaceholder';
|
import LoadingPlaceholder from 'components/util/LoadingPlaceholder';
|
||||||
import MangaCard from './MangaCard';
|
import MangaCard from './MangaCard';
|
||||||
|
|
||||||
export interface IMangaGridProps{
|
export interface IMangaGridProps{
|
||||||
@@ -8,10 +8,15 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
|
||||||
type ContextType = {
|
type ContextType = {
|
||||||
|
// AppBar title
|
||||||
title: string
|
title: string
|
||||||
setTitle: React.Dispatch<React.SetStateAction<string>>
|
setTitle: React.Dispatch<React.SetStateAction<string>>
|
||||||
|
|
||||||
|
// AppBar action buttons
|
||||||
action: any
|
action: any
|
||||||
setAction: React.Dispatch<React.SetStateAction<any>>
|
setAction: React.Dispatch<React.SetStateAction<any>>
|
||||||
|
|
||||||
|
// Allow default navbar to be overrided
|
||||||
override: INavbarOverride
|
override: INavbarOverride
|
||||||
setOverride: React.Dispatch<React.SetStateAction<INavbarOverride>>
|
setOverride: React.Dispatch<React.SetStateAction<INavbarOverride>>
|
||||||
};
|
};
|
||||||
@@ -7,8 +7,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import MangaGrid, { IMangaGridProps } from '../manga/MangaGrid';
|
import MangaGrid, { IMangaGridProps } from 'components/MangaGrid';
|
||||||
import useLibraryOptions, { NullAndUndefined } from '../../util/useLibraryOptions';
|
import useLibraryOptions, { NullAndUndefined } from 'util/useLibraryOptions';
|
||||||
|
|
||||||
const FILTERED_OUT_MESSAGE = 'There are no Manga matching this filter';
|
const FILTERED_OUT_MESSAGE = 'There are no Manga matching this filter';
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,8 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import FilterListIcon from '@mui/icons-material/FilterList';
|
import FilterListIcon from '@mui/icons-material/FilterList';
|
||||||
import { Drawer, FormControlLabel, IconButton } from '@mui/material';
|
import { Drawer, FormControlLabel, IconButton } from '@mui/material';
|
||||||
import useLibraryOptions from '../../util/useLibraryOptions';
|
import useLibraryOptions from 'util/useLibraryOptions';
|
||||||
import ThreeStateCheckbox from '../ThreeStateCheckbox';
|
import ThreeStateCheckbox from 'components/util/ThreeStateCheckbox';
|
||||||
|
|
||||||
function Options() {
|
function Options() {
|
||||||
const { unread, setUnread } = useLibraryOptions();
|
const { unread, setUnread } = useLibraryOptions();
|
||||||
|
|||||||
@@ -20,10 +20,10 @@ import GetAppIcon from '@mui/icons-material/GetApp';
|
|||||||
import SettingsIcon from '@mui/icons-material/Settings';
|
import SettingsIcon from '@mui/icons-material/Settings';
|
||||||
import ArrowBack from '@mui/icons-material/ArrowBack';
|
import ArrowBack from '@mui/icons-material/ArrowBack';
|
||||||
import { useHistory } from 'react-router-dom';
|
import { useHistory } from 'react-router-dom';
|
||||||
import NavBarContext from 'context/NavbarContext';
|
import NavBarContext from 'components/context/NavbarContext';
|
||||||
import DarkTheme from 'context/DarkTheme';
|
import DarkTheme from 'components/context/DarkTheme';
|
||||||
import PermanentSideBar from './PermanentSideBar';
|
import DesktopSideBar from './navigation/DesktopSideBar';
|
||||||
import BottomNavigationBar from './BottomNavigationBar';
|
import MobileBottomBar from './navigation/MobileBottomBar';
|
||||||
|
|
||||||
const useStyles = makeStyles((theme) => ({
|
const useStyles = makeStyles((theme) => ({
|
||||||
root: {
|
root: {
|
||||||
@@ -62,26 +62,27 @@ const navbarItems: Array<NavbarItem> = [
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
export default function NavBar() {
|
export default function DefaultNavBar() {
|
||||||
const classes = useStyles();
|
const classes = useStyles();
|
||||||
const { title, action, override } = useContext(NavBarContext);
|
const { title, action, override } = useContext(NavBarContext);
|
||||||
const theme = useTheme();
|
|
||||||
const isMobileWidth = useMediaQuery(theme.breakpoints.down('sm'));
|
|
||||||
const history = useHistory();
|
|
||||||
const isMainRoute = navbarItems.some(({ path }) => path === history.location.pathname);
|
|
||||||
|
|
||||||
const { darkTheme } = useContext(DarkTheme);
|
const { darkTheme } = useContext(DarkTheme);
|
||||||
|
|
||||||
// Allow default navbar to be overrided with `NavBarContext`
|
const theme = useTheme();
|
||||||
|
const history = useHistory();
|
||||||
|
|
||||||
|
const isMobileWidth = useMediaQuery(theme.breakpoints.down('sm'));
|
||||||
|
const isMainRoute = navbarItems.some(({ path }) => path === history.location.pathname);
|
||||||
|
|
||||||
|
// Allow default navbar to be overrided
|
||||||
if (override.status) return override.value;
|
if (override.status) return override.value;
|
||||||
|
|
||||||
let navbar = <></>;
|
let navbar = <></>;
|
||||||
if (isMobileWidth) {
|
if (isMobileWidth) {
|
||||||
if (!isMainRoute) {
|
if (!isMainRoute) {
|
||||||
navbar = <BottomNavigationBar navBarItems={navbarItems} />;
|
navbar = <MobileBottomBar navBarItems={navbarItems} />;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
navbar = <PermanentSideBar navBarItems={navbarItems} />;
|
navbar = <DesktopSideBar navBarItems={navbarItems} />;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -27,7 +27,7 @@ import ListItemText from '@mui/material/ListItemText';
|
|||||||
import ListItemSecondaryAction from '@mui/material/ListItemSecondaryAction';
|
import ListItemSecondaryAction from '@mui/material/ListItemSecondaryAction';
|
||||||
import Collapse from '@mui/material/Collapse';
|
import Collapse from '@mui/material/Collapse';
|
||||||
import Button from '@mui/material/Button';
|
import Button from '@mui/material/Button';
|
||||||
import NavBarContext from '../../context/NavbarContext';
|
import NavBarContext from 'components/context/NavbarContext';
|
||||||
|
|
||||||
const useStyles = (settings: IReaderSettings) => makeStyles((theme) => ({
|
const useStyles = (settings: IReaderSettings) => makeStyles((theme) => ({
|
||||||
// main container and root div need to change classes...
|
// main container and root div need to change classes...
|
||||||
|
|||||||
@@ -1,62 +0,0 @@
|
|||||||
/*
|
|
||||||
* 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 makeStyles from '@mui/styles/makeStyles';
|
|
||||||
import Drawer from '@mui/material/Drawer';
|
|
||||||
import List from '@mui/material/List';
|
|
||||||
import ListItem from '@mui/material/ListItem';
|
|
||||||
import ListItemIcon from '@mui/material/ListItemIcon';
|
|
||||||
import ListItemText from '@mui/material/ListItemText';
|
|
||||||
import { Link } from 'react-router-dom';
|
|
||||||
|
|
||||||
const useStyles = makeStyles({
|
|
||||||
list: {
|
|
||||||
width: 250,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
interface IProps {
|
|
||||||
drawerOpen: boolean
|
|
||||||
|
|
||||||
setDrawerOpen: React.Dispatch<React.SetStateAction<boolean>>
|
|
||||||
navBarItems: Array<NavbarItem>
|
|
||||||
}
|
|
||||||
|
|
||||||
export default function TemporaryDrawer({ drawerOpen, setDrawerOpen, navBarItems }: IProps) {
|
|
||||||
const classes = useStyles();
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<Drawer
|
|
||||||
open={drawerOpen}
|
|
||||||
anchor="left"
|
|
||||||
onClose={() => setDrawerOpen(false)}
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
className={classes.list}
|
|
||||||
role="presentation"
|
|
||||||
onClick={() => setDrawerOpen(false)}
|
|
||||||
onKeyDown={() => setDrawerOpen(false)}
|
|
||||||
>
|
|
||||||
<List>
|
|
||||||
{navBarItems.map((({ path, title, IconComponent }: NavbarItem) => (
|
|
||||||
<Link to={path} style={{ color: 'inherit', textDecoration: 'none' }}>
|
|
||||||
<ListItem button key={title}>
|
|
||||||
<ListItemIcon>
|
|
||||||
<IconComponent />
|
|
||||||
</ListItemIcon>
|
|
||||||
<ListItemText primary={title} />
|
|
||||||
</ListItem>
|
|
||||||
</Link>
|
|
||||||
)))}
|
|
||||||
</List>
|
|
||||||
</div>
|
|
||||||
</Drawer>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -26,7 +26,7 @@ interface IProps {
|
|||||||
navBarItems: Array<NavbarItem>
|
navBarItems: Array<NavbarItem>
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function PermanentSideBar({ navBarItems }: IProps) {
|
export default function DesktopSideBar({ navBarItems }: IProps) {
|
||||||
const location = useLocation();
|
const location = useLocation();
|
||||||
return (
|
return (
|
||||||
<SideNavBarContainer>
|
<SideNavBarContainer>
|
||||||
@@ -32,7 +32,7 @@ interface IProps {
|
|||||||
navBarItems: Array<NavbarItem>
|
navBarItems: Array<NavbarItem>
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function BottomNavigationBar({ navBarItems }: IProps) {
|
export default function MobileBottomBar({ navBarItems }: IProps) {
|
||||||
const location = useLocation();
|
const location = useLocation();
|
||||||
return (
|
return (
|
||||||
<BottomNavContainer>
|
<BottomNavContainer>
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
import makeStyles from '@mui/styles/makeStyles';
|
import makeStyles from '@mui/styles/makeStyles';
|
||||||
import React, { useEffect, useRef } from 'react';
|
import React, { useEffect, useRef } from 'react';
|
||||||
import SpinnerImage from 'components/SpinnerImage';
|
import SpinnerImage from 'components/util/SpinnerImage';
|
||||||
import useLocalStorage from 'util/useLocalStorage';
|
import useLocalStorage from 'util/useLocalStorage';
|
||||||
|
|
||||||
function imageStyle(settings: IReaderSettings): any {
|
function imageStyle(settings: IReaderSettings): any {
|
||||||
@@ -27,8 +27,8 @@ import DialogContent from '@mui/material/DialogContent';
|
|||||||
import DialogContentText from '@mui/material/DialogContentText';
|
import DialogContentText from '@mui/material/DialogContentText';
|
||||||
import TextField from '@mui/material/TextField';
|
import TextField from '@mui/material/TextField';
|
||||||
import FavoriteIcon from '@mui/icons-material/Favorite';
|
import FavoriteIcon from '@mui/icons-material/Favorite';
|
||||||
import NavbarContext from '../context/NavbarContext';
|
import NavbarContext from '../components/context/NavbarContext';
|
||||||
import DarkTheme from '../context/DarkTheme';
|
import DarkTheme from '../components/context/DarkTheme';
|
||||||
import useLocalStorage from '../util/useLocalStorage';
|
import useLocalStorage from '../util/useLocalStorage';
|
||||||
import ListItemLink from '../components/util/ListItemLink';
|
import ListItemLink from '../components/util/ListItemLink';
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
* 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/. */
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
import NavbarContext from 'context/NavbarContext';
|
import NavbarContext from 'components/context/NavbarContext';
|
||||||
import React, { useContext, useEffect, useState } from 'react';
|
import React, { useContext, useEffect, useState } from 'react';
|
||||||
import PlayArrowIcon from '@mui/icons-material/PlayArrow';
|
import PlayArrowIcon from '@mui/icons-material/PlayArrow';
|
||||||
import PauseIcon from '@mui/icons-material/Pause';
|
import PauseIcon from '@mui/icons-material/Pause';
|
||||||
@@ -24,7 +24,7 @@ import DragHandleIcon from '@mui/icons-material/DragHandle';
|
|||||||
import ListItem from '@mui/material/ListItem';
|
import ListItem from '@mui/material/ListItem';
|
||||||
import { ListItemIcon } from '@mui/material';
|
import { ListItemIcon } from '@mui/material';
|
||||||
import ListItemText from '@mui/material/ListItemText';
|
import ListItemText from '@mui/material/ListItemText';
|
||||||
import EmptyView from 'components/EmptyView';
|
import EmptyView from 'components/util/EmptyView';
|
||||||
|
|
||||||
const baseWebsocketUrl = JSON.parse(window.localStorage.getItem('serverBaseURL')!).replace('http', 'ws');
|
const baseWebsocketUrl = JSON.parse(window.localStorage.getItem('serverBaseURL')!).replace('http', 'ws');
|
||||||
|
|
||||||
|
|||||||
@@ -9,14 +9,14 @@ import React, { useContext, useEffect, useState } from 'react';
|
|||||||
import { fromEvent } from 'file-selector';
|
import { fromEvent } from 'file-selector';
|
||||||
import IconButton from '@mui/material/IconButton';
|
import IconButton from '@mui/material/IconButton';
|
||||||
import AddIcon from '@mui/icons-material/Add';
|
import AddIcon from '@mui/icons-material/Add';
|
||||||
import ExtensionCard from 'components/manga/ExtensionCard';
|
import ExtensionCard from 'components/ExtensionCard';
|
||||||
import NavbarContext from 'context/NavbarContext';
|
import NavbarContext from 'components/context/NavbarContext';
|
||||||
import client from 'util/client';
|
import client from 'util/client';
|
||||||
import useLocalStorage from 'util/useLocalStorage';
|
import useLocalStorage from 'util/useLocalStorage';
|
||||||
import LangSelect from 'components/manga/LangSelect';
|
import LangSelect from 'components/navbar/action/LangSelect';
|
||||||
import { extensionDefaultLangs, langCodeToName, langSortCmp } from 'util/language';
|
import { extensionDefaultLangs, langCodeToName, langSortCmp } from 'util/language';
|
||||||
import { makeToaster } from 'components/Toast';
|
import { makeToaster } from 'components/util/Toast';
|
||||||
import LoadingPlaceholder from 'components/LoadingPlaceholder';
|
import LoadingPlaceholder from 'components/util/LoadingPlaceholder';
|
||||||
|
|
||||||
const allLangs: string[] = [];
|
const allLangs: string[] = [];
|
||||||
|
|
||||||
|
|||||||
@@ -7,11 +7,11 @@
|
|||||||
|
|
||||||
import { Tab, Tabs } from '@mui/material';
|
import { Tab, Tabs } from '@mui/material';
|
||||||
import React, { useContext, useEffect, useState } from 'react';
|
import React, { useContext, useEffect, useState } from 'react';
|
||||||
import NavbarContext from 'context/NavbarContext';
|
import NavbarContext from 'components/context/NavbarContext';
|
||||||
import client from 'util/client';
|
import client from 'util/client';
|
||||||
import cloneObject from 'util/cloneObject';
|
import cloneObject from 'util/cloneObject';
|
||||||
import EmptyView from 'components/EmptyView';
|
import EmptyView from 'components/util/EmptyView';
|
||||||
import LoadingPlaceholder from 'components/LoadingPlaceholder';
|
import LoadingPlaceholder from 'components/util/LoadingPlaceholder';
|
||||||
import TabPanel from 'components/util/TabPanel';
|
import TabPanel from 'components/util/TabPanel';
|
||||||
import LibraryOptions from '../../components/library/LibraryOptions';
|
import LibraryOptions from '../../components/library/LibraryOptions';
|
||||||
import LibraryMangaGrid from '../../components/library/LibraryMangaGrid';
|
import LibraryMangaGrid from '../../components/library/LibraryMangaGrid';
|
||||||
|
|||||||
@@ -10,12 +10,12 @@ import { Theme } from '@mui/material/styles';
|
|||||||
import makeStyles from '@mui/styles/makeStyles';
|
import makeStyles from '@mui/styles/makeStyles';
|
||||||
import { useParams } from 'react-router-dom';
|
import { useParams } from 'react-router-dom';
|
||||||
import { Virtuoso } from 'react-virtuoso';
|
import { Virtuoso } from 'react-virtuoso';
|
||||||
import ChapterCard from 'components/manga/ChapterCard';
|
import ChapterCard from 'components/ChapterCard';
|
||||||
import MangaDetails from 'components/manga/MangaDetails';
|
import MangaDetails from 'components/MangaDetails';
|
||||||
import NavbarContext from 'context/NavbarContext';
|
import NavbarContext from 'components/context/NavbarContext';
|
||||||
import client from 'util/client';
|
import client from 'util/client';
|
||||||
import LoadingPlaceholder from 'components/LoadingPlaceholder';
|
import LoadingPlaceholder from 'components/util/LoadingPlaceholder';
|
||||||
import makeToast from 'components/Toast';
|
import makeToast from 'components/util/Toast';
|
||||||
|
|
||||||
const useStyles = makeStyles((theme: Theme) => ({
|
const useStyles = makeStyles((theme: Theme) => ({
|
||||||
root: {
|
root: {
|
||||||
|
|||||||
@@ -9,13 +9,13 @@ import CircularProgress from '@mui/material/CircularProgress';
|
|||||||
import makeStyles from '@mui/styles/makeStyles';
|
import makeStyles from '@mui/styles/makeStyles';
|
||||||
import React, { useContext, useEffect, useState } from 'react';
|
import React, { useContext, useEffect, useState } from 'react';
|
||||||
import { useHistory, useParams } from 'react-router-dom';
|
import { useHistory, useParams } from 'react-router-dom';
|
||||||
import HorizontalPager from 'components/manga/reader/pager/HorizontalPager';
|
import HorizontalPager from 'components/reader/pager/HorizontalPager';
|
||||||
import PageNumber from 'components/manga/reader/PageNumber';
|
import PageNumber from 'components/reader/PageNumber';
|
||||||
import PagedPager from 'components/manga/reader/pager/PagedPager';
|
import PagedPager from 'components/reader/pager/PagedPager';
|
||||||
import DoublePagedPager from 'components/manga/reader/pager/DoublePagedPager';
|
import DoublePagedPager from 'components/reader/pager/DoublePagedPager';
|
||||||
import VerticalPager from 'components/manga/reader/pager/VerticalPager';
|
import VerticalPager from 'components/reader/pager/VerticalPager';
|
||||||
import ReaderNavBar, { defaultReaderSettings } from 'components/navbar/ReaderNavBar';
|
import ReaderNavBar, { defaultReaderSettings } from 'components/navbar/ReaderNavBar';
|
||||||
import NavbarContext from 'context/NavbarContext';
|
import NavbarContext from 'components/context/NavbarContext';
|
||||||
import client from 'util/client';
|
import client from 'util/client';
|
||||||
import useLocalStorage from 'util/useLocalStorage';
|
import useLocalStorage from 'util/useLocalStorage';
|
||||||
import cloneObject from 'util/cloneObject';
|
import cloneObject from 'util/cloneObject';
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ 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/manga/MangaGrid';
|
import MangaGrid from 'components/MangaGrid';
|
||||||
import NavbarContext from 'context/NavbarContext';
|
import NavbarContext from 'components/context/NavbarContext';
|
||||||
import client from 'util/client';
|
import client from 'util/client';
|
||||||
|
|
||||||
const useStyles = makeStyles((theme) => ({
|
const useStyles = makeStyles((theme) => ({
|
||||||
|
|||||||
@@ -6,12 +6,12 @@
|
|||||||
* 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 NavbarContext from 'context/NavbarContext';
|
import NavbarContext from 'components/context/NavbarContext';
|
||||||
import { useParams } from 'react-router-dom';
|
import { useParams } from 'react-router-dom';
|
||||||
import client from 'util/client';
|
import client from 'util/client';
|
||||||
import { SwitchPreferenceCompat, CheckBoxPreference } from 'components/manga/sourceConfiguration/TwoStatePreference';
|
import { SwitchPreferenceCompat, CheckBoxPreference } from 'components/sourceConfiguration/TwoStatePreference';
|
||||||
import ListPreference from 'components/manga/sourceConfiguration/ListPreference';
|
import ListPreference from 'components/sourceConfiguration/ListPreference';
|
||||||
import EditTextPreference from 'components/manga/sourceConfiguration/EditTextPreference';
|
import EditTextPreference from 'components/sourceConfiguration/EditTextPreference';
|
||||||
import List from '@mui/material/List';
|
import List from '@mui/material/List';
|
||||||
import cloneObject from 'util/cloneObject';
|
import cloneObject from 'util/cloneObject';
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,8 @@
|
|||||||
import React, { useContext, useEffect, useState } from 'react';
|
import React, { useContext, useEffect, useState } from 'react';
|
||||||
import { useParams, useHistory } from 'react-router-dom';
|
import { useParams, useHistory } from 'react-router-dom';
|
||||||
import IconButton from '@mui/material/IconButton';
|
import IconButton from '@mui/material/IconButton';
|
||||||
import MangaGrid from 'components/manga/MangaGrid';
|
import MangaGrid from 'components/MangaGrid';
|
||||||
import NavbarContext from 'context/NavbarContext';
|
import NavbarContext from 'components/context/NavbarContext';
|
||||||
import client from 'util/client';
|
import client from 'util/client';
|
||||||
import SettingsIcon from '@mui/icons-material/Settings';
|
import SettingsIcon from '@mui/icons-material/Settings';
|
||||||
|
|
||||||
|
|||||||
@@ -6,15 +6,15 @@
|
|||||||
* 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 LangSelect from 'components/manga/LangSelect';
|
import LangSelect from 'components/navbar/action/LangSelect';
|
||||||
import SourceCard from 'components/manga/SourceCard';
|
import SourceCard from 'components/SourceCard';
|
||||||
import NavbarContext from 'context/NavbarContext';
|
import NavbarContext from 'components/context/NavbarContext';
|
||||||
import client from 'util/client';
|
import client from 'util/client';
|
||||||
import {
|
import {
|
||||||
sourceDefualtLangs, sourceForcedDefaultLangs, langCodeToName, langSortCmp,
|
sourceDefualtLangs, sourceForcedDefaultLangs, langCodeToName, langSortCmp,
|
||||||
} from 'util/language';
|
} from 'util/language';
|
||||||
import useLocalStorage from 'util/useLocalStorage';
|
import useLocalStorage from 'util/useLocalStorage';
|
||||||
import LoadingPlaceholder from 'components/LoadingPlaceholder';
|
import LoadingPlaceholder from 'components/util/LoadingPlaceholder';
|
||||||
|
|
||||||
function sourceToLangList(sources: ISource[]) {
|
function sourceToLangList(sources: ISource[]) {
|
||||||
const result: string[] = [];
|
const result: string[] = [];
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ import IconButton from '@mui/material/IconButton';
|
|||||||
import DownloadIcon from '@mui/icons-material/Download';
|
import DownloadIcon from '@mui/icons-material/Download';
|
||||||
import Avatar from '@mui/material/Avatar';
|
import Avatar from '@mui/material/Avatar';
|
||||||
import Typography from '@mui/material/Typography';
|
import Typography from '@mui/material/Typography';
|
||||||
import NavbarContext from 'context/NavbarContext';
|
import NavbarContext from 'components/context/NavbarContext';
|
||||||
import client from 'util/client';
|
import client from 'util/client';
|
||||||
import useLocalStorage from 'util/useLocalStorage';
|
import useLocalStorage from 'util/useLocalStorage';
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import ListItem from '@mui/material/ListItem';
|
|||||||
import ListItemText from '@mui/material/ListItemText';
|
import ListItemText from '@mui/material/ListItemText';
|
||||||
import client from '../../util/client';
|
import client from '../../util/client';
|
||||||
import ListItemLink from '../../components/util/ListItemLink';
|
import ListItemLink from '../../components/util/ListItemLink';
|
||||||
import NavbarContext from '../../context/NavbarContext';
|
import NavbarContext from '../../components/context/NavbarContext';
|
||||||
|
|
||||||
const useStyles = makeStyles({
|
const useStyles = makeStyles({
|
||||||
loading: {
|
loading: {
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ import List from '@mui/material/List';
|
|||||||
import ListItem from '@mui/material/ListItem';
|
import ListItem from '@mui/material/ListItem';
|
||||||
import ListItemText from '@mui/material/ListItemText';
|
import ListItemText from '@mui/material/ListItemText';
|
||||||
import { fromEvent } from 'file-selector';
|
import { fromEvent } from 'file-selector';
|
||||||
import makeToast from 'components/Toast';
|
import makeToast from 'components/util/Toast';
|
||||||
import ListItemLink from '../../components/util/ListItemLink';
|
import ListItemLink from '../../components/util/ListItemLink';
|
||||||
import NavbarContext from '../../context/NavbarContext';
|
import NavbarContext from '../../components/context/NavbarContext';
|
||||||
import client from '../../util/client';
|
import client from '../../util/client';
|
||||||
|
|
||||||
export default function Backup() {
|
export default function Backup() {
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ import DialogContent from '@mui/material/DialogContent';
|
|||||||
import DialogTitle from '@mui/material/DialogTitle';
|
import DialogTitle from '@mui/material/DialogTitle';
|
||||||
import Checkbox from '@mui/material/Checkbox';
|
import Checkbox from '@mui/material/Checkbox';
|
||||||
import FormControlLabel from '@mui/material/FormControlLabel';
|
import FormControlLabel from '@mui/material/FormControlLabel';
|
||||||
import NavbarContext from 'context/NavbarContext';
|
import NavbarContext from 'components/context/NavbarContext';
|
||||||
import client from 'util/client';
|
import client from 'util/client';
|
||||||
|
|
||||||
const getItemStyle = (isDragging: boolean,
|
const getItemStyle = (isDragging: boolean,
|
||||||
|
|||||||
Reference in New Issue
Block a user