{"version":3,"sources":["onepirate/modules/components/Typography.tsx","onepirate/modules/views/AppFooter.tsx","onepirate/modules/views/ProductHeroLayout.tsx","onepirate/modules/components/Button.tsx","onepirate/modules/views/ProductHero.tsx","onepirate/modules/views/ProductHeroLayoutComingSoon.tsx","onepirate/modules/views/ProductHeroComingSoon.tsx","onepirate/modules/components/AppBar.tsx","onepirate/modules/components/Toolbar.tsx","onepirate/modules/views/AppAppBar.tsx","onepirate/modules/theme.ts","onepirate/modules/withRoot.tsx","onepirate/modules/views/ProductHeroLayoutBooks.tsx","onepirate/modules/views/ProductHeroBooks.tsx","onepirate/modules/views/ProductHeroLayoutAbout.tsx","onepirate/modules/views/ProductHeroAbout.tsx","onepirate/Home.tsx","onepirate/modules/components/Markdown.tsx","onepirate/Privacy.tsx","onepirate/modules/components/Paper.tsx","onepirate/modules/views/AppForm.tsx","onepirate/modules/form/validation.ts","onepirate/modules/components/TextField.tsx","onepirate/modules/form/RFTextField.tsx","onepirate/modules/form/FormButton.tsx","onepirate/modules/form/defer.tsx","onepirate/modules/form/FormFeedback.tsx","onepirate/SignIn.tsx","onepirate/SignUp.tsx","onepirate/ForgotPassword.tsx","onepirate/Terms.tsx","App.tsx","serviceWorker.js","index.tsx"],"names":["markStyleMapping","center","h1","h2","h3","h4","h5","h6","left","none","variantMapping","subtitle1","withStyles","theme","height","width","display","margin","spacing","backgroundColor","palette","secondary","main","marginTop","background","props","children","variant","classes","marked","other","markedClassName","className","Copyright","Link","color","href","Date","getFullYear","AppFooter","component","sx","bgcolor","Container","my","Grid","container","item","xs","align","key","Instagram","ProductHeroLayoutRoot","styled","common","white","position","alignItems","breakpoints","up","minHeight","maxHeight","Background","Box","right","top","bottom","backgroundSize","backgroundRepeat","zIndex","ProductHeroLayout","sxBackground","mt","mb","flexDirection","src","alt","opacity","ButtonRoot","MuiButton","size","borderRadius","fontWeight","typography","fontWeightMedium","fontFamily","padding","fontSize","pxToRem","boxShadow","Button","backgroundImage","ProductHero","useState","open","setOpen","handleClose","backgroundPosition","style","Dialog","onClose","fullScreen","IconButton","aria-label","onClick","grey","title","sm","ProductHeroLayoutComingSoonRoot","ProductHeroLayoutComingSoon","ProductHeroComingSoon","justifyContent","minWidth","maxWidth","AppBar","elevation","Toolbar","MuiToolbar","rightLink","ml","AppAppBar","flex","underline","rawTheme","createTheme","primary","light","dark","warning","error","red","success","green","fontWeightLight","fontWeightRegular","fontHeader","text","textTransform","default","placeholder","letterSpacing","body1","body2","fontWeightBold","withRoot","Component","ThemeProvider","CssBaseline","ProductHeroLayoutBooksRoot","ProductHeroLayoutBooks","ProductHeroBooks","id","md","lg","xl","border","borderColor","ProductHeroLayoutAboutRoot","ProductHeroLayoutAbout","ProductHeroAbout","options","overrides","Typography","gutterBottom","paragraph","p","a","li","listItem","Markdown","markdown","setMarkdown","useEffect","then","content","fetch","response","responseText","Fragment","PaperRoot","MuiPaper","shouldForwardProp","prop","Paper","square","AppForm","py","px","email","value","string","trim","test","required","requiredFields","values","reduce","fields","field","undefined","inputStyleMapping","small","medium","large","xlarge","root","input","divider","inputBorder","disabled","InputProps","InputLabelProps","noBorder","SelectProps","InputPropsClassesInput","InputPropsClassesOther","InputPropsOther","clsx","disableUnderline","shrink","formLabel","select","icon","selectIcon","RFTextField","autoComplete","meta","touched","submitError","Boolean","inputProps","helperText","defer","mounted","others","type","React","setMounted","BoxStyled","FormFeedback","sent","setSent","RouterLink","to","onSubmit","subscription","submitting","validate","errors","emailError","handleSubmit2","handleSubmit","noValidate","autoFocus","fullWidth","label","name","App","path","Home","window","location","hostname","match","ReactDOM","render","StrictMode","document","getElementById","navigator","serviceWorker","ready","registration","unregister","catch","console","message"],"mappings":"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","file":"static/js/main.45f72ce9.chunk.js","sourcesContent":["import * as React from \"react\";\r\nimport { Theme } from \"@mui/material/styles\";\r\nimport { withStyles, WithStyles } from \"@mui/styles\";\r\nimport MuiTypography, { TypographyProps } from \"@mui/material/Typography\";\r\n\r\nconst markStyleMapping: {\r\n [index: string]: { [subindex: string]: string };\r\n} = {\r\n center: {\r\n h1: \"\",\r\n h2: \"markedH2Center\",\r\n h3: \"markedH3Center\",\r\n h4: \"markedH4Center\",\r\n h5: \"\",\r\n h6: \"\",\r\n },\r\n left: {\r\n h1: \"\",\r\n h2: \"\",\r\n h3: \"\",\r\n h4: \"\",\r\n h5: \"\",\r\n h6: \"markedH6Left\",\r\n },\r\n none: {\r\n h1: \"\",\r\n h2: \"\",\r\n h3: \"\",\r\n h4: \"\",\r\n h5: \"\",\r\n h6: \"\",\r\n },\r\n};\r\n\r\nconst styles = (theme: Theme) => ({\r\n [markStyleMapping.center.h2]: {\r\n height: 4,\r\n width: 73,\r\n display: \"block\",\r\n margin: `${theme.spacing(1)} auto 0`,\r\n backgroundColor: theme.palette.secondary.main,\r\n },\r\n [markStyleMapping.center.h3]: {\r\n height: 4,\r\n width: 55,\r\n display: \"block\",\r\n margin: `${theme.spacing(1)} auto 0`,\r\n backgroundColor: theme.palette.secondary.main,\r\n },\r\n [markStyleMapping.center.h4]: {\r\n height: 4,\r\n width: 55,\r\n display: \"block\",\r\n margin: `${theme.spacing(1)} auto 0`,\r\n backgroundColor: theme.palette.secondary.main,\r\n },\r\n [markStyleMapping.left.h6]: {\r\n height: 2,\r\n width: 28,\r\n display: \"block\",\r\n marginTop: theme.spacing(0.5),\r\n background: \"currentColor\",\r\n },\r\n});\r\n\r\ninterface ExtraTypographyProps {\r\n marked?: \"center\" | \"left\" | \"none\";\r\n}\r\n\r\nconst variantMapping = {\r\n h1: \"h1\",\r\n h2: \"h1\",\r\n h3: \"h1\",\r\n h4: \"h1\",\r\n h5: \"h3\",\r\n h6: \"h2\",\r\n subtitle1: \"h3\",\r\n};\r\n\r\nfunction Typography(\r\n props: TypographyProps &\r\n WithStyles &\r\n ExtraTypographyProps\r\n) {\r\n const { children, variant, classes, marked = \"none\", ...other } = props;\r\n\r\n let markedClassName = \"\";\r\n if (variant && variant in markStyleMapping[marked]) {\r\n markedClassName = classes[markStyleMapping[marked][variant]];\r\n }\r\n\r\n return (\r\n \r\n {children}\r\n {markedClassName ? : null}\r\n \r\n );\r\n}\r\n\r\nexport default withStyles(styles)(Typography);\r\n","import * as React from \"react\";\r\nimport Grid from \"@mui/material/Grid\";\r\nimport Link from \"@mui/material/Link\";\r\nimport Container from \"@mui/material/Container\";\r\nimport Typography from \"../components/Typography\";\r\nimport FacebookIcon from '@mui/icons-material/Facebook';\r\nimport { Instagram } from '@mui/icons-material';\r\n\r\nfunction Copyright() {\r\n return (\r\n \r\n {\"© \"}\r\n \r\n emilybarlowwritesthings.com\r\n {\" \"}\r\n {new Date().getFullYear()}\r\n \r\n );\r\n}\r\n\r\nexport default function AppFooter() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n facebook\r\n \r\n \r\n \r\n instagram\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport { Theme, styled } from \"@mui/material/styles\";\r\nimport { SxProps } from \"@mui/system\";\r\nimport Container from \"@mui/material/Container\";\r\nimport Box from \"@mui/material/Box\";\r\n\r\nconst ProductHeroLayoutRoot = styled(\"section\")(({ theme }) => ({\r\n color: theme.palette.common.white,\r\n position: \"relative\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n height: \"80vh\",\r\n minHeight: 500,\r\n maxHeight: 1300,\r\n },\r\n}));\r\n\r\nconst Background = styled(Box)({\r\n position: \"absolute\",\r\n left: 0,\r\n right: 0,\r\n top: 0,\r\n bottom: 0,\r\n backgroundSize: \"cover\",\r\n backgroundRepeat: \"no-repeat\",\r\n zIndex: -2,\r\n});\r\n\r\ninterface ProductHeroLayoutProps {\r\n sxBackground: SxProps;\r\n}\r\n\r\nexport default function ProductHeroLayout(\r\n props: React.HTMLAttributes & ProductHeroLayoutProps\r\n) {\r\n const { sxBackground, children } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport { experimentalStyled as styled } from \"@mui/material/styles\";\r\nimport MuiButton, { ButtonProps } from \"@mui/material/Button\";\r\n\r\nconst ButtonRoot = styled(MuiButton)(({ theme, size }) => ({\r\n borderRadius: 0,\r\n fontWeight: theme.typography.fontWeightMedium,\r\n fontFamily: theme.typography.h1.fontFamily,\r\n padding: theme.spacing(2, 4),\r\n fontSize: theme.typography.pxToRem(14),\r\n boxShadow: \"none\",\r\n \"&:active, &:focus\": {\r\n boxShadow: \"none\",\r\n },\r\n ...(size === \"small\" && {\r\n padding: theme.spacing(1, 3),\r\n fontSize: theme.typography.pxToRem(13),\r\n }),\r\n ...(size === \"large\" && {\r\n padding: theme.spacing(2, 5),\r\n fontSize: theme.typography.pxToRem(16),\r\n }),\r\n}));\r\n\r\n// See https://mui.com/guides/typescript/#usage-of-component-prop for why the types uses `C`.\r\nfunction Button(\r\n props: ButtonProps\r\n) {\r\n return ;\r\n}\r\n\r\nexport default Button;\r\n","import * as React from \"react\";\r\nimport { useState } from \"react\";\r\nimport { Dialog } from \"@mui/material\";\r\nimport IconButton from '@mui/material/IconButton';\r\nimport CloseIcon from '@mui/icons-material/Close';\r\nimport Typography from \"../components/Typography\";\r\nimport ProductHeroLayout from \"./ProductHeroLayout\";\r\nimport Button from \"../components/Button\";\r\n\r\nconst backgroundImage =\r\n \"/website_background_involuntarily_immortal.png\";\r\n\r\nexport default function ProductHero() {\r\n\r\n const [open, setOpen] = useState(false);\r\n\r\n const handleOpen = () => {\r\n if (!open)\r\n setOpen(true);\r\n else\r\n setOpen(false);\r\n };\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n {/* Increase the network loading priority of the background image. */}\r\n \r\n \r\n theme.palette.grey[500],\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n Emily Barlow\r\n \r\n \r\n Author of fantasy and speculative fiction\r\n \r\n \r\n sign up for my newsletter\r\n \r\n \r\n \r\n Get a free short story just for signing up! Stay up to date with new releases and projects and get access \r\n to exclusive content just for subscribers.\r\n \r\n \r\n \r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport { Theme, styled } from \"@mui/material/styles\";\r\nimport { SxProps } from \"@mui/system\";\r\nimport Container from \"@mui/material/Container\";\r\nimport Box from \"@mui/material/Box\";\r\n\r\nconst ProductHeroLayoutComingSoonRoot = styled(\"section\")(({ theme }) => ({\r\n color: theme.palette.common.white,\r\n position: \"relative\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n height: \"120vh\",\r\n minHeight: 500,\r\n maxHeight: 1300,\r\n },\r\n}));\r\n\r\nconst Background = styled(Box)({\r\n position: \"absolute\",\r\n left: 0,\r\n right: 0,\r\n top: 0,\r\n bottom: 0,\r\n backgroundSize: \"cover\",\r\n backgroundRepeat: \"no-repeat\",\r\n zIndex: -2,\r\n});\r\n\r\ninterface ProductHeroLayoutComingSoonProps {\r\n sxBackground: SxProps;\r\n}\r\n\r\nexport default function ProductHeroLayoutComingSoon(\r\n props: React.HTMLAttributes & ProductHeroLayoutComingSoonProps\r\n) {\r\n const { sxBackground, children } = props;\r\n\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport Typography from \"../components/Typography\";\r\nimport { Box } from \"@mui/material\";\r\nimport ProductHeroLayoutComingSoon from \"./ProductHeroLayoutComingSoon\";\r\nimport Button from \"../components/Button\";\r\n\r\nconst backgroundImage =\r\n \"/smoke_mountains_background.png\";\r\n\r\nexport default function ProductHeroComingSoon() {\r\n\r\n return (\r\n \r\n {/* Increase the network loading priority of the background image. */}\r\n \r\n \r\n New Release\r\n \r\n \r\n \r\n Sable Montgrief wishes her curse would let her die. Unfortunately for her, fate has other plans.\r\n \r\n \r\n Living alone in a cabin for decades, Sable has done her best to break the spell cast on her that\r\n has extended her life for centuries. She never wanted immortality; in fact, she’s spent the\r\n majority of her long life trying to end it. Her latest attempt has her so close to breaking free she\r\n can taste it...until someone breaks down her door to find her.\r\n \r\n \r\n Adem Ozturk is looking for someone to help his daughter, Ailith, who is plagued with visions of the future she can \r\n neither manage nor interpret. They’re on the run from an unknown organization with unlimited reach and are up against a \r\n wall–until Adem’s wife sends a message to Ailith from beyond the grave, sending them to find Sable and recruit her to \r\n their cause. If they can convince her to help they may be able to not only save Ailith, but prevent a global cataclysm. \r\n The cost? Another lifetime of torturous existence for Sable.\r\n \r\n \r\n If they fail, she'll be trapped in eternal torment; if they succeed, she'll still lose everything she loves.\r\n \r\n \r\n Order on Amazon\r\n
or Read on Kindle Unlimited\r\n \r\n \r\n \r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport MuiAppBar, { AppBarProps } from \"@mui/material/AppBar\";\r\n\r\nfunction AppBar(props: AppBarProps) {\r\n return ;\r\n}\r\n\r\nexport default AppBar;\r\n","import { styled } from \"@mui/material/styles\";\r\nimport MuiToolbar from \"@mui/material/Toolbar\";\r\n\r\nconst Toolbar = styled(MuiToolbar)(({ theme }) => ({\r\n height: 64,\r\n [theme.breakpoints.up(\"sm\")]: {\r\n height: 70,\r\n },\r\n}));\r\n\r\nexport default Toolbar;\r\n","import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Link from \"@mui/material/Link\";\r\nimport AppBar from \"../components/AppBar\";\r\nimport Toolbar from \"../components/Toolbar\";\r\nimport FacebookIcon from '@mui/icons-material/Facebook';\r\nimport { Instagram } from '@mui/icons-material';\r\n\r\nconst rightLink = {\r\n fontSize: 16,\r\n color: \"common.white\",\r\n ml: 3,\r\n};\r\n\r\nfunction AppAppBar() {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {\"About\"}\r\n \r\n \r\n {\"Books\"}\r\n \r\n \r\n \r\n facebook\r\n \r\n \r\n \r\n instagram\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default AppAppBar;\r\n","import { createTheme } from \"@mui/material/styles\";\r\nimport { green, grey, red } from \"@mui/material/colors\";\r\n\r\nconst rawTheme = createTheme({\r\n palette: {\r\n primary: {\r\n light: \"#69696a\",\r\n main: \"#28282a\",\r\n dark: \"#1e1e1f\",\r\n },\r\n secondary: {\r\n light: \"#fff5f8\",\r\n main: \"#ff3366\",\r\n dark: \"#e62958\",\r\n },\r\n warning: {\r\n main: \"#ffc071\",\r\n dark: \"#ffb25e\",\r\n },\r\n error: {\r\n light: red[50],\r\n main: red[500],\r\n dark: red[700],\r\n },\r\n success: {\r\n light: green[50],\r\n main: green[500],\r\n dark: green[700],\r\n },\r\n },\r\n typography: {\r\n fontFamily: \"'Work Sans', sans-serif\",\r\n fontSize: 14,\r\n fontWeightLight: 300, // Work Sans\r\n fontWeightRegular: 400, // Work Sans\r\n fontWeightMedium: 700, // Roboto Condensed\r\n },\r\n});\r\n\r\nconst fontHeader = {\r\n color: rawTheme.palette.text.primary,\r\n fontWeight: rawTheme.typography.fontWeightMedium,\r\n fontFamily: \"'Roboto Condensed', sans-serif\",\r\n textTransform: \"uppercase\",\r\n};\r\n\r\nconst theme = {\r\n ...rawTheme,\r\n palette: {\r\n ...rawTheme.palette,\r\n background: {\r\n ...rawTheme.palette.background,\r\n default: rawTheme.palette.common.white,\r\n placeholder: grey[200],\r\n },\r\n },\r\n typography: {\r\n ...rawTheme.typography,\r\n fontHeader,\r\n h1: {\r\n ...rawTheme.typography.h1,\r\n ...fontHeader,\r\n letterSpacing: 0,\r\n fontSize: 60,\r\n },\r\n h2: {\r\n ...rawTheme.typography.h2,\r\n ...fontHeader,\r\n fontSize: 48,\r\n },\r\n h3: {\r\n ...rawTheme.typography.h3,\r\n ...fontHeader,\r\n fontSize: 42,\r\n },\r\n h4: {\r\n ...rawTheme.typography.h4,\r\n ...fontHeader,\r\n fontSize: 36,\r\n },\r\n h5: {\r\n ...rawTheme.typography.h5,\r\n fontSize: 20,\r\n fontWeight: rawTheme.typography.fontWeightLight,\r\n },\r\n h6: {\r\n ...rawTheme.typography.h6,\r\n ...fontHeader,\r\n fontSize: 18,\r\n },\r\n subtitle1: {\r\n ...rawTheme.typography.subtitle1,\r\n fontSize: 18,\r\n },\r\n body1: {\r\n ...rawTheme.typography.body2,\r\n fontWeight: rawTheme.typography.fontWeightBold,\r\n fontSize: 16,\r\n },\r\n body2: {\r\n ...rawTheme.typography.body1,\r\n fontSize: 14,\r\n },\r\n },\r\n};\r\n\r\nexport default theme;\r\n","import * as React from \"react\";\r\nimport { ThemeProvider } from \"@mui/material/styles\";\r\nimport CssBaseline from \"@mui/material/CssBaseline\";\r\nimport theme from \"./theme\";\r\n\r\nexport default function withRoot

(Component: React.ComponentType

) {\r\n function WithRoot(props: P) {\r\n return (\r\n \r\n {/* CssBaseline kickstart an elegant, consistent, and simple baseline to build upon. */}\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return WithRoot;\r\n}\r\n","import * as React from \"react\";\r\nimport { Theme, styled } from \"@mui/material/styles\";\r\nimport { SxProps } from \"@mui/system\";\r\nimport Container from \"@mui/material/Container\";\r\nimport Box from \"@mui/material/Box\";\r\n\r\nconst ProductHeroLayoutBooksRoot = styled(\"section\")(({ theme }) => ({\r\n color: theme.palette.common.white,\r\n position: \"relative\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n height: \"120vh\",\r\n minHeight: 500,\r\n maxHeight: 1300,\r\n },\r\n}));\r\n\r\nconst Background = styled(Box)({\r\n position: \"absolute\",\r\n left: 0,\r\n right: 0,\r\n top: 0,\r\n bottom: 0,\r\n backgroundSize: \"cover\",\r\n backgroundRepeat: \"no-repeat\",\r\n zIndex: -2,\r\n});\r\n\r\ninterface ProductHeroLayoutBooksProps {\r\n sxBackground: SxProps;\r\n}\r\n\r\nexport default function ProductHeroLayoutBooks(\r\n props: React.HTMLAttributes & ProductHeroLayoutBooksProps\r\n) {\r\n const { sxBackground, children } = props;\r\n\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport Typography from \"../components/Typography\";\r\nimport { Box, Grid } from \"@mui/material\";\r\nimport ProductHeroLayoutBooks from \"./ProductHeroLayoutBooks\";\r\nimport Button from \"../components/Button\";\r\n\r\nconst backgroundImage =\r\n \"/books_section_background.png\";\r\n\r\nexport default function ProductHeroBooks() {\r\n\r\n return (\r\n \r\n {/* Increase the network loading priority of the background image. */}\r\n \r\n \r\n Books\r\n \r\n \r\n \r\n \r\n \r\n Glorya is a sunchaser, someone born with the ability to bend the weather to their will. \r\n She has spent the last five years of her life training, honing her body, her ability, \r\n and her mind in an attempt to become the most effective weatherworker the world has ever seen--but \r\n will it be enough? Or will the raw power of nature defeat her before she has a chance to prove herself?\r\n \r\n \r\n Sunchaser follows Glorya as she struggles against the vagaries of both nature and humanity in her quest \r\n for independence. Traveling from port to port, she pays for her passage by ensuring smooth sailing on the \r\n journey, but her skill is tested time and again as she faces ever-greater natural threats. Her insular \r\n upbringing on a small, inland farm has left her with little exposure to the world at large--a world full \r\n of new experiences that she now must navigate entirely on her own.\r\n \r\n \r\n Order on Amazon
\r\n or Read on Kindle Unlimited\r\n \r\n
\r\n \r\n \r\n \r\n An ailing king. Three possible successors to the throne. \r\n A small kingdom without defenses. Will it survive? Or will internal turmoil be its undoing?\r\n \r\n \r\n King Hrafn is ill, wasting away before the people of his kingdom. His three children are triplets, \r\n leaving no clear successor to the throne. Each child is secretly gifted with an affinity for a particular \r\n animal that helps them maintain the peace within their homeland, but none of them know why or how best to use it. \r\n Follow Asbjorn, Audolf, and Ambjorg as they strive to find their own path and maintain the peace their \r\n parents built for their kingdom--all while defending it from threats from within.\r\n \r\n \r\n Order on Amazon\r\n
or Read on Kindle Unlimited\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport { Theme, styled } from \"@mui/material/styles\";\r\nimport { SxProps } from \"@mui/system\";\r\nimport Container from \"@mui/material/Container\";\r\nimport Box from \"@mui/material/Box\";\r\n\r\nconst ProductHeroLayoutAboutRoot = styled(\"section\")(({ theme }) => ({\r\n color: theme.palette.common.white,\r\n position: \"relative\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n [theme.breakpoints.up(\"sm\")]: {\r\n height: \"100vh\",\r\n minHeight: 500,\r\n maxHeight: 1300,\r\n },\r\n}));\r\n\r\nconst Background = styled(Box)({\r\n position: \"absolute\",\r\n left: 0,\r\n right: 0,\r\n top: 0,\r\n bottom: 0,\r\n backgroundSize: \"cover\",\r\n backgroundRepeat: \"no-repeat\",\r\n zIndex: -2,\r\n});\r\n\r\ninterface ProductHeroLayoutAboutProps {\r\n sxBackground: SxProps;\r\n}\r\n\r\nexport default function ProductHeroLayoutAbout(\r\n props: React.HTMLAttributes & ProductHeroLayoutAboutProps\r\n) {\r\n const { sxBackground, children } = props;\r\n\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport Typography from \"../components/Typography\";\r\nimport { Box } from \"@mui/material\";\r\nimport ProductHeroLayoutAbout from \"./ProductHeroLayoutAbout\";\r\nimport Button from \"../components/Button\";\r\n\r\nconst backgroundImage =\r\n \"/about_me_background.png\";\r\n\r\nexport default function ProductHeroAbout() {\r\n \r\n return (\r\n \r\n {/* Increase the network loading priority of the background image. */}\r\n \r\n \r\n \r\n About the Author\r\n \r\n \r\n A software architect by day, Emily enjoys reading, writing, knitting, crocheting, \r\n sewing, running, and learning martial arts with her family in her spare time. She is \r\n supported by her longtime husband and two wonderful children, who endure her eccentricities with enthusiasm.\r\n \r\n Her published works include The Raven's Children, a standalone fantasy novel set in an alt-Norse world,\r\n and Sunchaser, an introductory fantasy novella set in a world to which the author will return in 2024.\r\n \r\n Emily's next novel, Involuntarily Immortal, will release in early December 2023 (see \"Coming Soon\" section for updates).\r\n \r\n \r\n Amazon author page\r\n \r\n \r\n Circle of Origin blog\r\n \r\n \r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport AppFooter from \"./modules/views/AppFooter\";\r\nimport ProductHero from \"./modules/views/ProductHero\";\r\nimport ProductHeroComingSoon from \"./modules/views/ProductHeroComingSoon\";\r\nimport AppAppBar from \"./modules/views/AppAppBar\";\r\nimport withRoot from \"./modules/withRoot\";\r\nimport ProductHeroBooks from \"./modules/views/ProductHeroBooks\";\r\nimport ProductHeroAbout from \"./modules/views/ProductHeroAbout\";\r\n\r\nfunction Index() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default withRoot(Index);\r\n","import * as React from \"react\";\r\nimport ReactMarkdown from \"markdown-to-jsx\";\r\nimport { Theme } from \"@mui/material/styles\";\r\nimport { withStyles, WithStyles } from \"@mui/styles\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport Link from \"@mui/material/Link\";\r\n\r\nconst styles = (theme: Theme) => ({\r\n listItem: {\r\n marginTop: theme.spacing(1),\r\n },\r\n});\r\n\r\nconst options = {\r\n overrides: {\r\n h1: {\r\n component: Typography,\r\n props: {\r\n gutterBottom: true,\r\n variant: \"h4\",\r\n },\r\n },\r\n h2: {\r\n component: Typography,\r\n props: { gutterBottom: true, variant: \"h6\" },\r\n },\r\n h3: {\r\n component: Typography,\r\n props: { gutterBottom: true, variant: \"subtitle1\" },\r\n },\r\n h4: {\r\n component: Typography,\r\n props: {\r\n gutterBottom: true,\r\n variant: \"caption\",\r\n paragraph: true,\r\n },\r\n },\r\n p: {\r\n component: Typography,\r\n props: { paragraph: true },\r\n },\r\n a: { component: Link },\r\n li: {\r\n component: withStyles(styles)((props: WithStyles) => {\r\n const { classes, ...other } = props;\r\n return (\r\n

  • \r\n \r\n
  • \r\n );\r\n }),\r\n },\r\n },\r\n};\r\n\r\nexport default function Markdown(props: any) {\r\n return ;\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Container from \"@mui/material/Container\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Markdown from \"./modules/components/Markdown\";\r\nimport Typography from \"./modules/components/Typography\";\r\nimport AppAppBar from \"./modules/views/AppAppBar\";\r\nimport AppFooter from \"./modules/views/AppFooter\";\r\nimport withRoot from \"./modules/withRoot\";\r\n\r\nfunction Privacy() {\r\n const [markdown, setMarkdown] = useState(\"\");\r\n\r\n // https://github.com/webpack/webpack/issues/6680\r\n useEffect(() => {\r\n import(\"./modules/views/privacy.md\")\r\n .then((content) => fetch(content.default))\r\n .then((response) => response.text())\r\n .then((responseText) => setMarkdown(responseText));\r\n });\r\n\r\n if (!markdown) {\r\n return
    ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Privacy\r\n \r\n {markdown}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default withRoot(Privacy);\r\n","import * as React from \"react\";\r\nimport MuiPaper, { PaperProps } from \"@mui/material/Paper\";\r\nimport { styled } from \"@mui/material/styles\";\r\n\r\ninterface ExtraPaperProps {\r\n background: \"light\" | \"main\" | \"dark\";\r\n padding?: boolean;\r\n}\r\n\r\nconst PaperRoot = styled(MuiPaper, {\r\n shouldForwardProp: (prop) => prop !== \"background\" && prop !== \"padding\",\r\n})(({ theme, background, padding }) => ({\r\n backgroundColor: theme.palette.secondary[background],\r\n ...(padding && {\r\n padding: theme.spacing(1),\r\n }),\r\n}));\r\n\r\nexport default function Paper(props: PaperProps & ExtraPaperProps) {\r\n const { background, classes, className, padding = false, ...other } = props;\r\n\r\n return (\r\n \r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport Container from \"@mui/material/Container\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Paper from \"../components/Paper\";\r\n\r\nexport default function AppForm(props: React.HTMLAttributes) {\r\n const { children } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","/**\r\n * This is a simplified logic.\r\n * Consider using `import isEmail from 'validator/lib/isEmail'` from\r\n * https://github.com/validatorjs/validator.js/blob/7376945b4ce028b65955ae57b8fccbbf3fe58467/src/lib/isEmail.js\r\n * for a more robust version.\r\n */\r\nfunction isEmail(string: string) {\r\n const re =\r\n /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@(([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{2,})$/i;\r\n return re.test(string);\r\n}\r\n\r\nexport function email(value: string) {\r\n return value && !isEmail(value.trim()) ? \"Invalid email\" : null;\r\n}\r\n\r\nfunction isDirty(value: string | number) {\r\n return value || value === 0;\r\n}\r\n\r\nexport function required(\r\n requiredFields: readonly string[],\r\n values: Record\r\n): Record {\r\n return requiredFields.reduce(\r\n (fields, field) => ({\r\n ...fields,\r\n ...(isDirty(values[field]) ? undefined : { [field]: \"Required\" }),\r\n }),\r\n {}\r\n );\r\n}\r\n","import * as React from \"react\";\r\nimport clsx from \"clsx\";\r\nimport { withStyles, WithStyles } from \"@mui/styles\";\r\nimport MuiTextField, {\r\n FilledTextFieldProps,\r\n StandardTextFieldProps,\r\n} from \"@mui/material/TextField\";\r\n\r\nconst inputStyleMapping = {\r\n small: \"inputSizeSmall\",\r\n medium: \"inputSizeMedium\",\r\n large: \"inputSizeLarge\",\r\n xlarge: \"inputSizeXlarge\",\r\n};\r\n\r\nconst styles = (theme: any) => ({\r\n root: {\r\n padding: 0,\r\n \"label + &\": {\r\n marginTop: theme.spacing(3),\r\n },\r\n },\r\n input: {\r\n minWidth: theme.spacing(6),\r\n backgroundColor: theme.palette.common.white,\r\n \"&$disabled\": {\r\n backgroundColor: theme.palette.divider,\r\n },\r\n },\r\n inputBorder: {\r\n border: \"1px solid #e9ddd0\",\r\n \"&:focus\": {\r\n borderColor: theme.palette.secondary.main,\r\n },\r\n },\r\n disabled: {},\r\n [inputStyleMapping.small]: {\r\n fontSize: 14,\r\n padding: theme.spacing(1),\r\n width: `calc(100% - ${theme.spacing(2)})`,\r\n },\r\n [inputStyleMapping.medium]: {\r\n fontSize: 16,\r\n padding: theme.spacing(2),\r\n width: `calc(100% - ${theme.spacing(4)})`,\r\n },\r\n [inputStyleMapping.large]: {\r\n fontSize: 18,\r\n padding: 20,\r\n width: `calc(100% - ${20 * 2}px)`,\r\n },\r\n [inputStyleMapping.xlarge]: {\r\n fontSize: 20,\r\n padding: 25,\r\n width: `calc(100% - ${25 * 2}px)`,\r\n },\r\n formLabel: {\r\n fontSize: 18,\r\n },\r\n select: {\r\n height: \"auto\",\r\n borderRadius: 0,\r\n },\r\n selectIcon: {\r\n top: \"50%\",\r\n marginTop: -12,\r\n },\r\n});\r\n\r\nexport interface OnePirateTextFieldProps\r\n extends Omit {\r\n noBorder?: boolean;\r\n size?: \"small\" | \"medium\" | \"large\" | \"xlarge\";\r\n}\r\n\r\nfunction TextField(props: OnePirateTextFieldProps & WithStyles) {\r\n const {\r\n classes,\r\n InputProps = {},\r\n InputLabelProps,\r\n noBorder,\r\n size = \"medium\",\r\n SelectProps,\r\n ...other\r\n } = props;\r\n\r\n const {\r\n classes: { input: InputPropsClassesInput, ...InputPropsClassesOther } = {},\r\n ...InputPropsOther\r\n } = InputProps;\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default withStyles(styles)(TextField);\r\n","import * as React from \"react\";\r\nimport { FieldRenderProps } from \"react-final-form\";\r\nimport TextField, { OnePirateTextFieldProps } from \"../components/TextField\";\r\n\r\nfunction RFTextField(\r\n props: OnePirateTextFieldProps & FieldRenderProps\r\n) {\r\n const {\r\n autoComplete,\r\n input,\r\n InputProps,\r\n meta: { touched, error, submitError },\r\n ...other\r\n } = props;\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default RFTextField;\r\n","import * as React from \"react\";\r\nimport { ButtonProps } from \"@mui/material\";\r\nimport Button from \"../components/Button\";\r\nimport defer from \"./defer\";\r\n\r\ninterface FormButtonProps {\r\n disabled?: boolean;\r\n mounted?: boolean;\r\n}\r\n\r\nfunction FormButton(props: FormButtonProps & ButtonProps) {\r\n const { disabled, mounted, ...others } = props;\r\n return (\r\n \r\n );\r\n}\r\nexport default defer(FormButton);\r\n","import * as React from \"react\";\r\n\r\nexport default function defer

    (Component: React.ComponentType

    ) {\r\n const Defer = (props: P) => {\r\n const [mounted, setMounted] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n setMounted(true);\r\n }, []);\r\n\r\n return ;\r\n };\r\n\r\n return Defer;\r\n}\r\n","import * as React from \"react\";\r\nimport { experimentalStyled as styled } from \"@mui/material/styles\";\r\nimport Box, { BoxProps as MuiBoxProps } from \"@mui/material/Box\";\r\nimport Typography from \"../components/Typography\";\r\n\r\ninterface FormFeedbackProps extends MuiBoxProps {\r\n error?: boolean;\r\n success?: boolean;\r\n}\r\n\r\nconst BoxStyled = styled(Box, {\r\n shouldForwardProp: (prop) => prop !== \"error\" && prop !== \"success\",\r\n})(({ theme, error, success }) => ({\r\n padding: theme.spacing(2),\r\n ...(error && {\r\n backgroundColor: theme.palette.error.light,\r\n color: theme.palette.error.dark,\r\n }),\r\n ...(success && {\r\n backgroundColor: theme.palette.success.light,\r\n color: theme.palette.success.dark,\r\n }),\r\n}));\r\n\r\nfunction FormFeedback(\r\n props: React.HTMLAttributes & FormFeedbackProps\r\n) {\r\n const { className, children, error, success, ...others } = props;\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nexport default FormFeedback;\r\n","import * as React from \"react\";\r\nimport { Field, Form, FormSpy } from \"react-final-form\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Link from \"@mui/material/Link\";\r\nimport Typography from \"./modules/components/Typography\";\r\nimport AppFooter from \"./modules/views/AppFooter\";\r\nimport AppAppBar from \"./modules/views/AppAppBar\";\r\nimport AppForm from \"./modules/views/AppForm\";\r\nimport { email, required } from \"./modules/form/validation\";\r\nimport RFTextField from \"./modules/form/RFTextField\";\r\nimport FormButton from \"./modules/form/FormButton\";\r\nimport FormFeedback from \"./modules/form/FormFeedback\";\r\nimport withRoot from \"./modules/withRoot\";\r\nimport { Link as RouterLink } from \"react-router-dom\";\r\n\r\nfunction SignIn() {\r\n const [sent, setSent] = React.useState(false);\r\n\r\n const validate = (values: { [index: string]: string }) => {\r\n const errors = required([\"email\", \"password\"], values);\r\n\r\n if (!errors.email) {\r\n const emailError = email(values.email);\r\n if (emailError) {\r\n errors.email = emailError;\r\n }\r\n }\r\n\r\n return errors;\r\n };\r\n\r\n const handleSubmit = () => {\r\n setSent(true);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Sign In\r\n \r\n \r\n {\"Not a member yet? \"}\r\n \r\n Sign Up here\r\n \r\n \r\n \r\n \r\n {({ handleSubmit: handleSubmit2, submitting }) => (\r\n \r\n \r\n \r\n \r\n {({ submitError }) =>\r\n submitError ? (\r\n \r\n {submitError}\r\n \r\n ) : null\r\n }\r\n \r\n \r\n {submitting || sent ? \"In progress…\" : \"Sign In\"}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n Forgot password?\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default withRoot(SignIn);\r\n","import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Grid from \"@mui/material/Grid\";\r\nimport Link from \"@mui/material/Link\";\r\nimport { Field, Form, FormSpy } from \"react-final-form\";\r\nimport Typography from \"./modules/components/Typography\";\r\nimport AppFooter from \"./modules/views/AppFooter\";\r\nimport AppAppBar from \"./modules/views/AppAppBar\";\r\nimport AppForm from \"./modules/views/AppForm\";\r\nimport { email, required } from \"./modules/form/validation\";\r\nimport RFTextField from \"./modules/form/RFTextField\";\r\nimport FormButton from \"./modules/form/FormButton\";\r\nimport FormFeedback from \"./modules/form/FormFeedback\";\r\nimport withRoot from \"./modules/withRoot\";\r\nimport { Link as RouterLink } from \"react-router-dom\";\r\n\r\nfunction SignUp() {\r\n const [sent, setSent] = React.useState(false);\r\n\r\n const validate = (values: { [index: string]: string }) => {\r\n const errors = required(\r\n [\"firstName\", \"lastName\", \"email\", \"password\"],\r\n values\r\n );\r\n\r\n if (!errors.email) {\r\n const emailError = email(values.email);\r\n if (emailError) {\r\n errors.email = emailError;\r\n }\r\n }\r\n\r\n return errors;\r\n };\r\n\r\n const handleSubmit = () => {\r\n setSent(true);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Sign Up\r\n \r\n \r\n \r\n Already have an account?\r\n \r\n \r\n \r\n \r\n {({ handleSubmit: handleSubmit2, submitting }) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {({ submitError }) =>\r\n submitError ? (\r\n \r\n {submitError}\r\n \r\n ) : null\r\n }\r\n \r\n \r\n {submitting || sent ? \"In progress…\" : \"Sign Up\"}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default withRoot(SignUp);\r\n","import * as React from \"react\";\r\nimport { Field, Form, FormSpy } from \"react-final-form\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"./modules/components/Typography\";\r\nimport AppFooter from \"./modules/views/AppFooter\";\r\nimport AppAppBar from \"./modules/views/AppAppBar\";\r\nimport AppForm from \"./modules/views/AppForm\";\r\nimport { email, required } from \"./modules/form/validation\";\r\nimport RFTextField from \"./modules/form/RFTextField\";\r\nimport FormButton from \"./modules/form/FormButton\";\r\nimport FormFeedback from \"./modules/form/FormFeedback\";\r\nimport withRoot from \"./modules/withRoot\";\r\n\r\nfunction ForgotPassword() {\r\n const [sent, setSent] = React.useState(false);\r\n\r\n const validate = (values: { [index: string]: string }) => {\r\n const errors = required([\"email\"], values);\r\n\r\n if (!errors.email) {\r\n const emailError = email(values.email);\r\n if (emailError) {\r\n errors.email = emailError;\r\n }\r\n }\r\n\r\n return errors;\r\n };\r\n\r\n const handleSubmit = () => {\r\n setSent(true);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Forgot your password?\r\n \r\n \r\n {\"Enter your email address below and we'll \" +\r\n \"send you a link to reset your password.\"}\r\n \r\n \r\n \r\n {({ handleSubmit: handleSubmit2, submitting }) => (\r\n \r\n \r\n \r\n {({ submitError }) =>\r\n submitError ? (\r\n \r\n {submitError}\r\n \r\n ) : null\r\n }\r\n \r\n \r\n {submitting || sent ? \"In progress…\" : \"Send reset link\"}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default withRoot(ForgotPassword);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Container from \"@mui/material/Container\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Markdown from \"./modules/components/Markdown\";\r\nimport Typography from \"./modules/components/Typography\";\r\nimport AppAppBar from \"./modules/views/AppAppBar\";\r\nimport AppFooter from \"./modules/views/AppFooter\";\r\nimport withRoot from \"./modules/withRoot\";\r\n\r\nfunction Terms() {\r\n const [markdown, setMarkdown] = useState(\"\");\r\n\r\n // https://github.com/webpack/webpack/issues/6680\r\n useEffect(() => {\r\n import(\"./modules/views/terms.md\")\r\n .then((content) => fetch(content.default))\r\n .then((response) => response.text())\r\n .then((responseText) => setMarkdown(responseText));\r\n });\r\n\r\n if (!markdown) {\r\n return

    ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Terms\r\n \r\n {markdown}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default withRoot(Terms);\r\n","import React from \"react\";\r\nimport \"./App.css\";\r\nimport Home from \"./onepirate/Home\";\r\nimport { BrowserRouter as Router, Switch, Route } from \"react-router-dom\";\r\nimport Privacy from \"./onepirate/Privacy\";\r\nimport SignIn from \"./onepirate/SignIn\";\r\nimport SignUp from \"./onepirate/SignUp\";\r\nimport ForgotPassword from \"./onepirate/ForgotPassword\";\r\nimport Terms from \"./onepirate/Terms\";\r\n\r\nfunction App() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' },\r\n })\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport \"./index.css\";\r\nimport App from \"./App\";\r\nimport * as serviceWorker from \"./serviceWorker\";\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}