{"version":3,"sources":["webpack:///./src/components/common/InputButton.jsx","webpack:///./src/components/layout/Input.jsx","webpack:///./src/pages/login/reset/index.js","webpack:///./src/components/seo.js"],"names":["_Button","styled","input","props","theme","default","fonts","family","width","primary","colors","secondary","mediumGrey","InputButton","label","onChange","value","name","required","onClick","type","sendEvent","useContext","AppContext","e","_onClick","_e","defaultProps","_Input","Input","autoComplete","Container","div","Form","form","InputTitle","InputGroup","Inputs","Title","h2","SuccessMessage","span","Error","_Loading","Loading","Login","dispatch","useState","loading","setLoading","error","setError","username","setUsername","sent","setSent","submit","a","preventDefault","process","axios","post","apiUrl","email","console","toUpperCase","title","target","style","display","flexDirection","alignItems","navigate","SEO","description","lang","meta","site","useStaticQuery","metaDescription","siteMetadata","htmlAttributes","titleTemplate","content","property","author","concat"],"mappings":"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","file":"component---src-pages-login-reset-index-js-17cf666a64c781c9c266.js","sourcesContent":["import React from 'react'\nimport styled from 'styled-components'\nimport { useContext } from 'react'\nimport { AppContext } from '../../contexts/AppContext'\n\nconst _Button = styled.input`\n font-family: ${props => props.theme.default.fonts.family};\n padding: 0.6rem !important;\n width: ${props => props.width ?? '8rem !important'};\n height: 1.2rem !important;\n line-height: 0 !important;\n box-sizing: unset !important;\n border-width: 0;\n background-color: ${props => props.primary ? props.theme.default.colors.primary : 'transparent'} !important;\n color: ${props => props.primary ? props.theme.default.colors.secondary : props.theme.default.colors.mediumGrey} !important;\n border-radius: 5px;\n text-transform: uppercase;\n font-weight: 700;\n cursor: pointer;\n -webkit-box-shadow: ${props => props.primary ? `6px 11px 0 #e3e3e3, -6px -6px 11px 0 #ffffff !important` : `none`};\n -moz-box-shadow: ${props => props.primary ? `6px 6px 11px 0 #e3e3e3, -6px -6px 11px 0 #ffffff !important` : `none`};\n box-shadow: ${props => props.primary ? `6px 6px 11px #e3e3e3, -6px -6px 11px #ffffff !important` : `none`};\n font-weight: 600 !important;\n `\n\n\n\nexport default function InputButton({ primary, label, onChange, value, name, required, onClick, type, width }) {\n const { sendEvent } = useContext(AppContext);\n \n const onButtonClick = (_onClick, _label, _e) => {\n sendEvent(\"On Click\", \"Default Button\", _label)\n if(_onClick) _onClick(_e)\n }\n\n return (\n <_Button primary={primary} onClick={(e) => onButtonClick(onClick, label, e)} width={width} name={name} required={required} onChange={onChange} value={value} type={type} />\n )\n}\n\n\nInputButton.defaultProps = {\n primary: \"true\",\n label: \"Clique Aqui\"\n};\n\n","import React from 'react'\nimport styled from 'styled-components'\n\n\nconst _Input = styled.input`\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\n border-width: 0;\n min-width: 15rem;\n max-width: 20rem;\n width: -webkit-fill-available;;\n padding: 12px 20px 12px 20px;\n border-radius: 5px;\n background: #ffffff;\n -webkit-box-shadow: 6px 11px 0 #e3e3e3, \n -6px 11px 0 #ffffff;\n box-shadow: 6px 6px 11px 0 #e3e3e3, \n -6px -6px 11px 0 #ffffff;\n -webkit-appearance: none;\n`\n\nconst Input = ({onChange, value, name, required, onClick, type}) => {\n return (\n <_Input autoComplete={\"on\"} name={name} required={required} onChange={onChange} value={value} onClick={onClick} type={type}/>\n )\n \n}\n\nexport default Input","import React, { useContext } from 'react'\nimport { useState } from 'react';\nimport styled from 'styled-components';\nimport Loading from '../../../components/common/Loading';\nimport Layout from '../../../components/layout';\nimport Input from '../../../components/layout/Input';\nimport { AppContext } from '../../../contexts/AppContext';\nimport axios from 'axios';\nimport { navigate } from 'gatsby-link';\nimport { SET_USER } from '../../../reducers/AppReducer';\nimport InputButton from '../../../components/common/InputButton';\nimport SEO from '../../../components/seo';\nimport { Link } from 'gatsby';\nimport DefaultButton from '../../../components/common/Button';\n\nconst Container = styled.div`\n position: relative;\n top: 20vh;\n`\n\nconst Form = styled.form`\n display: flex;\n margin: 0 auto;\n flex-direction: column;\n max-width: 600px;\n height: 400px;\n justify-content: space-between;\n align-items: center;\n`\n\nconst InputTitle = styled.div`\n font-size: 12pt;\n color: ${props => props.theme.default.colors.mediumGrey};\n margin-bottom: 7px;\n`\n\nconst InputGroup = styled.div`\n`\n\nconst Inputs = styled.div`\n margin-bottom: 20px;\n`\n\nconst Title = styled.h2`\n color: ${props => props.theme.default.colors.primary};\n margin-bottom: 50px;\n`\n\nconst SuccessMessage = styled.span`\n color: ${props => props.theme.default.colors.primary};\n font-weight: 600;\n`\n\nconst Error = styled.div`\n font-weight: 500;\n margin-left: 10px;\n margin-top: 5px;\n display: block;\n color: rgb(255, 85, 85);\n font-size: 8pt;\n`\n\nconst _Loading = styled(Loading)`\n min-height: 50px !important;\n`\n\n\n\nexport default function Login() {\n\n const { dispatch } = useContext(AppContext);\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState(false)\n const [username, setUsername] = useState(\"\")\n const [password, setPassword] = useState(\"\")\n const [sent, setSent] = useState(false)\n\n const submit = async e => {\n\n e.preventDefault();\n const apiUrl = process.env.GATSBY_API_ENDPOINT;\n // const apiUrl = 'http://localhost:5000';\n // const apiUrl = \"https://api-xeu74yuiwq-ue.a.run.app\"\n\n setLoading(true)\n setError(\"\")\n try {\n await axios.post(`${apiUrl}/auth/reset`, {\n email: username, \n })\n setSent(true)\n } catch (e) {\n console.error(\"Login failed\")\n setError(\"Algo falhou ao entrar, se continuar a acontecer contacte-nos em geral@evazenergy.pt\")\n }\n setLoading(false)\n }\n\n return (\n \n {/* */}\n\n \n
\n {'Recuperar Password'.toUpperCase()}\n Insira o seu email para receber um link de recuperação\n \n \n Email\n setUsername(e.target.value)\n }>\n \n \n {loading ? <_Loading /> : sent ? null : submit(e)} value=\"Enviar\"> }\n {error ? {error} : null}\n {sent ?
\n Email de recuperação enviado, verifique o seu email\n \n
: null}\n navigate(\"/account\")} label=\"Voltar\">\n
\n
\n
\n )\n}\n","/**\n * SEO component that queries for data with\n * Gatsby's useStaticQuery React hook\n *\n * See: https://www.gatsbyjs.org/docs/use-static-query/\n */\n\nimport React from \"react\"\nimport PropTypes from \"prop-types\"\nimport { Helmet } from \"react-helmet\"\nimport { useStaticQuery, graphql } from \"gatsby\"\n\nfunction SEO({ description, lang, meta, title }) {\n const { site } = useStaticQuery(\n graphql`\n query {\n site {\n siteMetadata {\n title\n description\n author\n }\n }\n }\n `\n )\n\n const metaDescription = description || site.siteMetadata.description\n\n return (\n \n )\n}\n\nSEO.defaultProps = {\n lang: `en`,\n meta: [],\n description: ``,\n}\n\nSEO.propTypes = {\n description: PropTypes.string,\n lang: PropTypes.string,\n meta: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string.isRequired,\n}\n\nexport default SEO\n"],"sourceRoot":""}