Files
ladill-care/resources/views/care/pharmacy/drugs/index.blade.php
T
isaaccladandCursor 0b6cad75a6
Deploy Ladill Care / deploy (push) Successful in 37s
Add hero sections to Patients, Appointments, Queue, and admin index pages.
Introduce shared x-care.page-hero with summary stats so key list views
match the Ladill app hero pattern used across Frontdesk and Link.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-05 22:57:54 +00:00

53 lines
3.0 KiB
PHP

@php $money = fn ($minor) => config('care.billing.currency').' '.number_format($minor / 100, 2); @endphp
<x-app-layout title="Drug inventory">
<div class="space-y-6">
<x-care.page-hero
badge="Pharmacy · Stock · Reorder alerts"
title="Inventory"
description="Track drug stock levels, unit pricing, and batches — with alerts when items run low or expire."
:stats="[
['value' => number_format($heroStats['total']), 'label' => 'Drugs'],
['value' => number_format($heroStats['low_stock']), 'label' => 'Low stock'],
['value' => number_format($heroStats['expired']), 'label' => 'Expired batches'],
]">
@if ($canManage)
<x-slot name="actions">
<a href="{{ route('care.pharmacy.drugs.create') }}" class="btn-primary">Add drug</a>
</x-slot>
@endif
</x-care.page-hero>
@if ($lowStock->isNotEmpty())
<div class="rounded-xl border border-amber-200 bg-amber-50 p-4 text-sm text-amber-900">{{ $lowStock->count() }} drug(s) below reorder level.</div>
@endif
@if ($expired->isNotEmpty())
<div class="rounded-xl border border-red-200 bg-red-50 p-4 text-sm text-red-900">{{ $expired->count() }} expired batch(es) with stock on hand.</div>
@endif
<form method="GET" class="rounded-2xl border border-slate-200 bg-white p-4">
<input type="search" name="q" value="{{ request('q') }}" placeholder="Search drugs…" class="w-full rounded-lg border-slate-300 text-sm sm:max-w-md">
</form>
<div class="overflow-hidden rounded-2xl border border-slate-200 bg-white">
<table class="min-w-full text-sm">
<thead class="bg-slate-50 text-left text-xs uppercase text-slate-500"><tr><th class="px-4 py-3">Drug</th><th class="px-4 py-3">Stock</th><th class="px-4 py-3">Unit price</th><th></th></tr></thead>
<tbody class="divide-y divide-slate-50">
@forelse ($drugs as $drug)
<tr>
<td class="px-4 py-3"><p class="font-medium">{{ $drug->name }}</p>@if($drug->generic_name)<p class="text-xs text-slate-500">{{ $drug->generic_name }}</p>@endif</td>
<td class="px-4 py-3 {{ $drug->stockOnHand() <= $drug->reorder_level ? 'text-amber-700 font-medium' : '' }}">{{ $drug->stockOnHand() }} {{ $drug->unit }}</td>
<td class="px-4 py-3">{{ $money($drug->unit_price_minor) }}</td>
<td class="px-4 py-3 text-right"><a href="{{ route('care.pharmacy.drugs.show', $drug) }}" class="text-sky-600">View</a></td>
</tr>
@empty
<tr><td colspan="4" class="px-4 py-8 text-center text-slate-500">No drugs in inventory.</td></tr>
@endforelse
</tbody>
</table>
</div>
<div>{{ $drugs->links() }}</div>
</div>
</x-app-layout>