This commit is contained in:
rattatwinko
2025-06-17 12:54:43 +02:00
parent 93b879d69e
commit df97fe59bb
3 changed files with 12 additions and 8 deletions

View File

@@ -1,2 +1,3 @@
[
"welcome"
]

View File

@@ -70,6 +70,8 @@ export default function AdminPage() {
if (auth === 'true') {
setIsAuthenticated(true);
loadContent();
const interval = setInterval(loadContent, 500);
return () => clearInterval(interval);
}
}, []);
@@ -101,6 +103,7 @@ export default function AdminPage() {
const handleLogout = () => {
setIsAuthenticated(false);
localStorage.removeItem('adminAuth');
router.push('/');
};
const handleCreatePost = async (e: React.FormEvent) => {
@@ -315,19 +318,19 @@ export default function AdminPage() {
.then((res) => {
if (!res.ok) {
res.json().then((data) => {
setPinFeedback(data.error || 'Failed to update pinned posts');
setPinFeedback(data.error || 'Fehler beim Aktualisieren der angehefteten Beiträge');
});
} else {
setPinFeedback(
newPinned.includes(slug)
? 'Post pinned!'
: 'Post unpinned!'
? 'Beitrag angeheftet!'
: 'Beitrag gelöst!'
);
setTimeout(() => setPinFeedback(null), 2000);
}
})
.catch((err) => {
setPinFeedback('Failed to update pinned posts');
setPinFeedback('Fehler beim Aktualisieren der angehefteten Beiträge');
});
return newPinned;
});
@@ -559,7 +562,7 @@ export default function AdminPage() {
return [...pinnedPosts, ...unpinnedPosts].map((post) => (
<div key={post.slug} className="border rounded-lg p-4 relative">
{post.pinned && (
<span title="Pinned" className="absolute top-2 right-2 text-2xl">📌</span>
<span title="Angeheftet" className="absolute top-2 right-2 text-2xl">📌</span>
)}
<h3 className="text-xl font-semibold">{post.title}</h3>
<p className="text-gray-600">{post.date}</p>
@@ -632,7 +635,7 @@ export default function AdminPage() {
>
<div className="flex-1 text-left flex items-center gap-2">
{pinned.includes(post.slug) && (
<span title="Pinned" className="text-xl">📌</span>
<span title="Angeheftet" className="text-xl">📌</span>
)}
<div>
<div className="font-semibold">{post.title}</div>
@@ -643,7 +646,7 @@ export default function AdminPage() {
<button
onClick={() => handlePin(post.slug)}
className={`text-2xl focus:outline-none ${pinned.includes(post.slug) ? 'text-yellow-500' : 'text-gray-400 hover:text-yellow-500'}`}
title={pinned.includes(post.slug) ? 'Unpin' : 'Pin'}
title={pinned.includes(post.slug) ? 'Lösen' : 'Anheften'}
>
{pinned.includes(post.slug) ? '★' : '☆'}
</button>

View File

@@ -31,7 +31,7 @@ export default function Home() {
useEffect(() => {
loadTree();
const interval = setInterval(loadTree, 2000);
const interval = setInterval(loadTree, 500);
return () => clearInterval(interval);
}, []);