Spaces:
Sleeping
Sleeping
Upload 2 files
Browse files- templates/sign-in.html +77 -0
- templates/sign-up.html +221 -0
templates/sign-in.html
ADDED
@@ -0,0 +1,77 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en" class="toggleMenu">
|
3 |
+
|
4 |
+
<head>
|
5 |
+
<meta charSet="utf-8" />
|
6 |
+
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
7 |
+
<link rel="preload" href="/_next/static/media/25e11f223a13018e-s.p.woff2" as="font" crossorigin="" type="font/woff2" />
|
8 |
+
<link rel="preload" href="/_next/static/media/6905431624c34d00-s.p.woff2" as="font" crossorigin="" type="font/woff2" />
|
9 |
+
<link rel="stylesheet" href="/_next/static/css/e4887d32fecac951.css" crossorigin="" data-precedence="next" />
|
10 |
+
<link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a5591398fe5534e2.js" crossorigin="" />
|
11 |
+
<script src="/_next/static/chunks/fd9d1056-d7dd7ab1b204318c.js" async="" crossorigin=""></script>
|
12 |
+
<script src="/_next/static/chunks/472-323e97dcd87f02be.js" async="" crossorigin=""></script>
|
13 |
+
<script src="/_next/static/chunks/main-app-892c3dff08e9cd4c.js" async="" crossorigin=""></script>
|
14 |
+
<script src="/_next/static/chunks/326-1870c15fd85c544e.js?dpl=dpl_J1tbkvrtzchrmWyLBiAfJW1Wv2FE" async=""></script>
|
15 |
+
<script src="/_next/static/chunks/app/(user)/sign-in/page-91647370f54339e3.js?dpl=dpl_J1tbkvrtzchrmWyLBiAfJW1Wv2FE" async=""></script>
|
16 |
+
<title>Techwave NextJs | Sign In</title>
|
17 |
+
<meta property="og:title" content="Sign In" />
|
18 |
+
<meta name="twitter:card" content="summary" />
|
19 |
+
<meta name="twitter:title" content="Sign In" />
|
20 |
+
<link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="16x16" />
|
21 |
+
<meta name="next-size-adjust" />
|
22 |
+
<script src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js" crossorigin="" noModule=""></script>
|
23 |
+
</head>
|
24 |
+
<style>
|
25 |
+
.success-message {
|
26 |
+
color: green;
|
27 |
+
border: 2px solid green;
|
28 |
+
padding: 10px;
|
29 |
+
margin-bottom: 10px;
|
30 |
+
}
|
31 |
+
|
32 |
+
.error-message {
|
33 |
+
color: red;
|
34 |
+
border: 2px solid red;
|
35 |
+
padding: 10px;
|
36 |
+
margin-bottom: 10px;
|
37 |
+
}
|
38 |
+
</style>
|
39 |
+
<body>
|
40 |
+
<!--$-->
|
41 |
+
<div class="techwave_fn_sign">
|
42 |
+
<div class="sign__content">
|
43 |
+
<h1 class="logo">Designed by Frenify</h1>
|
44 |
+
<form class="login" method="POST" action="/login">
|
45 |
+
<div class="form__content">
|
46 |
+
{% with messages = get_flashed_messages() %}
|
47 |
+
{% if messages %}
|
48 |
+
<ul>
|
49 |
+
{% for message in messages %}
|
50 |
+
<li>{{ message }}</li>
|
51 |
+
{% endfor %}
|
52 |
+
</ul>
|
53 |
+
{% endif %}
|
54 |
+
{% endwith %} <div class="form__title">Sign In</div>
|
55 |
+
<div class="form__username"><label for="user_login">Username or Email</label><input type="text" class="input" id="username" name="username" autoComplete="account_name" aria-describedby="login-message" /></div>
|
56 |
+
<div class="form__pass">
|
57 |
+
<div class="pass_lab"><label for="user_password">Password</label><a href="#">Forget Password?</a></div><input type="password" id="password" name="password" spellCheck="false" /></div>
|
58 |
+
<div class="form__submit"><label class="fn__submit"><input type="submit" name="submit" value="Sign In"/></label></div>
|
59 |
+
<div class="form__alternative">
|
60 |
+
<div class="fn__lined_text">
|
61 |
+
<div class="line"></div>
|
62 |
+
<div class="text">Or</div>
|
63 |
+
<div class="line"></div>
|
64 |
+
</div><a class="techwave_fn_button" href="#"><span>Sign in with Google</span></a></div>
|
65 |
+
</div>
|
66 |
+
</form>
|
67 |
+
<div class="sign__desc">
|
68 |
+
<p>Not a member? <a href="/sign-up">Sign Up</a></p>
|
69 |
+
</div>
|
70 |
+
</div>
|
71 |
+
</div>
|
72 |
+
<!--/$-->
|
73 |
+
<script src="/_next/static/chunks/webpack-a5591398fe5534e2.js" crossorigin="" async=""></script>
|
74 |
+
|
75 |
+
</body>
|
76 |
+
|
77 |
+
</html>
|
templates/sign-up.html
ADDED
@@ -0,0 +1,221 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE html>
|
2 |
+
<html lang="en" class="toggleMenu">
|
3 |
+
|
4 |
+
<head>
|
5 |
+
<meta charSet="utf-8" />
|
6 |
+
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
|
7 |
+
<link rel="preload" href="/_next/static/media/25e11f223a13018e-s.p.woff2" as="font" crossorigin="" type="font/woff2" />
|
8 |
+
<link rel="preload" href="/_next/static/media/6905431624c34d00-s.p.woff2" as="font" crossorigin="" type="font/woff2" />
|
9 |
+
<link rel="stylesheet" href="/_next/static/css/e4887d32fecac951.css" crossorigin="" data-precedence="next" />
|
10 |
+
<link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-a5591398fe5534e2.js" crossorigin="" />
|
11 |
+
<script src="/_next/static/chunks/fd9d1056-d7dd7ab1b204318c.js" async="" crossorigin=""></script>
|
12 |
+
<script src="/_next/static/chunks/472-323e97dcd87f02be.js" async="" crossorigin=""></script>
|
13 |
+
<script src="/_next/static/chunks/main-app-892c3dff08e9cd4c.js" async="" crossorigin=""></script>
|
14 |
+
<script src="/_next/static/chunks/326-1870c15fd85c544e.js?dpl=dpl_J1tbkvrtzchrmWyLBiAfJW1Wv2FE" async=""></script>
|
15 |
+
<script src="/_next/static/chunks/app/(user)/sign-up/page-30aefdb3500631cb.js?dpl=dpl_J1tbkvrtzchrmWyLBiAfJW1Wv2FE" async=""></script>
|
16 |
+
<title>Techwave NextJs | Sign Out</title>
|
17 |
+
<meta property="og:title" content="Sign Out" />
|
18 |
+
<meta name="twitter:card" content="summary" />
|
19 |
+
<meta name="twitter:title" content="Sign Out" />
|
20 |
+
<link rel="icon" href="/favicon.ico" type="image/x-icon" sizes="16x16" />
|
21 |
+
<meta name="next-size-adjust" />
|
22 |
+
<script src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js" crossorigin="" noModule=""></script>
|
23 |
+
</head>
|
24 |
+
<style>
|
25 |
+
.input-div {
|
26 |
+
position: relative;
|
27 |
+
width: 100px;
|
28 |
+
height: 100px;
|
29 |
+
border-radius: 50%;
|
30 |
+
border: 2px solid #7c5fe3;
|
31 |
+
display: flex;
|
32 |
+
justify-content: center;
|
33 |
+
align-items: center;
|
34 |
+
overflow: hidden;
|
35 |
+
box-shadow: 0px 0px 100px #7c5fe3 , inset 0px 0px 10px #7c5fe3,0px 0px 5px rgb(255, 255, 255);
|
36 |
+
animation: flicker 2s linear infinite;
|
37 |
+
}
|
38 |
+
|
39 |
+
.icon {
|
40 |
+
color: #7c5fe3;
|
41 |
+
font-size: 2rem;
|
42 |
+
cursor: pointer;
|
43 |
+
animation: iconflicker 2s linear infinite;
|
44 |
+
}
|
45 |
+
|
46 |
+
.input2 {
|
47 |
+
position: absolute;
|
48 |
+
opacity: 0;
|
49 |
+
width: 100%;
|
50 |
+
height: 100%;
|
51 |
+
cursor: pointer !important;
|
52 |
+
}
|
53 |
+
|
54 |
+
@keyframes flicker {
|
55 |
+
0% {
|
56 |
+
border: 2px solid #7c5fe3;
|
57 |
+
box-shadow: 0px 0px 100px #7c5fe3 , inset 0px 0px 10px #7c5fe3,0px 0px 5px rgb(255, 255, 255);
|
58 |
+
}
|
59 |
+
|
60 |
+
5% {
|
61 |
+
border: none;
|
62 |
+
box-shadow: none;
|
63 |
+
}
|
64 |
+
|
65 |
+
10% {
|
66 |
+
border: 2px solid #7c5fe3;
|
67 |
+
box-shadow: 0px 0px 100px #7c5fe3 , inset 0px 0px 10px #7c5fe3,0px 0px 5px rgb(255, 255, 255);
|
68 |
+
}
|
69 |
+
|
70 |
+
25% {
|
71 |
+
border: none;
|
72 |
+
box-shadow: none;
|
73 |
+
}
|
74 |
+
|
75 |
+
30% {
|
76 |
+
border: 2px solid #7c5fe3;
|
77 |
+
box-shadow: 0px 0px 100px #7c5fe3 , inset 0px 0px 10px #7c5fe3,0px 0px 5px rgb(255, 255, 255);
|
78 |
+
}
|
79 |
+
|
80 |
+
100% {
|
81 |
+
border: 2px solid #7c5fe3;
|
82 |
+
box-shadow: 0px 0px 100px #7c5fe3 , inset 0px 0px 10px #7c5fe3,0px 0px 5px rgb(255, 255, 255);
|
83 |
+
}
|
84 |
+
}
|
85 |
+
|
86 |
+
@keyframes iconflicker {
|
87 |
+
0% {
|
88 |
+
opacity: 1;
|
89 |
+
}
|
90 |
+
|
91 |
+
5% {
|
92 |
+
opacity: 0.2;
|
93 |
+
}
|
94 |
+
|
95 |
+
10% {
|
96 |
+
opacity: 1;
|
97 |
+
}
|
98 |
+
|
99 |
+
25% {
|
100 |
+
opacity: 0.2;
|
101 |
+
}
|
102 |
+
|
103 |
+
30% {
|
104 |
+
opacity: 1;
|
105 |
+
}
|
106 |
+
|
107 |
+
100% {
|
108 |
+
opacity: 1;
|
109 |
+
}
|
110 |
+
}
|
111 |
+
</style>
|
112 |
+
<style>
|
113 |
+
.success-message {
|
114 |
+
color: green;
|
115 |
+
border: 2px solid green;
|
116 |
+
padding: 10px;
|
117 |
+
margin-bottom: 10px;
|
118 |
+
}
|
119 |
+
|
120 |
+
.error-message {
|
121 |
+
color: red;
|
122 |
+
border: 2px solid red;
|
123 |
+
padding: 10px;
|
124 |
+
margin-bottom: 10px;
|
125 |
+
}
|
126 |
+
</style>
|
127 |
+
<body>
|
128 |
+
<!--$-->
|
129 |
+
<div class="techwave_fn_sign">
|
130 |
+
<div class="sign__content">
|
131 |
+
<h1 class="logo">Designed by Frenify</h1>
|
132 |
+
<form class="signup" method="POST" action="/sign-up" onsubmit="return validateForm()" enctype="multipart/form-data">
|
133 |
+
<div class="form__content">
|
134 |
+
{% with messages = get_flashed_messages() %}
|
135 |
+
{% if messages %}
|
136 |
+
<ul>
|
137 |
+
{% for message in messages %}
|
138 |
+
<li>{{ message }}</li>
|
139 |
+
{% endfor %}
|
140 |
+
</ul>
|
141 |
+
{% endif %}
|
142 |
+
{% endwith %}
|
143 |
+
|
144 |
+
<div class="form__title">Sign Up</div>
|
145 |
+
<br>
|
146 |
+
{% with messages = get_flashed_messages() %}
|
147 |
+
{% if messages %}
|
148 |
+
<ul>
|
149 |
+
{% for message in messages %}
|
150 |
+
<li>{{ message }}</li>
|
151 |
+
{% endfor %}
|
152 |
+
</ul>
|
153 |
+
{% endif %}
|
154 |
+
{% endwith %}
|
155 |
+
<div class="form__username">
|
156 |
+
<label for="username">First Name</label>
|
157 |
+
<input type="text" class="input" id="first_name" name="first_name" placeholder="Username" required />
|
158 |
+
</div>
|
159 |
+
<div class="form__username">
|
160 |
+
<label for="username">Last Nmae</label>
|
161 |
+
<input type="text" class="input" id="last_name" name="last_name" placeholder="Username" required />
|
162 |
+
</div>
|
163 |
+
<div class="form__username">
|
164 |
+
<label for="username">Username</label>
|
165 |
+
<input type="text" class="input" id="username" name="username" placeholder="Username" required />
|
166 |
+
</div>
|
167 |
+
<div class="form__pass">
|
168 |
+
<label for="user_password">Password</label>
|
169 |
+
<input type="password" id="password" name="password" autoComplete="current-password" spellCheck="false" placeholder="Strong password" required />
|
170 |
+
</div>
|
171 |
+
<div class="form__confirm-pass">
|
172 |
+
<label for="confirm_password">Confirm Password</label>
|
173 |
+
<input type="password" id="confirm_password" name="confirm_password" autoComplete="current-password" spellCheck="false" placeholder="Confirm password" required />
|
174 |
+
</div>
|
175 |
+
<br>
|
176 |
+
<div class="input-div">
|
177 |
+
<input class="input2" type="file" id="profile_image" name="profile_image" required>
|
178 |
+
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" stroke-linejoin="round" stroke-linecap="round" viewBox="0 0 24 24" stroke-width="2" fill="none" stroke="currentColor" class="icon"><polyline points="16 16 12 12 8 16"></polyline><line y2="21" x2="12" y1="12" x1="12"></line><path d="M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3"></path><polyline points="16 16 12 12 8 16"></polyline></svg>
|
179 |
+
</div>
|
180 |
+
<br>
|
181 |
+
<P>Upload Your For Profile</P>
|
182 |
+
<br>
|
183 |
+
<div class="form__submit">
|
184 |
+
<label class="fn__submit">
|
185 |
+
<input type="submit" name="submit" value="Create Account" onclick="return validateForm()" />
|
186 |
+
</label>
|
187 |
+
</div>
|
188 |
+
<div class="form__alternative ">
|
189 |
+
<div class="fn__lined_text">
|
190 |
+
</div>
|
191 |
+
</div>
|
192 |
+
|
193 |
+
<script>
|
194 |
+
function validateForm() {
|
195 |
+
var password = document.getElementById("password").value;
|
196 |
+
var confirm_password = document.getElementById("confirm_password").value;
|
197 |
+
|
198 |
+
if (password !== confirm_password) {
|
199 |
+
var errorMessage = document.createElement("p");
|
200 |
+
errorMessage.className = "error-message";
|
201 |
+
errorMessage.innerHTML = "Passwords do not match";
|
202 |
+
|
203 |
+
var confirmPassField = document.getElementById("confirm_password");
|
204 |
+
confirmPassField.insertAdjacentElement("afterend", document.createElement("br"));
|
205 |
+
confirmPassField.insertAdjacentElement("afterend", errorMessage);
|
206 |
+
|
207 |
+
return false;
|
208 |
+
}
|
209 |
+
return true;
|
210 |
+
} </script>
|
211 |
+
<div class="sign__desc">
|
212 |
+
|
213 |
+
<p>Already have an account? <a href="/">Sign In</a></p>
|
214 |
+
</div>
|
215 |
+
</div>
|
216 |
+
</div>
|
217 |
+
<!--/$-->
|
218 |
+
<script src="/_next/static/chunks/webpack-a5591398fe5534e2.js" crossorigin="" async=""></script>
|
219 |
+
</body>
|
220 |
+
|
221 |
+
</html>
|