- Alt/Title تصویر شاخص اکنون ذخیره میشود (ستونهای جدید image_alt/image_title — قبلاً بیصدا دور ریخته میشد)
- Alt و Title تصاویر داخل متن پس از درج هم قابل ویرایشاند (کنار کپشن)
- نام فایل ذخیرهسازی خوانا: نام دلخواه هنگام درج یا نام خود فایل (بهجای UUID خالی)
- پنل پرسشوپاسخ پایان مقاله (ستونهای faqs/faqs_en) با ظاهر آکاردئونی سایت و اسکیمای FAQPage
- چسباندن از Outline و هر منبع خارجی: تصاویر خودکار دانلود و در Object Storage سایت میزبانی میشوند (endpoint جدید import-image با محافظ SSRF) + دکمه میزبانی مجدد روی تصاویر خارجی موجود
لایه ویرایش بصری روی سایت واقعی (بدون داشبورد جدا):
- ورود ادمین از مسیر پنهان /admin/login با توکن JWT (localStorage) و
AdminContext شامل isEditMode و وضعیت ذخیره (همگام/در حال ذخیره/خطا)
- AdminBar شناور پایین صفحه (فقط برای کاربر واردشده): کلید حالت ویرایش،
وضعیت ذخیره، خروج — حالت ویرایش در sessionStorage میماند
- InlineEdit: در حالت عادی دقیقاً همان HTML قبلی (بدون تغییر چیدمان)؛
در حالت ویرایش کادرخطچین + contentEditable با ذخیره خودکار در blur
(Enter ذخیره، Esc لغو) — وایرایششده روی همه متنهای سایت: هیرو،
تیتر بخشها، هیرو صفحات، داستان، فرم تماس، خبرنامه، فوتر، منو،
برچسبهای وضعیت پروژه و...
- کشوی عمومی EntityDrawer با پیکربندی متمرکز برای ۱۴ مجموعه (خدمات،
پروژهها، مقالات، نظرات، سوالات، تیم، تایملاین، آمار، چرا آرامش،
مدلهای سرمایهگذاری، مراحل کار، دفاتر، گالری، منو): ویرایش چندفیلدی،
افزودن، حذف و جابهجایی ترتیب (▲▼) با ذخیره خودکار هر فیلد
- دکمههای شناور ویرایش/حذف/ترتیب فقط در حالت ویرایش روی آیتمها
- کشوهای یگانه: برند و لوگو، تنظیمات هیرو، فرم تماس، خبرنامه، فوتر،
قبل/بعد و نقلقول داستان — آپلود تصویر به MinIO از همانجا
- بهروزرسانی خوشبینانه SiteContext (updateSite) پس از هر PATCH؛
مسیرها در حالت ویرایش کلیک نمیشوند؛ breadcrumb محافظ beforeunload
- اتصال کامل فرانت به API: همه محتوای سایت (پروژهها، مقالات، خدمات، برند و...) از بکاند خوانده میشود (SiteProvider + useSite)
- فرم تماس و خبرنامه متصل به بکاند و تستشده در مرورگر
- ساختار مونوریپو: frontend/ + backend/
- Dockerfile برای هر دو بخش + docker-compose (PostgreSQL + FastAPI + nginx)
- nginx با پروکسی /api — بدون نیاز به CORS در حالت داکر
- README کامل فارسی