An error occurred while loading the file. Please try again.
-
dre0059 authoredb2be0ba7
view-all.html 4.25 KiB
<!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>All Articles</title>
<link rel="icon" type="image/x-icon" href="/assets/favicon.ico" />
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet" />
<link href="https://fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic,700italic" rel="stylesheet" />
<link rel="stylesheet" th:href="@{/styles.css}" />
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<style>
.navbar-nav .nav-link {
font-size: 1.2rem;
margin-right: 20px;
color: rgb(51, 102, 255);
}
.navbar-nav .nav-link:hover {
color: #00134d;
}
.navbar-nav .nav-link.active {
color: rgb(51, 102, 255) !important;
}
.navbar-nav .nav-link.active:hover {
color: #00134d !important;
}
</style>
</head>
<body>
<!-- navbar -->
<nav class="navbar navbar-expand-lg navbar-light bg-light static-top">
<div class="container">
<a class="navbar-brand" href="/upload">Article Processor</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"
aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse justify-content-end" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="/upload">Upload</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/view">View all</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/statistics">Statistics</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/upload">About project</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- Page Content -->
<header class="masthead">
<div class="container position-relative">
<div class="row justify-content-center">
<div class="col-xl-8">
<div class="text-center text-white">
<h1 class="mb-4">All Uploaded Articles</h1>
</div>
</div>
</div>
</div>
</header>
<div class="container mt-5 mb-5">
<!-- Filters -->
<div class="row mb-3">
<div class="col-md-6">
<input type="text" id="searchTitle" class="form-control" placeholder="Search by title...">
</div>
<div class="col-md-6">
<select id="statusFilter" class="form-select">
<option value="">All Statuses</option>
<option value="PDF">PDF</option>
<option value="Referenced">Referenced</option>
</select>
</div>
</div>
<div class="table-responsive">
<table class="table table-striped table-bordered text-center align-middle">
<thead class="table-light">
<tr>
<th>ID</th>
<th>Title</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr th:each="doc: ${documents}">
<td th:text="${doc.id}"></td>
<td><a th:href="@{'/view/' + ${doc.id}}" th:text="${doc.title}"></a></td>
<td th:text="${doc.status}"></td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- Footer -->
<footer class="footer bg-light mt-5">
<div class="container text-center">
<p class="text-muted small">© Eliška Kozáčiková 2025. All Rights Reserved.</p>
</div>
</footer>
<script>
$(document).ready(function () {
const $rows = $('table tbody tr');
$('#searchTitle, #statusFilter').on('input change', function () {
const searchText = $('#searchTitle').val().toLowerCase();
const selectedStatus = $('#statusFilter').val().toLowerCase();
$rows.each(function () {
const title = $(this).find('td:nth-child(2)').text().toLowerCase();
const status = $(this).find('td:nth-child(3)').text().toLowerCase();
const matchTitle = title.includes(searchText);
const matchStatus = selectedStatus === "" || status === selectedStatus;
$(this).toggle(matchTitle && matchStatus);
});
});
});
</script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>