Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Rede De Mentores
Frontend
Commits
e121f413
Commit
e121f413
authored
Jun 29, 2020
by
johnnyloreano
Browse files
save before merge
parent
6032333c
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/components/RedeHorarioCard/RedeHorarioCard.jsx
View file @
e121f413
...
...
@@ -13,7 +13,7 @@ function RedeHorarioCard({ mentoria }) {
const
[
open
,
setOpen
]
=
React
.
useState
(
false
);
const
[
timeInfo
,
setTimeInfo
]
=
React
.
useState
(
''
);
const
[
dateInfo
,
setDateInfo
]
=
React
.
useState
(
''
);
const
[
mentoriaSelect
,
setMentoriaSelect
]
=
React
.
useState
(
mentoria
);
const
{
enqueueSnackbar
}
=
useSnackbar
();
...
...
@@ -21,11 +21,19 @@ function RedeHorarioCard({ mentoria }) {
enqueueSnackbar
(
msg
,
{
variant
,
autoHideDuration
});
};
const
{
dateTime
}
=
mentoria
;
const
{
dateTime
}
=
mentoria
Select
;
const
sortedTimes
=
dateTime
.
sort
((
dateTimeA
,
dateTimeB
)
=>
dateTimeA
.
dayOfTheMonth
.
split
(
'
/
'
)[
0
]
-
dateTimeB
.
dayOfTheMonth
.
split
(
'
/
'
)[
0
])
.
sort
((
dateTimeA
,
dateTimeB
)
=>
dateTimeA
.
dayOfTheMonth
.
split
(
'
/
'
)[
1
]
-
dateTimeB
.
dayOfTheMonth
.
split
(
'
/
'
)[
1
]);
const
timeInformation
=
sortedTimes
.
map
((
dt
)
=>
{
// Quebra o dia onde tiver a string /, e tira os espaços em branco
let
dayOfTheMonth
=
dt
.
dayOfTheMonth
.
replace
(
/ /g
,
''
).
split
(
'
/
'
);
// Loop dentro da data, se encontrar algum numero com tamanho 1, significa que precisa colocar o 0
// Por ex, mês 8 tem tamanho 1, precisa ficar 08
for
(
let
i
=
0
;
i
<
2
;
i
+=
1
)
if
(
dayOfTheMonth
[
i
].
length
===
1
)
dayOfTheMonth
[
i
]
=
`0
${
dayOfTheMonth
[
i
]}
`
;
// Junta o array, separando por /
dayOfTheMonth
=
dayOfTheMonth
.
join
(
'
/
'
);
// eslint-disable-next-line max-len
const
hours
=
dt
.
times
.
map
((
time
)
=>
(
<
RedeHorarioButton
...
...
@@ -40,10 +48,9 @@ function RedeHorarioCard({ mentoria }) {
/>
));
return
(
<
Details
>
<
Label
>
{
dt
.
dayOfTheMonth
}
</
Label
>
<
Label
>
{
dayOfTheMonth
}
</
Label
>
<
Hours
>
{
hours
}
</
Hours
>
...
...
@@ -52,17 +59,23 @@ function RedeHorarioCard({ mentoria }) {
});
function
onConfirm
(
data
)
{
const
newMentoria
=
{
...
mentoriaSelect
};
newMentoria
.
datetime
.
forEach
(
element
=>
{
console
.
log
(
element
);
});
console
.
log
(
data
.
date
);
// DIA DDO MES ANO DIA
console
.
log
(
data
.
hour
);
// HORARIO DO NEGÓCIO AHAAAAAAAAAAAAAAAA
const
token
=
sessionStorage
.
getItem
(
'
token
'
);
const
headers
=
{
headers
:
{
Authorization
:
`Bearer
${
token
}
`
}
};
marcarMentoria
(
headers
,
{
idMentoria
:
mentoria
.
idMentoria
,
choice
:
data
})
.
then
((
res
)
=>
(
res
.
status
===
200
?
enqueue
(
'
Mentoria cadastrada com sucesso
'
,
'
success
'
)
:
console
.
log
(
'
Falha ao marcar mentoria. Código:
'
,
res
.
status
)))
.
catch
((
err
)
=>
{
enqueue
(
'
Erro ao marcar mentoria
'
);
console
.
error
(
err
);
});
//
marcarMentoria(headers, { idMentoria: mentoria.idMentoria, choice: data })
//
.then((res) => (
//
res.status === 200
//
? enqueue('Mentoria cadastrada com sucesso', 'success')
//
: console.log('Falha ao marcar mentoria. Código: ', res.status)))
//
.catch((err) => {
//
enqueue('Erro ao marcar mentoria');
//
console.error(err);
//
});
}
return
(
...
...
@@ -70,19 +83,19 @@ function RedeHorarioCard({ mentoria }) {
<>
<
RedeMarcarMentoria
opened
=
{
open
}
image
=
{
`
${
urlFiles
}
/
${
mentoria
.
image
}
`
}
title
=
{
mentoria
.
title
}
userName
=
{
mentoria
.
mentorInfos
.
name
}
userImage
=
{
`
${
urlFiles
}
/
${
mentoria
.
mentorInfos
.
image
}
`
}
image
=
{
`
${
urlFiles
}
/
${
mentoria
Select
.
image
}
`
}
title
=
{
mentoria
Select
.
title
}
userName
=
{
mentoria
Select
.
mentorInfos
.
name
}
userImage
=
{
`
${
urlFiles
}
/
${
mentoria
Select
.
mentorInfos
.
image
}
`
}
date
=
{
dateInfo
}
hour
=
{
timeInfo
}
onClose
=
{
()
=>
setOpen
(
false
)
}
onConfirm
=
{
(
evt
)
=>
onConfirm
(
evt
)
}
/>
</>
<
Details
style
=
{
{
borderBottom
:
'
none
'
}
}
>
<
Label
>
Data
</
Label
>
<
Label
>
Hora
</
Label
>
<
Details
style
=
{
{
borderBottom
:
'
none
'
,
marginBottom
:
'
15px
'
,
paddingTop
:
'
10px
'
}
}
>
<
Label
>
Data
s
</
Label
>
<
Label
style
=
{
{
width
:
'
30%
'
}
}
>
Horários
</
Label
>
</
Details
>
{
timeInformation
}
</
Container
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment