Files
construprogress/resources/views/projects/edit.blade.php
T

83 lines
5.2 KiB
PHP

<x-app-layout>
<div class="max-w-2xl mx-auto p-4">
<h1 class="text-2xl font-bold mb-4">{{ __('Edit Project') }}: {{ $project->name }}</h1>
<div class="tabs tab-box w-full">
<div class="tab-toggle">
<input type="radio" name="tabs-project-edit" id="tab-project-data" checked class="tab-toggle" />
<label for="tab-project-data" class="tab tab-active">{{ __('Project Data') }}</label>
<input type="radio" name="tabs-project-edit" id="tab-phases" class="tab-toggle" />
<label for="tab-phases" class="tab">{{ __('Phases') }}</label>
<input type="radio" name="tabs-project-edit" id="tab-users" class="tab-toggle" />
<label for="tab-users" class="tab">{{ __('Users') }}</label>
</div>
<div class="tab-content">
<div id="tab-project-data" class="tab-content-base p-4">
<form action="{{ route('projects.update', $project) }}" method="POST" class="space-y-4">
@csrf
@method('PUT')
<div>
<label class="label">{{ __('Name') }}</label>
<input type="text" name="name" value="{{ old('name', $project->name) }}" class="input input-bordered w-full" required>
</div>
<div>
<label class="label">{{ __('Address') }}</label>
<input type="text" name="address" value="{{ old('address', $project->address) }}" class="input input-bordered w-full" required>
</div>
<div class="grid grid-cols-2 gap-4">
<div>
<label class="label">{{ __('Latitude') }}</label>
<input type="number" step="any" name="lat" value="{{ old('lat', $project->lat) }}" class="input input-bordered w-full" required>
</div>
<div>
<label class="label">{{ ('Longitude') }}</label>
<input type="number" step="any" name="lng" value="{{ old('lng', $project->lng) }}" class="input input-bordered w-full" required>
</div>
</div>
<div>
<label class="label">{{ __('Status') }}</label>
<select name="status" class="select select-bordered w-full">
<option value="planning" @selected($project->status == 'planning')>{{ __('Planning') }}</option>
<option value="in_progress" @selected($project->status == 'in_progress')>{{ __('In progress') }}</option>
<option value="paused" @selected($project->status == 'paused')>{{ __('Paused') }}</option>
<option value="completed" @selected($project->status == 'completed')>{{ __('Completed') }}</option>
</select>
</div>
<div class="grid grid-cols-2 gap-4">
<div>
<label class="label">{{ ('Start date') }}</label>
<input type="date" name="start_date" value="{{ old('start_date', $project->start_date->format('Y-m-d')) }}" class="input input-bordered w-full" required>
</div>
<div>
<label class="label">{{ ('Estimated end date') }}</label>
<input type="date" name="end_date_estimated" value="{{ old('end_date_estimated', $project->end_date_estimated?->format('Y-m-d')) }}" class="input input-bordered w-full">
</div>
</div>
<button type="submit" class="btn btn-primary w-full">{{ __('Update') }}</button>
</form>
</div>
<div id="tab-phases" class="tab-content-base p-4">
<h2 class="text-xl font-bold mb-2">{{ __('Phases') }}</h2>
<livewire:phase-list :project="$project" />
</div>
<div id="tab-users" class="tab-content-base p-4">
<h2 class="text-xl font-bold mb-2">{{ __('Users') }}</h2>
<livewire:project-users :project="$project" />
</div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', function() {
const tabs = document.querySelectorAll('input[name="tabs-project-edit"]');
tabs.forEach(tab => {
tab.addEventListener('change', function() {
// Este evento se dispara cuando cambia el radio button seleccionado
// DaisyUI maneja automáticamente el mostrar/ocultar el contenido
// basado en los IDs que coinciden con los labels
});
});
});
</script>
</div>
</x-app-layout>