1
0
mirror of https://github.com/uetchy/namae.git synced 2025-03-19 13:30:32 +09:00
namae/web/src/components/Footer.tsx

109 lines
2.4 KiB
TypeScript
Raw Normal View History

2019-09-17 14:30:26 +09:00
import React from 'react';
import styled from 'styled-components';
import {useTranslation} from 'react-i18next';
2020-02-05 16:22:46 +09:00
import {FaTwitter, FaGithub, FaProductHunt} from 'react-icons/fa';
2019-07-31 12:22:31 +09:00
2019-09-17 14:30:26 +09:00
import {ExternalLink} from './Links';
2019-07-31 18:54:28 +09:00
2019-12-24 01:57:07 +09:00
const Footer: React.FC = () => {
2019-09-17 14:30:26 +09:00
const {t} = useTranslation();
2019-08-03 22:50:35 +09:00
2019-07-31 12:22:31 +09:00
return (
2019-09-01 13:23:28 +09:00
<Container>
2020-02-05 16:22:46 +09:00
<LangBox>
<a href="/?lng=en">
<span role="img" aria-label="English">
🇬🇧
</span>
</a>
<a href="/?lng=ja">
<span role="img" aria-label="Japanese">
🇯🇵
</span>
</a>
</LangBox>
2019-08-03 14:35:49 +09:00
<Box>
<p>
Made with{' '}
<span role="img" aria-label="coffee">
2020-02-05 16:22:46 +09:00
2019-08-03 14:35:49 +09:00
</span>{' '}
by{' '}
<ExternalLink href="https://twitter.com/uetschy">
<Bold>Yasuaki Uechi</Bold>
</ExternalLink>
</p>
2020-02-05 16:22:46 +09:00
</Box>
<ShareBox>
2019-08-03 14:35:49 +09:00
<Links>
2019-08-03 22:50:35 +09:00
<ExternalLink
2019-08-08 21:53:09 +09:00
aria-label="Tweet this page"
2019-08-03 22:50:35 +09:00
href={`https://twitter.com/intent/tweet?text=${encodeURIComponent(
2019-09-17 14:30:26 +09:00
`namae — ${t('title')}`,
2019-08-03 22:50:35 +09:00
)}&url=${encodeURIComponent('https://namae.dev')}`}>
2019-08-03 14:35:49 +09:00
<FaTwitter />
</ExternalLink>
2020-02-05 16:22:46 +09:00
<ExternalLink
href="https://www.producthunt.com/posts/namae"
aria-label="Go to ProductHunt page">
<FaProductHunt />
</ExternalLink>
<ExternalLink
href="https://github.com/uetchy/namae"
aria-label="Go to GitHub repository">
<FaGithub />
</ExternalLink>
2019-08-03 14:35:49 +09:00
</Links>
2020-02-05 16:22:46 +09:00
</ShareBox>
2019-09-01 13:23:28 +09:00
</Container>
2019-09-17 14:30:26 +09:00
);
2019-12-24 01:57:07 +09:00
};
export default Footer;
2019-07-31 12:22:31 +09:00
2019-09-01 13:23:28 +09:00
const Container = styled.div`
2019-08-03 14:35:49 +09:00
display: flex;
flex-direction: column;
align-items: center;
2019-07-31 12:22:31 +09:00
margin: 40px 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,
Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
2019-08-01 14:32:00 +09:00
2019-08-03 14:35:49 +09:00
a {
2019-08-01 14:32:00 +09:00
color: black;
text-decoration: none;
}
2019-09-17 14:30:26 +09:00
`;
2019-08-01 13:21:23 +09:00
2019-08-03 14:35:49 +09:00
const Box = styled.footer`
margin-bottom: 10px;
display: flex;
flex-direction: row;
justify-content: center;
line-height: 1em;
2020-02-05 16:22:46 +09:00
font-size: 0.8rem;
`;
const LangBox = styled(Box)`
font-size: 2rem;
margin-bottom: 20px;
`;
const ShareBox = styled(Box)`
font-size: 1.5rem;
2019-09-17 14:30:26 +09:00
`;
2019-08-03 14:35:49 +09:00
2019-08-01 13:21:23 +09:00
const Links = styled.div`
display: flex;
2019-08-01 14:40:43 +09:00
align-items: center;
2019-08-01 13:21:23 +09:00
2019-08-01 14:32:00 +09:00
${ExternalLink} {
2019-08-01 13:21:23 +09:00
margin-right: 5px;
}
2019-09-17 14:30:26 +09:00
`;
2019-08-01 14:00:22 +09:00
const Bold = styled.span`
font-weight: bold;
2019-09-17 14:30:26 +09:00
`;