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