|
|
|
@ -1,50 +1,50 @@ |
|
|
|
<!DOCTYPE html> |
|
|
|
<html lang="en" xmlns:th="http://www.thymeleaf.org"> |
|
|
|
<head> |
|
|
|
<meta charset="UTF-8"> |
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
|
|
<title>GCC - Birth And Death</title> |
|
|
|
|
|
|
|
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"> |
|
|
|
<head> |
|
|
|
<meta charset="UTF-8"> |
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
|
|
<title>GCC - Birth And Death</title> |
|
|
|
|
|
|
|
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"> |
|
|
|
|
|
|
|
<!-- Include Bootstrap Icons CDN in <head> if not already --> |
|
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css"> |
|
|
|
|
|
|
|
<!-- Include Bootstrap Icons CDN in <head> if not already --> |
|
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css"> |
|
|
|
|
|
|
|
<!-- <link th:href="@{/styles/loginpage.css}" rel="stylesheet" /> --> |
|
|
|
<style> |
|
|
|
|
|
|
|
/* Header Styling */ |
|
|
|
.header { |
|
|
|
<!-- <link th:href="@{/styles/loginpage.css}" rel="stylesheet" /> --> |
|
|
|
<style> |
|
|
|
/* Header Styling */ |
|
|
|
.header { |
|
|
|
background-color: #134356; |
|
|
|
padding: 10px 20px; |
|
|
|
color: rgb(255, 255, 255); |
|
|
|
font-family: Arial, sans-serif; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.header .logo img { |
|
|
|
.header .logo img { |
|
|
|
height: 60px; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.header .center-text { |
|
|
|
.header .center-text { |
|
|
|
text-align: center; |
|
|
|
font-size: 24px; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.header .menu-btn { |
|
|
|
.header .menu-btn { |
|
|
|
background-color: transparent; |
|
|
|
border: none; |
|
|
|
font-size: 24px; |
|
|
|
color: white; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.header .menu-btn:hover { |
|
|
|
.header .menu-btn:hover { |
|
|
|
color: #ccc; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/* Menu Dropdown */ |
|
|
|
.menu-dropdown { |
|
|
|
/* Menu Dropdown */ |
|
|
|
.menu-dropdown { |
|
|
|
position: absolute; |
|
|
|
top: 80px; |
|
|
|
right: 20px; |
|
|
|
@ -52,29 +52,30 @@ |
|
|
|
padding: 10px; |
|
|
|
display: none; |
|
|
|
flex-direction: column; |
|
|
|
z-index: 1000; /* Add z-index to bring the menu above other elements */ |
|
|
|
} |
|
|
|
z-index: 1000; |
|
|
|
/* Add z-index to bring the menu above other elements */ |
|
|
|
} |
|
|
|
|
|
|
|
.menu-dropdown a { |
|
|
|
.menu-dropdown a { |
|
|
|
color: white; |
|
|
|
margin-bottom: 5px; |
|
|
|
text-decoration: none; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.menu-dropdown a:hover { |
|
|
|
.menu-dropdown a:hover { |
|
|
|
text-decoration: underline; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/* otp*/ |
|
|
|
.otp-input-box { |
|
|
|
/* otp*/ |
|
|
|
.otp-input-box { |
|
|
|
display: flex; |
|
|
|
justify-content: center; |
|
|
|
gap: 10px; |
|
|
|
/* Adjust spacing between the inputs */ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.otp-input { |
|
|
|
.otp-input { |
|
|
|
width: 50px; |
|
|
|
/* Width for a square input */ |
|
|
|
height: 50px; |
|
|
|
@ -90,36 +91,37 @@ |
|
|
|
outline: none; |
|
|
|
/* Remove default focus outline */ |
|
|
|
transition: border-color 0.3s ease; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.otp-input:focus { |
|
|
|
.otp-input:focus { |
|
|
|
border-color: #007bff; |
|
|
|
/* Change border color on focus */ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/* otp*/ |
|
|
|
/* otp*/ |
|
|
|
|
|
|
|
/*send otp styles*/ |
|
|
|
.input-group .form-control { |
|
|
|
/*send otp styles*/ |
|
|
|
.input-group .form-control { |
|
|
|
border-right: 0; |
|
|
|
/* Remove right border of the input to blend with the button */ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.input-group-append .btn { |
|
|
|
.input-group-append .btn { |
|
|
|
border-left: 0; |
|
|
|
/* Remove left border of the button */ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.bottom-container { |
|
|
|
margin-bottom: 50px; /* Adjust as needed */ |
|
|
|
} |
|
|
|
.bottom-container { |
|
|
|
margin-bottom: 50px; |
|
|
|
/* Adjust as needed */ |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* Mobile Specific Styling */ |
|
|
|
@media (max-width: 768px) { |
|
|
|
/* Mobile Specific Styling */ |
|
|
|
@media (max-width: 768px) { |
|
|
|
.header { |
|
|
|
display: flex; |
|
|
|
justify-content: space-between; |
|
|
|
@ -136,43 +138,46 @@ |
|
|
|
.menu-dropdown { |
|
|
|
right: 0; |
|
|
|
left: 0; |
|
|
|
z-index: 1000; /* Add z-index to bring the menu above other elements */ |
|
|
|
z-index: 1000; |
|
|
|
/* Add z-index to bring the menu above other elements */ |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.button-wrapper { |
|
|
|
.button-wrapper { |
|
|
|
display: flex; |
|
|
|
justify-content: center; |
|
|
|
margin-top: 20px; /* adds space from the top */ |
|
|
|
} |
|
|
|
margin-top: 20px; |
|
|
|
/* adds space from the top */ |
|
|
|
} |
|
|
|
|
|
|
|
#registersubmit { |
|
|
|
#registersubmit { |
|
|
|
background-color: #0c4f63; |
|
|
|
border: none; |
|
|
|
width: 150px; /* optional: set fixed width */ |
|
|
|
} |
|
|
|
width: 150px; |
|
|
|
/* optional: set fixed width */ |
|
|
|
} |
|
|
|
|
|
|
|
#submitBtn { |
|
|
|
#submitBtn { |
|
|
|
background-color: #0c4f63; |
|
|
|
border: none; |
|
|
|
width: 150px; /* optional: set fixed width */ |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
</style> |
|
|
|
width: 150px; |
|
|
|
/* optional: set fixed width */ |
|
|
|
} |
|
|
|
</style> |
|
|
|
</head> |
|
|
|
|
|
|
|
<body style="background-color: #ebf1fa;"> |
|
|
|
|
|
|
|
<!-- Header Start--> |
|
|
|
<header> |
|
|
|
<div class="header d-flex justify-content-between align-items-center"> |
|
|
|
<!-- Header Start--> |
|
|
|
<header> |
|
|
|
<div class="header d-flex justify-content-between align-items-center"> |
|
|
|
<!-- Left: Logo --> |
|
|
|
<div class="logo"> |
|
|
|
<a href="https://chennaicorporation.gov.in/gcc/" > |
|
|
|
<a href="https://chennaicorporation.gov.in/gcc/"> |
|
|
|
<img src="https://gccservices.in/gcc/assets/images/logo.png" alt="Logo"> |
|
|
|
</a> |
|
|
|
|
|
|
|
@ -186,42 +191,46 @@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="center"> |
|
|
|
<a href="https://chennaicorporation.gov.in/gcc/" > |
|
|
|
<div class="center"> |
|
|
|
<a href="https://chennaicorporation.gov.in/gcc/"> |
|
|
|
<i class="bi bi-house-fill" style="font-size: 40px; color:#93adc8"></i> |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</header> |
|
|
|
<!-- Header End--> |
|
|
|
</header> |
|
|
|
<!-- Header End--> |
|
|
|
|
|
|
|
|
|
|
|
<main class="container mt-4"> |
|
|
|
<main class="container mt-4"> |
|
|
|
<!-- First Card --> |
|
|
|
<!-- Register Card --> |
|
|
|
<!-- Register Card --> |
|
|
|
<div class="card register-card mx-auto mt-5" style="max-width: 400px; background-color: rgba(44, 84, 103, 0.1); backdrop-filter: blur(10px); border-radius: 20px; border: 1px solid #ffffff40; display:none;"> |
|
|
|
<!-- Register Card --> |
|
|
|
<div class="card register-card mx-auto mt-5" |
|
|
|
style="max-width: 400px; background-color: rgba(44, 84, 103, 0.1); backdrop-filter: blur(10px); border-radius: 20px; border: 1px solid #ffffff40; display:none;"> |
|
|
|
<div class="card-body "> |
|
|
|
<h4 class="text-center mb-4" style="color: #004865;"><strong>Registration of Birth Certificate Download</strong></h4> |
|
|
|
<h4 class="text-center mb-4" style="color: #004865;"><strong>Registration of Birth Certificate |
|
|
|
Download</strong></h4> |
|
|
|
<hr> |
|
|
|
<!-- Name --> |
|
|
|
<div class="form-group"> |
|
|
|
<label for="name">Name</label><span class="text-danger">*</span> |
|
|
|
<input type="text" class="form-control " id="name" placeholder="Enter your name" oninput="this.value = this.value.replace(/[^a-zA-Z\s]/g, '')"> |
|
|
|
<input type="text" class="form-control " id="name" placeholder="Enter your name" |
|
|
|
oninput="this.value = this.value.replace(/[^a-zA-Z\s]/g, '')"> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- Phone --> |
|
|
|
<div class="form-group"> |
|
|
|
<label for="phone">Mobile No</label><span class="text-danger">*</span> |
|
|
|
<input type="text" class="form-control" id="phone" placeholder="Enter Mobile number" oninput="validatePhoneNumber(this)"> |
|
|
|
<input type="text" class="form-control" id="phone" placeholder="Enter Mobile number" |
|
|
|
oninput="validatePhoneNumber(this)"> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- Address --> |
|
|
|
<!-- <div class="form-group"> |
|
|
|
<!-- <div class="form-group"> |
|
|
|
<label for="address">Address</label><span class="text-danger">*</span> |
|
|
|
<textarea class="form-control" id="address" rows="2" placeholder="Enter your Address"></textarea> |
|
|
|
</div> --> |
|
|
|
@ -234,14 +243,14 @@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="text-center mt-3 mb-2"> |
|
|
|
<div class="text-center mt-3 mb-2"> |
|
|
|
|
|
|
|
<label> |
|
|
|
If you already have an account, |
|
|
|
<a href="#" id="showLoginCardBtn">click here to login</a>. |
|
|
|
</label> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
@ -249,18 +258,17 @@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="card login-card mx-auto mt-5" style="max-width: 400px; background-color: rgba(44, 84, 103, 0.1); backdrop-filter: blur(10px); border-radius: 20px; border: 1px solid #ffffff40; " > |
|
|
|
<div class="card login-card mx-auto mt-5" |
|
|
|
style="max-width: 400px; background-color: rgba(44, 84, 103, 0.1); backdrop-filter: blur(10px); border-radius: 20px; border: 1px solid #ffffff40; "> |
|
|
|
<div class="card-body "> |
|
|
|
<h4 class="text-center mb-4" style="color: #004865;"><strong>Birth Certificate Download</strong></h4> |
|
|
|
<hr> |
|
|
|
<hr> |
|
|
|
<!-- Phone --> |
|
|
|
<div class="form-group"> |
|
|
|
<label for="phone">Mobile No</label> |
|
|
|
<span class="text-danger">*</span> |
|
|
|
<input type="text" |
|
|
|
id="phoneNumber" class="form-control" |
|
|
|
placeholder="Enter Registered Mobile number" |
|
|
|
oninput="validatePhoneNumber(this)"> |
|
|
|
<input type="text" id="phoneNumber" class="form-control" |
|
|
|
placeholder="Enter Registered Mobile number" oninput="validatePhoneNumber(this)"> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
@ -270,7 +278,7 @@ |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="text-center mt-3 mb-2"> |
|
|
|
<div class="text-center mt-3 mb-2"> |
|
|
|
<label> |
|
|
|
If you don't have an account, |
|
|
|
<a href="#" id="showRegisterCardBtn">click here to Register</a>. |
|
|
|
@ -280,22 +288,20 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
</main> |
|
|
|
</main> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- OTP Modal --> |
|
|
|
<!-- OTP Modal --> |
|
|
|
|
|
|
|
<div class="modal fade" id="otpForm" tabindex="-1" role="dialog" |
|
|
|
aria-labelledby="otpFormLabel" aria-hidden="true"> |
|
|
|
<div class="modal fade" id="otpForm" tabindex="-1" role="dialog" aria-labelledby="otpFormLabel" aria-hidden="true"> |
|
|
|
<div class="modal-dialog" role="document"> |
|
|
|
<div class="modal-content"> |
|
|
|
<form action="" onsubmit="return verifyOtp(1); "> <!--1 mentioned for existing user login --> |
|
|
|
<div class="modal-header"> |
|
|
|
<h6 class="modal-title m-0" id="exampleModalDefaultLabel">OTP |
|
|
|
Login</h6> |
|
|
|
<button type="button" class="close" data-bs-dismiss="modal" |
|
|
|
aria-label="Close" |
|
|
|
<button type="button" class="close" data-bs-dismiss="modal" aria-label="Close" |
|
|
|
style="color: black; border: white; background-color: white;"> |
|
|
|
<span aria-hidden="true">×</span> |
|
|
|
</button> |
|
|
|
@ -303,8 +309,7 @@ |
|
|
|
<div class="modal-body"> |
|
|
|
<div class="row "> |
|
|
|
<div class="mb-3" style="text-align: center;"> |
|
|
|
<img src="https://gccservices.in/gcc/files/c_d/otp.png" |
|
|
|
width="50%" alt="Mobileotp"> |
|
|
|
<img src="https://gccservices.in/gcc/files/c_d/otp.png" width="50%" alt="Mobileotp"> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
@ -320,13 +325,11 @@ |
|
|
|
<div class="row d-flex justify-content-center align-items-center"> |
|
|
|
<div class="mb-3 "> |
|
|
|
<div class="otp-input-box"> |
|
|
|
<input type="text" maxlength="1" class="otp-input" id="otp1" |
|
|
|
required /> <input type="text" maxlength="1" |
|
|
|
class="otp-input" id="otp2" required /> <input type="text" |
|
|
|
maxlength="1" class="otp-input" id="otp3" required /> <input |
|
|
|
<input type="text" maxlength="1" class="otp-input" id="otp1" required /> <input |
|
|
|
type="text" maxlength="1" class="otp-input" id="otp2" required /> <input |
|
|
|
type="text" maxlength="1" class="otp-input" id="otp3" required /> <input |
|
|
|
type="text" maxlength="1" class="otp-input" id="otp4" required /> |
|
|
|
<input type="text" maxlength="1" class="otp-input" id="otp5" |
|
|
|
required /> |
|
|
|
<input type="text" maxlength="1" class="otp-input" id="otp5" required /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -340,39 +343,38 @@ |
|
|
|
|
|
|
|
</div> |
|
|
|
<div class="modal-footer"> |
|
|
|
<button type="button" class="btn btn-secondary" |
|
|
|
data-bs-dismiss="modal">Close</button> |
|
|
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button> |
|
|
|
<button type="submit" class="btn btn-primary" id="but">Verify |
|
|
|
OTP</button> |
|
|
|
</div> |
|
|
|
</form> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- jQuery (Only load it once) --> |
|
|
|
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> |
|
|
|
<!-- jQuery (Only load it once) --> |
|
|
|
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> |
|
|
|
|
|
|
|
<!-- Popper.js (Required for Bootstrap 4) --> |
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"></script> |
|
|
|
<!-- Popper.js (Required for Bootstrap 4) --> |
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"></script> |
|
|
|
|
|
|
|
<!-- Bootstrap JS --> |
|
|
|
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script> |
|
|
|
<!-- Bootstrap JS --> |
|
|
|
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script> |
|
|
|
|
|
|
|
<!-- SweetAlert JS (optional if you plan to use it) --> |
|
|
|
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script> |
|
|
|
<!-- SweetAlert JS (optional if you plan to use it) --> |
|
|
|
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script> |
|
|
|
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script> |
|
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script> |
|
|
|
|
|
|
|
<!-- <script th:src="@{/script/loginpage.js}"></script> --> |
|
|
|
<!-- <script th:src="@{/script/loginpage.js}"></script> --> |
|
|
|
|
|
|
|
|
|
|
|
<script> |
|
|
|
<script> |
|
|
|
|
|
|
|
|
|
|
|
document.addEventListener("DOMContentLoaded", function () { |
|
|
|
document.addEventListener("DOMContentLoaded", function () { |
|
|
|
const registerCard = document.querySelector(".register-card"); |
|
|
|
const loginCard = document.querySelector(".login-card"); |
|
|
|
|
|
|
|
@ -399,11 +401,11 @@ document.addEventListener("DOMContentLoaded", function () { |
|
|
|
registerCard.style.display = "none"; |
|
|
|
loginCard.style.display = "block"; |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$(document).ready(function () { |
|
|
|
$(document).ready(function () { |
|
|
|
// Show Login Card when "Login" is clicked from Register Card |
|
|
|
$('#showLoginCardBtn').on('click', function (e) { |
|
|
|
e.preventDefault(); |
|
|
|
@ -431,7 +433,7 @@ $(document).ready(function () { |
|
|
|
startCountdown(); |
|
|
|
}); |
|
|
|
|
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -504,7 +506,7 @@ $(document).ready(function () { |
|
|
|
// Step 3: Wait for user to manually click Verify inside OTP modal, |
|
|
|
// and if successful, call verifyOtp with a callback |
|
|
|
$('#but').off('click').on('click', function () { |
|
|
|
verifyOtp(2,function () { // 2 is mentioned for new user registration |
|
|
|
verifyOtp(2, function () { // 2 is mentioned for new user registration |
|
|
|
// Step 4: Save new user only after OTP success |
|
|
|
$.ajax({ |
|
|
|
url: '/crs/api/saveNewUser', |
|
|
|
@ -523,7 +525,7 @@ $(document).ready(function () { |
|
|
|
$('#name').val(''); |
|
|
|
$('#phone').val(''); |
|
|
|
// $('#address').val(''); |
|
|
|
window.location.href = "/crs/loginpage"; |
|
|
|
window.location.href = "/crs/birth"; |
|
|
|
}); |
|
|
|
}, |
|
|
|
error: function (xhr) { |
|
|
|
@ -689,7 +691,7 @@ $(document).ready(function () { |
|
|
|
$.ajax({ |
|
|
|
type: "GET", |
|
|
|
url: '/crs/api/verifyOTP', |
|
|
|
data: {'otp': otpValue, 'mobNo': mobileNumber, 'flag': flag}, |
|
|
|
data: { 'otp': otpValue, 'mobNo': mobileNumber, 'flag': flag }, |
|
|
|
dataType: 'json', |
|
|
|
success: function (response) { |
|
|
|
|
|
|
|
@ -833,8 +835,9 @@ $(document).ready(function () { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</script> |
|
|
|
</script> |
|
|
|
|
|
|
|
|
|
|
|
</body> |
|
|
|
|
|
|
|
</html> |