Skip to content

Commit 4f4184d

Browse files
committed
🤡 conflitcs
2 parents e2b4626 + 7e455d1 commit 4f4184d

File tree

11 files changed

+104
-23
lines changed

11 files changed

+104
-23
lines changed

.eslintrc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
"parserOptions": {
44
"sourceType": "module"
55
},
6-
"plugins": ["prettier", "svelte3"],
7-
"extends": ["prettier"],
8-
"rules": {
9-
"prettier/prettier": "error"
10-
}
11-
}
6+
"plugins": [
7+
"svelte3"
8+
],
9+
"extends": [],
10+
"rules": {}
11+
}

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
22
"editor.formatOnSave": true,
3+
"eslint.autoFixOnSave": true,
34
"files.associations": {
45
".huskyrc": "json",
56
".lintstagedrc": "json"
67
}
7-
}
8+
}

src/client.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import * as sapper from '@sapper/app'
1+
import { start, goto, prefetch, prefetchRoutes } from '@sapper/app'
22

3-
sapper.start({
3+
start({
44
target: document.querySelector('#sapper'),
55
})
6+

src/components/ErrorCollab.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script>
2-
export let content = 'No content'
2+
export let content = ''
33
</script>
44

55
<style>

src/components/FieldCollab.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
export let minlength = ''
1313
export let maxlength = ''
1414
export let pattern = '.*'
15+
export let messageError = ''
16+
export let invalid = false
1517
export let onInput
16-
let invalid = false
17-
let messageError = ''
1818
1919
let defaultMessageError = []
2020
defaultMessageError['required'] = 'Campo obrigatório'

src/config/api.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,7 @@ import axios from 'axios'
33
export default axios.create({
44
baseURL: process.env.BASE_URL,
55
})
6+
7+
api.interceptors.response.use(response => response, error => error.response)
8+
9+
export default api

src/containers/FormLogin.svelte

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,28 @@
11
<script>
2+
import { goto } from '@sapper/app'
3+
import UserService from '../services/user.service'
24
import FieldCollab from '../components/FieldCollab.svelte'
35
import ButtonCollab from '../components/ButtonCollab.svelte'
46
57
let user = {}
8+
let msgError = { email: '', password: '' }
69
710
function updateUser({ target: { name, value } }) {
811
user = { ...user, [name]: value }
912
}
13+
14+
async function login() {
15+
const {
16+
status,
17+
data: { field, error },
18+
} = await UserService.login(user)
19+
20+
if (status === 200) {
21+
goto('platform/courses')
22+
} else {
23+
msgError = { [field]: error }
24+
}
25+
}
1026
</script>
1127

1228
<style>
@@ -23,13 +39,18 @@
2339
}
2440
</style>
2541

26-
<form class="form-login" on:submit|preventDefault>
42+
<form
43+
action="/platform/courses"
44+
class="form-login"
45+
on:submit|preventDefault={login}>
2746
<FieldCollab
2847
content="Email:"
2948
id="email"
3049
type="email"
3150
name="email"
3251
placeholder="example@gmail.com"
52+
messageError={msgError.email}
53+
invalid={!!msgError.email}
3354
required
3455
onInput={updateUser} />
3556

@@ -40,9 +61,10 @@
4061
name="password"
4162
placeholder="********"
4263
required
64+
messageError={msgError.password}
65+
invalid={!!msgError.password}
4366
minlength="8"
4467
onInput={updateUser} />
4568

4669
<ButtonCollab content="Entrar" />
47-
4870
</form>

src/containers/MenuMobile.svelte

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
import IconCollab from '../components/IconCollab.svelte'
33
export let segment
44
export let menu
5-
6-
console.log('segment', segment)
75
</script>
86

97
<style>
@@ -35,7 +33,10 @@
3533
<ul class="list">
3634
{#each menu as { href, label, icon }}
3735
<li class="option">
38-
<a {href} class={`action ${segment === icon ? '-selected' : ''}`}>
36+
<a
37+
{href}
38+
rel="prefetch"
39+
class={`action ${segment === icon ? '-selected' : ''}`}>
3940
<IconCollab
4041
alt={`Página de ${label}`}
4142
name={icon && icon === segment ? `${icon}-selected` : icon} />

src/routes/platform/_layout.svelte

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
<script>
2+
import { goto } from '@sapper/app'
3+
import { beforeUpdate } from 'svelte'
4+
5+
import UserService from '../../services/user.service'
26
import HeaderCollab from '../../containers/HeaderCollab.svelte'
37
import MenuMobile from '../../containers/MenuMobile.svelte'
48
@@ -10,6 +14,26 @@
1014
{ href: 'platform/profile', label: 'Profile', icon: 'profile' },
1115
{ href: 'platform/alerts', label: 'Alertas', icon: 'alerts' },
1216
]
17+
18+
let showPage = false
19+
20+
async function authorize() {
21+
try {
22+
const { status, data } = await UserService.validate()
23+
24+
if (status !== 200) {
25+
goto('login')
26+
27+
return false
28+
}
29+
30+
showPage = status === 200
31+
} catch (error) {
32+
goto('login')
33+
}
34+
}
35+
36+
beforeUpdate(authorize)
1337
</script>
1438

1539
<style>
@@ -29,8 +53,10 @@
2953
<title>CollabCode Training</title>
3054
</svelte:head>
3155

32-
<main class="layout">
33-
<HeaderCollab />
34-
<slot />
35-
<MenuMobile {segment} {menu} />
36-
</main>
56+
{#if showPage}
57+
<main class="layout">
58+
<HeaderCollab />
59+
<slot />
60+
<MenuMobile {segment} {menu} />
61+
</main>
62+
{/if}

src/routes/platform/courses.svelte

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
<script context="module">
2+
import UserService from '../../services/user.service'
3+
4+
export async function preload() {}
5+
</script>
6+
17
<script>
28
import TitleCollab from '../../components/TitleCollab.svelte'
39
</script>

0 commit comments

Comments
 (0)