mirror of
https://github.com/GCMatters/hermes.git
synced 2026-02-04 05:30:13 +01:00
Lekkie zmiany
Trzeba dodać logowanie tak jak reszte(nie wiem gdzie było logowanie ale zaraz się znajdzie)
This commit is contained in:
28
WebApp/wwwroot/css/panel.css
Normal file
28
WebApp/wwwroot/css/panel.css
Normal file
@@ -0,0 +1,28 @@
|
||||
body {
|
||||
font-family: 'Segoe UI', sans-serif;
|
||||
}
|
||||
|
||||
#eventList .event-card {
|
||||
background-color: white;
|
||||
border: 2px dashed #17a2b8;
|
||||
border-radius: 10px;
|
||||
padding: 20px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#eventList .event-card.filled {
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
#eventList .event-card .remove-btn {
|
||||
background-color: #ff4d4d;
|
||||
border: none;
|
||||
border-radius: 50%;
|
||||
color: white;
|
||||
font-size: 1.2rem;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
line-height: 1;
|
||||
}
|
||||
@@ -1,25 +1,58 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="pl">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Lista wydarzeń</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" />
|
||||
<meta charset="UTF-8" />
|
||||
<title>Events Panel</title>
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="/css/panel.css" rel="stylesheet" />
|
||||
</head>
|
||||
<body class="bg-light">
|
||||
|
||||
<div class="container mt-5">
|
||||
<div class="d-flex justify-content-between align-items-center mb-4">
|
||||
<h1 class="text-primary">📅 Wydarzenia</h1>
|
||||
<a href="/create.html" class="btn btn-success">+ Dodaj nowe</a>
|
||||
</div>
|
||||
<div class="d-flex">
|
||||
<!-- Sidebar -->
|
||||
<div class="bg-white border-end p-3 vh-100" style="width: 80px;">
|
||||
<div class="text-center mb-4">
|
||||
<img src="/img/logo.svg" alt="Logo" style="width: 40px;">
|
||||
</div>
|
||||
<nav class="nav flex-column text-center">
|
||||
<a href="#" class="nav-link text-info mb-3">🏠</a>
|
||||
<a href="#" class="nav-link text-info mb-3">💬</a>
|
||||
<a href="#" class="nav-link text-info mb-3">📅</a>
|
||||
<a href="#" class="nav-link text-info mt-auto">⚙️</a>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div id="eventList" class="row row-cols-1 row-cols-md-2 row-cols-lg-3 g-4">
|
||||
</div>
|
||||
</div>
|
||||
<!-- Main content -->
|
||||
<div class="flex-grow-1 p-4">
|
||||
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||
<h2 class="text-primary">Events</h2>
|
||||
<div>
|
||||
<button class="btn btn-outline-info me-2">Join now</button>
|
||||
<button class="btn btn-outline-secondary">Sign In</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="module" src="/js/eventList.js"></script>
|
||||
<script type="module" src="/js/eventDelete.js"></script>
|
||||
<div class="input-group mb-4">
|
||||
<input type="text" class="form-control rounded-start" placeholder="Search events..." />
|
||||
<span class="input-group-text bg-white"><i class="bi bi-search"></i></span>
|
||||
</div>
|
||||
|
||||
<div id="eventList" class="d-grid gap-3">
|
||||
<!-- Karty wydarzeń będą ładowane tutaj -->
|
||||
<div class="event-card filled">
|
||||
<span>Event Title</span>
|
||||
<button class="remove-btn delete-btn" data-id="5">−</button> <!-- Przyciski usuwania z ID -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Dodaj nowe -->
|
||||
<a href="/create.html" class="btn btn-success">+ Dodaj nowe</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="module" src="/js/eventList.js"></script>
|
||||
<script type="module" src="/js/eventDelete.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
@@ -9,26 +9,35 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
||||
});
|
||||
};
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
// Obsługuje kliknięcie na przycisk "Usuń"
|
||||
document.body.addEventListener("click", (e) => __awaiter(void 0, void 0, void 0, function* () {
|
||||
const target = e.target;
|
||||
if (!target.matches(".delete-btn"))
|
||||
return;
|
||||
const id = target.getAttribute("data-id");
|
||||
return; // Sprawdza, czy kliknięto przycisk "Usuń"
|
||||
const id = target.getAttribute("data-id"); // Pobiera ID wydarzenia
|
||||
if (!id)
|
||||
return;
|
||||
const confirmed = confirm("Na pewno chcesz usunąć to wydarzenie?");
|
||||
const confirmed = confirm("Na pewno chcesz usunąć to wydarzenie?"); // Potwierdzenie usunięcia
|
||||
if (!confirmed)
|
||||
return;
|
||||
const response = yield fetch(`/api/events/${id}`, {
|
||||
method: "DELETE"
|
||||
});
|
||||
if (response.ok) {
|
||||
const card = target.closest(".col");
|
||||
if (card)
|
||||
card.remove();
|
||||
try {
|
||||
// Wysyła żądanie DELETE do API
|
||||
const response = yield fetch(`/api/events/${id}`, {
|
||||
method: "DELETE"
|
||||
});
|
||||
if (response.ok) {
|
||||
// Usuwa kartę z DOM (bez przeładowania strony)
|
||||
const card = target.closest(".event-card");
|
||||
if (card)
|
||||
card.remove();
|
||||
}
|
||||
else {
|
||||
alert("Błąd podczas usuwania wydarzenia.");
|
||||
}
|
||||
}
|
||||
else {
|
||||
alert("Nie udało się usunąć wydarzenia.");
|
||||
catch (err) {
|
||||
alert("Błąd połączenia z serwerem.");
|
||||
console.error(err);
|
||||
}
|
||||
}));
|
||||
});
|
||||
|
||||
@@ -21,24 +21,15 @@ document.addEventListener("DOMContentLoaded", () => __awaiter(void 0, void 0, vo
|
||||
container.innerHTML = "<p class='text-muted'>Brak wydarzeń do wyświetlenia.</p>";
|
||||
return;
|
||||
}
|
||||
// Wyczyść kontener przed dodaniem nowych
|
||||
container.innerHTML = '';
|
||||
for (const ev of events) {
|
||||
const card = document.createElement("div");
|
||||
card.className = "col";
|
||||
card.className = "event-card filled";
|
||||
card.innerHTML = `
|
||||
<div class="card shadow-sm h-100">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">${ev.title}</h5>
|
||||
<p class="card-text">
|
||||
<strong>Miejsce:</strong> ${ev.location}<br/>
|
||||
<strong>Data:</strong> ${new Date(ev.eventDate).toLocaleString()}<br/>
|
||||
<strong>Organizacja ID:</strong> ${ev.organisationId}
|
||||
</p>
|
||||
<button class="btn btn-outline-danger delete-btn" data-id="${ev.eventId}">
|
||||
🗑️ Usuń
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
<span>${ev.title}</span>
|
||||
<button class="remove-btn delete-btn" data-id="${ev.eventId}">−</button>
|
||||
`;
|
||||
container.appendChild(card);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user