fix(admin): دکمهٔ «ویرایش این پروژه» در صفحهٔ عمومی پروژه برای همه رندر میشد — فقط برای ادمین واردشده
This commit is contained in:
@@ -9,12 +9,14 @@ import { Lightbox } from '../components/Lightbox'
|
|||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
import { useSite, useStatusLabel } from '../api';
|
import { useSite, useStatusLabel } from '../api';
|
||||||
import { useLang } from '../i18n/lang';
|
import { useLang } from '../i18n/lang';
|
||||||
|
import { useAdmin } from '../admin/AdminContext';
|
||||||
import { applySeo } from '../seo';
|
import { applySeo } from '../seo';
|
||||||
|
|
||||||
export function ProjectDetail() {
|
export function ProjectDetail() {
|
||||||
const { slug } = useParams<{ slug: string }>()
|
const { slug } = useParams<{ slug: string }>()
|
||||||
const { projects, brand } = useSite()
|
const { projects, brand } = useSite()
|
||||||
const { t, href, lang } = useLang()
|
const { t, href, lang } = useLang()
|
||||||
|
const { canManageSite } = useAdmin()
|
||||||
const project = projects.find((p) => p.slug === slug)
|
const project = projects.find((p) => p.slug === slug)
|
||||||
const statusLabel = useStatusLabel(project?.status ?? '')
|
const statusLabel = useStatusLabel(project?.status ?? '')
|
||||||
const [lightbox, setLightbox] = useState<number | null>(null)
|
const [lightbox, setLightbox] = useState<number | null>(null)
|
||||||
@@ -88,16 +90,18 @@ export function ProjectDetail() {
|
|||||||
</nav>
|
</nav>
|
||||||
<h1 className="mt-5 max-w-[700px] text-hero font-bold text-ivory">{project.title}</h1>
|
<h1 className="mt-5 max-w-[700px] text-hero font-bold text-ivory">{project.title}</h1>
|
||||||
<p className="mt-5 max-w-2xl text-base font-light leading-9 text-ivory/70">{project.summary}</p>
|
<p className="mt-5 max-w-2xl text-base font-light leading-9 text-ivory/70">{project.summary}</p>
|
||||||
{/* ویرایش این پروژه — صفحهٔ اختصاصی ویرایش */}
|
{/* ویرایش این پروژه — فقط برای ادمین واردشده؛ هرگز برای بازدیدکننده رندر نشود */}
|
||||||
<div className="mt-5">
|
{canManageSite && (
|
||||||
<Link
|
<div className="mt-5">
|
||||||
to={`/admin/projects/${project.id}`}
|
<Link
|
||||||
data-admin-link
|
to={`/admin/projects/${project.id}`}
|
||||||
className="inline-flex items-center gap-2 rounded-full border border-copper/50 bg-ink/90 px-4 py-2 text-xs font-light text-copper backdrop-blur-sm transition-colors duration-200 hover:bg-copper hover:text-char"
|
data-admin-link
|
||||||
>
|
className="inline-flex items-center gap-2 rounded-full border border-copper/50 bg-ink/90 px-4 py-2 text-xs font-light text-copper backdrop-blur-sm transition-colors duration-200 hover:bg-copper hover:text-char"
|
||||||
ویرایش این پروژه (عنوان، مشخصات، گالری، متن)
|
>
|
||||||
</Link>
|
ویرایش این پروژه (عنوان، مشخصات، گالری، متن)
|
||||||
</div>
|
</Link>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user