# STD-03 — Blade Layout — Consistency & Component Reuse

**Category:** code_standards  
**Generated:** 2026-05-19T21:36:13.935468  

**Target Files:**
- `resources/views/layouts/app.blade.php`
- `resources/views/layouts/admin.blade.php`
- `resources/views/layouts/partials/navbar.blade.php`
- `resources/views/layouts/partials/footer.blade.php`
- `resources/views/layouts/partials/whatsapp-float.blade.php`

---

Kamu adalah expert Laravel security & UI auditor.
Project: CRIUS COMPRESSOR — Laravel 12, Tailwind CSS, Alpine.js, Bilingual ID/EN.
Stack: PHP 8.3, Laravel 12, MySQL, Tailwind CSS v3, Alpine.js v3.
Design system: CSS variables --navy, --blue-light, --accent, font Montserrat.
Admin layout: resources/views/layouts/admin.blade.php
Frontend layout: resources/views/layouts/app.blade.php
Helpers: setting(), locale_field(), active_locale() di app/Helpers/helpers.php
Bilingual: field _id / _en suffix, middleware SetLocale, URL prefix /en.

ATURAN OUTPUT KAMU:
1. Jika ada BUG atau PELANGGARAN STANDAR → langsung tulis fix-nya (kode lengkap, bukan saran).
2. Format output: [FILE PATH] → [MASALAH] → [FIX CODE].
3. Jika file sudah benar → tulis "✓ OK: [alasan singkat]".
4. JANGAN tambah penjelasan panjang. Langsung ke kode.
5. Prioritas: CRITICAL > HIGH > MEDIUM > LOW.

============================================================
TASK: Audit Blade layout — konsistensi struktur dan reusability.

CEK app.blade.php:
1. Apakah include partial dalam urutan benar: seo-head → navbar → @yield('content') → footer → whatsapp-float?
2. Apakah GA4 script di-inject di sini? if(setting('ga4_measurement_id')) {{ -- inject GA4 script -- }}
3. Apakah ada @stack('scripts') sebelum </body>?
4. Apakah ada @stack('styles') di dalam <head>?
5. Apakah Vite assets di-load dengan @vite(['resources/css/app.css', 'resources/js/app.js'])?

CEK navbar.blade.php:
1. Apakah menu navigasi diambil dari DB? Menu::header()->active()->ordered()->get()
   ATAU dari static route — mana yang dipakai? Jika static, apakah sudah sinkron dengan routes?
2. Apakah active state nav link berfungsi? request()->routeIs('products*') dsb.
3. Apakah mobile hamburger menu berfungsi dengan Alpine.js?
4. Apakah language switcher ada dan berfungsi?
5. Apakah CTA button "Request Quote" link ke WhatsApp dari setting()?

CEK footer.blade.php:
1. Apakah copyright tahun otomatis? {{ date('Y') }}
2. Apakah link sosial media dari setting('social_*')?
3. Apakah ada link sitemap dan kebijakan privasi?

CEK whatsapp-float.blade.php:
1. Apakah tombol hanya muncul setelah scroll 100px? (Alpine.js atau JS)
2. Apakah nomor WA dari setting('whatsapp_number')?
3. Apakah pesan default dari setting('whatsapp_message_' . app()->getLocale())?
4. Apakah ada animasi pulse?

Tulis fix untuk setiap masalah.
