add first message board
This commit is contained in:
@@ -4,6 +4,7 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
|
- massage_board
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-and-push:
|
build-and-push:
|
||||||
|
|||||||
@@ -24,6 +24,8 @@
|
|||||||
<img src="https://upload.wikimedia.org/wikipedia/commons/b/bb/Gitea_Logo.svg" alt="Gitea Logo" class="link-icon"> Gitea by jafreli
|
<img src="https://upload.wikimedia.org/wikipedia/commons/b/bb/Gitea_Logo.svg" alt="Gitea Logo" class="link-icon"> Gitea by jafreli
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
<br><br><br>
|
||||||
|
<a class="link" href="message-board.html">Message Board</a>
|
||||||
<br><br><br>
|
<br><br><br>
|
||||||
|
|
||||||
<!-- Links für Impressum und Datenschutzerklärung ohne Icons -->
|
<!-- Links für Impressum und Datenschutzerklärung ohne Icons -->
|
||||||
|
|||||||
23
view/message-board.html
Normal file
23
view/message-board.html
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Message Board</title>
|
||||||
|
<link rel="stylesheet" href="styles.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<h1>Message Board</h1>
|
||||||
|
<div id="messages">
|
||||||
|
<!-- Nachrichten werden hier dynamisch geladen -->
|
||||||
|
</div>
|
||||||
|
<form id="messageForm">
|
||||||
|
<input type="text" id="name" placeholder="Your Name" required>
|
||||||
|
<textarea id="message" placeholder="Your Message" required></textarea>
|
||||||
|
<button type="submit">Send</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<script src="message-board.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
44
view/message-board.js
Normal file
44
view/message-board.js
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
import PocketBase from 'pocketbase';
|
||||||
|
|
||||||
|
const pb = new PocketBase('https://db.out.jafre.li');
|
||||||
|
const messageContainer = document.getElementById('messages');
|
||||||
|
const messageForm = document.getElementById('messageForm');
|
||||||
|
|
||||||
|
// Funktion, um die letzten 10 Nachrichten zu laden
|
||||||
|
async function loadMessages() {
|
||||||
|
const result = await pb.collection('message_board').getList(1, 10, {
|
||||||
|
sort: '-created', // Sortiert nach Erstellungsdatum absteigend
|
||||||
|
});
|
||||||
|
|
||||||
|
messageContainer.innerHTML = ''; // Löscht vorherige Inhalte
|
||||||
|
|
||||||
|
result.items.forEach((item) => {
|
||||||
|
const messageElement = document.createElement('div');
|
||||||
|
messageElement.className = 'message';
|
||||||
|
messageElement.innerHTML = `
|
||||||
|
<strong>${item.name}</strong>
|
||||||
|
<p>${item.message}</p>
|
||||||
|
<small>${new Date(item.created).toLocaleString()}</small>
|
||||||
|
`;
|
||||||
|
messageContainer.appendChild(messageElement);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Event-Listener für das Formular
|
||||||
|
messageForm.addEventListener('submit', async (e) => {
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
const name = document.getElementById('name').value;
|
||||||
|
const message = document.getElementById('message').value;
|
||||||
|
|
||||||
|
try {
|
||||||
|
await pb.collection('message_board').create({ name, message });
|
||||||
|
loadMessages(); // Aktualisiert die Nachrichtenanzeige
|
||||||
|
messageForm.reset(); // Löscht das Formular
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error creating message:', error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Nachrichten beim Laden der Seite anzeigen
|
||||||
|
loadMessages();
|
||||||
Reference in New Issue
Block a user