# Fix: Foto Bahan Baku Tidak Muncul di Cutting & Belanja ## Tujuan Memperbaiki foto bahan baku (raw material) yang tidak muncul di halaman create/edit Cutting dan Belanja (Purchasing). Menampilkan foto conversion (thumbnail) bukan original. ## File yang Dibaca - `app/Services/Admin/Master/RawMaterial/RawMaterialVariantService.php` → `getForCutting()` method (root cause backend) - `resources/js/pages/admin/manage/cutting/columns.tsx` → `CuttingCreateData` type (root cause frontend) - `resources/js/pages/admin/manage/purchase/columns.tsx` → `PurchaseCreateData` type (root cause frontend) - `resources/js/pages/admin/master/raw-material/columns.tsx` → reference type pattern ## Root Cause ### Backend `getForCutting()` tidak load media atau set `photo_url`/`photo_conversion_url` pada `RawMaterialPrice`. ### Frontend Type `CuttingCreateData` dan `PurchaseCreateData` tidak include `photo_conversion_url` di `raw_material_prices` → TypeScript strip property → frontend tidak bisa akses. ## Perubahan ### 1. Backend — `RawMaterialVariantService::getForCutting()` - Tambah eager load `rawMaterialPrices.media` - Iterasi setiap `RawMaterialPrice` untuk set `photo_url` + `photo_conversion_url` ### 2. Frontend Types — `columns.tsx` - `CuttingCreateData.raw_material_prices` → tambah `photo_conversion_url: string | null` - `PurchaseCreateData.raw_material_prices` → tambah `photo_conversion_url: string | null` ### 3. Frontend Components — 4 files - Tambah `photo_conversion_url` ke `MaterialState` type (cutting create/edit) - Map `photo_conversion_url` dari backend data - `