Compare commits

16 Commits

Author SHA1 Message Date
915d8493f4 Merge pull request 'char counter in mesage box' (#8) from message_board into main
All checks were successful
Build and Push Docker Image to Gitea Registry / build-and-push (push) Successful in 4s
Reviewed-on: #8
2025-01-17 01:35:24 +00:00
f4e06bc29a char counter in mesage box 2025-01-17 02:35:03 +01:00
1efe5792d2 Merge pull request 'char counter in mesage box' (#7) from message_board into main
All checks were successful
Build and Push Docker Image to Gitea Registry / build-and-push (push) Successful in 5s
Reviewed-on: #7
2025-01-17 01:32:56 +00:00
a47d56b8c8 char counter in mesage box 2025-01-17 02:32:20 +01:00
1647e6ab1b Merge pull request 'message_board' (#6) from message_board into main
All checks were successful
Build and Push Docker Image to Gitea Registry / build-and-push (push) Successful in 5s
Reviewed-on: #6
2025-01-17 01:21:54 +00:00
jafreli
36787704d7 Merge branch 'message_board' of https://git.out.jafre.li/jafreli/Linktree into message_board 2025-01-17 02:19:24 +01:00
jafreli
5f51e4930d changed style 2025-01-17 02:18:58 +01:00
f556fda1c8 Merge pull request 'changed style' (#5) from message_board into main
All checks were successful
Build and Push Docker Image to Gitea Registry / build-and-push (push) Successful in 5s
Reviewed-on: #5
2025-01-17 01:14:28 +00:00
4c3acfa2d0 Merge branch 'main' into message_board 2025-01-17 01:13:46 +00:00
jafreli
231c2160d6 changed style 2025-01-17 02:13:10 +01:00
73354440c7 Merge pull request 'changed style' (#4) from message_board into main
All checks were successful
Build and Push Docker Image to Gitea Registry / build-and-push (push) Successful in 5s
Reviewed-on: #4
2025-01-17 00:59:07 +00:00
jafreli
226deb4df3 changed style 2025-01-17 01:57:17 +01:00
4a88a5c810 Merge pull request 'changed to extern CDN' (#3) from message_board into main
All checks were successful
Build and Push Docker Image to Gitea Registry / build-and-push (push) Successful in 4s
Reviewed-on: #3
2025-01-17 00:52:59 +00:00
jafreli
cc8166b6b8 changed to extern CDN 2025-01-17 01:51:01 +01:00
482bea6721 Merge pull request 'changed to module' (#2) from message_board into main
All checks were successful
Build and Push Docker Image to Gitea Registry / build-and-push (push) Successful in 5s
Reviewed-on: #2
2025-01-17 00:49:15 +00:00
jafreli
755ecd6d4a changed to module 2025-01-17 01:46:55 +01:00
3 changed files with 86 additions and 9 deletions

View File

@@ -5,18 +5,23 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Message Board</title> <title>Message Board</title>
<link rel="stylesheet" href="styles.css"> <link rel="stylesheet" href="styles.css">
<link rel="apple-touch-icon" sizes="180x180" href="logos/favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="logos/favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="logos/favicon/favicon-16x16.png">
<script src="https://cdn.jsdelivr.net/npm/pocketbase/dist/pocketbase.umd.js"></script>
</head> </head>
<body> <body>
<div class="container"> <div class="container">
<h1>Message Board</h1> <h1>Message Board</h1>
<form id="messageForm">
<input type="text" id="name" placeholder="Your Name" required>
<textarea id="message" placeholder="Your Message" maxlength="100" required></textarea>
<div id="charCount">0 / 100</div>
<button type="submit">Send</button>
</form>
<div id="messages"> <div id="messages">
<!-- Nachrichten werden hier dynamisch geladen --> <!-- Nachrichten werden hier dynamisch geladen -->
</div> </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> </div>
<script src="message-board.js"></script> <script src="message-board.js"></script>
</body> </body>

View File

@@ -1,12 +1,10 @@
import PocketBase from 'pocketbase';
const pb = new PocketBase('https://db.out.jafre.li'); const pb = new PocketBase('https://db.out.jafre.li');
const messageContainer = document.getElementById('messages'); const messageContainer = document.getElementById('messages');
const messageForm = document.getElementById('messageForm'); const messageForm = document.getElementById('messageForm');
// Funktion, um die letzten 10 Nachrichten zu laden // Funktion, um die letzten 10 Nachrichten zu laden
async function loadMessages() { async function loadMessages() {
const result = await pb.collection('message_board').getList(1, 10, { const result = await pb.collection('message_board').getList(1, 8, {
sort: '-created', // Sortiert nach Erstellungsdatum absteigend sort: '-created', // Sortiert nach Erstellungsdatum absteigend
}); });
@@ -42,3 +40,12 @@ messageForm.addEventListener('submit', async (e) => {
// Nachrichten beim Laden der Seite anzeigen // Nachrichten beim Laden der Seite anzeigen
loadMessages(); loadMessages();
const messageInput = document.getElementById('message');
const charCount = document.getElementById('charCount');
// Event-Listener für Eingaben im Textfeld
messageInput.addEventListener('input', () => {
const currentLength = messageInput.value.length;
charCount.textContent = `${currentLength} / 100`;
});

View File

@@ -19,7 +19,7 @@ body {
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; /* Zentriert die Links im Container */ align-items: center; /* Zentriert die Inhalte im Container */
} }
h1 { h1 {
@@ -50,3 +50,68 @@ h1 {
height: 20px; /* Höhe des Logos */ height: 20px; /* Höhe des Logos */
margin-right: 8px; /* Abstand zwischen Logo und Text */ margin-right: 8px; /* Abstand zwischen Logo und Text */
} }
.message {
background: #f9f9f9;
padding: 10px;
margin: 10px 0;
border-radius: 5px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.message strong {
font-size: 16px;
color: #007BFF;
}
.message p {
margin: 5px 0;
}
.message small {
color: #666;
font-size: 12px;
}
form {
display: flex;
flex-direction: column;
align-items: center; /* Zentriert die Form-Inhalte horizontal */
gap: 10px;
width: 100%; /* Maximale Breite der Form */
}
form input, form textarea {
width: 90%; /* Eingabefelder nehmen 90% der Breite ein */
padding: 10px;
border: 1px solid #ccc;
border-radius: 5px;
box-sizing: border-box; /* Verhindert, dass Padding die Größe beeinflusst */
}
form textarea {
height: 100px; /* Größeres Textfeld */
resize: none; /* Deaktiviert Größenänderungen durch den Benutzer */
}
form button {
width: 50%; /* Sende-Knopf nimmt 50% der Form-Breite ein */
padding: 10px;
background: #007BFF;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
transition: background 0.3s;
}
form button:hover {
background: #0056b3;
}
#charCount {
font-size: 12px;
color: #666;
text-align: right; /* Rechtsbündig unter dem Textfeld */
width: 90%;
}