all fix
This commit is contained in:
parent
2ad9c6f295
commit
4476e5361a
|
|
@ -21,12 +21,11 @@ public function index()
|
||||||
public function proses(Request $request)
|
public function proses(Request $request)
|
||||||
{
|
{
|
||||||
$request->validate([
|
$request->validate([
|
||||||
'gejala' => 'required|array|min:1',
|
'gejala' => 'required|array|min:3',
|
||||||
], [
|
], [
|
||||||
'gejala.required' => 'Pilih minimal 1 gejala!',
|
'gejala.required' => 'Pilih minimal 3 gejala!',
|
||||||
'gejala.min' => 'Pilih minimal 1 gejala!',
|
'gejala.min' => 'Pilih minimal 3 gejala!',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$gejalaInput = $request->gejala;
|
$gejalaInput = $request->gejala;
|
||||||
|
|
||||||
// Ambil semua rule yang relevan
|
// Ambil semua rule yang relevan
|
||||||
|
|
|
||||||
|
|
@ -49,14 +49,18 @@
|
||||||
.badge-pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }
|
.badge-pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }
|
||||||
@media (max-width: 1023px) {
|
@media (max-width: 1023px) {
|
||||||
.sidebar-desktop { display: none !important; }
|
.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; }
|
.header-bar { left: 0 !important; }
|
||||||
}
|
}
|
||||||
|
@media (min-width: 1024px) {
|
||||||
|
.main-content { margin-left: 16rem; }
|
||||||
|
.header-bar { left: 16rem; }
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
@stack('styles')
|
@stack('styles')
|
||||||
</head>
|
</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">
|
<div class="min-h-screen flex">
|
||||||
|
|
||||||
<!-- Mobile Overlay -->
|
<!-- Mobile Overlay -->
|
||||||
|
|
@ -303,11 +307,11 @@ class="w-full flex items-center px-4 py-3 rounded-xl hover:bg-gray-700 {{ reques
|
||||||
</aside>
|
</aside>
|
||||||
|
|
||||||
<!-- Main Content -->
|
<!-- 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 -->
|
||||||
<header class="bg-white border-b border-gray-200 fixed top-0 right-0 z-20 shadow-sm header-bar"
|
<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="px-4 lg:px-8 py-4">
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
<div class="flex items-center gap-3">
|
<div class="flex items-center gap-3">
|
||||||
|
|
|
||||||
|
|
@ -205,6 +205,17 @@
|
||||||
display: none;
|
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 {
|
.accordion-body.open {
|
||||||
display: block;
|
display: block;
|
||||||
animation: fadeSlideIn .25s ease;
|
animation: fadeSlideIn .25s ease;
|
||||||
|
|
@ -418,12 +429,12 @@
|
||||||
|
|
||||||
@section('content')
|
@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
|
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 --}}
|
{{-- Header Artikel --}}
|
||||||
<div class="hero-card">
|
<div class="hero-card">
|
||||||
|
|
@ -537,32 +548,9 @@
|
||||||
══════════════════════════════════ --}}
|
══════════════════════════════════ --}}
|
||||||
<div class="space-y-5 sidebar-sticky">
|
<div class="space-y-5 sidebar-sticky">
|
||||||
|
|
||||||
{{-- Info Artikel --}}
|
{{-- Download PDF --}}
|
||||||
<!-- <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)
|
@if($artikel->file_pdf)
|
||||||
|
<div class="sidebar-card">
|
||||||
<a href="{{ Storage::url($artikel->file_pdf) }}" target="_blank" class="btn-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">
|
<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="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"/>
|
||||||
|
|
@ -570,8 +558,8 @@
|
||||||
</svg>
|
</svg>
|
||||||
Download PDF
|
Download PDF
|
||||||
</a>
|
</a>
|
||||||
@endif
|
|
||||||
</div>
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
{{-- Navigasi --}}
|
{{-- Navigasi --}}
|
||||||
<div class="sidebar-card space-y-3">
|
<div class="sidebar-card space-y-3">
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,7 @@
|
||||||
<table style="width:100%; border-collapse:collapse;">
|
<table style="width:100%; border-collapse:collapse;">
|
||||||
<tr>
|
<tr>
|
||||||
<td style="vertical-align:top;">
|
<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)
|
@if($riwayat->penyakit?->tingkat_bahaya)
|
||||||
@php
|
@php
|
||||||
$bc = match($riwayat->penyakit->tingkat_bahaya) {
|
$bc = match($riwayat->penyakit->tingkat_bahaya) {
|
||||||
|
|
@ -160,7 +160,7 @@
|
||||||
{{-- Tentang Penyakit --}}
|
{{-- Tentang Penyakit --}}
|
||||||
@if($riwayat->penyakit?->deskripsi_singkat)
|
@if($riwayat->penyakit?->deskripsi_singkat)
|
||||||
<div class="section">
|
<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 class="desc-box">{{ $riwayat->penyakit->deskripsi_singkat }}</div>
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
@ -213,7 +213,15 @@
|
||||||
{{-- Semua Kemungkinan Penyakit --}}
|
{{-- Semua Kemungkinan Penyakit --}}
|
||||||
@if($riwayat->hasil_diagnosa && count($riwayat->hasil_diagnosa) > 1)
|
@if($riwayat->hasil_diagnosa && count($riwayat->hasil_diagnosa) > 1)
|
||||||
<div class="section">
|
<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">
|
<table class="kemung-table">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
|
|
@ -225,9 +233,15 @@
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@foreach($riwayat->hasil_diagnosa as $index => $hasil)
|
@foreach($riwayat->hasil_diagnosa as $index => $hasil)
|
||||||
|
@php $penyakitPdf = \App\Models\MasterPenyakit::find($hasil['id_penyakit']); @endphp
|
||||||
<tr>
|
<tr>
|
||||||
<td><span class="rank-circle {{ $index === 0 ? 'rank-1' : 'rank-other' }}">{{ $index + 1 }}</span></td>
|
<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 style="text-align:right; font-weight:bold; color:{{ $index === 0 ? '#16a34a' : '#6b7280' }};">{{ $hasil['persentase'] }}%</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="mini-track">
|
<div class="mini-track">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue