1
0
Fork 0
mirror of https://git.sr.ht/~ashkeel/strimertul synced 2024-09-20 02:00:49 +00:00
strimertul/frontend/src/ui/pages/Strimertul.tsx

154 lines
4.1 KiB
TypeScript
Raw Normal View History

import React, { useState } from 'react';
import { keyframes } from '@stitches/react';
2022-01-14 19:17:24 +00:00
import { Trans, useTranslation } from 'react-i18next';
import { GitHubLogoIcon, TwitterLogoIcon } from '@radix-ui/react-icons';
import { useNavigate } from 'react-router-dom';
import { APPNAME, PageContainer, PageHeader, styled } from '../theme';
2022-11-18 19:28:13 +00:00
import BrowserLink from '../components/BrowserLink';
// @ts-expect-error Asset import
import logo from '../../assets/icon-logo.svg';
const gradientAnimation = keyframes({
'0%': {
backgroundPosition: '0% 50%',
},
'50%': {
backgroundPosition: '100% 50%',
},
'100%': {
backgroundPosition: '0% 50%',
},
});
const LogoPic = styled('div', {
minHeight: '170px',
width: '270px',
maskImage: `url(${logo as string})`,
maskRepeat: 'no-repeat',
maskPosition: 'center',
animation: `${gradientAnimation()} 12s ease infinite`,
backgroundSize: '400% 400%',
backgroundImage: `linear-gradient(
45deg,
hsl(240deg 100% 20%) 0%,
hsl(289deg 100% 21%) 11%,
hsl(315deg 100% 27%) 22%,
hsl(329deg 100% 36%) 33%,
hsl(337deg 100% 43%) 44%,
hsl(357deg 91% 59%) 56%,
hsl(17deg 100% 59%) 67%,
hsl(34deg 100% 53%) 78%,
hsl(45deg 100% 50%) 89%,
hsl(55deg 100% 50%) 100%
)`,
});
const LogoName = styled('h1', {
fontSize: '40pt',
fontWeight: 200,
textAlign: 'center',
'@medium': {
fontSize: '80pt',
},
paddingBottom: '0.5rem',
});
2022-01-14 00:41:46 +00:00
2022-01-14 19:17:24 +00:00
const Section = styled('section', {});
const SectionHeader = styled('h2', {});
const SectionParagraph = styled('p', {
lineHeight: '1.5',
paddingBottom: '1rem',
});
const ChannelList = styled('ul', { listStyle: 'none', padding: 0, margin: 0 });
const Channel = styled('li', {
marginBottom: '1rem',
fontSize: '1.5rem',
});
2022-11-18 19:28:13 +00:00
const ChannelLink = styled(BrowserLink, {
2022-01-14 19:17:24 +00:00
textDecoration: 'none',
2022-01-17 16:13:31 +00:00
color: '$teal11',
2022-01-14 19:17:24 +00:00
display: 'inline-flex',
flexDirection: 'row',
gap: '0.5rem',
alignItems: 'center',
'&:hover': {
textDecoration: 'underline',
},
});
2022-01-14 00:41:46 +00:00
export default function StrimertulPage(): React.ReactElement {
const navigate = useNavigate();
2022-01-14 19:17:24 +00:00
const { t } = useTranslation();
const [debugCount, setDebugCount] = useState(0);
const countForDebug = () => {
if (debugCount < 5) {
setDebugCount(debugCount+1);
} else {
navigate("/debug");
}
};
return (
<PageContainer>
<PageHeader
css={{
display: 'flex',
alignItems: 'center',
flexDirection: 'column',
justifyContent: 'center',
'@medium': {
flexDirection: 'row',
},
}}
>
2022-01-17 16:13:31 +00:00
<LogoPic
style={{
WebkitMaskRepeat: 'no-repeat',
WebkitMaskPosition: 'center',
}}
onClick={countForDebug}
2022-01-17 16:13:31 +00:00
/>
<LogoName>{APPNAME}</LogoName>
</PageHeader>
2022-01-14 19:17:24 +00:00
<Section>
<SectionHeader>{t('pages.strimertul.need-help')}</SectionHeader>
<SectionParagraph>
{t('pages.strimertul.need-help-p1', { APPNAME })}
</SectionParagraph>
<ChannelList>
<Channel>
<ChannelLink href="https://github.com/strimertul/strimertul/issues">
<GitHubLogoIcon width={32} height={32} />
github.com/strimertul/strimertul/issues
</ChannelLink>
</Channel>
<Channel>
<ChannelLink href="https://twitter.com/ashkeelvt">
<TwitterLogoIcon width={32} height={32} />
twitter.com/AshKeelVT
</ChannelLink>
</Channel>
</ChannelList>
</Section>
<Section>
<SectionHeader>{t('pages.strimertul.license-header')}</SectionHeader>
<SectionParagraph>
<Trans
t={t}
i18nKey="pages.strimertul.license-notice-strimertul"
values={{ APPNAME }}
components={{
license: (
2022-11-18 19:28:13 +00:00
<BrowserLink href="https://github.com/strimertul/strimertul/blob/master/LICENSE">
2022-01-14 19:17:24 +00:00
GNU Affero General Public License v3.0
2022-11-18 19:28:13 +00:00
</BrowserLink>
2022-01-14 19:17:24 +00:00
),
}}
/>
</SectionParagraph>
</Section>
</PageContainer>
);
2022-01-14 00:41:46 +00:00
}