diff --git a/sites/org/pages/index.mjs b/sites/org/pages/index.mjs index dd250aac400..1c1bd7447b2 100644 --- a/sites/org/pages/index.mjs +++ b/sites/org/pages/index.mjs @@ -4,6 +4,7 @@ import { nsMerge } from 'shared/utils.mjs' // Hooks import { useState, useEffect } from 'react' import { useTranslation } from 'next-i18next' +import { useAccount } from 'shared/hooks/use-account.mjs' // Components import Head from 'next/head' import { PageWrapper, ns as pageNs } from 'shared/components/wrappers/page.mjs' @@ -12,123 +13,10 @@ import { PageLink } from 'shared/components/page-link.mjs' import { BareLayout } from 'site/components/layouts/bare.mjs' import { ForceAccountCheck } from 'shared/components/account/force-account-check.mjs' import { DownIcon } from 'shared/components/icons.mjs' -import { logoPath } from 'shared/components/logos/freesewing.mjs' +import { FreeSewingAnimation } from 'shared/components/animations/freesewing.mjs' +import { HowDoesItWorkAnimation } from 'shared/components/animations/how-does-it-work.mjs' -const ns = nsMerge(pageNs, 'common') - -const Animation = ({ - className = 'w-6 h-6', - stroke = 2, - slogan1, slogan2 -}) => ( - - - - - - - - - - - - - FreeSewing - - - {slogan1} - - - {slogan2} - - - - -) +const ns = nsMerge(pageNs, 'common', 'homepage') const BoldLink = ({ href, children }) => ( @@ -145,22 +33,27 @@ const BoldLink = ({ href, children }) => ( const HomePage = ({ page }) => { const [ready, setReady] = useState(false) const { t } = useTranslation(ns) + const { account } = useAccount() useEffect(() => { - setTimeout(() => setReady(true), 4000) - },[]) + setTimeout(() => setReady(true), 1800) + }, []) return ( - Welcome to FreeSewing.org + FreeSewing.org -
+
- - - + + +
@@ -168,49 +61,33 @@ const HomePage = ({ page }) => {
-

What is FreeSewing?

-

- FreeSewing is open source software to generate made-to-measure sewing patterns, loved by home sewers and fashion entrepreneurs alike. -

-

- FreeSewing.org makes this software available to you as an online tool with unmatched custimization and flexibility. - We have over 50 designs, and regularly add new ones. - You can pick any design and generate a pattern to your exact measurements. -

-

- Because made-to-measure lies at the heart of what we do, we strongly suggest you take accurate measurements. - Industry sizing is a bunch of lies. Join the slow fashion revolution and enjoy clothes that fit you. -

+

{t('whatIsFreeSewing')}

+

{t('homepage:what1')}

+

{t('homepage:what2')}

+

{t('homepage:what3')}

-

What is FreeSewing not?

+

{t('whatIsFreeSewingNot')}

+

{t('homepage:whatNot1')}

+

{t('homepage:whatNot2')}

+

{t('homepage:whatNot3')}

- FreeSewing is not a company. We do not sell anything. We do not have staff or employees. We do not have an office. We do not get paid. -

-

- Our websites do not contain any advertising. - We do not track you or sell your personal data. We do not violate your privacy. -

-

- FreeSewing is not gendered. We do not exclude or discriminate. Nor do we tolerate discrimination in our community. -

-

- FreeSewing is not perfect. But we try our best. - When we come up short, we will not be upset when you point it out. + {t('homepage:whatNot4')}
- In fact, that is how we got to where we are today. - + {t('homepage:whatNot5')}

+
+
+

{t('howDoesItWork')}

+
- -
) } @@ -220,7 +97,7 @@ export default HomePage export async function getStaticProps({ locale }) { return { props: { - ...(await serverSideTranslations(locale)), + ...(await serverSideTranslations(locale, ns)), page: { locale, path: [], diff --git a/sites/org/public/img/models/model-0.png b/sites/org/public/img/models/model-0.png new file mode 100644 index 00000000000..98a24792e05 Binary files /dev/null and b/sites/org/public/img/models/model-0.png differ diff --git a/sites/org/public/img/models/model-1.png b/sites/org/public/img/models/model-1.png new file mode 100644 index 00000000000..332e4b59b0d Binary files /dev/null and b/sites/org/public/img/models/model-1.png differ diff --git a/sites/org/public/img/models/model-2.png b/sites/org/public/img/models/model-2.png new file mode 100644 index 00000000000..dfbc4b87224 Binary files /dev/null and b/sites/org/public/img/models/model-2.png differ diff --git a/sites/org/public/img/models/model-3.png b/sites/org/public/img/models/model-3.png new file mode 100644 index 00000000000..d8348db4942 Binary files /dev/null and b/sites/org/public/img/models/model-3.png differ diff --git a/sites/org/public/img/models/model-4.png b/sites/org/public/img/models/model-4.png new file mode 100644 index 00000000000..7dd783a1410 Binary files /dev/null and b/sites/org/public/img/models/model-4.png differ diff --git a/sites/org/public/img/models/model-5.png b/sites/org/public/img/models/model-5.png new file mode 100644 index 00000000000..51cf61c6f4e Binary files /dev/null and b/sites/org/public/img/models/model-5.png differ diff --git a/sites/org/public/img/models/model-6.png b/sites/org/public/img/models/model-6.png new file mode 100644 index 00000000000..83d35d7fc96 Binary files /dev/null and b/sites/org/public/img/models/model-6.png differ diff --git a/sites/org/public/img/models/model-7.png b/sites/org/public/img/models/model-7.png new file mode 100644 index 00000000000..2596e3bc23b Binary files /dev/null and b/sites/org/public/img/models/model-7.png differ diff --git a/sites/shared/components/animations/freesewing.mjs b/sites/shared/components/animations/freesewing.mjs new file mode 100644 index 00000000000..d40b058e32e --- /dev/null +++ b/sites/shared/components/animations/freesewing.mjs @@ -0,0 +1,122 @@ +import { logoPath } from 'shared/components/logos/freesewing.mjs' +import { useTranslation } from 'next-i18next' + +export const ns = ['commom'] + +export const FreeSewingAnimation = ({ className = 'w-full', stroke = 0.3 }) => { + const { t } = useTranslation(ns) + + return ( + + + + + + + + + + + + + + FreeSewing + + + + {t('common:slogan1')} + + + + {t('common:slogan2')} + + + + + ) +} diff --git a/sites/shared/components/animations/how-does-it-work.mjs b/sites/shared/components/animations/how-does-it-work.mjs new file mode 100644 index 00000000000..34a2bdf1a88 --- /dev/null +++ b/sites/shared/components/animations/how-does-it-work.mjs @@ -0,0 +1,155 @@ +import { useState, useEffect } from 'react' +import { useTranslation } from 'next-i18next' +import { AaronFront, AaronBack } from 'shared/components/designs/linedrawings/aaron.mjs' +import { BruceFront, BruceBack } from 'shared/components/designs/linedrawings/bruce.mjs' +import { SimonFront, SimonBack } from 'shared/components/designs/linedrawings/simon.mjs' +import { WahidFront, WahidBack } from 'shared/components/designs/linedrawings/wahid.mjs' + +export const ns = ['homepage'] + +const lineDrawings = [ + , + , + , + , + , + , + , + , +] + +const patternTweaks = [ + , + , + , + , + , + , + , + , +] + +const Pattern = ({ i }) => ( + + {patternTweaks[i]} + +) + +const Nr = ({ nr }) => ( +
+ + {nr} + +
+) + +const Title = ({ txt }) => ( +
+

+ {txt} +

+
+) + +const slides = [0, 1, 2, 3, 4, 5, 6, 7] + +export const HowDoesItWorkAnimation = ({ className = 'w-full', stroke = 0.3 }) => { + const { t } = useTranslation(ns) + const [step, setStep] = useState(0) + const [halfStep, setHalfStep] = useState(0) + + useEffect(() => { + setTimeout(() => { + if (step > 6) setStep(0) + else setStep(step + 1) + if (halfStep > 7) setHalfStep(0) + else setHalfStep(halfStep + 0.5) + }, 800) + }, [step]) + + return ( +
+
+
+ {slides.map((i) => ( +
+
+ {lineDrawings[i]} +
+
+ ))} +
+ + + </div> + <div className="relative w-full"> + <div className="relative h-72 md:h-96 overflow-hidden"> + {slides.map((i) => ( + <div + key={i} + className={`duration-700 ease-in-out transition-all ${ + Math.floor(halfStep) === i ? 'opacity-1' : 'opacity-0' + } absolute top-0 text-center w-full`} + > + <div className="w-full flex flex-row items-center h-72 md:h-96 w-full justify-center"> + <img src={`/img/models/model-${i}.png`} className="h-72 md:h-96 shrink-0 px-8" /> + </div> + </div> + ))} + <Nr nr={2} /> + <Title txt={t('addASet')} /> + </div> + </div> + <div className="relative w-full"> + <div className="relative h-96 overflow-hidden"> + <div className="w-full flex flex-row items-center h-72 md:h-96 w-full justify-center"> + <Pattern key={step} i={step} /> + </div> + <Nr nr={3} /> + <Title txt={t('customizeYourPattern')} /> + </div> + </div> + </div> + ) + + return ( + <svg + xmlns="http://www.w3.org/2000/svg" + fill="none" + viewBox="0 0 100 60" + strokeWidth={stroke} + stroke="currentColor" + strokeLinecap="round" + strokeLinejoin="round" + className={className + ' icon'} + stroke="currentColor" + style={{ backgroundColor: '#00000011' }} + > + <g transform="scale(0.15), translate(20,10)"> + <AaronFront /> + </g> + </svg> + ) +} diff --git a/sites/shared/components/animations/loading-bar.mjs b/sites/shared/components/animations/loading-bar.mjs new file mode 100644 index 00000000000..5c4db93e2b2 --- /dev/null +++ b/sites/shared/components/animations/loading-bar.mjs @@ -0,0 +1,16 @@ +export const LoadingBar = ({ duration = 1000, color = 'primary' }) => { + const [started, setStarted] = useState(false) + useEffect(() => { + setTimeout(() => setStarted(true), 100) + }, []) + + return ( + <div className={`w-full bg-base-200 rounded-full h-2.5 mb-4 bg-${color} bg-opacity-30`}> + <div + className={`bg-${color} h-2.5 rounded-full transition-all ${ + started ? 'w-full' : 'w-0' + } duration-[${duration}ms]`} + ></div> + </div> + ) +} diff --git a/sites/shared/components/designs/linedrawings/aaron.mjs b/sites/shared/components/designs/linedrawings/aaron.mjs index d90f7a8302f..f40a4f9c7b4 100644 --- a/sites/shared/components/designs/linedrawings/aaron.mjs +++ b/sites/shared/components/designs/linedrawings/aaron.mjs @@ -1,37 +1,60 @@ import { LineDrawingWrapper, thin, dashed } from './shared.mjs' +const strokeScale = 0.5 + export const Aaron = ({ className = 'w-64', // CSS classes to apply stroke = 1, // Stroke width to use -}) => ( - <LineDrawingWrapper viewBox="0 0 148 119" {...{ className, stroke }}> - <Front stroke={stroke} /> - <Back stroke={stroke} /> - </LineDrawingWrapper> -) +}) => { + // Normalize stroke across designs + stroke = stroke * strokeScale -export const AaronFront = ({ - className = 'w-64', // CSS classes to apply - stroke = 1, // Stroke width to use -}) => ( - <LineDrawingWrapper viewBox="0 0 74 119" {...{ className, stroke }}> - <Front stroke={stroke} /> - </LineDrawingWrapper> -) - -export const AaronBack = ({ - className = 'w-64', // CSS classes to apply - stroke = 1, // Stroke width to use -}) => ( - <LineDrawingWrapper viewBox="74 0 74 119" {...{ className, stroke }}> - <Back stroke={stroke} /> - </LineDrawingWrapper> -) + return ( + <LineDrawingWrapper viewBox="0 0 148 119" {...{ className, stroke }}> + <Front stroke={stroke} /> + <Back stroke={stroke} /> + </LineDrawingWrapper> + ) +} /* * React component for the front */ -const Front = ({ stroke }) => ( +export const AaronFront = ({ + className = 'w-64', // CSS classes to apply + stroke = 1, // Stroke width to use +}) => { + // Normalize stroke across designs + stroke = stroke * strokeScale + + return ( + <LineDrawingWrapper viewBox="0 0 74 119" {...{ className, stroke }}> + <Front stroke={stroke} /> + </LineDrawingWrapper> + ) +} + +/* + * React component for the back + */ +export const AaronBack = ({ + className = 'w-64', // CSS classes to apply + stroke = 1, // Stroke width to use +}) => { + // Normalize stroke across designs + stroke = stroke * strokeScale + + return ( + <LineDrawingWrapper viewBox="74 0 74 119" {...{ className, stroke }}> + <Back stroke={stroke} /> + </LineDrawingWrapper> + ) +} + +/* + * SVG elements for the front + */ +export const Front = ({ stroke }) => ( <> <path key="stitches" @@ -42,19 +65,17 @@ const Front = ({ stroke }) => ( <path key="folds" opacity={0.3} - {...thin(stroke)} d="m4.3282 54.821c0.10055 1.487 0.17728 2.9792 0.19844 4.4688 0.0185 1.4896-8e-3 2.9818-0.0926 4.4741-0.0953 1.4922-0.24342 2.9792-0.47361 4.4556-0.22489 1.4764-0.52916 2.9395-0.91281 4.3815 0.18256-1.4817 0.34925-2.958 0.50271-4.4344 0.14552-1.4764 0.27252-2.9554 0.35719-4.4344 0.0953-1.479 0.14552-2.9633 0.20902-4.4503l0.082-2.2304c0.045-0.74083 0.0714-1.487 0.12964-2.2304zm1.8494 50.21c4.7837-0.42069 9.652-0.26194 14.38 0.73025 2.3627 0.46831 4.6964 1.0345 7.0458 1.5134 2.3495 0.48948 4.7069 0.93398 7.0697 1.3652 2.3574 0.44714 4.7202 0.84402 7.1014 1.1139 2.3866 0.28046 4.7678 0.54769 7.1596 0.67469 2.3892 0.12965 4.789 0.0714 7.1755-0.15081 2.3892-0.20638 4.7598-0.59531 7.1067-1.1218-2.3151 0.64293-4.6884 1.0848-7.0776 1.3811-2.3918 0.27517-4.8075 0.381-7.2205 0.29898-2.413-0.0635-4.8075-0.34925-7.1967-0.60325-2.3945-0.25665-4.7784-0.64029-7.1438-1.0742-2.3627-0.44714-4.7228-0.90752-7.075-1.4155-2.3522-0.50535-4.6937-1.0583-7.03-1.5875-1.1695-0.25665-2.3442-0.48683-3.5295-0.65881-1.1827-0.17463-2.376-0.28575-3.5719-0.37571-2.3892-0.17992-4.7943-0.19579-7.194-0.09zm6.1172-19.913c1.7648-0.69585 3.5745-1.2859 5.4001-1.8098 1.8309-0.51329 3.6909-0.92604 5.5668-1.2515 1.8732-0.33602 3.7624-0.55827 5.6409-0.80433l5.6436-0.73554c3.7624-0.48684 7.538-0.87578 11.202-1.8045 1.8388-0.43921 3.6592-0.96573 5.4557-1.5663 0.89959-0.29633 1.7939-0.60854 2.6802-0.94191 0.88636-0.33602 1.7674-0.68527 2.6458-1.0451-1.7066 0.8308-3.4634 1.561-5.2414 2.2304-1.7859 0.65088-3.601 1.225-5.4398 1.7145-0.92075 0.24606-1.8442 0.47096-2.7808 0.65881-0.93663 0.18786-1.8759 0.34396-2.8152 0.48684-1.8785 0.28575-3.7597 0.5371-5.6409 0.78581l-5.6515 0.68792c-1.8838 0.22225-3.765 0.45772-5.6356 0.7276-1.8706 0.27517-3.728 0.64029-5.5642 1.1007-1.8415 0.4445-3.6618 0.9816-5.4663 1.5663zm-1.0663-12.306c0.62177 0.18521 1.2435 0.37306 1.86 0.56621 0.61912 0.1905 1.233 0.39158 1.86 0.55033 0.62442 0.17198 1.2435 0.3519 1.8732 0.50006 0.62706 0.15611 1.2515 0.3228 1.8838 0.45509 2.5188 0.5715 5.0615 1.0292 7.6226 1.3494 2.5612 0.32809 5.1356 0.52917 7.7179 0.61119 2.5823 0.0794 5.17 0.0582 7.7629-0.0503-2.5744 0.31221-5.17 0.47096-7.7682 0.46302-2.5982 3e-3 -5.1991-0.17727-7.7788-0.50006-2.5797-0.33338-5.1408-0.81492-7.6544-1.4737-0.62971-0.15611-1.2541-0.33602-1.8785-0.52123-0.62442-0.17727-1.2409-0.38365-1.8574-0.58473-0.61912-0.19579-1.2224-0.43656-1.8309-0.6641-0.60589-0.22755-1.2118-0.46303-1.8124-0.70115z" /> <path key="outline" - {...thin(stroke)} d="m54.356 1.8383c-6.0877 5.9635-28.882 6.1419-34.769 0m18.224 114.83c9.6255 0.0635 19.719-0.50536 30.207-1.9182 1.1271-0.15081 2.2463-0.31221 3.3576-0.4789v-74.798c-0.50007-0.20903-1.1668-0.51859-1.9182-0.9578-2.9051-1.7066-4.482-3.8761-4.7942-4.3154-1.4896-2.1008-1.9844-4.0587-2.3971-5.7547-0.635-2.6167-0.59266-4.8154-0.47889-9.1096 0.0185-0.68527 0.0767-2.6644 0.47889-7.6729 0.26459-3.2835 0.52652-6.0034 0.71967-7.911l-8.6307-1.9182s-2.5453 13.29-2.7173 13.912c-0.09 0.32279-0.11642 0.56621-0.28046 0.83873-0.22754 0.381-0.53181 0.59002-0.6985 0.6985-6.8987 4.0814-21.715 3.6852-27.376 0-0.16668-0.11112-0.47095-0.3175-0.6985-0.6985-0.16139-0.27252-0.1905-0.51858-0.28045-0.83873-0.17198-0.62177-2.7173-13.912-2.7173-13.912l-8.6307 1.9182c0.19314 1.9076 0.45508 4.6276 0.71966 7.911 0.40217 5.0059 0.46038 6.985 0.4789 7.6729 0.11377 4.2942 0.1561 6.4929-0.4789 9.1096-0.41275 1.696-0.90752 3.6512-2.3971 5.7547-0.31221 0.43921-1.8891 2.6088-4.7942 4.3154-0.75142 0.44186-1.4182 0.74877-1.9182 0.9578v74.798c1.1112 0.16669 2.2304 0.32809 3.3576 0.4789 10.485 1.4129 20.582 1.9817 30.207 1.9182z" /> </> ) /* - * React component for the back + * SVG elements for the front */ const Back = ({ stroke }) => ( <> diff --git a/sites/shared/components/designs/linedrawings/bruce.mjs b/sites/shared/components/designs/linedrawings/bruce.mjs new file mode 100644 index 00000000000..0732064a452 --- /dev/null +++ b/sites/shared/components/designs/linedrawings/bruce.mjs @@ -0,0 +1,98 @@ +import { LineDrawingWrapper, thin, dashed } from './shared.mjs' + +const strokeScale = 0.6 + +export const Bruce = ({ + className = 'w-64', // CSS classes to apply + stroke = 1, // Stroke width to use +}) => { + // Normalize stroke across designs + stroke = stroke * strokeScale + + return ( + <LineDrawingWrapper viewBox="0 0 202 78" {...{ className, stroke }}> + <Front stroke={stroke} /> + <Back stroke={stroke} /> + </LineDrawingWrapper> + ) +} + +/* + * React component for the front + */ +export const BruceFront = ({ + className = 'w-64', // CSS classes to apply + stroke = 1, // Stroke width to use +}) => { + // Normalize stroke across designs + stroke = stroke * strokeScale + + return ( + <LineDrawingWrapper viewBox="0 0 101 78" {...{ className, stroke }}> + <Front stroke={stroke} /> + </LineDrawingWrapper> + ) +} + +/* + * React component for the back + */ +export const BruceBack = ({ + className = 'w-64', // CSS classes to apply + stroke = 1, // Stroke width to use +}) => { + // Normalize stroke across designs + stroke = stroke * strokeScale + + return ( + <LineDrawingWrapper viewBox="101 0 101 78" {...{ className, stroke }}> + <Back stroke={stroke} /> + </LineDrawingWrapper> + ) +} + +/* + * SVG elements for the front + */ +export const Front = ({ stroke }) => ( + <> + <path + key="stitches" + {...dashed(stroke)} + {...thin(stroke)} + d="m 58.695139,70.692687 c 8.628062,-3.307291 21.476229,-6.974416 37.26127,-7.056437 1.169459,-0.0053 2.320396,0.0079 3.450167,0.03969 m -40.584437,8.244414 c 8.628062,-3.307292 21.476229,-6.974417 37.26127,-7.056437 1.169459,-0.0053 2.320396,0.0079 3.450167,0.03969 M 85.841343,10.706355 H 51.244426 50.979843 16.385573 M 85.841343,9.4390006 H 51.244426 50.979843 16.385573 M 43.531868,70.692687 C 34.903806,67.385396 22.055636,63.718271 6.2705959,63.63625 c -1.16946,-0.0053 -2.32039,0.0079 -3.45016,0.03969 M 43.404868,71.920354 C 34.776806,68.613062 21.928636,64.945937 6.1435959,64.863917 c -1.16946,-0.0053 -2.32039,0.0079 -3.45016,0.03969" + /> + <path + key="seams" + {...thin(stroke)} + d="M 51.112206,59.5247 V 12.315022 m 15.566736,11.307707 c -0.195792,0.433917 -0.832116,1.537813 -1.14697,2.318334 -0.404812,1.000125 -1.317625,3.341688 -2.38125,7.408333 -0.619125,2.370667 -0.978958,4.135438 -1.322917,5.820833 -0.664104,3.264959 -1.124479,6.122459 -1.322916,7.408334 -0.431271,2.78077 -0.425979,3.214687 -0.79375,5.027083 -0.381,1.867958 -0.669396,3.288771 -1.322917,5.027083 -0.478896,1.275292 -1.096908,2.84136 -2.462158,4.815151 m 8.812158,-49.000567 c 1.156229,6.52198 2.301875,13.04925 3.439583,19.579166 2.151063,12.345459 4.796896,26.013833 6.879167,38.364583 M 35.517161,23.693373 c 0.195792,0.433917 0.860374,1.467169 1.175228,2.24769 0.404813,1.000125 1.317625,3.341688 2.38125,7.408333 0.619125,2.370667 0.978958,4.135438 1.322917,5.820833 0.664104,3.264959 1.124479,6.122459 1.322916,7.408334 0.431271,2.78077 0.42598,3.214687 0.79375,5.027083 0.381,1.867958 0.669396,3.288771 1.322917,5.027083 0.478896,1.275292 1.125166,2.84136 2.490416,4.815151 M 37.486139,12.447313 c -1.156229,6.52198 -2.301875,13.04925 -3.439583,19.579166 -2.151063,12.345459 -4.796896,26.013833 -6.879167,38.364583 m 34.517541,4.228042 c -0.66675,-2.368021 -1.54252,-5.275792 -2.500312,-7.929562 -0.230187,-0.635 -0.85725,-2.44475 -2.38125,-4.233334 -0.743479,-0.873125 -1.524,-1.785937 -2.910417,-2.38125 -1.055687,-0.452437 -2.021416,-0.529166 -2.645833,-0.529166 h -0.264583 c -0.624417,0 -1.590146,0.07673 -2.645834,0.529166 -1.386416,0.595313 -2.166937,1.508125 -2.910416,2.38125 -1.524,1.788584 -2.151063,3.598334 -2.38125,4.233334 -0.957792,2.65377 -1.833563,5.561541 -2.500313,7.929562" + /> + <path + key="outline" + d="m 100.19239,68.274396 c -1.07421,-0.01587 -2.159002,-0.01587 -3.251731,0 -13.446125,0.203729 -25.918583,2.905125 -37.26127,7.056437 M 86.169426,12.18273 h -34.925 -0.264583 -34.925 M 51.405868,2.2608555 h 33.572979 l 1.190625,9.9218745 c 0.357187,1.050396 0.709083,2.108729 1.058333,3.175 0,0 2.431521,7.440083 4.7625,16.139583 1.775354,6.627812 4.892146,19.647958 8.202085,36.777083 l -1.322918,0.79375 c -0.497417,0.20902 -1.222375,0.497416 -2.116667,0.79375 -1.987021,0.658812 -10.00125,2.344208 -15.345833,3.175 -9.136062,1.418166 -19.039417,2.182812 -21.695833,2.38125 -0.568854,-2.084917 -1.121833,-3.868209 -1.5875,-5.291667 0,0 -0.375708,-1.145646 -2.116667,-5.027083 C 55.829701,64.702521 55.469868,63.922 54.684056,63.247312 54.128431,62.768417 53.588681,62.540875 53.361139,62.453562 52.45891,62.109604 51.662514,62.141354 51.244472,62.188979 h -0.264583 c -0.418042,-0.04762 -1.214438,-0.07937 -2.116667,0.264583 -0.227541,0.08731 -0.767291,0.314855 -1.322916,0.79375 -0.785813,0.674688 -1.145646,1.455209 -1.322917,1.852084 -1.740958,3.881437 -2.116667,5.027083 -2.116667,5.027083 -0.465666,1.423458 -1.018645,3.20675 -1.5875,5.291667 -2.656416,-0.198438 -12.55977,-0.963084 -21.695836,-2.38125 -5.34458,-0.830792 -13.3588101,-2.516188 -15.3458301,-3.175 -0.89429,-0.296334 -1.61925,-0.58473 -2.11667,-0.79375 l -1.32291,-0.79375 c 3.30993,-17.129125 6.42673,-30.149271 8.2020801,-36.777083 2.33098,-8.6995 4.7625,-16.139583 4.7625,-16.139583 0.34925,-1.066271 0.70115,-2.124604 1.05833,-3.175 l 1.19063,-9.9218745 H 50.821139 Z M 2.0319759,68.274396 c 1.07421,-0.01587 2.159,-0.01587 3.25173,0 13.4461201,0.203729 25.9185791,2.905125 37.2612661,7.056437" + /> + </> +) + +/* + * SVG elements for the back + */ +const Back = ({ stroke }) => ( + <> + <path + key="outline" + d="m 102.30903,68.274396 c 1.07421,-0.01587 2.159,-0.01587 3.25173,0 13.44613,0.203729 25.91858,2.905125 37.26127,7.056437 M 116.3319,12.18273 h 34.925 0.26458 34.925 M 151.0982,2.2608555 h -33.57563 l -1.19062,9.9218745 c -0.35719,1.050396 -0.70909,2.108729 -1.05834,3.175 0,0 -2.43152,7.440083 -4.7625,16.139583 -1.77535,6.627812 -4.89214,19.647958 -8.20208,36.777083 l 1.32292,0.79375 c 0.49741,0.20902 1.22237,0.497416 2.11666,0.79375 1.98703,0.658812 10.00125,2.344208 15.34584,3.175 9.13606,1.418166 19.03941,2.182812 21.69583,2.38125 0.56885,-2.084917 1.12183,-3.868209 1.5875,-5.291667 0,0 0.37571,-1.145646 2.11667,-5.027083 0.17727,-0.396875 0.5371,-1.177396 1.32291,-1.852084 0.55563,-0.478895 1.09538,-0.706437 1.32292,-0.79375 0.90223,-0.343958 1.69863,-0.312208 2.11667,-0.264583 h 0.26458 c 0.41804,-0.04762 1.21444,-0.07937 2.11667,0.264583 0.22754,0.08731 0.76729,0.314855 1.32291,0.79375 0.78582,0.674688 1.14565,1.455209 1.32292,1.852084 1.74096,3.881437 2.11667,5.027083 2.11667,5.027083 0.46566,1.423458 1.01864,3.20675 1.5875,5.291667 2.65641,-0.198438 12.55977,-0.963084 21.69583,-2.38125 5.34458,-0.830792 13.35881,-2.516188 15.34583,-3.175 0.89429,-0.296334 1.61925,-0.58473 2.11667,-0.79375 l 1.32292,-0.79375 c -3.30994,-17.129125 -6.42673,-30.149271 -8.20209,-36.777083 -2.33098,-8.6995 -4.7625,-16.139583 -4.7625,-16.139583 -0.34925,-1.066271 -0.70114,-2.124604 -1.05833,-3.175 l -1.19062,-9.9218745 h -33.57298 z m 49.37125,66.0135405 c -1.07421,-0.01587 -2.159,-0.01587 -3.25173,0 -13.44613,0.203729 -25.91859,2.905125 -37.26127,7.056437" + /> + <path + key="seams" + {...thin(stroke)} + d="m 179.0382,12.447313 c 1.11125,6.328834 2.21456,12.662959 3.30729,18.997083 2.06639,11.977687 4.61169,25.24125 6.61458,37.226875 m -48.14094,5.947833 c 0.66675,-2.368021 1.54253,-5.275792 2.50032,-7.929562 0.23018,-0.635 0.85725,-2.44475 2.38125,-4.233334 0.74348,-0.873125 1.524,-1.785937 2.91041,-2.38125 1.05569,-0.452437 2.02142,-0.529166 2.64584,-0.529166 h 0.26458 c 0.62442,0 1.59015,0.07673 2.64583,0.529166 1.38642,0.595313 2.16694,1.508125 2.91042,2.38125 1.524,1.788584 2.15106,3.598334 2.38125,4.233334 0.95779,2.65377 1.83356,5.561541 2.50031,7.929562 M 123.74028,12.447313 c -1.11125,6.328834 -2.21456,12.662959 -3.30729,18.997083 -2.0664,11.977687 -4.61169,25.24125 -6.61458,37.226875" + /> + <path + key="stitches" + {...dashed(stroke)} + {...thin(stroke)} + d="m 177.58299,12.050438 c 1.11125,6.402917 2.21456,12.811125 3.30994,19.221979 2.06904,12.117916 4.61433,25.540229 6.61723,37.663437 M 125.19549,12.050438 c -1.11125,6.402917 -2.21456,12.811125 -3.30994,19.221979 -2.06904,12.117916 -4.61433,25.540229 -6.61723,37.663437 m 28.54061,1.756833 c -8.62807,-3.307291 -21.47623,-6.974416 -37.26127,-7.056437 -1.16946,-0.0053 -2.3204,0.0079 -3.45017,0.03969 m 40.58444,8.244414 c -8.62807,-3.307292 -21.47623,-6.974417 -37.26127,-7.056437 -1.16946,-0.0053 -2.3204,0.0079 -3.45017,0.03969 m 56.00171,5.78908 c 8.62806,-3.307291 21.47623,-6.974416 37.26127,-7.056437 1.16946,-0.0053 2.32039,0.0079 3.45016,0.03969 m -40.58443,8.244414 c 8.62806,-3.307292 21.47623,-6.974417 37.26127,-7.056437 1.16946,-0.0053 2.32039,0.0079 3.45016,0.03969 M 116.66242,10.706355 h 34.59427 0.26458 34.59692 M 116.66242,9.4390006 h 34.59427 0.26458 34.59692" + /> + </> +) diff --git a/sites/shared/components/designs/linedrawings/shared.mjs b/sites/shared/components/designs/linedrawings/shared.mjs index d92217801e2..bc23f09babc 100644 --- a/sites/shared/components/designs/linedrawings/shared.mjs +++ b/sites/shared/components/designs/linedrawings/shared.mjs @@ -31,6 +31,11 @@ export const LineDrawingWrapper = ({ */ export const thin = (stroke = 1) => ({ strokeWidth: stroke / 2 }) +/* + * Think stroke-width helper to ensure consistency across linedrawings + */ +export const veryThin = (stroke = 1) => ({ strokeWidth: stroke / 3 }) + /* * Dashed stroke-dasharray helper to ensure consistency across linedrawings */ diff --git a/sites/shared/components/designs/linedrawings/simon.mjs b/sites/shared/components/designs/linedrawings/simon.mjs new file mode 100644 index 00000000000..ca19cf04c30 --- /dev/null +++ b/sites/shared/components/designs/linedrawings/simon.mjs @@ -0,0 +1,139 @@ +import { LineDrawingWrapper, thin, dashed } from './shared.mjs' + +const strokeScale = 0.35 + +export const Simon = ({ + className = 'w-64', // CSS classes to apply + stroke = 1, // Stroke width to use +}) => { + // Normalize stroke across designs + stroke = stroke * strokeScale + + return ( + <LineDrawingWrapper viewBox="0 0 157 121" {...{ className, stroke }}> + <Front stroke={stroke} /> + <Back stroke={stroke} /> + </LineDrawingWrapper> + ) +} + +/* + * React component for the front + */ +export const SimonFront = ({ + className = 'w-64', // CSS classes to apply + stroke = 1, // Stroke width to use +}) => { + // Normalize stroke across designs + stroke = stroke * strokeScale + + return ( + <LineDrawingWrapper viewBox="0 0 79 121" {...{ className, stroke }}> + <Front stroke={stroke} /> + </LineDrawingWrapper> + ) +} + +/* + * React component for the back + */ +export const SimonBack = ({ + className = 'w-64', // CSS classes to apply + stroke = 1, // Stroke width to use +}) => { + // Normalize stroke across designs + stroke = stroke * strokeScale + + return ( + <LineDrawingWrapper viewBox="79 0 79 121" {...{ className, stroke }}> + <Back stroke={stroke} /> + </LineDrawingWrapper> + ) +} + +/* + * Always use an id for defs that is unique to the design because if we have + * multiple linedrawings on the page, they share the same namespace and thus + * IDs will collide + */ +const defs = ( + <defs> + <g id="simon-button"> + <circle cx="0" cy="0" r="1.1" strokeWidth="0.35" /> + <circle cx="-0.35" cy="-0.35" r="0.15" strokeWidth="0.25" /> + <circle cx="0.35" cy="-0.35" r="0.15" strokeWidth="0.25" /> + <circle cx="0.35" cy="0.35" r="0.15" strokeWidth="0.25" /> + <circle cx="-0.35" cy="0.35" r="0.15" strokeWidth="0.25" /> + </g> + </defs> +) + +/* + * SVG elements for the back + */ +const Front = ({ stroke }) => ( + <> + {defs} + <path + key="neck-opening-fill" + fill="currentColor" + stroke="none" + d="m 33.064193,4.2660035 c -0.809625,0.3862917 -1.542521,1.0424583 -1.796521,1.9129375 -0.132291,0.428625 -0.150812,0.8837083 -0.08731,1.3255624 0.06615,0.4418542 0.198437,0.8757709 0.41275,1.2673542 0.211666,0.3942292 0.492125,0.746125 0.801687,1.0715625 0.156104,0.1613959 0.3175,0.3174999 0.481542,0.4736039 0.15875,0.145521 0.351896,0.272521 0.531812,0.404813 0.738188,0.526521 1.457855,1.0795 2.182813,1.624541 l 0.0053,0.0053 0.0053,0.0053 1.180042,1.299104 -0.06879,-0.03175 c 1.653646,-0.0053 3.309938,-0.0079 4.963584,0 l -0.06879,0.03175 1.180042,-1.299104 0.0053,-0.0053 0.0053,-0.0053 c 0.724958,-0.545041 1.444625,-1.09802 2.182812,-1.624541 0.182563,-0.134938 0.373063,-0.259292 0.531813,-0.404813 0.164041,-0.153458 0.328083,-0.309562 0.481541,-0.4736039 0.309563,-0.3227917 0.590021,-0.6773333 0.801688,-1.0715625 0.214312,-0.3915833 0.346604,-0.8255 0.41275,-1.2673542 0.0635,-0.4418541 0.04498,-0.8995833 -0.08731,-1.3255624 -0.254,-0.8704792 -0.986895,-1.5266458 -1.79652,-1.9129375 0.410104,0.1905 0.804333,0.428625 1.12977,0.7487708 0.328084,0.3148542 0.595313,0.7037917 0.732896,1.143 0.145521,0.4365625 0.179917,0.904875 0.121709,1.3626041 -0.06085,0.4550834 -0.193146,0.9022292 -0.407459,1.3096875 -0.211666,0.4101042 -0.494771,0.7752292 -0.806979,1.11125 -0.156104,0.1666871 -0.3175,0.3280831 -0.481542,0.4868331 -0.171979,0.164042 -0.362479,0.288396 -0.542395,0.425979 -0.73025,0.537105 -1.449917,1.087438 -2.169584,1.637771 l 0.01323,-0.01058 -1.17475,1.304396 -0.02646,0.03175 h -0.04233 c -1.653646,0.0079 -3.309938,0.0053 -4.963583,0 h -0.04233 l -0.02646,-0.03175 -1.17475,-1.304396 0.01323,0.01058 c -0.719667,-0.550333 -1.439333,-1.100666 -2.169583,-1.637771 -0.179917,-0.137583 -0.367771,-0.261937 -0.542396,-0.425979 -0.164042,-0.15875 -0.325438,-0.3175 -0.481542,-0.4868331 -0.312208,-0.333375 -0.595312,-0.7011458 -0.806979,-1.11125 -0.214312,-0.4074583 -0.346604,-0.85725 -0.407458,-1.3096875 -0.05821,-0.4550833 -0.02381,-0.9260416 0.121708,-1.3626041 0.140229,-0.4392083 0.404813,-0.8281458 0.732896,-1.143 0.336021,-0.3201458 0.73025,-0.5609166 1.140354,-0.7487708 z" + /> + <path + key="folds" + fill="currentColor" + stroke="none" + d="m 59.316151,68.361315 0.08467,10.750021 c -0.113771,3.582458 -0.198438,7.167562 -0.381,10.744729 -0.08202,1.791229 -0.193146,3.582458 -0.367771,5.36575 -0.177271,1.785937 -0.407458,3.563937 -0.672042,5.339295 -0.5715,3.53748 -1.182687,7.07495 -1.994958,10.56481 l -0.02646,-0.005 c 0.166687,-0.88107 0.328083,-1.76213 0.481541,-2.64319 0.161396,-0.88106 0.314854,-1.76213 0.463021,-2.64583 0.296333,-1.76477 0.560917,-3.53748 0.812271,-5.31019 0.267229,-1.770064 0.494771,-3.545418 0.674687,-5.326063 0.193146,-1.778 0.320146,-3.563938 0.418042,-5.352521 0.209021,-3.577167 0.320146,-7.156979 0.460375,-10.734146 l 0.02117,-10.747375 z m 12.789958,-6.495521 c -0.505354,-0.928687 -1.053041,-1.830916 -1.640416,-2.709333 -0.58473,-0.878417 -1.193271,-1.743604 -1.860021,-2.558521 -0.336021,-0.404812 -0.682625,-0.804333 -1.076854,-1.140354 -0.195792,-0.161396 -0.415396,-0.325437 -0.642938,-0.362479 -0.113771,-0.01323 -0.201083,0.02381 -0.256646,0.121708 -0.05821,0.0979 -0.09789,0.224896 -0.140229,0.346605 -0.174625,0.492125 -0.22225,1.010708 -0.140229,1.521354 0.08731,0.505354 0.256646,1.008062 0.455083,1.489604 0.404813,0.965729 0.923396,1.889125 1.397,2.836333 0.232834,0.473604 0.470959,0.949854 0.672042,1.444625 0.203729,0.494771 0.367771,1.005417 0.489479,1.526646 0.111125,0.521229 0.216958,1.045104 0.198438,1.603375 -0.01058,0.137583 -0.02381,0.28575 -0.116417,0.436562 -0.04233,0.06615 -0.142875,0.15875 -0.267229,0.134938 -0.09525,-0.02117 -0.150813,-0.05292 -0.214313,-0.08467 -0.24077,-0.124354 -0.465666,-0.261937 -0.693208,-0.394229 -0.457729,-0.261937 -0.907521,-0.545042 -1.373187,-0.783167 -0.116417,-0.06085 -0.23548,-0.116416 -0.354542,-0.164041 -0.121708,-0.04498 -0.240771,-0.08202 -0.367771,-0.06085 -0.254,0.0291 -0.489479,0.171979 -0.674687,0.351895 l -0.01852,-0.01852 c 0.177271,-0.195792 0.410104,-0.359834 0.682625,-0.407459 0.137583,-0.03175 0.283104,0.0026 0.410104,0.04233 0.129646,0.04233 0.251354,0.0926 0.375708,0.14552 0.484188,0.22225 0.941917,0.486834 1.410229,0.73025 0.232834,0.121709 0.468313,0.251355 0.695855,0.367771 0.05556,0.02646 0.119062,0.05556 0.153458,0.06085 0.01587,0 0.0053,0.0053 0.02117,-0.01058 0.01058,-0.01058 0.02646,-0.01323 0.03439,-0.03704 0.04498,-0.07408 0.06615,-0.201083 0.06879,-0.322791 0.0053,-0.502709 -0.105833,-1.023938 -0.227542,-1.529292 -0.227541,-1.021292 -0.66675,-1.973792 -1.140354,-2.915708 -0.455083,-0.949854 -0.960437,-1.881188 -1.357312,-2.873375 -0.195792,-0.497417 -0.362479,-1.005417 -0.447146,-1.542521 -0.07937,-0.534458 -0.01852,-1.098021 0.166687,-1.600729 0.04498,-0.127 0.08202,-0.254 0.161396,-0.383646 0.03969,-0.0635 0.100542,-0.127 0.179917,-0.161396 0.03969,-0.01323 0.07937,-0.02381 0.119062,-0.03175 0.03969,0 0.07937,-0.0026 0.119063,0.0026 0.301625,0.05556 0.513292,0.238125 0.722312,0.407458 0.404813,0.354542 0.748771,0.762 1.082146,1.17475 0.656167,0.833438 1.251479,1.709209 1.822979,2.598209 0.574146,0.889 1.108604,1.801812 1.598084,2.738437 z m -52.498624,6.495521 0.02117,10.747375 c 0.140229,3.579813 0.251354,7.159625 0.460375,10.734146 0.09789,1.788583 0.224895,3.571875 0.418041,5.352521 0.179917,1.780645 0.407459,3.555999 0.674688,5.326063 0.254,1.77271 0.518583,3.54542 0.812271,5.31019 0.148166,0.8837 0.30427,1.76477 0.46302,2.64583 0.153459,0.88106 0.314855,1.76212 0.481542,2.64319 l -0.02646,0.005 c -0.812271,-3.4925 -1.420813,-7.02733 -1.994959,-10.56481 -0.267229,-1.772712 -0.49477,-3.553358 -0.672041,-5.339295 -0.177271,-1.785938 -0.28575,-3.577167 -0.367771,-5.36575 -0.182563,-3.579813 -0.267229,-7.164917 -0.381,-10.744729 l 0.08467,-10.750021 z M 6.7699018,61.852565 c 0.4894792,-0.936625 1.0239375,-1.849437 1.5980833,-2.738437 0.5715,-0.889 1.1668125,-1.764771 1.8229789,-2.598209 0.333375,-0.412749 0.674688,-0.820208 1.082146,-1.174749 0.206375,-0.169334 0.420688,-0.351896 0.722313,-0.407459 0.03704,-0.0026 0.07937,-0.0026 0.119062,-0.0026 0.03969,0.0079 0.07938,0.01852 0.119063,0.03175 0.07937,0.0344 0.140229,0.0979 0.179916,0.161396 0.07938,0.129646 0.119063,0.256646 0.161396,0.383646 0.185208,0.502708 0.246063,1.066271 0.166688,1.600729 -0.08731,0.537104 -0.254,1.045104 -0.447146,1.542521 -0.396875,0.992187 -0.902229,1.923521 -1.357313,2.873375 -0.473604,0.941917 -0.910166,1.897062 -1.1403539,2.915708 -0.1217083,0.505354 -0.2328333,1.026584 -0.2275417,1.529292 0.00265,0.121708 0.023813,0.248708 0.068792,0.322792 0.00794,0.02381 0.023813,0.02646 0.034396,0.03704 0.015875,0.01588 0.00529,0.0079 0.021167,0.01058 0.034396,-0.0053 0.097896,-0.0344 0.1534583,-0.06086 0.2301873,-0.11377 0.4630213,-0.243416 0.6958543,-0.36777 0.468313,-0.243417 0.926042,-0.508 1.410229,-0.73025 0.121709,-0.05292 0.246063,-0.105834 0.375709,-0.145521 0.127,-0.03969 0.27252,-0.07408 0.410104,-0.04233 0.272521,0.04763 0.505354,0.211667 0.682625,0.407459 l -0.01852,0.01852 c -0.187854,-0.182563 -0.420688,-0.322792 -0.674688,-0.351896 -0.124354,-0.02117 -0.246062,0.01588 -0.36777,0.06085 -0.119063,0.04762 -0.238125,0.103187 -0.354542,0.164042 -0.465667,0.238125 -0.915458,0.521229 -1.373188,0.783166 -0.227541,0.132292 -0.452437,0.269875 -0.6932081,0.394229 -0.0635,0.02911 -0.1190625,0.0635 -0.2143125,0.08467 -0.1243542,0.02117 -0.2248958,-0.06879 -0.2672292,-0.134937 -0.09525,-0.150813 -0.1058333,-0.29898 -0.1164166,-0.436563 -0.018521,-0.555625 0.087313,-1.0795 0.1984375,-1.603375 0.1217083,-0.521229 0.2883958,-1.031875 0.4894789,-1.526646 0.20373,-0.494771 0.439209,-0.971021 0.672042,-1.444625 0.473604,-0.947208 0.992188,-1.870604 1.397,-2.836333 0.195792,-0.481542 0.367771,-0.98425 0.455083,-1.489604 0.07937,-0.510646 0.03175,-1.029229 -0.140229,-1.521354 -0.03969,-0.124354 -0.07937,-0.251354 -0.140229,-0.346604 -0.05556,-0.0979 -0.145521,-0.134938 -0.256646,-0.121709 -0.227541,0.03704 -0.4445,0.201084 -0.642937,0.362479 -0.394229,0.336021 -0.740834,0.738188 -1.076854,1.140354 -0.6667506,0.814917 -1.2726464,1.680105 -1.8600214,2.558521 -0.587375,0.878417 -1.1377083,1.780646 -1.6404167,2.709334 z" + /> + <path + key="outline" + d="m 31.150632,7.4729531 c 5.193139,-0.673894 10.51942,-0.815214 16.084836,0 m -14.945909,2.357779 c 4.498544,-0.351311 9.08277,-0.445577 13.846944,0 m -9.136561,7.1614709 c -0.04759,0.100313 3.126179,0.34145 4.561915,0.03311 -0.0161,4.233061 -0.112434,33.661411 -0.09975,35.627695 0.01588,2.434167 -0.0053,4.868337 0.04233,7.302497 0.07144,3.75179 0.0344,11.61257 0,19.38867 -0.06615,14.732 -0.24077,18.79071 -0.256645,34.337617 -0.0026,1.81505 0,3.29671 0,4.22805 v 1.04245 M 47.700983,14.590048 c -0.521229,0.306917 -1.098021,0.616479 -1.730375,0.915458 -0.722313,0.343959 -1.410229,0.624417 -2.050521,0.854605 L 41.546775,17.02686 M 53.807566,9.5497361 c 0.275167,0.7434789 0.526521,1.5478119 0.732896,2.4103539 0.661458,2.780771 0.637646,5.265208 0.394229,7.239 -1.664229,-0.923396 -2.960687,-1.754188 -3.854979,-2.357438 -1.399646,-0.944562 -5.423958,-3.712104 -6.424083,-3.870854 -0.206375,-0.0344 -1.180042,-0.171979 -2.174875,0.251354 -0.351896,0.150813 -0.610045,0.281051 -0.819066,0.58003 -0.575665,-0.107503 -4.709483,-0.378208 -4.629323,0.492329 0.07258,0.788221 -0.07905,1.547278 0.0066,2.588799 m 25.827927,35.936383 c -0.373062,2.137834 -0.74877,5.02444 -0.817562,8.46138 -0.01323,0.68791 0.907521,11.98827 2.135187,18.5367 1.484313,7.92427 2.135188,11.2739 2.135188,11.2739 0.896937,4.62492 1.658937,8.509 2.219854,11.361207 m -0.989542,-84.407374 -0.46302,1.725084 c -0.148167,0.669395 -0.365125,1.674812 -0.597959,2.905125 -0.632354,3.323166 -0.709083,4.672541 -1.452562,10.421937 -0.124354,0.955146 -0.396875,3.286125 -0.939271,7.942792 -0.0926,0.796395 -0.275167,2.410354 -0.171979,4.52702 0.03969,0.828146 0.113771,1.508125 0.171979,1.965854 -0.15875,0.510646 -0.378354,1.243542 -0.597958,2.135188 -0.931334,3.767667 -1.013355,6.688667 -1.023938,7.688787 -0.02646,2.39184 -0.04233,3.73857 0.597958,5.29696 0.166688,0.40217 0.402167,0.88107 0.682625,1.70921 0.206375,0.6059 0.555625,1.7489 0.769938,3.33111 0.193146,1.42345 0.108479,1.96585 0.171979,3.58775 0.04763,1.22502 0.116417,1.48431 0.425979,4.44235 0.531813,5.06148 0.799042,7.59089 0.769938,8.0301 -0.05027,0.72496 -0.198438,2.27542 0.425979,4.10104 0.179917,0.52653 0.378354,0.93928 0.513292,1.19592 l 0.256645,5.55096 M 25.036775,9.5497361 c -0.264583,0.7540619 -0.505354,1.5689789 -0.703792,2.4473949 -0.635,2.820459 -0.611187,5.344584 -0.378354,7.344834 1.595438,-0.936625 2.838979,-1.778 3.696229,-2.391834 1.341438,-0.957791 5.199063,-3.76502 6.1595,-3.929062 0.198438,-0.0344 1.132417,-0.174625 2.084917,0.256646 0.336021,0.150812 0.750781,0.273706 0.951864,0.577977 0.381859,0.585741 0.102319,1.798856 0.201719,2.644648 M 16.033004,52.819693 c 0.373063,2.137834 0.870479,11.54906 0.563563,15.12358 -0.275167,3.19882 -0.650875,5.32342 -1.878542,11.87186 -1.484313,7.92427 -2.135188,11.27389 -2.135188,11.27389 -0.896937,4.62492 -1.658937,8.509 -2.219854,11.361207 M 11.349879,18.045506 11.8129,19.77059 c 0.148167,0.669395 0.365125,1.674812 0.597958,2.905125 0.632354,3.323166 0.709084,4.672541 1.452563,10.421937 0.124354,0.955146 0.394229,3.286125 0.939271,7.942792 0.0926,0.796395 0.275166,2.410354 0.171979,4.52702 -0.03969,0.828146 -0.113771,1.508125 -0.171979,1.965854 0.15875,0.510646 0.378354,1.243542 0.597958,2.135188 0.931333,3.767667 1.013354,6.688667 1.023937,7.688787 0.02646,2.39184 0.04233,3.73857 -0.597958,5.29696 -0.166687,0.40217 -0.402167,0.88107 -0.682625,1.70921 -0.206375,0.6059 -0.555625,1.7489 -0.769937,3.33111 -0.193146,1.42345 -0.10848,1.96585 -0.17198,3.58775 -0.04763,1.22502 -0.116416,1.48431 -0.425979,4.44235 -0.531812,5.06148 -0.799041,7.59089 -0.769937,8.0301 0.05027,0.72496 0.198437,2.27542 -0.425979,4.10104 -0.179917,0.52653 -0.378355,0.93928 -0.513292,1.19592 l -0.256646,5.55096 m 27.744208,24.420997 -1.899708,-0.0661 -7.731125,-0.27517 c -0.772583,-0.0185 -1.889125,-0.11642 -3.161771,-0.51329 -1.018646,-0.3175 -1.608666,-0.74613 -3.503083,-1.79388 -1.534584,-0.84666 -3.299354,-1.82033 -5.381625,-3.3311 -0.304271,-0.22225 -1.883833,-1.37319 -3.503083,-2.56381 -0.333375,-0.24607 -0.936625,-0.68792 -1.793875,-1.19592 -0.724959,-0.42863 -1.352021,-0.73554 -1.793875,-0.93927 l -1.1112504,-0.51329 0.6826254,-5.38163 c -3.9661046,0.61913 -7.0987712,0.0635 -7.7734582,-1.53723 -0.10319,-0.24871 -0.16404,-0.55562 -0.127,-0.939267 0.10319,-4.70958 0.14023,-8.24177 0.127,-9.60967 -0.00529,-0.59266 -0.021167,-1.06891 -0.127,-1.66687 -0.166688,-0.93927 -0.386292,-1.24619 -0.513292,-2.05052 -0.137583,-0.87313 -0.04233,-1.52929 0,-1.92088 0.378354,-3.45281 -0.886354,-9.30275 0.256646,-14.478 0.079375,-0.35718 0.383646,-1.67481 0.769937,-3.58775 0.275167,-1.3626 0.41275,-2.04522 0.513292,-2.69081 0.3677707,-2.38389 0.044979,-2.72256 0.256646,-5.50862 0.105833,-1.39965 0.248708,-3.127378 0.8969372,-5.251982 0.3254374,-1.068917 0.3307291,-0.764646 1.0239374,-2.690813 0.762,-2.111375 1.397,-3.907895 1.666875,-6.148916 0.13494,-1.124479 0.12435,-1.928813 0.127,-2.563813 0.013229,-5.318125 0.7567083,-10.543645 1.1535833,-13.324416 0,0 0.3095625,-2.664354 1.7938753,-8.072438 0.171979,-0.632354 1.143,-2.852208 1.280583,-3.074458 0.428625,-0.693208 0.859896,-1.211791 1.153583,-1.537229 1.412875,-0.640292 3.500438,-1.600729 6.021917,-2.817812 2.939521,-1.418167 4.421187,-2.135188 4.997979,-2.563813 1.685396,-1.2514789 3.217334,-2.9686249 6.278563,-6.4055619 0.978958,-1.100667 1.381125,-1.584854 2.17752,-1.793875 1.392661,-0.8541837 12.730956,-0.8170368 14.274271,0 0.796396,0.209021 1.198563,0.693208 2.177521,1.793875 3.061229,3.436937 4.593167,5.154083 6.278562,6.4055619 0.576792,0.428625 2.058459,1.145646 4.997979,2.563813 2.52148,1.217083 4.609042,2.17752 6.021917,2.817812 0.293688,0.325438 0.724958,0.844021 1.153583,1.537229 0.137584,0.22225 1.108605,2.442104 1.280584,3.074458 1.484312,5.408084 1.793875,8.072438 1.793875,8.072438 0.396875,2.780771 1.140354,8.006291 1.153583,13.324416 0.0026,0.635 -0.0079,1.439334 0.127,2.563813 0.269875,2.241021 0.904875,4.037541 1.664229,6.148916 0.693208,1.926167 0.6985,1.621896 1.023938,2.690813 0.648229,2.124604 0.791104,3.852332 0.896937,5.251982 0.211667,2.78606 -0.111125,3.12473 0.256646,5.50862 0.100542,0.64559 0.238125,1.32821 0.513292,2.69081 0.386291,1.91294 0.690562,3.23057 0.769937,3.58775 1.143,5.17525 -0.119062,11.02519 0.256646,14.478 0.04233,0.39159 0.137583,1.04775 0,1.92088 -0.127,0.80433 -0.346604,1.11125 -0.513292,2.05052 -0.105833,0.59796 -0.121708,1.07421 -0.127,1.66687 -0.01323,1.3679 0.02381,4.90009 0.127,9.60967 0.03704,0.383647 -0.02381,0.690557 -0.127,0.939267 -0.674687,1.60073 -3.807354,2.15636 -7.773458,1.53723 l 0.682625,5.38163 -1.11125,0.51329 c -0.441854,0.20373 -1.068917,0.51064 -1.793875,0.93927 -0.85725,0.508 -1.4605,0.94985 -1.793875,1.19592 -1.61925,1.19062 -3.198812,2.34156 -3.503083,2.56381 -2.082271,1.51077 -3.847042,2.48444 -5.381625,3.3311 -1.894417,1.04775 -2.484438,1.47638 -3.503083,1.79388 -1.272646,0.39687 -2.389188,0.49477 -3.159125,0.51329 l -7.731125,0.27517 -1.899709,0.0661 M 37.051504,16.497694 c 0.01058,2.050521 0.399521,34.104791 0.386292,36.155312 -0.01588,2.434167 0.0053,4.868337 -0.04233,7.302497 -0.07144,3.75179 -0.0344,11.61257 0,19.38867 0.06615,14.732 0.240771,18.79071 0.256646,34.337617 0.0026,1.81505 0,3.29671 0,4.22805 v 1.04245 M 31.196275,14.590048 c 0.521229,0.306917 1.098021,0.616479 1.730375,0.915458 0.722312,0.343959 1.410229,0.624417 2.050521,0.854605 l 2.074333,0.666749 m 39.38852,82.949523 c -0.325437,-0.003 -0.650875,-0.003 -0.981604,0 -3.063875,0.0265 -3.807354,-0.0847 -4.868333,0.256637 -0.346604,0.11113 -0.862542,0.31221 -1.452563,0.68263 l -0.814916,0.43656 m 8.244416,-13.226517 c -0.550333,-0.14552 -1.148291,-0.27252 -1.791229,-0.36248 -2.386542,-0.33337 -4.460875,-0.0397 -5.979583,0.34131 l -1.965854,0.93927 M 2.4572338,99.976383 c 0.325437,-0.003 0.650875,-0.003 0.981604,0 3.0638746,0.0265 3.8073538,-0.0847 4.8683329,0.256637 0.3466042,0.11113 0.8625417,0.31221 1.4525625,0.68263 l 0.8149168,0.43656 M 2.3328788,88.125693 c 0.550334,-0.14552 1.148292,-0.27252 1.7912295,-0.36248 2.3865416,-0.33337 4.4608749,-0.0397 5.9795837,0.34131 l 1.965854,0.93927" + /> + <path + key="stitches" + {...dashed(stroke)} + {...thin(stroke)} + d="m 31.150632,7.1132921 c 5.193139,-0.673894 10.51942,-0.815214 16.084836,0 m -15.118443,2.436444 c 4.694022,-0.378862 10.013495,-0.449568 14.091708,0.03703 m 1.228028,4.8315769 c -1.765705,0.79284 -3.463842,1.340202 -5.29732,1.949705 -0.400573,-0.63927 -0.65412,-1.630712 -0.20902,-2.159 1.115359,-0.586786 2.125827,-0.676319 3.452812,-0.846667 m -13.964708,1.016 c 1.5588,0.78852 3.196052,1.378482 4.828646,1.989667 0.349264,-0.644583 0.59621,-1.609689 0.185208,-2.156354 -0.973508,-0.580538 -1.879574,-0.674701 -3.063875,-0.846667 M 53.413337,9.3936311 c 0.829876,2.8835759 1.284622,6.0964299 1.026583,8.8079789 -2.840694,-1.979187 -5.900521,-4.343454 -8.135937,-5.667374 -0.56027,-0.160218 -1.164383,-0.160559 -1.664229,-0.03175 M 25.483921,9.3354231 C 24.64485,12.290618 24.201925,15.466338 24.457337,18.146048 27.440274,16.437222 31.725128,11.96967 34.26015,12.441631 M 31.250538,7.8525951 c 5.14153,-0.673894 10.414879,-0.815214 15.924987,0 m -9.809167,5.8669739 c 0.01058,2.106083 0.433917,35.030833 0.418042,37.136916 -0.01852,2.500313 0.0053,5.000625 -0.04498,7.500938 -0.07938,3.85233 -0.03704,11.92742 0,19.91519 0.07144,15.13152 0.259291,19.30135 0.277812,35.271597 0.0026,1.86531 0,3.38667 0,4.34181 v 1.07157 M 41.049358,13.722215 c -0.140229,8.03275 -0.08467,14.557375 -0.08467,14.557375 0.0079,0.8255 -0.0026,-0.134938 0.04233,11.093979 0.0079,2.106083 0.01852,4.323291 0.02117,7.355416 0,0.34925 0.0026,2.770188 0,5.656792 -0.0079,7.715246 -0.06085,15.515166 -0.0635,16.195146 -0.0979,14.67644 -0.148166,12.66031 -0.171979,20.24327 -0.02646,8.44021 0.03704,11.445867 -0.02117,21.664077 -0.02117,3.50838 -0.04498,6.38704 -0.0635,8.28411 m 35.266319,-18.70075 c 0.0026,0.0476 0.0053,0.11112 0,0.18521 0,0.0159 -0.01323,0.17727 -0.06879,0.33602 -0.06615,0.18785 -0.185208,0.34395 -0.320146,0.48154 -0.301625,0.30691 -0.648229,0.48948 -0.912812,0.60854 -0.388938,0.17462 -0.74348,0.27517 -1.105959,0.3519 -0.851958,0.18256 -1.526646,0.19843 -2.114021,0.20902 -0.293687,0.005 -0.891645,0.008 -1.648354,-0.0635 -0.473604,-0.045 -0.881062,-0.10319 -1.201208,-0.1614 M 2.8673378,100.07163 c -0.0026,0.0476 -0.0053,0.11112 0,0.18521 0,0.0159 0.01323,0.17727 0.06879,0.33602 0.06615,0.18785 0.185209,0.34395 0.320146,0.48154 0.301625,0.30691 0.6482293,0.48948 0.9128127,0.60854 0.3889375,0.17462 0.7434791,0.27517 1.1059583,0.3519 0.8519583,0.18256 1.5266458,0.19843 2.1140208,0.20902 0.2936875,0.005 0.8916458,0.008 1.6483541,-0.0635 0.4736042,-0.045 0.8810625,-0.10319 1.2012083,-0.1614 M 76.18867,99.508063 h -0.812271 c -0.772583,0.0106 -1.378479,0.005 -1.793875,0 -0.351896,-0.005 -0.748771,-0.0132 -1.30175,0.0212 -0.396875,0.0265 -0.637646,0.0556 -0.703791,0.0635 -0.293688,0.0397 -0.674688,0.09 -1.132417,0.23548 -0.291042,0.0926 -0.497417,0.185207 -0.703792,0.277807 -0.34925,0.15875 -0.817562,0.39688 -1.344083,0.74613 M 2.6530248,99.508063 h 0.812271 c 0.7725833,0.0106 1.3784791,0.005 1.793875,0 0.3518958,-0.005 0.7487708,-0.0132 1.30175,0.0212 0.396875,0.0265 0.6376458,0.0556 0.7037916,0.0635 0.2936875,0.0397 0.6746875,0.09 1.1324167,0.23548 0.2910416,0.0926 0.4974166,0.185207 0.7037916,0.277807 0.34925,0.15875 0.8175625,0.39688 1.3440833,0.74613 M 76.326253,87.599173 c -0.230187,-0.0688 -0.537104,-0.15081 -0.899583,-0.22754 -0.182562,-0.0397 -0.796396,-0.1614 -1.666875,-0.2249 -0.209021,-0.0159 -1.143,-0.0767 -2.468562,0.0317 -0.85725,0.0688 -1.465792,0.11906 -2.243667,0.32015 -0.613833,0.15875 -1.486958,0.44979 -2.468562,1.02658 M 2.3117128,87.599173 c 0.230187,-0.0688 0.537104,-0.15081 0.899583,-0.22754 0.182562,-0.0397 0.7963958,-0.1614 1.666875,-0.2249 0.2090208,-0.0159 1.143,-0.0767 2.4685624,0.0317 0.85725,0.0688 1.4657917,0.11906 2.2436667,0.32015 0.6138331,0.15875 1.4869581,0.44979 2.4685621,1.02658 m 56.684333,17.846197 c -1.513416,0.65616 -2.696104,1.32291 -3.526896,1.83356 -0.886354,0.54504 -1.558395,1.02923 -2.754312,1.89177 -1.653646,1.19062 -1.680104,1.29646 -2.820458,2.08227 -0.976313,0.67469 -1.688042,1.10331 -3.108855,1.95527 -2.116666,1.27 -3.029479,1.70392 -3.590395,1.95527 -0.658813,0.29634 -1.235604,0.51594 -1.314979,0.54504 -0.391584,0.14288 -0.687917,0.25665 -1.058334,0.3519 -0.605896,0.15875 -1.103312,0.20108 -1.473729,0.2249 -0.941917,0.0582 -3.825875,0.15875 -7.723187,0.22489 M 10.069296,106.37136 c 1.513416,0.65616 2.696104,1.32291 3.526896,1.83356 0.886354,0.54504 1.558395,1.02923 2.754312,1.89177 1.653646,1.19062 1.680104,1.29646 2.820458,2.08227 0.976313,0.67469 1.688042,1.10331 3.108854,1.95527 2.116667,1.27 3.02948,1.70392 3.590396,1.95527 0.658813,0.29634 1.235605,0.51594 1.31498,0.54504 0.391583,0.14288 0.687916,0.25665 1.058333,0.3519 0.605896,0.15875 1.103312,0.20108 1.473729,0.2249 0.941917,0.0582 3.825875,0.15875 7.723187,0.22489" + /> + <use xlinkHref="#simon-button" x="39.25" y="15.5" color="currentColor"></use> + <use xlinkHref="#simon-button" x="39.35" y="27.5" color="currentColor"></use> + <use xlinkHref="#simon-button" x="39.35" y="39.5" color="currentColor"></use> + <use xlinkHref="#simon-button" x="39.4" y="51.5" color="currentColor"></use> + <use xlinkHref="#simon-button" x="39.4" y="63.5" color="currentColor"></use> + <use xlinkHref="#simon-button" x="39.4" y="75.5" color="currentColor"></use> + <use xlinkHref="#simon-button" x="39.4" y="87.5" color="currentColor"></use> + <use xlinkHref="#simon-button" x="39.45" y="99.5" color="currentColor"></use> + </> +) + +/* + * SVG elements for the back + */ +const Back = ({ stroke }) => ( + <> + <path + key="folds-fill" + fill="currentColor" + stroke="none" + d="m 85.589338,87.302836 c -0.03704,-0.926042 -0.06879,-1.854729 -0.0926,-2.780771 -0.01323,-0.463021 -0.04498,-0.926042 -0.02646,-1.389063 0.01852,-0.46302 0.04762,-0.926041 0.119063,-1.389062 h 0.02646 c 0.07144,0.463021 0.100542,0.926042 0.119063,1.389062 0.01852,0.463021 -0.01323,0.926042 -0.02646,1.389063 -0.02381,0.926042 -0.05556,1.854729 -0.0926,2.780771 z m 1.373187,0.171979 c 0.06615,-0.724958 0.105834,-1.455208 0.201084,-2.177521 0.0926,-0.722312 0.206375,-1.444625 0.341312,-2.161646 0.132292,-0.71702 0.275167,-1.436687 0.481542,-2.137833 0.211667,-0.6985 0.4445,-1.394354 0.743479,-2.061104 l 0.02381,0.0079 c -0.156105,0.714375 -0.34925,1.412875 -0.513292,2.121959 -0.171979,0.703791 -0.370417,1.402291 -0.529167,2.111375 -0.15875,0.709083 -0.298979,1.420812 -0.418041,2.137833 -0.129646,0.717021 -0.201084,1.439333 -0.304271,2.161646 z m 17.608025,-39.224479 0.63764,4.452938 c 0.20109,1.484312 0.40217,2.971271 0.58738,4.460875 0.36512,2.976562 0.67998,5.961062 0.86518,8.956145 0.0926,1.497542 0.15346,2.99773 0.17198,4.497917 0.0106,1.500187 -0.0106,3.003021 -0.0741,4.500562 -0.15875,2.99773 -0.42862,5.990167 -0.89429,8.9535 l -0.0185,-0.0026 c 0.0873,-0.743479 0.17198,-1.489604 0.24341,-2.235729 0.0767,-0.746125 0.14817,-1.49225 0.20903,-2.238375 0.1217,-1.49225 0.20902,-2.989791 0.26193,-4.484687 0.0635,-1.497542 0.0873,-2.995083 0.0767,-4.492625 -0.003,-1.497542 -0.0529,-2.995083 -0.13229,-4.489979 -0.16404,-2.992438 -0.45773,-5.976938 -0.80433,-8.9535 -0.17198,-1.489604 -0.35719,-2.976562 -0.54769,-4.463521 l -0.6006,-4.458229 z m 45.91579,39.0525 c -0.037,-0.926042 -0.0688,-1.854729 -0.0926,-2.780771 -0.0132,-0.463021 -0.045,-0.926042 -0.0265,-1.389063 0.0185,-0.46302 0.0476,-0.926041 0.11907,-1.389062 h 0.0265 c 0.0714,0.463021 0.10054,0.926042 0.11906,1.389062 0.0185,0.463021 -0.0132,0.926042 -0.0265,1.389063 -0.0238,0.926042 -0.0556,1.854729 -0.0926,2.780771 z m -1.37319,0.174625 c -0.10319,-0.722313 -0.17727,-1.444625 -0.30427,-2.161646 -0.11906,-0.717021 -0.25929,-1.431396 -0.41804,-2.137833 -0.1614,-0.709084 -0.35984,-1.407584 -0.52917,-2.111375 -0.16404,-0.706438 -0.35719,-1.407584 -0.51329,-2.121959 l 0.0238,-0.0079 c 0.30163,0.66675 0.53181,1.362604 0.74348,2.061104 0.20638,0.701146 0.34925,1.418167 0.48154,2.137833 0.13494,0.717021 0.24871,1.439334 0.34131,2.161646 0.0926,0.722313 0.1323,1.452563 0.20109,2.177521 z m -17.56304,-39.224479 -0.60061,4.458229 c -0.18785,1.486959 -0.3757,2.973917 -0.54768,4.463521 -0.34661,2.976562 -0.6403,5.961062 -0.80434,8.9535 -0.0794,1.494896 -0.12964,2.992437 -0.13229,4.489979 -0.0106,1.497542 0.0132,2.995083 0.0767,4.492625 0.0503,1.497542 0.13758,2.992437 0.26194,4.484687 0.0609,0.746125 0.13229,1.49225 0.20902,2.238375 0.0714,0.746125 0.1561,1.489604 0.24342,2.235729 l -0.0185,0.0026 c -0.46302,-2.963333 -0.73554,-5.95577 -0.89429,-8.9535 -0.0635,-1.500187 -0.0873,-3.000375 -0.0741,-4.500562 0.0159,-1.500187 0.0794,-3.000375 0.17198,-4.497917 0.18256,-2.995083 0.49742,-5.979583 0.86519,-8.956145 0.1852,-1.486959 0.38364,-2.973917 0.58737,-4.460875 l 0.63765,-4.452938 z" + /> + <path + key="buttonholes" + {...thin(stroke)} + d="m 152.40992,99.574213 c 0.0714,-0.0132 0.16933,-0.0291 0.28839,-0.0556 0.23284,-0.0476 0.34925,-0.0741 0.34925,-0.0926 0,-0.0185 -0.11641,-0.0397 -0.64293,-0.045 m 0.66145,0.19849 -0.0159,-0.14552 -0.0212,-0.1905 m -69.365813,0.38629 c -0.07144,-0.0132 -0.169333,-0.0291 -0.288396,-0.0556 -0.232833,-0.0476 -0.34925,-0.0741 -0.34925,-0.0926 0,-0.0185 0.116417,-0.0397 0.642938,-0.045" + /> + <path + key="outline" + d="m 91.470756,26.467195 53.129624,0.137588 M 89.767166,17.063902 c 0.0926,0.291042 0.2196,0.714375 0.35454,1.232958 0.33602,1.288521 0.48683,2.275417 0.56092,2.759605 0.49477,3.20675 0.1905,0.838729 0.77523,4.828645 0.37306,2.545292 0.55827,3.817938 0.73289,5.172604 0.21961,1.722438 0.52917,4.15925 0.77523,7.241646 0.17198,2.166938 0.33867,4.942417 0.38894,8.188854 0.0609,0.365125 0.15081,0.902229 0.25929,1.550459 0.71173,4.233333 0.9234,5.25727 1.12183,6.50875 0.58473,3.70946 0.60325,6.70454 0.60325,7.41362 0,1.55311 -0.0873,3.09298 -0.60325,7.06967 -0.50006,3.85233 -1.00806,6.97177 -1.59543,10.38754 -1.016,5.91079 -1.905,10.59921 -2.45798,13.44877 -0.67998,3.50838 -1.27794,6.45848 -1.72509,8.620127 l -0.12964,0.82021 M 146.33508,17.063902 c -0.0926,0.291042 -0.2196,0.714375 -0.35454,1.232958 -0.33602,1.288521 -0.48683,2.275417 -0.56091,2.759605 -0.49477,3.20675 -0.1905,0.838729 -0.77523,4.828645 -0.37307,2.545292 -0.55827,3.817938 -0.7329,5.172604 -0.2196,1.722438 -0.52917,4.15925 -0.77523,7.241646 -0.17198,2.166938 -0.33866,4.942417 -0.38894,8.188854 -0.0608,0.365125 -0.15081,0.902229 -0.25929,1.550459 -0.71173,4.233333 -0.92339,5.25727 -1.12183,6.50875 -0.58473,3.70946 -0.60325,6.70454 -0.60325,7.41362 0,1.55311 0.0873,3.09298 0.60325,7.06967 0.50006,3.85233 1.00806,6.97177 1.59544,10.38754 1.016,5.91079 1.905,10.59921 2.45798,13.44877 0.67998,3.50838 1.27793,6.45848 1.72508,8.620127 l 0.12965,0.82021 m -29.32117,16.63435 h 0.8255 c 1.96056,-0.0767 5.74675,-0.23548 9.65465,-0.4736 0.59266,-0.0344 1.35202,-0.0847 2.32833,-0.34396 0.87842,-0.23284 1.5531,-0.53446 4.82865,-2.54265 1.7145,-1.05039 2.59027,-1.59014 3.66447,-2.32833 0.59532,-0.41011 1.48696,-1.02129 2.62996,-1.89706 1.66159,-1.27265 1.8759,-1.58486 2.93159,-2.19869 0.42333,-0.24606 1.22237,-0.68263 2.11137,-1.12183 0.40481,-0.19844 0.74877,-0.35984 0.99219,-0.47361 l -0.64558,-5.25727 c 0.66145,0.037 3.22527,0.1561 5.38691,-0.34396 1.16417,-0.26987 1.905,-0.64823 2.413,-1.29381 0.12171,-0.1561 0.20639,-0.29634 0.25929,-0.38894 0.037,-3.862907 -0.003,-6.527267 -0.12964,-8.104187 -0.0635,-0.77258 -0.20902,-2.05845 0.12964,-3.44752 0.0529,-0.2196 0.15611,-0.59531 0.2593,-1.16416 0.16931,-0.94721 0.20111,-1.68011 0.21431,-2.02671 0.1376,-3.57981 0.0873,-5.94783 0.0873,-5.94783 -0.10319,-4.84717 -0.0476,-7.08025 -0.34396,-9.39536 -0.17991,-1.38641 -0.26723,-2.07698 -0.51858,-2.84427 -0.17198,-0.53181 -0.38629,-1.03981 -0.51594,-1.85473 -0.1191,-0.75671 -0.0953,-1.33085 -0.0873,-1.55046 0.0503,-1.44198 -0.1614,-3.24379 -0.47361,-5.9055 -0.30427,-2.595559 -0.48683,-4.090455 -1.12183,-6.077475 -0.35983,-1.135063 -0.33073,-0.738188 -0.94721,-2.500313 -0.30691,-0.873125 -1.60603,-4.659312 -1.59543,-7.069666 v -1.248834 c 0,0 -0.008,-0.891646 -0.0423,-1.897062 -0.0847,-2.428875 -0.25929,-4.527021 -0.25929,-4.527021 -0.11906,-1.441979 -0.32544,-3.852333 -0.86254,-6.940021 -0.35454,-2.037291 -0.32808,-1.344083 -1.03452,-4.955646 0,0 -0.35719,-1.830916 -0.94721,-3.749145 -0.11377,-0.375709 -0.30427,-0.96573 -0.64558,-1.680105 -0.0582,-0.119062 -0.30163,-0.62177 -0.69057,-1.248833 -0.27781,-0.449791 -0.54504,-0.822854 -0.77523,-1.121833 -5.74675,-2.770188 -9.91393,-4.833938 -10.51718,-5.1726039 -0.26988,-0.150813 -0.58473,-0.328084 -0.82021,-0.690563 -0.1614,-0.251354 -0.15875,-0.396875 -0.34396,-0.60325 -0.26723,-0.296333 -0.62442,-0.312208 -0.82021,-0.431271 -0.72496,-0.447145 -1.18798,-0.92075 -1.42346,-1.164166 -2.30452,-2.391834 -3.44752,-3.706813 -3.44752,-3.706813 -0.33337,-0.381 -0.7911,-0.912812 -1.33614,-1.550458 -0.27517,-0.166687 -0.70115,-0.375704 -1.24884,-0.473604 -0.68262,-0.121708 -13.36675,-0.121708 -14.04937,0 -0.54769,0.0979 -0.97367,0.306917 -1.24883,0.473604 -0.54505,0.637646 -1.00277,1.169458 -1.33615,1.550458 0,0 -1.143,1.314979 -3.44752,3.706813 -0.23548,0.243416 -0.6985,0.717021 -1.42346,1.164166 -0.19579,0.119063 -0.55298,0.134938 -0.82021,0.431271 -0.18521,0.206375 -0.18256,0.351896 -0.34396,0.60325 -0.23547,0.362479 -0.55033,0.53975 -0.8202,0.690563 -0.60325,0.3386659 -4.770444,2.4024159 -10.517194,5.1726039 -0.23019,0.298979 -0.49742,0.672042 -0.77523,1.121833 -0.38894,0.627063 -0.63235,1.129771 -0.69056,1.248833 -0.34132,0.714375 -0.53182,1.304396 -0.64559,1.680105 -0.59002,1.918229 -0.9472,3.749145 -0.9472,3.749145 -0.70644,3.611563 -0.67998,2.918355 -1.034525,4.955646 -0.537105,3.087688 -0.74348,5.498042 -0.862542,6.940021 0,0 -0.174625,2.098146 -0.259292,4.527021 -0.0344,1.005416 -0.04233,1.897062 -0.04233,1.897062 v 1.248834 c 0.01058,2.410354 -1.288521,6.196541 -1.595438,7.069666 -0.616479,1.762125 -0.587375,1.36525 -0.947208,2.500313 -0.635,1.98702 -0.817562,3.481916 -1.121833,6.077475 -0.312208,2.66171 -0.521229,4.46352 -0.473604,5.9055 0.0079,0.21961 0.03175,0.79375 -0.08731,1.55046 -0.129646,0.81492 -0.343958,1.32292 -0.518583,1.85473 -0.251354,0.76729 -0.338667,1.45786 -0.515938,2.84427 -0.296333,2.31511 -0.24077,4.54819 -0.343958,9.39536 0,0 -0.05027,2.36802 0.08731,5.94783 0.01323,0.3466 0.04498,1.0795 0.214312,2.02671 0.103188,0.56885 0.206375,0.94456 0.259292,1.16416 0.338666,1.38907 0.193146,2.67494 0.129646,3.44752 -0.127,1.57692 -0.166688,4.24128 -0.129646,8.104187 0.05292,0.0926 0.137583,0.23284 0.259291,0.38894 0.508,0.64558 1.248834,1.02394 2.413,1.29381 2.161646,0.50006 4.725456,0.381 5.386916,0.34396 l -0.64559,5.25727 c 0.24342,0.11377 0.58738,0.27517 0.99219,0.47361 0.889,0.4392 1.68804,0.87577 2.11138,1.12183 1.05568,0.61383 1.27,0.92604 2.93158,2.19869 1.143,0.87577 2.03465,1.48695 2.62996,1.89706 1.07421,0.73819 1.94998,1.27794 3.664484,2.32833 3.27554,2.00819 3.95023,2.30981 4.82864,2.54265 0.97632,0.25929 1.73567,0.30956 2.32834,0.34396 3.90789,0.23812 7.69408,0.39687 9.65464,0.4736 h 0.8255 m -0.005,-109.2226409 c -0.35189,0.0026 -0.87842,0.0053 -1.51342,0 -0.96572,-0.01058 -3.31258,-0.05027 -8.01687,-0.473604 -1.19856,-0.108479 -2.78342,-0.261938 -4.65402,-0.473604 l -1.2065,-0.214313 m 15.2056,1.161521 c 0.3519,0.0026 0.87842,0.0053 1.51342,0 0.96573,-0.01058 3.31258,-0.05027 8.01687,-0.473604 1.19857,-0.108479 2.78342,-0.261938 4.65402,-0.473604 l 1.2065,-0.214313 M 80.567602,87.869043 c 0.23548,-0.0608 0.587375,-0.14552 1.018646,-0.22225 0.648229,-0.11377 1.280583,-0.17462 3.405188,-0.17198 2.23308,0.003 2.54,0.0688 2.7596,0.12965 0.20638,0.0556 0.8943,0.25929 1.68011,0.51594 0.27252,0.0873 0.49477,0.16404 0.64558,0.21431 l 0.56092,0.21431 m 4.17248,-33.490955 c 0.0556,1.124475 0.0344,2.066395 0,2.764895 -0.0635,1.27265 -0.10584,2.12196 -0.37836,3.23321 -0.0212,0.0873 -0.008,0.0317 -0.69056,2.24102 -0.38894,1.25942 -0.46831,1.52135 -0.56092,1.9394 -0.16139,0.72495 -0.22225,1.28323 -0.30162,2.15635 -0.17198,1.8759 -0.254,3.33375 -0.25929,3.40519 -0.0344,0.60854 -0.0529,0.78581 -0.43127,4.61169 -0.61119,6.20712 -0.58209,5.95841 -0.64559,6.55108 -0.16404,1.50548 -0.40216,3.58246 -0.73289,6.07748 -0.0476,0.11641 -0.11377,0.29368 -0.17198,0.51593 -0.10054,0.3863 -0.12171,0.69057 -0.12965,0.82021 -0.037,0.5715 -0.13758,2.07698 -0.25929,4.09575 l -0.14817,2.3495 m 65.434114,-7.95073 c -0.23548,-0.0608 -0.58738,-0.14552 -1.01865,-0.22225 -0.64823,-0.11377 -1.28058,-0.17462 -3.40519,-0.17198 -2.23308,0.003 -2.54,0.0688 -2.7596,0.12965 -0.20638,0.0556 -0.89429,0.25929 -1.6801,0.51594 -0.27253,0.0873 -0.49478,0.16404 -0.64559,0.21431 l -0.56091,0.21431 m -4.17248,-33.490955 c -0.0556,1.124475 -0.0344,2.066395 0,2.764895 0.0635,1.27265 0.10583,2.12196 0.37835,3.23321 0.0212,0.0873 0.008,0.0317 0.69056,2.24102 0.38894,1.25942 0.46832,1.52135 0.56092,1.9394 0.1614,0.72495 0.22225,1.28323 0.30162,2.15635 0.17198,1.8759 0.254,3.33375 0.2593,3.40519 0.0344,0.60854 0.0556,0.78581 0.43127,4.61169 0.61118,6.20712 0.58208,5.95841 0.64558,6.55108 0.16404,1.50548 0.40217,3.58246 0.7329,6.07748 0.0476,0.11641 0.11377,0.29368 0.17198,0.51593 0.10054,0.3863 0.1217,0.69057 0.12964,0.82021 0.037,0.5715 0.13758,2.07698 0.25929,4.09575 l 0.14817,2.3495 m -59.025899,6.482287 c 0.03969,-0.29104 0.116416,-0.85195 0.214312,-1.55045 0.785813,-5.632977 1.055683,-7.186087 1.206503,-9.741957 0.0291,-0.48948 0.0688,-1.28588 0.0873,-2.28336 v -0.90223 m 60.642514,14.477997 c -0.0397,-0.29104 -0.11642,-0.85195 -0.21431,-1.55045 -0.78582,-5.632977 -1.05834,-7.186087 -1.2065,-9.741957 -0.0291,-0.48948 -0.0688,-1.28588 -0.0873,-2.28336 v -0.90223" + /> + <path + key="stitches" + {...thin(stroke)} + {...dashed(stroke)} + d="m 147.39077,101.81788 c 1.08479,0.0582 1.99231,0.037 2.66436,0 0.80168,-0.045 2.11137,-0.15611 3.25702,-0.59267 0.26987,-0.10319 0.56885,-0.23812 0.889,-0.46567 0.43127,-0.30691 0.71702,-0.64823 0.889,-0.888997 m -66.349564,1.947337 c -1.0848,0.0582 -1.992317,0.037 -2.664359,0 -0.801687,-0.045 -2.111375,-0.15611 -3.257021,-0.59267 -0.269874,-0.10319 -0.568854,-0.23812 -0.888999,-0.46567 -0.431271,-0.30691 -0.717021,-0.64823 -0.889,-0.888997 m 7.442729,5.535087 c 1.49754,0.64823 2.667,1.30968 3.48985,1.81504 0.87842,0.53975 1.54252,1.01864 2.72521,1.8706 1.63513,1.1774 1.66423,1.28323 2.79136,2.06111 0.96837,0.66939 1.66952,1.09008 3.077104,1.9341 2.0955,1.25677 2.99773,1.6854 3.55071,1.93411 0.65087,0.29104 1.22237,0.51064 1.2991,0.53975 0.38629,0.14287 0.67998,0.254 1.04775,0.34925 0.59796,0.1561 1.09273,0.19843 1.45786,0.22225 0.93133,0.0582 3.78354,0.1561 7.64381,0.22225 h 5.21229 c 3.85763,-0.0661 6.70983,-0.16405 7.64381,-0.22225 0.36777,-0.0238 0.8599,-0.0661 1.45786,-0.22225 0.36777,-0.0952 0.66146,-0.20638 1.04775,-0.34925 0.0794,-0.0291 0.64823,-0.24607 1.2991,-0.53975 0.55298,-0.24871 1.45786,-0.67734 3.55071,-1.93411 1.40494,-0.84402 2.10873,-1.26471 3.0771,-1.9341 1.12713,-0.78052 1.15623,-0.88371 2.79136,-2.06111 1.18269,-0.85196 1.84679,-1.33085 2.72521,-1.8706 0.82285,-0.50536 1.99231,-1.16681 3.48985,-1.81504 m 0.24606,-17.584207 c -0.008,0.37835 -0.0159,0.98689 0,1.73302 0.0503,2.39712 0.30692,4.25715 0.66675,6.81831 0.0185,0.12965 0.17992,1.22767 0.508,3.42636 0.0609,0.404807 0.2884,1.947327 0.34925,2.346847 M 88.010336,87.821423 c 0.008,0.37835 0.0159,0.98689 0,1.73302 -0.0503,2.39712 -0.30692,4.25715 -0.66675,6.81831 -0.0185,0.12965 -0.182567,1.22767 -0.508005,3.42636 -0.06085,0.404807 -0.288395,1.947327 -0.34925,2.346847 M 155.13777,87.302843 c -0.31485,-0.0794 -0.78316,-0.18257 -1.35466,-0.25136 -0.23019,-0.0265 -0.56357,-0.0609 -1.87061,-0.0635 -1.33879,-0.005 -1.17475,0.0291 -2.60085,0.0317 -0.635,0 -0.76465,-0.005 -1.04775,0.0318 -0.48948,0.0635 -0.79904,0.17727 -1.68011,0.47625 -0.31485,0.10583 -0.80698,0.27252 -1.4261,0.47625 m -64.590088,-0.70114 c 0.314855,-0.0794 0.783167,-0.18257 1.354667,-0.25136 0.230188,-0.0265 0.563563,-0.0609 1.870604,-0.0635 1.338792,-0.005 1.17475,0.0291 2.600854,0.0317 0.635,0 0.764646,-0.005 1.047749,0.0318 0.48948,0.0635 0.79904,0.17727 1.68011,0.47625 0.31485,0.10583 0.80697,0.27252 1.4261,0.47625 M 103.73981,8.2691521 c 0.58209,0.08467 1.39965,0.195792 2.37861,0.312209 3.34698,0.394229 5.91608,0.508 7.54856,0.576791 3.0189,0.127 5.29431,0.103188 5.96106,0.09525 1.22767,-0.01588 2.84692,-0.03969 4.97946,-0.1905 0.97102,-0.06879 1.9394,-0.164041 3.83646,-0.34925 1.66687,-0.164041 3.05065,-0.306916 4.02696,-0.41275" + /> + <use xlinkHref="#simon-button" x="84.9" y="99.5" color="currentColor"></use> + <use xlinkHref="#simon-button" x="151.2" y="99.5" color="currentColor"></use> + </> +) diff --git a/sites/shared/components/designs/linedrawings/wahid.mjs b/sites/shared/components/designs/linedrawings/wahid.mjs new file mode 100644 index 00000000000..b03f8f045ca --- /dev/null +++ b/sites/shared/components/designs/linedrawings/wahid.mjs @@ -0,0 +1,116 @@ +import { LineDrawingWrapper, thin, dashed } from './shared.mjs' + +const strokeScale = 0.4 + +export const Wahid = ({ + className = 'w-64', // CSS classes to apply + stroke = 1, // Stroke width to use +}) => { + // Normalize stroke across designs + stroke = stroke * strokeScale + + return ( + <LineDrawingWrapper viewBox="0 0 162 126" {...{ className, stroke }}> + <Front stroke={stroke} /> + <Back stroke={stroke} /> + </LineDrawingWrapper> + ) +} + +export const WahidFront = ({ + className = 'w-64', // CSS classes to apply + stroke = 1, // Stroke width to use +}) => { + // Normalize stroke across designs + stroke = stroke * strokeScale + + return ( + <LineDrawingWrapper viewBox="0 0 81 126" {...{ className, stroke }}> + <Front stroke={stroke} /> + </LineDrawingWrapper> + ) +} + +export const WahidBack = ({ + className = 'w-64', // CSS classes to apply + stroke = 1, // Stroke width to use +}) => { + // Normalize stroke across designs + stroke = stroke * strokeScale + + return ( + <LineDrawingWrapper viewBox="82 0 81 126" {...{ className, stroke }}> + <Back stroke={stroke} /> + </LineDrawingWrapper> + ) +} + +/* + * Always use an id for defs that is unique to the design because if we have + * multiple linedrawings on the page, they share the same namespace and thus + * IDs will collide + */ +const defs = ( + <defs> + <g id="wahid-button"> + <circle cx="0" cy="0" r="1.8" strokeWidth="0.45" /> + <circle cx="-0.55" cy="-0.55" r="0.35" strokeWidth="0.25" /> + <circle cx="0.55" cy="-0.55" r="0.35" strokeWidth="0.25" /> + <circle cx="0.55" cy="0.55" r="0.35" strokeWidth="0.25" /> + <circle cx="-0.55" cy="0.55" r="0.35" strokeWidth="0.25" /> + </g> + </defs> +) + +/* + * React component for the front + */ +export const Front = ({ stroke }) => ( + <> + {defs} + <path + key="darts" + {...thin(stroke)} + d="m 59.254131,58.572266 c -0.282849,14.103167 -0.248304,26.460675 0.06123,37.305715 m 0.08331,2.68639 c 0.146442,4.367849 0.339027,18.032999 0.574783,21.909619 M 30.210956,97.193711 H 6.6510187 m 44.2643213,0 H 74.364837 M 22.237874,58.572266 c 0.282849,14.103167 0.248304,26.460675 -0.06123,37.305715 m -0.08331,2.68639 c -0.146442,4.367849 -0.339027,18.032999 -0.574783,21.909619 M 30.245567,98.518921 H 6.6976497 v -2.64584 H 30.245567 Z M 50.8819,95.870781 h 23.547916 v 2.64583 H 50.8819 Z" + /> + <path + key="stitches" + {...dashed(stroke)} + {...thin(stroke)} + d="m 25.217291,3.134339 c 3.595687,1.275291 7.688791,2.174875 12.197291,2.248958 0.410104,0.0079 0.814917,0.0079 1.217084,0 h 1.801812 0.529167 1.801812 c 0.399521,0.0079 0.806979,0.0079 1.217083,0 4.5085,-0.07408 8.601605,-0.973667 12.197292,-2.248958" + /> + <path + key="outline" + d="m 41.970707,66.390917 c 0.0979,-0.0053 0.235479,-0.01587 0.399521,-0.0344 0.320146,-0.03175 0.484188,-0.05027 0.484188,-0.07673 0.0026,-0.02646 -0.150813,-0.07144 -0.862542,-0.150813 m 0.243417,20.476117 c 0.0979,-0.005 0.235479,-0.0159 0.39952,-0.0344 0.320146,-0.0317 0.484188,-0.0503 0.484188,-0.0767 0.0026,-0.0265 -0.150813,-0.0714 -0.862542,-0.15081 m -0.02117,-9.84518 c 0.0979,-0.005 0.235479,-0.01587 0.39952,-0.0344 0.320146,-0.03175 0.484188,-0.05027 0.484188,-0.07673 0.0026,-0.02646 -0.150813,-0.07144 -0.862542,-0.150813 m -0.28575,20.476113 c 0.0979,-0.005 0.235479,-0.0159 0.399521,-0.0344 0.320146,-0.0318 0.484188,-0.0503 0.484188,-0.0767 0.0026,-0.0264 -0.150813,-0.0714 -0.862542,-0.15081 m 0.243417,10.368989 c 0.0979,-0.005 0.235479,-0.0159 0.39952,-0.0344 0.320146,-0.0317 0.484188,-0.0503 0.484188,-0.0767 0.0026,-0.0265 -0.150813,-0.0714 -0.862542,-0.15081 m -0.28575,-50.273502 c 0.0979,-0.0053 0.235479,-0.01587 0.399521,-0.0344 0.320146,-0.03175 0.484188,-0.05027 0.484188,-0.07673 0.0026,-0.02646 -0.150813,-0.07144 -0.862542,-0.150812 m -1.280601,58.380324 -0.01583,3.18029 m -2.248956,-0.0159 h 4.529632 M 5.1089577,52.47913 v 9.887479 c 0.0053,0.844021 0.01323,2.450041 0,4.458229 -0.08202,12.453933 -0.8255,20.367623 -2.38125,43.333452 -0.06085,0.89694 -0.145521,2.15636 -0.248709,3.70417 M 25.217291,1.943714 9.6068737,8.02913 10.400624,11.733297 c 0.187854,1.063625 0.473604,2.725208 0.79375,4.7625 1.516063,9.681104 1.778,15.187083 1.852084,17.197916 0.22225,5.953125 -0.201084,7.839604 -0.529167,8.995834 -1.158875,4.071937 -3.2332083,6.373812 -3.7041673,6.879166 -1.336146,1.436688 -2.714625,2.352146 -3.704166,2.910417 1.09802,-0.833438 2.725208,-2.278063 3.96875,-4.497917 C 10.940374,44.660692 10.945666,41.39838 10.929791,39.77913 10.890101,35.707192 10.239228,20.768818 9.6068737,8.02913 M 40.695416,49.579296 c -1.764771,-2.989791 -3.6195,-6.439958 -5.423959,-10.326687 -2.137833,-4.606396 -3.341687,-7.985125 -5.027083,-12.7 0,0 -3.913187,-10.959041 -4.7625,-18.25625 -0.206375,-1.772708 -0.264583,-3.481916 -0.264583,-3.481916 -0.03969,-1.156229 -0.02646,-2.135188 0,-2.868083 3.595687,1.275291 7.688791,2.174875 12.197291,2.248958 0.410104,0.0079 0.814917,0.0079 1.217084,0 h 1.801812 0.529167 1.801812 c 0.399521,0.0079 0.806979,0.0079 1.217083,0 4.5085,-0.07408 8.601605,-0.973667 12.197292,-2.248958 0.02646,0.732895 0.03969,1.711854 0,2.868083 0,0 -0.05821,1.709208 -0.264583,3.481916 -0.849313,7.297209 -4.7625,18.25625 -4.7625,18.25625 -1.685396,4.714875 -2.88925,8.093604 -5.027084,12.7 -2.984499,6.434667 -6.11452,11.665479 -8.731249,15.610417 v 53.982934 l 9.405937,14.86165 c 1.695979,-0.33867 3.413125,-0.70909 5.146146,-1.11125 9.895416,-2.30188 18.896541,-5.34459 26.987499,-8.73125 m -38.237582,0.20637 -6.098646,9.63613 c -1.695979,-0.33867 -3.413125,-0.70909 -5.146146,-1.11125 -9.895417,-2.30188 -18.896541,-5.34459 -26.9875003,-8.73125 M 76.281873,52.47913 v 9.887479 c -0.0053,0.844021 -0.01323,2.450041 0,4.458229 0.08202,12.453933 0.8255,20.367623 2.38125,43.333452 0.06085,0.89694 0.145521,2.15636 0.248709,3.70417 M 56.17354,1.943714 71.783957,8.02913 l -0.79375,3.704167 c -0.187854,1.063625 -0.473604,2.725208 -0.79375,4.7625 -1.516063,9.681104 -1.778,15.187083 -1.852083,17.197916 -0.22225,5.953125 0.201083,7.839604 0.529166,8.995834 1.158875,4.071937 3.233208,6.373812 3.704167,6.879166 1.336146,1.436688 2.714625,2.352146 3.704166,2.910417 -1.09802,-0.833438 -2.725208,-2.278063 -3.96875,-4.497917 -1.862666,-3.320521 -1.867958,-6.582833 -1.852083,-8.202083 0.03969,-4.071938 0.690563,-19.010312 1.322917,-31.75" + /> + <use xlinkHref="#wahid-button" x="40" y="56.1" color="currentColor"></use> + <use xlinkHref="#wahid-button" x="40" y="66.2" color="currentColor"></use> + <use xlinkHref="#wahid-button" x="40.15" y="76.3" color="currentColor"></use> + <use xlinkHref="#wahid-button" x="40.15" y="86.4" color="currentColor"></use> + <use xlinkHref="#wahid-button" x="40.2" y="96.5" color="currentColor"></use> + <use xlinkHref="#wahid-button" x="40.3" y="106.6" color="currentColor"></use> + </> +) + +/* + * React component for the back + */ +const Back = ({ stroke }) => ( + <> + <path + key="outline" + d="m 157.23121,52.47913 v 9.887479 c -0.005,0.844021 -0.0132,2.450041 0,4.458229 0.082,12.453933 0.8255,20.367623 2.38125,43.333452 0.0608,0.89694 0.14552,2.15636 0.24871,3.70417 M 137.1229,1.943707 152.73331,8.029122 m 4.4979,44.450008 c -1.09802,-0.833438 -2.72521,-2.278063 -3.96875,-4.497917 -1.86267,-3.320521 -1.86796,-6.582833 -1.85208,-8.202083 0.0397,-4.071938 0.69056,-19.010312 1.32291,-31.75 M 137.12288,1.943714 c -3.59569,1.275291 -7.6888,2.174875 -12.1973,2.248958 -0.4101,0.0079 -0.81491,0.0079 -1.21708,0 h -1.80181 -0.52917 -1.80181 c -0.39952,0.0079 -0.80698,0.0079 -1.21708,0 -4.5085,-0.07408 -8.60161,-0.973667 -12.1973,-2.248958 m 18.05517,115.943056 3.683,5.81819 c 1.69598,-0.33867 3.41313,-0.70908 5.14615,-1.11125 9.89541,-2.30187 18.89654,-5.34458 26.9875,-8.73125 -7.9719,1.69333 -17.11325,3.09033 -27.24944,3.70417 -3.81529,0.23019 -7.48771,0.33602 -11.00667,0.33866 m -2.54793,-0.0185 -3.683,5.81819 c -1.69598,-0.33867 -3.41313,-0.70908 -5.14615,-1.11125 -9.89542,-2.30187 -18.896536,-5.34458 -26.987496,-8.73125 7.9719,1.69333 17.113246,3.09033 27.249436,3.70417 3.81529,0.23019 7.48771,0.33602 11.00666,0.33866 M 86.058294,52.47913 v 9.887479 c 0.005,0.844021 0.0132,2.450041 0,4.458229 -0.082,12.453933 -0.8255,20.367623 -2.38125,43.333452 -0.0609,0.89694 -0.14552,2.15636 -0.24871,3.70417 M 106.16665,1.943707 90.556244,8.029122 m -4.49795,44.450008 c 1.09802,-0.833438 2.72521,-2.278063 3.96875,-4.497917 1.86267,-3.320521 1.86796,-6.582833 1.85209,-8.202083 -0.0397,-4.071938 -0.69057,-19.010312 -1.32292,-31.75" + /> + <path + key="stitches" + {...thin(stroke)} + {...dashed(stroke)} + d="m 138.40611,2.446422 c -0.41011,0.248708 -0.83609,0.481542 -1.28059,0.690563 -4.36827,2.055812 -10.93787,2.227791 -12.19729,2.248958 -0.4101,0.0079 -0.81492,0.0079 -1.21708,0 h -1.80182 -0.52916 -1.80181 c -0.39953,0.0079 -0.80698,0.0079 -1.21709,0 -4.5085,-0.07408 -8.6016,-0.973667 -12.19729,-2.248958 -0.51065,-0.198438 -1.02129,-0.39423 -1.53458,-0.592667" + /> + <path + key="darts" + {...thin(stroke)} + d="m 143.92015,47.170466 c 0.43464,22.690304 0.78099,45.327635 2.67748,68.895054 M 99.011784,47.170466 c -0.43464,22.690304 -0.78099,45.327635 -2.67748,68.895054 M 121.77706,4.192663 V 117.9635 m 19.12934,-1.0689 v 3.66977 m -38.36459,-3.66977 v 3.66977" + /> + </> +) diff --git a/sites/shared/i18n/homepage/en.yaml b/sites/shared/i18n/homepage/en.yaml new file mode 100644 index 00000000000..ec2afec21df --- /dev/null +++ b/sites/shared/i18n/homepage/en.yaml @@ -0,0 +1,16 @@ +welcome: Welcome to FreeSewing.org +howDoesItWork: How does it work? +whatIsFreeSewing: What is FreeSewing? +whatIsFreeSewingNot: What is FreeSewing not? +what1: FreeSewing is open source software to generate made-to-measure sewing patterns, loved by home sewers and fashion entrepreneurs alike. +what2: FreeSewing.org makes this software available to you as an online tool with unmatched custimization and flexibility. We have over 50 designs, and regularly add new ones. You can pick any design and generate a pattern to your exact measurements. +what3: Because made-to-measure lies at the heart of what we do, we strongly suggest you take accurate measurements. Industry sizing is a bunch of lies. Join the slow fashion revolution and enjoy clothes that fit you. +whatNot1: FreeSewing is not a company. We do not sell anything. We do not have staff or employees. We do not have an office. We do not get paid. +whatNot2: Our websites do not contain any advertising. We do not track you or sell your personal data. We do not violate your privacy. +whatNot3: FreeSewing is not gendered. We do not exclude or discriminate. Nor do we tolerate discrimination in our community. +whatNot4: FreeSewing is not perfect. But we try our best. When we come up short, we will not be upset when you point it out. +whatNot5: In fact, that is how we got to where we are today. +pickAnyDesign: Pick any design +addASet: Add a set of measurements +customizeYourPattern: Customize your pattern +