56 lines
3.8 KiB
PHP
56 lines
3.8 KiB
PHP
@extends('layouts.app')
|
|
|
|
@section('content')
|
|
<div class="max-w-3xl mx-auto space-y-6">
|
|
<div class="flex items-center gap-4">
|
|
<a href="{{ route('documents.index') }}" class="p-2 text-gray-500 hover:text-gray-900 hover:bg-gray-100 rounded-lg transition-colors">
|
|
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 19l-7-7m0 0l7-7m-7 7h18"/></svg>
|
|
</a>
|
|
<h1 class="text-2xl font-bold text-gray-900">{{ isset($document) ? __('document.edit_document') : __('document.upload_document') }}</h1>
|
|
</div>
|
|
|
|
<form method="POST" action="{{ isset($document) ? route('documents.update', $document) : route('documents.store') }}" enctype="multipart/form-data" class="bg-white rounded-xl border border-gray-200 p-6 space-y-5">
|
|
@csrf
|
|
@if(isset($document)) @method('PUT') @endif
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-5">
|
|
<div>
|
|
<label for="title" class="block text-sm font-medium text-gray-700 mb-1">{{ __('document.title') }} <span class="text-red-500">*</span></label>
|
|
<input type="text" id="title" name="title" value="{{ old('title', $document?->title ?? '') }}"
|
|
class="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-teal-500" required>
|
|
@error('title')<p class="mt-1 text-xs text-red-500">{{ $message }}</p>@enderror
|
|
</div>
|
|
|
|
<div>
|
|
<label for="project_id" class="block text-sm font-medium text-gray-700 mb-1">{{ __('document.project') }}</label>
|
|
<select id="project_id" name="project_id" class="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-teal-500">
|
|
<option value="">{{ __('common.select') }}</option>
|
|
@foreach($projects as $project)
|
|
<option value="{{ $project->id }}" {{ old('project_id', $document?->project_id ?? '') == $project->id ? 'selected' : '' }}>{{ $project->name }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
|
|
<div class="md:col-span-2">
|
|
<label for="description" class="block text-sm font-medium text-gray-700 mb-1">{{ __('document.description') }}</label>
|
|
<textarea id="description" name="description" rows="3"
|
|
class="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-teal-500">{{ old('description', $document?->description ?? '') }}</textarea>
|
|
</div>
|
|
|
|
<div class="md:col-span-2">
|
|
<label for="file" class="block text-sm font-medium text-gray-700 mb-1">{{ __('document.file') }} <span class="text-red-500">*</span></label>
|
|
<input type="file" id="file" name="file"
|
|
class="w-full text-sm text-gray-500 file:mr-4 file:py-2 file:px-4 file:rounded-lg file:border-0 file:text-sm file:font-medium file:bg-teal-50 file:text-teal-700 hover:file:bg-teal-100"
|
|
{{ isset($document) ? '' : 'required' }}>
|
|
@error('file')<p class="mt-1 text-xs text-red-500">{{ $message }}</p>@enderror
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex items-center justify-end gap-3 pt-4 border-t border-gray-200">
|
|
<a href="{{ route('documents.index') }}" class="px-4 py-2 text-sm font-medium text-gray-700 bg-gray-100 rounded-lg hover:bg-gray-200 transition-colors">{{ __('common.cancel') }}</a>
|
|
<button type="submit" class="px-6 py-2 text-sm font-medium text-white bg-teal-600 rounded-lg hover:bg-teal-700 transition-colors">{{ isset($document) ? __('common.save_changes') : __('common.create') }}</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
@endsection
|