UniformFlow/resources/views/stock-details/index.blade.php

45 lines
4.1 KiB
PHP

@extends('layouts.app')
@section('title', 'Stock details - UniformFlow')
@section('page-heading', 'Stock details')
@section('content')
<section class="page-intro"><div><span class="eyebrow">Uniform catalogue</span><h1>Stock specifications <em>& views.</em></h1><p>Maintain materials, colors, care details, and front/back reference images for every uniform type.</p></div><a class="button subtle" href="{{ route('inventory.index') }}">View stock balances</a></section>
<section class="panel stock-detail-search-panel">
<form method="GET" action="{{ route('stock-details.index') }}" class="stock-detail-search">
<label for="stock-detail-search"><span class="eyebrow">Find stock details</span><strong>Search the uniform catalogue</strong></label>
<div class="stock-search-input"><span></span><input id="stock-detail-search" type="search" name="search" value="{{ request('search') }}" placeholder="Search name, item code, material or color" autofocus><button class="button primary" type="submit">Search</button>@if(request('search'))<a class="button subtle" href="{{ route('stock-details.index') }}">Clear</a>@endif</div>
</form>
@if(request('search'))<small class="stock-search-count">{{ $items->total() }} result(s) for {{ request('search') }}</small>@endif
</section>
<div class="stock-detail-grid">
@forelse($items as $item)
<article class="panel stock-detail-card">
<div class="stock-detail-head"><div class="item-symbol">{{ strtoupper(substr($item->name, 0, 2)) }}</div><div class="grow"><span class="eyebrow">{{ $item->code }}</span><h2>{{ $item->name }}</h2><small>{{ $item->variants->count() }} sizes / {{ $item->variants->sum('quantity') }} available units</small></div><span class="pill {{ $item->material ? 'good' : 'warning' }}">{{ $item->material ? 'Documented' : 'Needs details' }}</span></div>
<form method="POST" action="{{ route('stock-details.update', $item) }}" enctype="multipart/form-data">@csrf @method('PUT')
<div class="stock-view-grid">
<label class="stock-view-upload">
<span class="view-label">Front view</span>
@if($item->front_image)<img src="{{ asset('storage/'.$item->front_image) }}" alt="Front view of {{ $item->name }}">@else<div class="view-placeholder"><span>FRONT</span><small>Add reference image</small></div>@endif
<input type="file" name="front_image" accept="image/*"><span class="upload-action">Choose front image</span>
</label>
<label class="stock-view-upload">
<span class="view-label">Back view</span>
@if($item->back_image)<img src="{{ asset('storage/'.$item->back_image) }}" alt="Back view of {{ $item->name }}">@else<div class="view-placeholder"><span>BACK</span><small>Add reference image</small></div>@endif
<input type="file" name="back_image" accept="image/*"><span class="upload-action">Choose back image</span>
</label>
</div>
<div class="form-grid stock-spec-fields">
<label>Material / fabric<input name="material" value="{{ old('material', $item->material) }}" placeholder="e.g. 65% polyester, 35% cotton"></label>
<label>Primary color<input name="color" value="{{ old('color', $item->color) }}" placeholder="e.g. Navy blue"></label>
<label class="full">Description<textarea name="description" rows="2" placeholder="Fit, style and identifying details">{{ old('description', $item->description) }}</textarea></label>
<label class="full">Care instructions<textarea name="care_instructions" rows="2" placeholder="Washing, ironing and storage instructions">{{ old('care_instructions', $item->care_instructions) }}</textarea></label>
</div>
<button class="button primary stock-detail-save" type="submit">Save stock details</button>
</form>
</article>
@empty<div class="panel empty">{{ request('search') ? 'No stock details match your search.' : 'Add a uniform type in Inventory before entering stock details.' }}</div>@endforelse
</div>
@if($items->hasPages())<div class="panel stock-detail-pagination pagination">{{ $items->links() }}</div>@endif
@endsection