@@ -10,7 +10,16 @@ import { getUserDatafromToken } from "../utils/extractJWT";
10
10
import { useDispatch , useSelector } from "react-redux" ;
11
11
import { getSession } from "../redux/slice/session/getSession" ;
12
12
import { deleteSession } from "../redux/slice/session/resetSession" ;
13
+ import sample from "./../assets/certificate-sample/two_signature.webp" ;
13
14
import { Button } from "@mui/material" ;
15
+ import AOS from "aos" ;
16
+ import "aos/dist/aos.css" ;
17
+ import Footer from "../components/Footer" ;
18
+
19
+ AOS . init ( {
20
+ duration : 1000 ,
21
+ easing : "ease" ,
22
+ } ) ;
14
23
15
24
const Landing = ( ) => {
16
25
const navigate = useNavigate ( ) ;
@@ -66,55 +75,269 @@ const Landing = () => {
66
75
) }
67
76
68
77
< Navbar />
69
- < div className = "font-oxygen h-full w-full flex flex-col items-center" >
78
+ < div className = "font-oxygen h-[100%] w-full flex flex-col items-center" >
70
79
< section className = "flex flex-col mt-[90px] px-4 w-full md:w-[800px]" >
71
- < img src = { BridgetteLogo } className = "h-[95px] w-[95px] mx-auto" />
72
- < p className = "font_sansita text-center font-bold text-[25px] md:text-[34px]" >
73
- BRIDGETTE
74
- </ p >
75
- < h1 className = "text-[#ED6559] font_sansita font-bold text-[30px] md:text-[70px] mt-[-0.4rem] md:mt-[-1.4rem] text-center" >
76
- CERTIFICATE GENERATOR
77
- </ h1 >
78
- < p className = "text-[14px] md:text-[24px] text-center" >
79
- Generate input effortlessly and receive instant rewards.
80
- </ p >
81
- </ section >
82
- { SessionStatus === "Session found" ? (
83
- < button
84
- onClick = { ( ) => {
85
- navigate ( "/academic-excellence/" ) ;
86
- } }
87
- className = "text-[#F5D45E] text-[20px] font-bold mt-[55px] border-[#F5D45E] border-[3px] p-2 rounded-[10px] w-[220px] hover:bg-[#F5D45E] hover:text-white"
88
- >
89
- Continue
90
- </ button >
91
- ) : SessionStatus === "Session not found" ? (
92
- < button
93
- onClick = { OpenModalHandler }
94
- className = "text-[#F5D45E] text-[20px] font-bold mt-[55px] border-[#F5D45E] border-[3px] p-2 rounded-[10px] w-[220px] hover:bg-[#F5D45E] hover:text-white"
95
- >
96
- Get Started
97
- </ button >
98
- ) : (
99
- < button
100
- disabled
101
- className = "text-[#F5D45E] text-[20px] font-bold mt-[55px] border-[#F5D45E] border-[3px] p-2 rounded-[10px] w-[220px] hover:bg-[#F5D45E] hover:text-white"
102
- >
103
- Loading
104
- </ button >
105
- ) }
80
+ < div className = "w-full" data-aos = "zoom-in" >
81
+ < img src = { BridgetteLogo } className = "h-[95px] w-[95px] mx-auto" />
82
+ < p className = "font_sansita text-center font-bold text-[25px] md:text-[34px]" >
83
+ BRIDGETTE
84
+ </ p >
85
+ </ div >
106
86
87
+ < div className = "w-full" data-aos = "zoom-in" >
88
+ < h1 className = "text-[#ED6559] font_sansita font-bold text-[30px] md:text-[70px] mt-[-0.4rem] md:mt-[-1.4rem] text-center" >
89
+ CERTIFICATE GENERATOR
90
+ </ h1 >
91
+ < p className = "text-[14px] md:text-[24px] text-center" >
92
+ Generate effortlessly and receive instant outputs.
93
+ </ p >
94
+ </ div >
95
+ </ section >
96
+ < section className = "h-[170px]" >
97
+ { SessionStatus === "Session found" ? (
98
+ < button
99
+ onClick = { ( ) => {
100
+ navigate ( "/academic-excellence/" ) ;
101
+ } }
102
+ className = "text-[#F5D45E] text-[20px] font-bold mt-[55px] border-[#F5D45E] border-[3px] p-2 rounded-[10px] w-[220px] hover:bg-[#F5D45E] hover:text-white"
103
+ >
104
+ Continue
105
+ </ button >
106
+ ) : SessionStatus === "Session not found" ? (
107
+ < button
108
+ onClick = { OpenModalHandler }
109
+ className = "text-[#F5D45E] text-[20px] font-bold mt-[55px] border-[#F5D45E] border-[3px] p-2 rounded-[10px] w-[220px] hover:bg-[#F5D45E] hover:text-white"
110
+ >
111
+ Get Started
112
+ </ button >
113
+ ) : (
114
+ < button
115
+ disabled
116
+ className = "text-[#F5D45E] text-[20px] font-bold mt-[55px] border-[#F5D45E] border-[3px] p-2 rounded-[10px] w-[220px] hover:bg-[#F5D45E] hover:text-white"
117
+ >
118
+ Loading
119
+ </ button >
120
+ ) }
121
+ </ section >
107
122
{ /* -----User Manual on how to use----- */ }
108
- < div className = "relative bg-[#323232] w-full h-full mt-[60px]" >
109
- < div className = "flex flex-col w-[900px] bg-red-300 mx-auto" >
110
- < p > user manual</ p >
123
+ < div className = "relative bg-[#323232] min-w-full h-full mt-[60px] overflow-hidden pb-10" >
124
+ < div className = "flex flex-col lg:w-[900px] w-full h-full mx-auto px-4 lg:px-0" >
125
+ < h1
126
+ className = "font-bold font_sansita text-[45px] text-[#F5D45E]"
127
+ data-aos = "fade-right"
128
+ data-aos-offset = "300"
129
+ data-aos-easing = "ease-in-sine"
130
+ >
131
+ How to Use?
132
+ </ h1 >
133
+ < p
134
+ className = "text-white mb-32 md:w-[80%] md:text-start text-justify"
135
+ data-aos = "fade-right"
136
+ data-aos-offset = "300"
137
+ data-aos-easing = "ease-in-sine"
138
+ >
139
+ Here are the comprehensive steps detailing how to effectively
140
+ utilize the system for creating and generating certificates for
141
+ students, ensuring a streamlined process from initial setup to
142
+ final certificate issuance.
143
+ </ p >
144
+ { /* -------Step 1-------- */ }
145
+ < div
146
+ className = "flex md:flex-row flex-col w-full justify-end gap-4 mb-20"
147
+ data-aos = "fade-up-left"
148
+ data-aos-anchor-placement = "center-bottom"
149
+ >
150
+ < div className = "flex flex-col md:w-[420px] md:mr-2 " >
151
+ < p className = "font-bold font_sansita text-[34px] text-[#F5D45E] md:text-end" >
152
+ Step 1
153
+ </ p >
154
+
155
+ < p className = "lg:text-end text-justify text-white text-[15px]" >
156
+ < span className = "font-bold text-[#F5D45E]" >
157
+ Prepare Template{ " " }
158
+ </ span >
159
+ - Design a landscape-oriented certificate template on a
160
+ letter-size (8.5 x 11) background. Ensure the template meets
161
+ your design preferences. You can download the sample template
162
+ file from{ " " }
163
+ < span className = "text-[#47A2FF] hover:underline z-10 cursor-pointer" >
164
+ Link
165
+ </ span > { " " }
166
+ </ p >
167
+ </ div >
168
+ < img
169
+ src = { sample }
170
+ className = "h-[250px] w-[360px] transform md:rotate-[7deg] lg:mr-[-7rem] bg-slate-400"
171
+ />
172
+ </ div >
173
+ { /* -------Step 1 end-------- */ }
174
+ { /* -------Step 2-------- */ }
175
+ < div
176
+ className = "flex md:flex-row flex-col-reverse w-full justify-start gap-4 mb-20"
177
+ data-aos = "fade-up-right"
178
+ data-aos-anchor-placement = "center-bottom"
179
+ >
180
+ < img
181
+ src = { sample }
182
+ className = "h-[250px] w-[360px] transform md:rotate-[-7deg] lg:ml-[-7rem] bg-slate-400"
183
+ />
184
+ < div className = "flex flex-col md:w-[420px] md:ml-2" >
185
+ < p className = "font-bold font_sansita text-[34px] text-[#F5D45E] text-start" >
186
+ Step 2
187
+ </ p >
188
+ < p className = "lg:text-start text-justify text-white text-[15px]" >
189
+ < span className = "font-bold text-[#F5D45E]" >
190
+ Organize Student Data{ " " }
191
+ </ span >
192
+ - Compile a list of students per section with their grades in
193
+ an Excel file. Columns should be labeled "awardeeName" and
194
+ "avg" to maintain consistency and prevent errors. Download a
195
+ sample Excel file from{ " " }
196
+ < span className = "text-[#47A2FF] hover:underline z-10 cursor-pointer" >
197
+ Link
198
+ </ span > { " " }
199
+ for reference.
200
+ </ p >
201
+ </ div >
202
+ </ div >
203
+ { /* -------Step 2 end-------- */ }
204
+ { /* -------Step 3-------- */ }
205
+ < div
206
+ className = "flex md:flex-row flex-col w-full justify-end gap-4 mb-20"
207
+ data-aos = "fade-up-left"
208
+ data-aos-anchor-placement = "center-bottom"
209
+ >
210
+ < div className = "flex flex-col md:w-[420px] md:mr-2 " >
211
+ < p className = "font-bold font_sansita text-[34px] text-[#F5D45E] md:text-end" >
212
+ Step 3
213
+ </ p >
214
+ < p className = "lg:text-end text-justify text-white text-[15px]" >
215
+ < span className = "font-bold text-[#F5D45E]" >
216
+ Create Account{ " " }
217
+ </ span >
218
+ - If new to the system, sign up by clicking the login button
219
+ and then the get started button.
220
+ </ p >
221
+ </ div >
222
+ < img
223
+ src = { sample }
224
+ className = "h-[250px] w-[360px] transform md:rotate-[7deg] lg:mr-[-7rem] bg-slate-400"
225
+ />
226
+ </ div >
227
+ { /* -------Step 3 end-------- */ }
228
+ { /* -------Step 4-------- */ }
229
+ < div
230
+ className = "flex md:flex-row flex-col-reverse w-full justify-start gap-4 mb-20"
231
+ data-aos = "fade-up-right"
232
+ data-aos-anchor-placement = "center-bottom"
233
+ >
234
+ < img
235
+ src = { sample }
236
+ className = "h-[250px] w-[360px] transform md:rotate-[-7deg] lg:ml-[-7rem] bg-slate-400"
237
+ />
238
+ < div className = "flex flex-col md:w-[420px] md:ml-2" >
239
+ < p className = "font-bold font_sansita text-[34px] text-[#F5D45E] text-start" >
240
+ Step 4
241
+ </ p >
242
+ < p className = "lg:text-start text-justify text-white text-[15px]" >
243
+ < span className = "font-bold text-[#F5D45E]" >
244
+ Set Up Session{ " " }
245
+ </ span >
246
+ - Configure the session by selecting certificate categories,
247
+ total signatures, and attaching the certificate background
248
+ prepared in Step 1. Fill in remaining details such as grade
249
+ level, school name, section, and attach signatory signatures.
250
+ </ p >
251
+ </ div >
252
+ </ div >
253
+ { /* -------Step 4 end-------- */ }
254
+ { /* -------Step 5-------- */ }
255
+ < div
256
+ className = "flex md:flex-row flex-col w-full justify-end gap-4 mb-20"
257
+ data-aos = "fade-up-left"
258
+ data-aos-anchor-placement = "center-bottom"
259
+ >
260
+ < div className = "flex flex-col md:w-[420px] md:mr-2 " >
261
+ < p className = "font-bold font_sansita text-[34px] text-[#F5D45E] md:text-end" >
262
+ Step 5
263
+ </ p >
264
+ < p className = "lg:text-end text-justify text-white text-[15px]" >
265
+ < span className = "font-bold text-[#F5D45E]" >
266
+ Generate Certificate{ " " }
267
+ </ span >
268
+ - Proceed to the dashboard after setting up the session.
269
+ Import the Excel file prepared in Step 2 or manually input
270
+ awardee names. The system automatically ranks students and
271
+ excludes those not meeting criteria. Generate certificates by
272
+ clicking the "Print All" button.
273
+ </ p >
274
+ </ div >
275
+ < img
276
+ src = { sample }
277
+ className = "h-[250px] w-[360px] transform md:rotate-[7deg] lg:mr-[-7rem] bg-slate-400"
278
+ />
279
+ </ div >
280
+ { /* -------Step 5 end-------- */ }
281
+ { /* -------Step 6-------- */ }
282
+ < div
283
+ className = "flex md:flex-row flex-col-reverse w-full justify-start gap-4 mb-20"
284
+ data-aos = "fade-up-right"
285
+ data-aos-anchor-placement = "center-bottom"
286
+ >
287
+ < img
288
+ src = { sample }
289
+ className = "h-[250px] w-[360px] transform md:rotate-[-7deg] lg:ml-[-7rem] bg-slate-400"
290
+ />
291
+ < div className = "flex flex-col md:w-[420px] md:ml-2" >
292
+ < p className = "font-bold font_sansita text-[34px] text-[#F5D45E] text-start" >
293
+ Step 6
294
+ </ p >
295
+ < p className = "lg:text-start text-justify text-white text-[15px]" >
296
+ < span className = "font-bold text-[#F5D45E]" >
297
+ Manage Batches{ " " }
298
+ </ span >
299
+ - To handle different certificate formats for another batch of
300
+ awardees, reset the current session by clicking the trash
301
+ button. Repeat Step 4 to configure the new session and proceed
302
+ accordingly.
303
+ </ p >
304
+ </ div >
305
+ </ div >
306
+ { /* -------Step 6 end-------- */ }
307
+ { /* -------Step 7-------- */ }
308
+ < div
309
+ className = "flex md:flex-row flex-col w-full justify-end gap-4 mb-20"
310
+ data-aos = "fade-up-left"
311
+ data-aos-anchor-placement = "center-bottom"
312
+ >
313
+ < div className = "flex flex-col md:w-[320px] md:mr-2 " >
314
+ < p className = "font-bold font_sansita text-[34px] text-[#F5D45E] md:text-end" >
315
+ Step 7
316
+ </ p >
317
+ < p className = "lg:text-end text-justify text-white text-[15px]" >
318
+ < span className = "font-bold text-[#F5D45E]" >
319
+ Update Profile{ " " }
320
+ </ span >
321
+ - Access the user icon on the menu and click "Edit Profile" to
322
+ update personal details such as first name and last name.
323
+ Change the password through the same menu option under "Edit
324
+ Profile".
325
+ </ p >
326
+ </ div >
327
+ < img
328
+ src = { sample }
329
+ className = "h-[250px] w-[360px] transform md:rotate-[7deg] lg:mr-[-7rem] bg-slate-400"
330
+ />
331
+ </ div >
332
+ { /* -------Step 7 end-------- */ }
111
333
</ div >
112
334
</ div >
335
+ < Footer />
113
336
</ div >
114
337
115
338
{ SessionStatus === "Session found" && (
116
339
< >
117
- < div className = "absolute md:right-7 md:bottom-7 right-4 bottom-4" >
340
+ < div className = "fixed md:right-7 md:bottom-7 right-4 bottom-4" >
118
341
< Tooltip
119
342
title = "Reset current session to create new session."
120
343
placement = "left"
0 commit comments