وبلاگ: دکمه «نوشتن مقاله جدید» فقط در حالت ویرایش ادمین دیده می‌شود

قبلاً برای بازدیدکننده عادی هم نمایش داده می‌شد
This commit is contained in:
MMD
2026-09-08 13:27:40 +03:30
parent 4b9cc13163
commit 07da45467b
+16 -18
View File
@@ -7,6 +7,7 @@ import { ArticleCard } from '../components/ArticleCard'
import { Newsletter } from '../components/home/Newsletter'
import { useSite } from '../api'
import { EditableItem } from '../admin/Editable'
import { useAdmin } from '../admin/AdminContext'
import { PlusIcon } from 'lucide-react'
function DraftBadge({ className = '' }: { className?: string }) {
@@ -21,6 +22,19 @@ function DraftBadge({ className = '' }: { className?: string }) {
export function Blog() {
const { articles } = useSite()
const { isEditMode } = useAdmin()
// دکمه «نوشتن مقاله جدید» فقط در حالت ویرایش ادمین دیده می‌شود
const writeButton = isEditMode ? (
<Link
to="/admin/write"
data-admin-link
className="inline-flex items-center gap-2 bg-copper px-6 py-3 text-sm font-bold text-char transition-transform duration-200 hover:scale-105"
>
<PlusIcon className="h-4 w-4" />
نوشتن مقاله جدید
</Link>
) : null
// حالت خالی — وبلاگ بدون مقاله نباید کرش کند
if (articles.length === 0) {
@@ -33,14 +47,7 @@ export function Blog() {
<p className="mt-4 text-sm font-light text-ivory/60">
به‌زودی نخستین نوشته‌های ما اینجا منتشر می‌شود.
</p>
<Link
to="/admin/write"
data-admin-link
className="mt-8 inline-flex items-center gap-2 bg-copper px-6 py-3 text-sm font-bold text-char transition-transform duration-200 hover:scale-105"
>
<PlusIcon className="h-4 w-4" />
نوشتن مقاله جدید
</Link>
<div className="mt-8 flex justify-center">{writeButton}</div>
</div>
</section>
<Newsletter />
@@ -56,16 +63,7 @@ export function Blog() {
<section className="bg-ink py-24 lg:py-32" aria-label="مقالات">
<div className="mx-auto max-w-site px-6 lg:px-10">
<div className="mb-10 flex justify-start">
<Link
to="/admin/write"
data-admin-link
className="flex items-center gap-2 bg-copper px-6 py-3 text-sm font-bold text-char transition-transform duration-200 hover:scale-105"
>
<PlusIcon className="h-4 w-4" />
نوشتن مقاله جدید
</Link>
</div>
<div className="mb-10 flex justify-start">{writeButton}</div>
<Reveal>
<EditableItem resource="articles" item={featured} editHref={`/admin/write/${featured.id}`}>
<Link