|
|
|
@ -8,9 +8,10 @@ |
|
|
|
<title>GCC - Birth And Death</title> |
|
|
|
<!-- Links to Bootstrap CSS and JS, jQuery, and SweetAlert --> |
|
|
|
<!-- Bootstrap CSS --> |
|
|
|
<link |
|
|
|
href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" |
|
|
|
rel="stylesheet"> |
|
|
|
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/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"> |
|
|
|
|
|
|
|
|
|
|
|
<style> |
|
|
|
@ -55,7 +56,7 @@ label { |
|
|
|
|
|
|
|
.header .center-text { |
|
|
|
position: absolute; /* Centered text */ |
|
|
|
left: 43%; |
|
|
|
left: 50%; |
|
|
|
transform: translateX(-50%); |
|
|
|
text-align: center; |
|
|
|
font-size: 24px; |
|
|
|
@ -330,13 +331,13 @@ body { |
|
|
|
.user-info { |
|
|
|
position: absolute; |
|
|
|
top: 20px; |
|
|
|
right: 20px; |
|
|
|
right: 71px; |
|
|
|
font-weight: bold; |
|
|
|
color: #333; |
|
|
|
display: flex; |
|
|
|
flex-direction: row; |
|
|
|
align-items: center; |
|
|
|
gap: 10px; |
|
|
|
gap: 26px; |
|
|
|
flex-wrap: wrap; |
|
|
|
} |
|
|
|
|
|
|
|
@ -367,14 +368,57 @@ body { |
|
|
|
gap: 10px; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@media (max-width: 768px) { |
|
|
|
.mobile-username { |
|
|
|
/* display: block; */ |
|
|
|
font-size: 0.9rem; |
|
|
|
} |
|
|
|
|
|
|
|
.header .center-text{ |
|
|
|
|
|
|
|
margin-bottom:39px; |
|
|
|
} |
|
|
|
|
|
|
|
.mobile-logout { |
|
|
|
display: block; |
|
|
|
} |
|
|
|
|
|
|
|
/* Hide desktop user-info on mobile */ |
|
|
|
.user-info { |
|
|
|
display: none !important; |
|
|
|
} |
|
|
|
|
|
|
|
#logoutBtnMobile { |
|
|
|
font-size: 0.9rem; |
|
|
|
width: auto; |
|
|
|
margin-top: 5px; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@media (min-width: 769px) { |
|
|
|
.mobile-username, |
|
|
|
.mobile-logout { |
|
|
|
display: none; |
|
|
|
} |
|
|
|
|
|
|
|
.header .center-text{ |
|
|
|
transform: translateX(-80%); |
|
|
|
/* left:47%; */ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/* @media (max-width: 768px) { |
|
|
|
.user-info { |
|
|
|
position: relative; |
|
|
|
top: auto; |
|
|
|
right: auto; |
|
|
|
flex-direction: column; |
|
|
|
align-items: flex-start; |
|
|
|
padding: 10px; |
|
|
|
padding: 0px; |
|
|
|
} |
|
|
|
|
|
|
|
.user-name-wrapper { |
|
|
|
@ -395,7 +439,7 @@ body { |
|
|
|
margin-top: 5px; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
</style> |
|
|
|
@ -410,18 +454,55 @@ body { |
|
|
|
<div class="header d-flex justify-content-between align-items-center"> |
|
|
|
<!-- Left: Logo --> |
|
|
|
<div class="logo"> |
|
|
|
<img src="https://gccservices.in/gcc/assets/images/logo.png" |
|
|
|
alt="Logo"> |
|
|
|
<a href="https://chennaicorporation.gov.in/gcc/"> |
|
|
|
<img src="https://gccservices.in/gcc/assets/images/logo.png" alt="Logo"> |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- Center: Text --> |
|
|
|
<div class="center-text">GREATER CHENNAI CORPORATION</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="user-info d-flex align-items-center"> |
|
|
|
<!-- Mobile Username (below logo) --> |
|
|
|
<!-- Mobile Username (below logo) --> |
|
|
|
<div class="mobile-username d-md-none text-start mt-2 ms-2"> |
|
|
|
<span class="user-name-wrapper" title="Click to logout" style="margin-top: 58px;"> |
|
|
|
<i class="bi bi-person-circle me-1" style="color:#364d65"></i> |
|
|
|
<span id="loggedUserNameMobile" class="user-name-text"></span> |
|
|
|
</span> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- Desktop User Info (hidden on mobile) --> |
|
|
|
<div class="user-info d-md-flex align-items-center"> |
|
|
|
<span class="user-name-wrapper" title="Click to logout"> |
|
|
|
<i class="bi bi-person-circle me-1" style="color:#364d65"></i> |
|
|
|
<span id="loggedUserNameDesktop" class="user-name-text"></span> |
|
|
|
</span> |
|
|
|
<div id="userNameWrapper" class="ms-2 p-1 rounded"> |
|
|
|
|
|
|
|
<button id="logoutBtn" class="btn btn-sm btn-danger" style="font-weight:6px;">LOG OUT</button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Home Icon + Logout button (mobile logout under icon) --> |
|
|
|
<div class="center"> |
|
|
|
<a href="https://chennaicorporation.gov.in/gcc/"> |
|
|
|
<i class="bi bi-house-fill" style="font-size: 40px; color:#93adc8"></i> |
|
|
|
</a> |
|
|
|
<!-- Mobile Logout --> |
|
|
|
<div class="mobile-logout d-md-none text-center mt-1"> |
|
|
|
<button id="logoutBtnMobile" class="btn btn-sm btn-danger" style="font-weight:6px;">LOG OUT</button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<!-- <div class="user-info d-flex align-items-center"> |
|
|
|
|
|
|
|
<div> |
|
|
|
<span id="userNameLogin" class="user-name-wrapper" title="Click to logout" > |
|
|
|
<i class="bi bi-person-circle me-1 text-primary"></i> |
|
|
|
<i class="bi bi-person-circle me-1 " style="color:#364d65"></i> |
|
|
|
<span id="loggedUserName" class="user-name-text"></span> |
|
|
|
</span> |
|
|
|
|
|
|
|
@ -430,19 +511,18 @@ body { |
|
|
|
<div id="userNameWrapper" class="ms-2 p-1 rounded"> |
|
|
|
<span id="loggedUserName" class="user-name-text me-2"></span> |
|
|
|
<button id="logoutBtn" class="btn btn-sm btn-danger" style="font-weight:6px;">LOG OUT</button> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
</div> --> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="navhead"> |
|
|
|
<!-- Navigation Bar --> |
|
|
|
<nav class="nav-bar"> |
|
|
|
@ -724,6 +804,29 @@ body { |
|
|
|
<script> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Redirect after 60 seconds (1 minute) of inactivity |
|
|
|
let timeoutDuration = 10 * 60 * 1000; // 60 seconds |
|
|
|
|
|
|
|
let timeout; |
|
|
|
|
|
|
|
function resetTimeout() { |
|
|
|
clearTimeout(timeout); |
|
|
|
timeout = setTimeout(() => { |
|
|
|
// Optionally check if session is still active via an API |
|
|
|
window.location.href = "/crs/loginpage"; |
|
|
|
}, timeoutDuration); |
|
|
|
} |
|
|
|
|
|
|
|
// Reset timeout on user interaction |
|
|
|
['click', 'mousemove', 'keypress', 'scroll', 'touchstart'].forEach(evt => { |
|
|
|
document.addEventListener(evt, resetTimeout, false); |
|
|
|
}); |
|
|
|
|
|
|
|
// Start timer initially |
|
|
|
resetTimeout(); |
|
|
|
|
|
|
|
|
|
|
|
$(document).ready(function () { |
|
|
|
|
|
|
|
$('#birthModal, #deathModal').on('hidden.bs.modal', function () { |
|
|
|
@ -761,10 +864,24 @@ body { |
|
|
|
|
|
|
|
|
|
|
|
if (userName) { |
|
|
|
document.getElementById("loggedUserName").textContent = userName; |
|
|
|
document.getElementById("userNameLogin").title = "Logged in as " + userName; |
|
|
|
// Mobile |
|
|
|
const mobileName = document.getElementById("loggedUserNameMobile"); |
|
|
|
const mobileWrapper = document.querySelector(".mobile-username .user-name-wrapper"); |
|
|
|
|
|
|
|
if (mobileName) mobileName.textContent = userName; |
|
|
|
if (mobileWrapper) mobileWrapper.title = "Logged in as " + userName; |
|
|
|
|
|
|
|
// Desktop |
|
|
|
const desktopName = document.getElementById("loggedUserNameDesktop"); |
|
|
|
const desktopNameCopy = document.getElementById("loggedUserNameCopy"); |
|
|
|
const desktopWrapper = document.querySelector(".user-info .user-name-wrapper"); |
|
|
|
|
|
|
|
if (desktopName) desktopName.textContent = userName; |
|
|
|
if (desktopNameCopy) desktopNameCopy.textContent = userName; |
|
|
|
if (desktopWrapper) desktopWrapper.title = "Logged in as " + userName; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$('#logoutBtn').click(function (e) { |
|
|
|
e.stopPropagation(); |
|
|
|
|
|
|
|
|