1- < html >
2- < head >
3- < title > Login</ title >
4- < meta charset ="UTF-8 ">
5- < meta name ="viewport " content ="width=device-width, initial-scale=1.0 ">
6- < th:block th:replace ="~{app/fragments/imports :: default-css} "> </ th:block >
1+ < layout th:replace ="~{app/fragments/layout :: layout(~{::title}, ~{::links}, ~{::content}, ~{}, ~{})} ">
2+ < title > Login</ title >
3+ < links >
74 < link rel ="stylesheet " type ="text/css " th:href ="@{/css/login.css} ">
8- </ head >
9- < body >
10- < form
11- class ="form mt-5 "
12- th:action ="@{/app/login} "
13- method ="POST "
14- >
15- < div class ="icon ">
16- < i class ="fas fa-desktop fa-5x "> </ i >
17- </ div >
18- < h1 class ="h3 mb-3 font-weight-light text-center mt-2 "> Fazer login</ h1 >
19-
20- < label for ="input_email " class ="sr-only "> Endereço de email</ label >
21- < input
22- id ="input_email "
23- type ="email "
24- name ="email "
25- class ="form-control "
26- placeholder ="Email "
27- required
28- autofocus
29- >
30-
31- < label
32- for ="input_password "
33- class ="sr-only "
34- >
35- Senha
36- </ label >
37- < input
38- id ="input_password "
39- type ="password "
40- name ="password "
41- class ="form-control "
42- placeholder ="Senha "
43- required
44- >
45-
46- < div class ="d-flex justify-content-center mb-2 ">
47- < div class ="custom-control custom-checkbox ">
48- < input
49- type ="checkbox "
50- name ="remember-me "
51- class ="custom-control-input "
52- id ="input_remember_me "
53- >
54- < label
55- class ="custom-control-label "
56- for ="input_remember_me ">
57- Lembrar de mim
58- </ label >
5+ </ links >
6+ < content >
7+ < div class ="container col-xl-10 col-xxl-8 px-4 py-5 ">
8+ < div class ="row align-items-center g-lg-5 py-5 ">
9+ < div class ="col-lg-7 text-center text-lg-start ">
10+ < h1 class ="display-4 fw-bold lh-1 mb-3 "> Lorem ipsum dolor sit amet</ h1 >
11+ < p class ="col-lg-10 fs-4 ">
12+ Lorem ipsum dolor sit amet consectetur adipisicing elit.
13+ In excepturi deleniti asperiores? Quasi asperiores voluptatum
14+ aut placeat ad nesciunt ut explicabo? Itaque impedit
15+ inventore debitis velit, reiciendis facilis obcaecati
16+ voluptatibus?
17+ </ p >
5918 </ div >
60- </ div >
19+ < div class ="col-md-10 mx-auto col-lg-5 ">
20+ < form class ="form mt-5 " th:action ="@{/app/login} " method ="POST ">
21+ < div class ="icon mb-3 ">
22+ < i class ="fas fa-database fa-6x "> </ i >
23+ </ div >
24+ < h1 class ="h3 mb-3 font-weight-light text-center mt-2 "> Login</ h1 >
6125
62- < div class ="d-grid gap-2 ">
63- < button class ="btn btn-primary " type ="submit "> Login</ button >
64- </ div >
65-
66- < div
67- th:if ="${param.error} "
68- class ="alert alert-danger alert-dismissible fade show mt-2 "
69- role ="alert "
70- >
71- < strong > Senha ou usuario invalido!</ strong >
72- < button type ="button " class ="close " data-dismiss ="alert " aria-label ="Close ">
73- < span aria-hidden ="true "> ×</ span >
74- </ button >
75- </ div >
76-
77- < div
78- th:if ="${param.denied} "
79- class ="alert alert-warning alert-dismissible fade show mt-3 mb-3 "
80- role ="alert "
81- >
82- < strong > Acesso negado!</ strong >
83- < button type ="button " class ="close " data-dismiss ="alert " aria-label ="Close ">
84- < span aria-hidden ="true "> ×</ span >
85- </ button >
86- < hr >
87- Por favor faça o login com outro usuario ou entre em
88- < a th:href ="@{/contato} " class =""> contato</ a > com o administrador do sistema.
26+ < label for ="input_email " class ="sr-only "> Endereço de email</ label >
27+ < input id ="input_email " type ="email " name ="email " class ="form-control " placeholder ="Email "
28+ required autofocus >
29+
30+ < label for ="input_password " class ="sr-only ">
31+ Senha
32+ </ label >
33+ < input id ="input_password " type ="password " name ="password " class ="form-control "
34+ placeholder ="Senha " required >
35+
36+ < div class ="d-flex justify-content-center mb-4 ">
37+ < div class ="custom-control custom-checkbox ">
38+ < input type ="checkbox " name ="remember-me " class ="custom-control-input "
39+ id ="input_remember_me ">
40+ < label class ="custom-control-label " for ="input_remember_me ">
41+ Remember me
42+ </ label >
43+ </ div >
44+ </ div >
45+
46+ < div class ="d-grid gap-2 ">
47+ < button class ="btn btn-primary " type ="submit "> Login</ button >
48+ </ div >
49+
50+ < div class ="mt-4 d-flex justify-content-center mb-2 text-sm ">
51+ < a href =""> Forgot your password?</ a >
52+ </ div >
53+
54+ < div th:if ="${param.error} " class ="alert alert-danger alert-dismissible fade show mt-2 "
55+ role ="alert ">
56+ < strong > Senha ou usuario invalido!</ strong >
57+ < button type ="button " class ="close " data-dismiss ="alert " aria-label ="Close ">
58+ < span aria-hidden ="true "> ×</ span >
59+ </ button >
60+ </ div >
61+
62+ < div th:if ="${param.denied} " class ="alert alert-warning alert-dismissible fade show mt-3 mb-3 "
63+ role ="alert ">
64+ < strong > Acesso negado!</ strong >
65+ < button type ="button " class ="close " data-dismiss ="alert " aria-label ="Close ">
66+ < span aria-hidden ="true "> ×</ span >
67+ </ button >
68+ < hr >
69+ Por favor faça o login com outro usuario ou entre em
70+ < a th:href ="@{/contato} " class =""> contato</ a > com o administrador do sistema.
71+ </ div >
72+ </ form >
73+ </ div >
8974 </ div >
90- </ form >
91-
92- < th:block th:replace ="~{app/fragments/imports :: default-javascript} "> </ th:block >
93- </ body >
94- </ html >
75+ </ div >
76+ </ content >
77+ </ layout >
0 commit comments