مدیریت پلتفرم
متن کارت یکپارچهسازی
چهار کارت موجود در صفحهی عمومی /integrations (نوتین، گوگل داکس، اسلک، استرایپ) با متنهای پیشفرض عرضه میشوند. مدیران میتوانند نام، دستهبندی، شعار و توضیحات هر کارت را از مسیر /settings/system → Integrations → متن کارت اتصال سفارشی کنند. آیکون و رنگ برجسته همچنان توسط کد برنامه کنترل میشوند تا تغییر متن، باعث بههمریختگی ظاهر نشود.
مکان ذخیرهسازی تنظیمات
این تنظیمات بهصورت JSON در app_settings.integration_cards ذخیره میشوند. در زمان نمایش، توسط App\Support\IntegrationCardsContent::resolve() پردازش میشوند که تنظیمات مدیر را روی پیشفرضهای ثابت در defaults() اعمال میکند؛ کلید هر کارت براساس نام آن است (بدون توجه به حروف بزرگ و کوچک).
رفتار بازگشت هر فیلد
- ردیف تنظیمات وجود نداشته باشد → کارت با همان پیشفرض نمایش داده میشود.
- ردیف تنظیمات وجود داشته باشد و فیلد پر شده باشد → مقدار مدیر جایگزین میشود.
- فیلد تنظیمات خالی یا فقط شامل فاصله باشد → همان فیلد به مقدار پیشفرض بازمیگردد. این امکان را به مدیر میدهد که یک ویرایش را «پاک» کند بدون اینکه کل ردیف را حذف کند.
- ارسال یک آرایهی خالی
integration_cardsاز طریق فرم مدیریت، تمام تنظیمات را پاک کرده و همهی کارتها را به حالت پیشفرض بازمیگرداند.
افزودن کارت جدید
بهطور طراحی شده، این قابلیت در رابط مدیریتی در دسترس نیست — زیرا ظاهر کارت به آیکون، رنگ برجسته و نوع اتصال مشخصی وابسته است. برای افزودن کارت جدید، IntegrationCardsContent::defaults() را ویرایش کرده و دوباره برنامه را بسازید. سپس فرم مدیریت، آن را بهعنوان یک ردیف قابل ویرایش جدید نمایش میدهد.
چرا آیکون و رنگ برجسته قابل ویرایش نیستند
هر دو از رنگهای Tailwind و آیکونهای lucide-react استفاده میکنند که توسط Vite بستهبندی میشوند. اگر به مدیر اجازه داده شود که نام آیکون یا کد رنگ دلخواه وارد کند، یا یک جعبهی خالی بدون آیکون نمایش داده میشود، یا در صورتی که build نتواند ایمپورت را بهدرستی مدیریت کند، صفحه خراب میشود. این یک تصمیم عمدی است: قابلیت ویرایش متن به مدیران امکان کنترل پیامها را میدهد بدون اینکه خطر بههمریختگی ظاهر یا استایل وجود داشته باشد.