import React from 'react'; import { useTranslation, Trans } from 'react-i18next'; import authorAvatarUrl from './author-avatar.png'; import githubLogoUrl from './github.png'; import AppBar from '../common/AppBar'; const frontendCredits: { name: string; url: string; }[] = [ { name: 'reactjs', url: 'https://reactjs.org', }, { name: 'typescript', url: 'https://www.typescriptlang.org', }, { name: 'bootstrap', url: 'https://getbootstrap.com', }, { name: 'reactstrap', url: 'https://reactstrap.github.io', }, { name: 'babeljs', url: 'https://babeljs.io', }, { name: 'webpack', url: 'https://webpack.js.org', }, { name: 'sass', url: 'https://sass-lang.com', }, { name: 'eslint', url: 'https://eslint.org', }, { name: 'prettier', url: 'https://prettier.io', }, { name: 'pepjs', url: 'https://github.com/jquery/PEP', }, { name: 'react-inlinesvg', url: 'https://github.com/gilbarbara/react-inlinesvg', }, ]; const backendCredits: { name: string; url: string; }[] = [ { name: 'ASP.NET Core', url: 'https://dotnet.microsoft.com/learn/aspnet/what-is-aspnet-core', }, { name: 'sqlite', url: 'https://sqlite.org' }, { name: 'ImageSharp', url: 'https://github.com/SixLabors/ImageSharp', }, ]; const About: React.FC = () => { const { t } = useTranslation(); return ( <>

{t('about.author.title')}

{t('about.author.fullname')} 杨宇千

{t('about.author.nickname')} crupest

{t('about.author.introduction')} {t('about.author.introductionContent')}

{t('about.author.links')}

{t('about.site.title')}

01234 56

{t('about.site.repo')}

{t('about.credits.title')}

{t('about.credits.content')}

{t('about.credits.frontend')}

    {frontendCredits.map((item, index) => { return (
  • {item.name}
  • ); })}
  • ...

{t('about.credits.backend')}

    {backendCredits.map((item, index) => { return (
  • {item.name}
  • ); })}
  • ...
); }; export default About;