mirror of
https://github.com/Ernous/TorrServerJellyfin.git
synced 2025-12-19 13:36:09 +05:00
95 lines
3.2 KiB
JavaScript
95 lines
3.2 KiB
JavaScript
import axios from 'axios'
|
|
import { useEffect, useState } from 'react'
|
|
import Button from '@material-ui/core/Button'
|
|
import InfoIcon from '@material-ui/icons/Info'
|
|
import ListItemIcon from '@material-ui/core/ListItemIcon'
|
|
import ListItemText from '@material-ui/core/ListItemText'
|
|
import { useTranslation } from 'react-i18next'
|
|
import { useMediaQuery } from '@material-ui/core'
|
|
import { echoHost } from 'utils/Hosts'
|
|
import { StyledDialog, StyledMenuButtonWrapper } from 'style/CustomMaterialUiStyles'
|
|
import { isStandaloneApp } from 'utils/Utils'
|
|
|
|
import LinkComponent from './LinkComponent'
|
|
import { DialogWrapper, HeaderSection, ThanksSection, Section, FooterSection } from './style'
|
|
|
|
export default function AboutDialog() {
|
|
const { t } = useTranslation()
|
|
const [open, setOpen] = useState(false)
|
|
const [torrServerVersion, setTorrServerVersion] = useState('')
|
|
const fullScreen = useMediaQuery('@media (max-width:930px)')
|
|
useEffect(() => {
|
|
axios.get(echoHost()).then(({ data }) => setTorrServerVersion(data))
|
|
}, [])
|
|
|
|
return (
|
|
<>
|
|
<StyledMenuButtonWrapper button key='Settings' onClick={() => setOpen(true)}>
|
|
{isStandaloneApp ? (
|
|
<>
|
|
<InfoIcon />
|
|
<div>{t('About')}</div>
|
|
</>
|
|
) : (
|
|
<>
|
|
<ListItemIcon>
|
|
<InfoIcon />
|
|
</ListItemIcon>
|
|
|
|
<ListItemText primary={t('About')} />
|
|
</>
|
|
)}
|
|
</StyledMenuButtonWrapper>
|
|
|
|
<StyledDialog
|
|
open={open}
|
|
onClose={() => setOpen(false)}
|
|
aria-labelledby='form-dialog-title'
|
|
fullScreen={fullScreen}
|
|
maxWidth='xl'
|
|
hideBackdrop={isStandaloneApp}
|
|
>
|
|
<DialogWrapper>
|
|
<HeaderSection>
|
|
<div>{t('About')}</div>
|
|
{torrServerVersion}
|
|
<img src='/apple-icon-180.png' alt='ts-icon' />
|
|
</HeaderSection>
|
|
|
|
<div style={{ overflow: 'auto' }}>
|
|
<ThanksSection>{t('ThanksToEveryone')}</ThanksSection>
|
|
|
|
<Section>
|
|
<span>{t('Links')}</span>
|
|
|
|
<div>
|
|
<LinkComponent name={t('ProjectSource')} link='https://github.com/YouROK/TorrServer' />
|
|
<LinkComponent name={t('Releases')} link='https://github.com/YouROK/TorrServer/releases' />
|
|
</div>
|
|
</Section>
|
|
|
|
<Section>
|
|
<span>{t('SpecialThanks')}</span>
|
|
|
|
<div>
|
|
<LinkComponent name='Daniel Shleifman' link='https://github.com/dancheskus' />
|
|
<LinkComponent name='Matt Joiner' link='https://github.com/anacrolix' />
|
|
<LinkComponent name='nikk' link='https://github.com/tsynik' />
|
|
<LinkComponent name='kolsys' link='https://github.com/kolsys' />
|
|
<LinkComponent name='tw1cker Руслан Пахнев' link='https://github.com/Nemiroff' />
|
|
<LinkComponent name='SpAwN_LMG' link='https://github.com/spawnlmg' />
|
|
</div>
|
|
</Section>
|
|
</div>
|
|
|
|
<FooterSection>
|
|
<Button onClick={() => setOpen(false)} color='primary' variant='contained'>
|
|
{t('Close')}
|
|
</Button>
|
|
</FooterSection>
|
|
</DialogWrapper>
|
|
</StyledDialog>
|
|
</>
|
|
)
|
|
}
|