Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion e2e/i18n.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { test, expect } from '@playwright/test'

const enSentence = 'We are proud to celebrate one year as an independent, grassroots organization empowering diverse women in technology careers.'
const enSentence = 'We are proud to celebrate two years as an independent, grassroots organization empowering diverse women in technology careers.'
const jaSentence = '私たちはテクノロジー業界で活躍する多様な女性に力を与える草の根組織として1周年を迎えられたことを誇りに思います。'

test.describe('Japanese Locale', () => {
Expand Down
22 changes: 15 additions & 7 deletions src/components/Footer/Footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,28 @@ import InstagramIcon from '@mui/icons-material/Instagram'
import LinkedInIcon from '@mui/icons-material/LinkedIn'
import GitHubIcon from '@mui/icons-material/GitHub'
import EventIcon from '@mui/icons-material/Event'
import Box from '@mui/material/Box'
import Container from '@mui/material/Container'
import FooterIcon from './FooterIcon'
import SimpleAnalyticsBadge from './SimpleAnalyticsBadge'


const Footer: FC = () => {
const location = useLocation()
const path = location.pathname
const isHome = /^\/$/.test(path)
return <Paper sx={{ position: { xs: 'relative', sm: isHome ? 'fixed' : 'relative' }, bottom: 0, left: 0, right: 0 }} elevation={0} aria-label="footer">
<BottomNavigation sx={{ backgroundColor: '#512da8' }}>
<FooterIcon label="Events" icon={<EventIcon />} href="https://luma.com/womeninsoftwarejp" />
<FooterIcon label="Instagram" icon={<InstagramIcon />} href="https://www.instagram.com/womeninsoftwarejp/" />
<FooterIcon label="LinkedIn" icon={<LinkedInIcon />} href="https://www.linkedin.com/company/womeninsoftwarejp/" />
<FooterIcon label="GitHub" icon={<GitHubIcon />} href="https://github.com/WomenInSoftwareEngineeringJP" />
</BottomNavigation>
return <Paper sx={{ position: { xs: 'relative', sm: isHome ? 'fixed' : 'relative' }, bottom: 0, left: 0, right: 0, bgcolor: '#512da8', color: 'common.white' }} elevation={0} aria-label="footer">
<Container maxWidth="lg" disableGutters sx={{ display: 'flex', flexDirection: { xs: 'column', sm: 'row' }, justifyContent: 'space-between', alignItems: 'center', px: { sm: 4 } }}>
<BottomNavigation sx={{ width: { xs: '100%', sm: 'auto' }, backgroundColor: '#512da8' }}>
<FooterIcon label="Events" icon={<EventIcon />} href="https://luma.com/womeninsoftwarejp" />
<FooterIcon label="Instagram" icon={<InstagramIcon />} href="https://www.instagram.com/womeninsoftwarejp/" />
<FooterIcon label="LinkedIn" icon={<LinkedInIcon />} href="https://www.linkedin.com/company/womeninsoftwarejp/" />
<FooterIcon label="GitHub" icon={<GitHubIcon />} href="https://github.com/WomenInSoftwareEngineeringJP" />
</BottomNavigation>
<Box sx={{ alignSelf: { xs: 'center', sm: 'auto' }, px: { xs: 2, sm: 0 }, pb: { xs: 1, sm: 0 }, fontSize: '0.75rem' }}>
<SimpleAnalyticsBadge />
</Box>
</Container>
</Paper>
}

Expand Down
45 changes: 45 additions & 0 deletions src/components/Footer/SimpleAnalyticsBadge.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import { FC } from 'react'
import Link from '@mui/material/Link'

const SimpleAnalyticsBadge: FC = () => {
return <Link
href="https://www.simpleanalytics.com?utm_source=womeninsoftware.jp&utm_content=badge"
target="_blank"
rel="noopener"
referrerPolicy="origin"
color="inherit"
underline="none"
aria-label="100% privacy-first analytics by Simple Analytics"
sx={{
display: 'block',
cursor: 'pointer',
lineHeight: 1.6,
'&:focus-visible': {
outline: '2px solid currentColor',
outlineOffset: 0.5,
},
'& .sa-credit__byline': {
whiteSpace: 'nowrap',
},
'& svg': {
display: 'inline-block',
height: '0.914em',
mr: 0.25,
verticalAlign: '-0.2em',
fill: 'currentColor',
},
}}
>
<span>100% privacy-first analytics</span>{' '}
<span className="sa-credit__byline">
by <svg viewBox="0 -714 8871 914" aria-hidden="true">
<g transform="translate(0 -700) scale(.7)">
<path d="M54 538h154v462H54zm369-276h154v738H423zM792 0h154v1000H792z" />
</g>
<path transform="translate(900 0)" d="M311 14Q232 14 171.0 -14.0Q110 -42 75.5 -96.5Q41 -151 41 -229V-254H148V-229Q148 -154 192.5 -117.5Q237 -81 311 -81Q385 -81 423.5 -112.5Q462 -144 462 -194Q462 -244 422.5 -266.5Q383 -289 314 -305L277 -314Q209 -329 160.0 -353.0Q111 -377 84.0 -416.0Q57 -455 57 -516Q57 -609 123.5 -661.5Q190 -714 299 -714Q372 -714 429.5 -689.0Q487 -664 520.0 -615.0Q553 -566 553 -492V-456H446V-492Q446 -560 405.5 -589.5Q365 -619 299 -619Q234 -619 199.0 -592.5Q164 -566 164 -519Q164 -471 198.5 -448.0Q233 -425 300 -410L337 -401Q404 -386 456.5 -362.5Q509 -339 539.0 -299.0Q569 -259 569 -196Q569 -133 537.5 -86.0Q506 -39 448.0 -12.5Q390 14 311 14ZM686 0V-493H789V0ZM738 -560Q708 -560 687.5 -579.5Q667 -599 667 -630Q667 -661 687.5 -680.5Q708 -700 738 -700Q768 -700 788.5 -680.5Q809 -661 809 -630Q809 -599 788.5 -579.5Q768 -560 738 -560ZM942 0V-493H1043V-435H1059Q1073 -461 1103.5 -481.0Q1134 -501 1188 -501Q1243 -501 1276.5 -478.0Q1310 -455 1327 -421H1343Q1359 -455 1392.0 -478.0Q1425 -501 1485 -501Q1556 -501 1603.5 -456.5Q1651 -412 1651 -328V0H1548V-321Q1548 -365 1523.5 -389.5Q1499 -414 1454 -414Q1406 -414 1377.0 -383.0Q1348 -352 1348 -294V0H1245V-321Q1245 -365 1220.5 -389.5Q1196 -414 1151 -414Q1103 -414 1074.0 -383.0Q1045 -352 1045 -294V0ZM1799 200V-493H1900V-422H1916Q1935 -455 1973.5 -481.0Q2012 -507 2084 -507Q2145 -507 2197.0 -477.0Q2249 -447 2280.5 -390.0Q2312 -333 2312 -254V-239Q2312 -159 2280.5 -102.5Q2249 -46 2197.5 -16.0Q2146 14 2084 14Q2012 14 1973.5 -11.5Q1935 -37 1918 -67H1902V200ZM2054 -76Q2121 -76 2164.5 -119.0Q2208 -162 2208 -242V-251Q2208 -330 2164.5 -373.0Q2121 -416 2054 -416Q1988 -416 1944.5 -373.0Q1901 -330 1901 -251V-242Q1901 -162 1944.0 -119.0Q1987 -76 2054 -76ZM2440 0V-700H2543V0ZM2922 14Q2847 14 2791.0 -17.5Q2735 -49 2703.5 -106.0Q2672 -163 2672 -240V-252Q2672 -329 2703.5 -386.0Q2735 -443 2790.0 -475.0Q2845 -507 2918 -507Q2989 -507 3042.5 -475.5Q3096 -444 3126.0 -388.0Q3156 -332 3156 -257V-218H2777Q2779 -153 2820.5 -114.5Q2862 -76 2924 -76Q2982 -76 3011.5 -102.0Q3041 -128 3057 -162L3143 -118Q3128 -90 3102.0 -59.0Q3076 -28 3032.0 -7.0Q2988 14 2922 14ZM2778 -297H3052Q3047 -352 3011.0 -384.0Q2975 -416 2917 -416Q2859 -416 2822.5 -384.0Q2786 -352 2778 -297ZM3468 0 3667 -700H3857L4056 0H3945L3899 -165H3625L3579 0ZM3652 -265H3872L3770 -633H3754ZM4154 0V-493H4255V-419H4271Q4285 -449 4321.0 -475.0Q4357 -501 4428 -501Q4484 -501 4527.5 -476.0Q4571 -451 4596.0 -405.0Q4621 -359 4621 -296V0H4518V-288Q4518 -352 4486.0 -382.5Q4454 -413 4398 -413Q4334 -413 4295.5 -371.0Q4257 -329 4257 -249V0ZM4922 14Q4869 14 4827.5 -4.0Q4786 -22 4761.5 -57.0Q4737 -92 4737 -142Q4737 -217 4790.5 -255.5Q4844 -294 4925 -294H5075V-326Q5075 -368 5049.0 -394.5Q5023 -421 4969 -421Q4916 -421 4888.0 -396.0Q4860 -371 4851 -331L4755 -362Q4767 -401 4793.5 -434.0Q4820 -467 4863.5 -487.0Q4907 -507 4970 -507Q5066 -507 5121.0 -458.0Q5176 -409 5176 -319V-116Q5176 -86 5204 -86H5246V0H5169Q5135 0 5113.0 -18.0Q5091 -36 5091 -67V-70H5075Q5067 -54 5051.0 -34.5Q5035 -15 5004.0 -0.5Q4973 14 4922 14ZM4937 -71Q4998 -71 5036.5 -106.5Q5075 -142 5075 -204V-214H4931Q4890 -214 4865.0 -196.5Q4840 -179 4840 -145Q4840 -111 4866.0 -91.0Q4892 -71 4937 -71ZM5346 0V-700H5449V0ZM5659 200V110H5934Q5962 110 5962 80V-72H5946Q5932 -43 5896.5 -17.0Q5861 9 5791 9Q5735 9 5691.0 -16.0Q5647 -41 5622.0 -87.0Q5597 -133 5597 -196V-493H5700V-204Q5700 -140 5732.0 -109.5Q5764 -79 5821 -79Q5884 -79 5922.5 -121.5Q5961 -164 5961 -243V-493H6064V101Q6064 146 6037.5 173.0Q6011 200 5965 200ZM6401 0Q6356 0 6329.5 -27.0Q6303 -54 6303 -99V-406H6167V-493H6303V-656H6406V-493H6553V-406H6406V-117Q6406 -87 6434 -87H6537V0ZM6674 0V-493H6777V0ZM6726 -560Q6696 -560 6675.5 -579.5Q6655 -599 6655 -630Q6655 -661 6675.5 -680.5Q6696 -700 6726 -700Q6756 -700 6776.5 -680.5Q6797 -661 6797 -630Q6797 -599 6776.5 -579.5Q6756 -560 6726 -560ZM7159 14Q7088 14 7030.5 -16.0Q6973 -46 6939.5 -103.0Q6906 -160 6906 -240V-253Q6906 -332 6939.5 -389.0Q6973 -446 7030.5 -476.5Q7088 -507 7159 -507Q7230 -507 7280.5 -481.0Q7331 -455 7360.5 -412.0Q7390 -369 7400 -317L7300 -296Q7293 -345 7259.5 -380.0Q7226 -415 7161 -415Q7097 -415 7053.0 -372.0Q7009 -329 7009 -251V-242Q7009 -164 7053.0 -121.0Q7097 -78 7161 -78Q7226 -78 7260.0 -111.5Q7294 -145 7303 -197L7403 -174Q7391 -123 7360.5 -80.0Q7330 -37 7280.0 -11.5Q7230 14 7159 14ZM7724 14Q7629 14 7567.0 -28.0Q7505 -70 7492 -155L7588 -178Q7599 -116 7636.5 -92.5Q7674 -69 7724 -69Q7773 -69 7799.5 -87.5Q7826 -106 7826 -137Q7826 -167 7801.0 -181.0Q7776 -195 7728 -204L7693 -210Q7643 -219 7602.0 -236.0Q7561 -253 7537.0 -283.0Q7513 -313 7513 -360Q7513 -430 7565.0 -468.5Q7617 -507 7703 -507Q7786 -507 7839.5 -469.5Q7893 -432 7909 -368L7813 -341Q7804 -386 7775.0 -404.5Q7746 -423 7703 -423Q7661 -423 7637.0 -407.5Q7613 -392 7613 -364Q7613 -334 7636.5 -320.0Q7660 -306 7700 -299L7735 -293Q7788 -284 7831.5 -267.5Q7875 -251 7901.0 -221.5Q7927 -192 7927 -142Q7927 -67 7871.5 -26.5Q7816 14 7724 14Z" />
</svg>
</span>
</Link>
}

export default SimpleAnalyticsBadge
4 changes: 4 additions & 0 deletions src/components/Footer/__test__/Footer.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ describe('Footer', () => {
const github = await screen.findByLabelText('GitHub')
expect(github).toBeVisible()
expect(github).toHaveAttribute('href', 'https://github.com/WomenInSoftwareEngineeringJP')

const analyticsBadge = await screen.findByLabelText('100% privacy-first analytics by Simple Analytics')
expect(analyticsBadge).toHaveAttribute('href', 'https://www.simpleanalytics.com?utm_source=womeninsoftware.jp&utm_content=badge')
expect(analyticsBadge).toHaveAttribute('target', '_blank')
})

})
2 changes: 1 addition & 1 deletion src/i18n/en/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"home": {
"helloWorld": "✨ Hello World ✨",
"joinUs": "✨ Join us on Slack ✨",
"paragraph1": "We are proud to celebrate one year as an independent, grassroots organization empowering diverse women in technology careers. Despite having a shoestring budget and a volunteer team, we produce high-quality, free events, both online and in-person.",
"paragraph1": "We are proud to celebrate two years as an independent, grassroots organization empowering diverse women in technology careers. Despite having a shoestring budget and a volunteer team, we produce high-quality, free events, both online and in-person.",
"paragraph2": "Formerly known as Women Who Code Tokyo, we started in 2014 organizing community events at various tech companies. Our events give a platform for women to demonstrate technical excellence, network, and gain career skills.",
"paragraph3": "We believe in the strength of women, and envision a world where women thrive at every level of the technology industry. Come build the future with us.",
"whoShouldJoin": "Who should join: Our average member has 2 or more years of career experience, and we welcome beginners to seasoned professionals. While we champion women's empowerment, all genders are welcome at our events. Software-adjacent roles like Data Science, Product, Platform, UI/UX, Machine Learning, and more are welcome."
Expand Down
Loading