MVP #6.1 #82
92
index.html
92
index.html
|
@ -1,11 +1,13 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi"
|
||||
/>
|
||||
<title>Erant</title>
|
||||
|
||||
<!-- Serviceworker registration -->
|
||||
|
@ -16,51 +18,63 @@
|
|||
</script>
|
||||
|
||||
<!-- Meta Pixel Code -->
|
||||
<script>
|
||||
!function(f,b,e,v,n,t,s)
|
||||
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
||||
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
||||
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
|
||||
n.queue=[];t=b.createElement(e);t.async=!0;
|
||||
t.src=v;s=b.getElementsByTagName(e)[0];
|
||||
s.parentNode.insertBefore(t,s)}(window, document,'script',
|
||||
'https://connect.facebook.net/en_US/fbevents.js');
|
||||
fbq('init', '541491674547104');
|
||||
fbq('track', 'PageView');
|
||||
</script>
|
||||
<noscript><img height="1" width="1" style="display:none"
|
||||
src="https://www.facebook.com/tr?id=541491674547104&ev=PageView&noscript=1"
|
||||
/></noscript>
|
||||
<!-- End Meta Pixel Code -->
|
||||
<script>
|
||||
!(function (f, b, e, v, n, t, s) {
|
||||
if (f.fbq) return
|
||||
n = f.fbq = function () {
|
||||
n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments)
|
||||
}
|
||||
if (!f._fbq) f._fbq = n
|
||||
n.push = n
|
||||
n.loaded = !0
|
||||
n.version = '2.0'
|
||||
n.queue = []
|
||||
t = b.createElement(e)
|
||||
t.async = !0
|
||||
t.src = v
|
||||
s = b.getElementsByTagName(e)[0]
|
||||
s.parentNode.insertBefore(t, s)
|
||||
})(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js')
|
||||
fbq('init', '541491674547104')
|
||||
fbq('track', 'PageView')
|
||||
</script>
|
||||
<noscript><img height="1" width="1" style="display: none" src="https://www.facebook.com/tr?id=541491674547104&ev=PageView&noscript=1" /></noscript>
|
||||
<!-- End Meta Pixel Code -->
|
||||
|
||||
<!-- Google tag (gtag.js) -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-8RCL0H1Q7V"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-8RCL0H1Q7V"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || []
|
||||
function gtag() {
|
||||
dataLayer.push(arguments)
|
||||
}
|
||||
gtag('js', new Date())
|
||||
|
||||
gtag('config', 'G-8RCL0H1Q7V');
|
||||
</script>
|
||||
gtag('config', 'G-8RCL0H1Q7V')
|
||||
</script>
|
||||
|
||||
<!-- Google Tag Manager -->
|
||||
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
||||
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||||
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
||||
})(window,document,'script','dataLayer','GTM-WLHVPKW');</script>
|
||||
<!-- Google Tag Manager -->
|
||||
<script>
|
||||
;(function (w, d, s, l, i) {
|
||||
w[l] = w[l] || []
|
||||
w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' })
|
||||
var f = d.getElementsByTagName(s)[0],
|
||||
j = d.createElement(s),
|
||||
dl = l != 'dataLayer' ? '&l=' + l : ''
|
||||
j.async = true
|
||||
j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl
|
||||
f.parentNode.insertBefore(j, f)
|
||||
})(window, document, 'script', 'dataLayer', 'GTM-WLHVPKW')
|
||||
</script>
|
||||
<!-- End Google Tag Manager -->
|
||||
</head>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<body>
|
||||
<!-- Google Tag Manager (noscript) -->
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WLHVPKW"
|
||||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WLHVPKW" height="0" width="0" style="display: none; visibility: hidden"></iframe></noscript>
|
||||
<!-- End Google Tag Manager (noscript) -->
|
||||
|
||||
<div id="app"></div>
|
||||
<script type="module" src="/src/main.js"></script>
|
||||
</body>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -41,6 +41,11 @@
|
|||
color: white;
|
||||
background-color: rgb(66, 99, 235);
|
||||
|
||||
&.disabled {
|
||||
&:hover {
|
||||
background-color: rgb(107 114 128);
|
||||
}
|
||||
}
|
||||
&:hover {
|
||||
background-color: rgba(66, 99, 235, 0.8);
|
||||
}
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
})
|
||||
})
|
||||
})()*/
|
||||
navigator.geolocation.getCurrentPosition((e) => {}) //at mapbox this is required dont know why
|
||||
//navigator.geolocation.getCurrentPosition((e) => {}) //at mapbox this is required dont know why
|
||||
|
||||
/* if (navigator.geolocation) {
|
||||
navigator.geolocation.watchPosition(showPosition, () => dispatch('locationFailed'))
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
import TopImage from '$lib/svg/Top-Image.svelte'
|
||||
import { Helper } from 'flowbite-svelte'
|
||||
import { getErrorMessage } from '../utils/authorizationErrors'
|
||||
import Button from '$lib/components/Buttons/Button.svelte'
|
||||
|
||||
export let purpose = 'login' //possible values login, register
|
||||
|
||||
|
@ -58,13 +59,13 @@
|
|||
<div class="forgot_password">
|
||||
<a href="/forgot-password">Forgot password?</a>
|
||||
</div>
|
||||
<button class="loginButton" on:click={() => emailLogin()}>
|
||||
<Button class="w-full text-2xl" primary disabled={password.length < 8} on:click={() => emailLogin()}>
|
||||
{#if state === 'loading'}
|
||||
<Loading class="text-white" />
|
||||
{:else}
|
||||
Sign in
|
||||
Log in
|
||||
{/if}
|
||||
</button>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -30,11 +30,14 @@
|
|||
err['code'] = 1001
|
||||
throw err
|
||||
}
|
||||
|
||||
await account.create(ID.unique(), email, password, name)
|
||||
await account.createEmailSession(email, password)
|
||||
await account.createVerification(`${location.origin}/register/emailverification/${erantId}`)
|
||||
state = 'email-sent'
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
|
||||
error = getErrorMessage(err.code)
|
||||
state = 'register'
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ export const errors = {
|
|||
1001: 'Nickname is already taken',
|
||||
409: 'A user with the same email already is in Erant',
|
||||
401: 'Invalid credentials.',
|
||||
400: 'Password must be at least 8 characters.',
|
||||
400: 'Email musts be valid.',
|
||||
}
|
||||
|
||||
export const getErrorMessage = (code: number) => {
|
||||
|
|
Loading…
Reference in New Issue