all fix
This commit is contained in:
parent
2ad9c6f295
commit
4476e5361a
|
|
@ -21,12 +21,11 @@ public function index()
|
|||
public function proses(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'gejala' => 'required|array|min:1',
|
||||
'gejala' => 'required|array|min:3',
|
||||
], [
|
||||
'gejala.required' => 'Pilih minimal 1 gejala!',
|
||||
'gejala.min' => 'Pilih minimal 1 gejala!',
|
||||
'gejala.required' => 'Pilih minimal 3 gejala!',
|
||||
'gejala.min' => 'Pilih minimal 3 gejala!',
|
||||
]);
|
||||
|
||||
$gejalaInput = $request->gejala;
|
||||
|
||||
// Ambil semua rule yang relevan
|
||||
|
|
|
|||
|
|
@ -49,14 +49,18 @@
|
|||
.badge-pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }
|
||||
@media (max-width: 1023px) {
|
||||
.sidebar-desktop { display: none !important; }
|
||||
.main-content { margin-left: 0 !important; }
|
||||
.main-content { margin-left: 0 !important; width: 100% !important; max-width: 100% !important; }
|
||||
.header-bar { left: 0 !important; }
|
||||
}
|
||||
@media (min-width: 1024px) {
|
||||
.main-content { margin-left: 16rem; }
|
||||
.header-bar { left: 16rem; }
|
||||
}
|
||||
</style>
|
||||
|
||||
@stack('styles')
|
||||
</head>
|
||||
<body class="font-sans antialiased bg-gray-50">
|
||||
<body class="font-sans antialiased bg-gray-50 overflow-x-hidden">
|
||||
<div class="min-h-screen flex">
|
||||
|
||||
<!-- Mobile Overlay -->
|
||||
|
|
@ -303,11 +307,11 @@ class="w-full flex items-center px-4 py-3 rounded-xl hover:bg-gray-700 {{ reques
|
|||
</aside>
|
||||
|
||||
<!-- Main Content -->
|
||||
<div class="flex-1 sidebar-transition main-content" style="margin-left:16rem;">
|
||||
<div class="flex-1 sidebar-transition main-content" style="overflow-x:hidden; min-width:0;">
|
||||
|
||||
<!-- Header -->
|
||||
<header class="bg-white border-b border-gray-200 fixed top-0 right-0 z-20 shadow-sm header-bar"
|
||||
style="left:16rem; transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);">
|
||||
style="transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);">
|
||||
<div class="px-4 lg:px-8 py-4">
|
||||
<div class="flex items-center justify-between">
|
||||
<div class="flex items-center gap-3">
|
||||
|
|
|
|||
|
|
@ -205,6 +205,17 @@
|
|||
display: none;
|
||||
}
|
||||
|
||||
@media (max-width: 1023px) {
|
||||
.accordion-body { padding: 0 12px 16px 12px !important; }
|
||||
.accordion-trigger { padding: 12px 12px !important; }
|
||||
.section-header { padding: 14px 12px !important; }
|
||||
.budidaya-wrap { overflow-x: hidden; }
|
||||
.article-title { font-size: 1.1rem !important; }
|
||||
.hero-img-wrap { height: 180px !important; }
|
||||
.sidebar-card { padding: 16px 12px !important; }
|
||||
.hero-card > div:last-child { padding: 16px 12px !important; }
|
||||
}
|
||||
|
||||
.accordion-body.open {
|
||||
display: block;
|
||||
animation: fadeSlideIn .25s ease;
|
||||
|
|
@ -418,12 +429,12 @@
|
|||
|
||||
@section('content')
|
||||
|
||||
<div class="budidaya-wrap grid grid-cols-1 lg:grid-cols-3 gap-6">
|
||||
<div class="budidaya-wrap grid grid-cols-1 lg:grid-cols-3 gap-6 min-w-0">
|
||||
|
||||
{{-- ══════════════════════════════════
|
||||
KONTEN UTAMA
|
||||
══════════════════════════════════ --}}
|
||||
<div class="lg:col-span-2 space-y-6">
|
||||
<div class="lg:col-span-2 space-y-6 min-w-0 overflow-hidden">
|
||||
|
||||
{{-- Header Artikel --}}
|
||||
<div class="hero-card">
|
||||
|
|
@ -537,41 +548,18 @@
|
|||
══════════════════════════════════ --}}
|
||||
<div class="space-y-5 sidebar-sticky">
|
||||
|
||||
{{-- Info Artikel --}}
|
||||
<!-- <div class="sidebar-card">
|
||||
<h3>
|
||||
<span class="sidebar-icon" style="background:#e3f2fd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" fill="#1565c0" viewBox="0 0 16 16">
|
||||
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16"/>
|
||||
<path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0"/>
|
||||
</svg>
|
||||
</span>
|
||||
Info Artikel
|
||||
</h3>
|
||||
|
||||
<div class="info-row">
|
||||
<span class="lbl">Kategori</span>
|
||||
<span class="val green">Budidaya</span>
|
||||
</div>
|
||||
<div class="info-row">
|
||||
<span class="lbl">Tanggal</span>
|
||||
<span class="val">{{ $artikel->published_at?->format('d M Y') ?? '-' }}</span>
|
||||
</div>
|
||||
<div class="info-row">
|
||||
<span class="lbl">Sub-bab</span>
|
||||
<span class="val blue">{{ $artikel->subBab->count() }} sub-bab</span>
|
||||
</div> -->
|
||||
|
||||
@if($artikel->file_pdf)
|
||||
<a href="{{ Storage::url($artikel->file_pdf) }}" target="_blank" class="btn-pdf">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" viewBox="0 0 16 16">
|
||||
<path d="M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2M9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5z"/>
|
||||
<path d="M4.603 14.087a.8.8 0 0 1-.438-.42c-.195-.388-.13-.776.08-1.102.198-.307.526-.568.897-.787a7.7 7.7 0 0 1 1.482-.645 20 20 0 0 0 1.062-2.227 7.3 7.3 0 0 1-.43-1.295c-.086-.4-.119-.796-.046-1.136.075-.354.274-.672.65-.823.192-.077.4-.12.602-.077a.7.7 0 0 1 .477.365c.088.164.12.356.127.538.007.188-.012.396-.047.614-.084.51-.27 1.134-.52 1.794a11 11 0 0 0 .98 1.686 5.8 5.8 0 0 1 1.334.05c.364.066.734.195.96.465.12.144.193.32.2.518.007.192-.047.382-.138.563a1.04 1.04 0 0 1-.354.416.86.86 0 0 1-.51.138c-.331-.014-.654-.196-.933-.417a5.7 5.7 0 0 1-.911-.95 11.7 11.7 0 0 0-1.997.406 11.3 11.3 0 0 1-1.02 1.51c-.292.35-.609.656-.927.787a.8.8 0 0 1-.58.029"/>
|
||||
</svg>
|
||||
Download PDF
|
||||
</a>
|
||||
@endif
|
||||
{{-- Download PDF --}}
|
||||
@if($artikel->file_pdf)
|
||||
<div class="sidebar-card">
|
||||
<a href="{{ Storage::url($artikel->file_pdf) }}" target="_blank" class="btn-pdf">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" viewBox="0 0 16 16">
|
||||
<path d="M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2M9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5z"/>
|
||||
<path d="M4.603 14.087a.8.8 0 0 1-.438-.42c-.195-.388-.13-.776.08-1.102.198-.307.526-.568.897-.787a7.7 7.7 0 0 1 1.482-.645 20 20 0 0 0 1.062-2.227 7.3 7.3 0 0 1-.43-1.295c-.086-.4-.119-.796-.046-1.136.075-.354.274-.672.65-.823.192-.077.4-.12.602-.077a.7.7 0 0 1 .477.365c.088.164.12.356.127.538.007.188-.012.396-.047.614-.084.51-.27 1.134-.52 1.794a11 11 0 0 0 .98 1.686 5.8 5.8 0 0 1 1.334.05c.364.066.734.195.96.465.12.144.193.32.2.518.007.192-.047.382-.138.563a1.04 1.04 0 0 1-.354.416.86.86 0 0 1-.51.138c-.331-.014-.654-.196-.933-.417a5.7 5.7 0 0 1-.911-.95 11.7 11.7 0 0 0-1.997.406 11.3 11.3 0 0 1-1.02 1.51c-.292.35-.609.656-.927.787a.8.8 0 0 1-.58.029"/>
|
||||
</svg>
|
||||
Download PDF
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{-- Navigasi --}}
|
||||
<div class="sidebar-card space-y-3">
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@
|
|||
<table style="width:100%; border-collapse:collapse;">
|
||||
<tr>
|
||||
<td style="vertical-align:top;">
|
||||
<span class="badge">Penyakit Terdeteksi</span>
|
||||
<span class="badge">{{ ($riwayat->penyakit?->kategori === 'Hama') ? 'Hama Terdeteksi' : 'Penyakit Terdeteksi' }}</span>
|
||||
@if($riwayat->penyakit?->tingkat_bahaya)
|
||||
@php
|
||||
$bc = match($riwayat->penyakit->tingkat_bahaya) {
|
||||
|
|
@ -160,7 +160,7 @@
|
|||
{{-- Tentang Penyakit --}}
|
||||
@if($riwayat->penyakit?->deskripsi_singkat)
|
||||
<div class="section">
|
||||
<div class="section-title"><span class="section-title-bar"></span>Tentang Penyakit</div>
|
||||
<div class="section-title"><span class="section-title-bar"></span>Tentang {{ ($riwayat->penyakit?->kategori === 'Hama') ? 'Hama' : 'Penyakit' }}</div>
|
||||
<div class="desc-box">{{ $riwayat->penyakit->deskripsi_singkat }}</div>
|
||||
</div>
|
||||
@endif
|
||||
|
|
@ -213,7 +213,15 @@
|
|||
{{-- Semua Kemungkinan Penyakit --}}
|
||||
@if($riwayat->hasil_diagnosa && count($riwayat->hasil_diagnosa) > 1)
|
||||
<div class="section">
|
||||
<div class="section-title"><span class="section-title-bar"></span>Semua Kemungkinan Penyakit</div>
|
||||
@php
|
||||
$kategoriListPdf = collect($riwayat->hasil_diagnosa)
|
||||
->map(fn($h) => \App\Models\MasterPenyakit::find($h['id_penyakit'])?->kategori)
|
||||
->filter()->unique()->values();
|
||||
$labelPdf = $kategoriListPdf->count() > 1
|
||||
? 'Semua Kemungkinan Hama & Penyakit'
|
||||
: 'Semua Kemungkinan ' . ($kategoriListPdf->first() ?? 'Penyakit');
|
||||
@endphp
|
||||
<div class="section-title"><span class="section-title-bar"></span>{{ $labelPdf }}</div>
|
||||
<table class="kemung-table">
|
||||
<thead>
|
||||
<tr>
|
||||
|
|
@ -225,9 +233,15 @@
|
|||
</thead>
|
||||
<tbody>
|
||||
@foreach($riwayat->hasil_diagnosa as $index => $hasil)
|
||||
@php $penyakitPdf = \App\Models\MasterPenyakit::find($hasil['id_penyakit']); @endphp
|
||||
<tr>
|
||||
<td><span class="rank-circle {{ $index === 0 ? 'rank-1' : 'rank-other' }}">{{ $index + 1 }}</span></td>
|
||||
<td style="{{ $index === 0 ? 'font-weight:bold; color:#166534;' : 'color:#374151;' }}">{{ $hasil['nama_penyakit'] }}</td>
|
||||
<td style="{{ $index === 0 ? 'font-weight:bold; color:#166534;' : 'color:#374151;' }}">
|
||||
{{ $hasil['nama_penyakit'] }}
|
||||
@if($penyakitPdf?->nama_latin)
|
||||
<br><span style="font-style:italic; font-size:8.5px; color:#9ca3af; font-weight:normal;">{{ $penyakitPdf->nama_latin }}</span>
|
||||
@endif
|
||||
</td>
|
||||
<td style="text-align:right; font-weight:bold; color:{{ $index === 0 ? '#16a34a' : '#6b7280' }};">{{ $hasil['persentase'] }}%</td>
|
||||
<td>
|
||||
<div class="mini-track">
|
||||
|
|
|
|||
Loading…
Reference in New Issue