diff --git a/web/src/components/About.jsx b/web/src/components/About.jsx index 58cae8a..9f579e6 100644 --- a/web/src/components/About.jsx +++ b/web/src/components/About.jsx @@ -9,11 +9,13 @@ import InfoIcon from '@material-ui/icons/Info' import ListItem from '@material-ui/core/ListItem' import ListItemIcon from '@material-ui/core/ListItemIcon' import ListItemText from '@material-ui/core/ListItemText' +import { createMuiTheme, ThemeProvider } from '@material-ui/core/styles' import { useTranslation } from 'react-i18next' import { echoHost } from 'utils/Hosts' export default function AboutDialog() { const { t } = useTranslation() + const darkTheme = createMuiTheme({ palette: { type: 'dark', primary: { main: '#00a572' } } }) const [open, setOpen] = useState(false) const [torrServerVersion, setTorrServerVersion] = useState('') useEffect(() => { @@ -29,39 +31,61 @@ export default function AboutDialog() { - setOpen(false)} aria-labelledby='form-dialog-title' fullWidth maxWidth='lg'> - {t('About')} + + setOpen(false)} + aria-labelledby='form-dialog-title' + fullWidth='true' + maxWidth='sm' + > + {t('About')} - -
-

TorrServer {torrServerVersion}

- https://github.com/YouROK/TorrServer -
-

{t('ThanksToEveryone')}

+

TorrServer {torrServerVersion}

+ + https://github.com/YouROK/TorrServer +
-
-

{t('SpecialThanks')}

- anacrolix Matt Joiner github.com/anacrolix -
- nikk github.com/tsynik -
- dancheskus github.com/dancheskus -
- tw1cker Руслан Пахнев github.com/Nemiroff -
- SpAwN_LMG -
+ +
+

{t('ThanksToEveryone')}

+
+
+

{t('SpecialThanks')}

+ anacrolix Matt Joiner + + github.com/anacrolix + +
+ nikk + + github.com/tsynik + +
+ dancheskus + + github.com/dancheskus + +
+ tw1cker Руслан Пахнев + + github.com/Nemiroff + +
+ SpAwN_LMG +
+
-
- - - -
+ + + +
+ ) } diff --git a/web/src/components/App/index.jsx b/web/src/components/App/index.jsx index e212c60..f7d4bac 100644 --- a/web/src/components/App/index.jsx +++ b/web/src/components/App/index.jsx @@ -1,6 +1,7 @@ -import CssBaseline from '@material-ui/core/CssBaseline' +import useMediaQuery from '@material-ui/core/useMediaQuery' import { createMuiTheme, MuiThemeProvider } from '@material-ui/core' -import { useEffect, useState } from 'react' +import CssBaseline from '@material-ui/core/CssBaseline' +import { useEffect, useMemo, useState } from 'react' import Typography from '@material-ui/core/Typography' import IconButton from '@material-ui/core/IconButton' import { Menu as MenuIcon, Close as CloseIcon } from '@material-ui/icons' @@ -14,15 +15,25 @@ import DonateDialog from 'components/Donate/DonateDialog' import { AppWrapper, AppHeader } from './style' import Sidebar from './Sidebar' -const baseTheme = createMuiTheme({ - overrides: { MuiCssBaseline: { '@global': { html: { WebkitFontSmoothing: 'auto' } } } }, - palette: { primary: { main: '#00a572' }, secondary: { main: '#ffa724' }, tonalOffset: 0.2 }, -}) - export default function App() { + const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)') const [isDrawerOpen, setIsDrawerOpen] = useState(false) const [isDonationDialogOpen, setIsDonationDialogOpen] = useState(false) const [torrServerVersion, setTorrServerVersion] = useState('') + // https://material-ui.com/ru/customization/palette/ + const baseTheme = useMemo( + () => + createMuiTheme({ + overrides: { MuiCssBaseline: { '@global': { html: { WebkitFontSmoothing: 'auto' } } } }, + palette: { + type: prefersDarkMode ? 'dark' : 'light', + primary: { main: '#00a572' }, + secondary: { main: '#ffa724' }, + tonalOffset: 0.2, + }, + }), + [prefersDarkMode], + ) useEffect(() => { axios.get(echoHost()).then(({ data }) => setTorrServerVersion(data)) diff --git a/web/src/components/Donate/DonateDialog.jsx b/web/src/components/Donate/DonateDialog.jsx index 4c5c98c..ccd2d28 100644 --- a/web/src/components/Donate/DonateDialog.jsx +++ b/web/src/components/Donate/DonateDialog.jsx @@ -15,7 +15,7 @@ export default function DonateDialog({ onClose }) { const { t } = useTranslation() return ( - + {t('Donate')}