import React from 'react' import { Link } from 'react-router-dom' import { ArrowLeftIcon, ClockIcon } from 'lucide-react' import { PageHero } from '../components/PageHero' import { Reveal } from '../components/Reveal' import { ArticleCard } from '../components/ArticleCard' import { Newsletter } from '../components/home/Newsletter' import { useSite } from '../api' import { useLang } from '../i18n/lang' import { EditableItem } from '../admin/Editable' import { useAdmin } from '../admin/AdminContext' import { formatJalali } from '../utils/date' import { toPersianDigits } from '../utils/digits' import { PlusIcon } from 'lucide-react' function DraftBadge({ className = '' }: { className?: string }) { const { t } = useLang() return ( {t('draft')} ) } export function Blog() { const { articles } = useSite() const { t, href, lang } = useLang() const { isEditMode } = useAdmin() // دکمه «نوشتن مقاله جدید» فقط در حالت ویرایش ادمین دیده میشود const writeButton = isEditMode ? ( {t('writeNewArticle')} ) : null // حالت خالی — وبلاگ بدون مقاله نباید کرش کند if (articles.length === 0) { return ( <> {t('blogEmpty')} {t('blogEmptyText')} {writeButton} > ) } const [featured, ...rest] = articles return ( <> {writeButton} {t('featuredArticle')} — {featured.category} {featured.status === 'draft' && ( )} {featured.title} {featured.excerpt} {lang === 'en' ? new Intl.DateTimeFormat('en-GB', { day: 'numeric', month: 'long', year: 'numeric' }).format(new Date(featured.date)) : formatJalali(featured.date)} {lang === 'en' ? featured.read : toPersianDigits(featured.read)} {t('readMore')} {rest.map((article, i) => ( {article.status === 'draft' && ( )} ))} > ) }
{t('blogEmptyText')}
{t('featuredArticle')} — {featured.category} {featured.status === 'draft' && ( )}
{featured.excerpt}