fix: replace express-ejs-layouts with EJS partial includes (header/footer)

This commit is contained in:
Дмитрий Мамедов
2026-06-10 18:44:06 +03:00
parent 1105f0366d
commit fad0b6d630
10 changed files with 51 additions and 10 deletions

View File

@@ -1,3 +1,4 @@
<%- include('../partials/header') %>
<div class="row">
<div class="col-12">
<ul class="nav nav-tabs mb-3">
@@ -117,3 +118,4 @@
else alert('Failed to delete client');
}
</script>
<%- include('../partials/footer') %>

View File

@@ -1,3 +1,4 @@
<%- include('../partials/header') %>
<div class="row">
<div class="col-12">
<div class="row mb-4">
@@ -137,3 +138,4 @@
else alert('Failed to delete user');
}
</script>
<%- include('../partials/footer') %>

View File

@@ -1,3 +1,4 @@
<%- include('../partials/header') %>
<div class="row justify-content-center">
<div class="col-md-5">
<div class="card shadow">
@@ -164,3 +165,4 @@
el.classList.remove('d-none');
}
</script>
<%- include('../partials/footer') %>

View File

@@ -1,3 +1,4 @@
<%- include('../partials/header') %>
<div class="row justify-content-center">
<div class="col-md-5">
<div class="card shadow">
@@ -56,3 +57,4 @@
}
});
</script>
<%- include('../partials/footer') %>

11
views/partials/footer.ejs Normal file
View File

@@ -0,0 +1,11 @@
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
<script>
function logout() {
localStorage.removeItem('access_token');
localStorage.removeItem('refresh_token');
window.location.href = '/login';
}
</script>
</body>
</html>

30
views/partials/header.ejs Normal file
View File

@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SSO - <%= title || 'Auth Panel' %></title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="/css/style.css">
</head>
<body class="bg-light">
<nav class="navbar navbar-expand-lg navbar-dark bg-dark mb-4">
<div class="container">
<a class="navbar-brand" href="/">SSO Service</a>
<div class="collapse navbar-collapse">
<ul class="navbar-nav ms-auto">
<% if (locals.user) { %>
<li class="nav-item"><a class="nav-link" href="/profile">Profile</a></li>
<% if (user.role === 'ADMIN') { %>
<li class="nav-item"><a class="nav-link" href="/admin">Admin</a></li>
<% } %>
<li class="nav-item"><a class="nav-link" href="#" onclick="logout()">Logout</a></li>
<% } else { %>
<li class="nav-item"><a class="nav-link" href="/login">Login</a></li>
<li class="nav-item"><a class="nav-link" href="/register">Register</a></li>
<% } %>
</ul>
</div>
</div>
</nav>
<div class="container">

View File

@@ -1,3 +1,4 @@
<%- include('../partials/header') %>
<div class="row justify-content-center">
<div class="col-md-6">
<div class="card shadow">
@@ -68,3 +69,4 @@
}
}
</script>
<%- include('../partials/footer') %>