Files
Nexora/resources/views/companies/form.blade.php
2025-10-25 11:29:20 +02:00

286 lines
13 KiB
PHP

@extends('companies.layout')
@section('company-content')
<!-- Header -->
<div class="mb-8">
<div class="flex items-center gap-4 mb-4">
<flux:icon.building-office class="size-10" variant="solid"/>
<h1 class="text-3xl font-bold text-gray-800">
{{ (isset($company) && $company->id) ? 'Editar Empresa' : 'Nueva Empresa' }}
</h1>
</div>
<p class="text-gray-600 text-sm">
@if(isset($user) && $user->id)
Modifique los campos necesarios para actualizar la información del usuario.
@else
Complete todos los campos obligatorios para registrar un nuevo usuario en el sistema.
@endisset
</p>
</div>
<form action="{{ isset($company) ? route('companies.update', $company) : route('companies.store') }}"
method="POST"
enctype="multipart/form-data"
class="p-6">
@csrf
@if(isset($company))
@method('PUT')
@endif
<!-- Separador -->
<div class="relative">
<div class="absolute inset-0 flex items-center">
<div class="w-full border-t border-gray-300"></div>
</div>
<div class="relative flex justify-center">
<span class="px-4 bg-white text-sm text-gray-500">Datos Personales</span>
</div>
</div>
<!-- Datos Personales -->
<div class="bg-white py-6">
<table class="w-full">
<tbody class="space-y-4">
<!-- Nombre -->
<tr>
<td class="py-2 pr-4">
<label class="block text-sm font-bold text-gray-700">
Nombre
</label>
</td>
<td class="py-2">
<input type="text" name="name" id="name"
value="{{ old('name', $company->name ?? '') }}"
required
class="w-[500px] border-b-1 border-gray-300 focus:border-blue-500 focus:outline-none"
autofocus>
@error('name')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</td>
</tr>
<!-- Nombre comercial -->
<tr>
<td class="py-2 pr-4">
<label class="block text-sm text-gray-700">
Nombre Comercial
</label>
</td>
<td class="py-2">
<input type="text" name="commercial_name" id="commercial_name"
value="{{ old('commercial_name', $company->commercial_name ?? '') }}"
required
class="w-[500px] border-b-1 border-gray-300 focus:border-blue-500 focus:outline-none">
@error('commercial_name')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</td>
</tr>
<!-- CIF -->
<tr>
<td class="py-2 pr-4">
<label class="block text-sm text-gray-700">
CIF
</label>
</td>
<td class="py-2">
<input type="text" name="cif" id="cif"
value="{{ old('cif', $company->cif ?? '') }}"
class="w-[250px] border-b-1 border-gray-300 focus:border-blue-500 focus:outline-none">
@error('cif')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</td>
</tr>
<!-- Estado -->
<tr>
<td class="py-2 pr-4">
<label class="block text-sm text-gray-700">
Estado
</label>
</td>
<td class="py-2">
<select name="status" id="status"
required
class="w-[100px] border-b-1 border-gray-300 focus:border-blue-500 focus:outline-none">
<option value="active" {{ (old('status', $company->status ?? '') == 'active' ? 'selected' : '') }}>
Activo
</option>
<option value="closed" {{ (old('status', $company->status ?? '') == 'closed' ? 'selected' : '') }}>
Cerrado
</option>
</select>
@error('status')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</td>
</tr>
</tbody>
</table>
</div>
<!-- Separador -->
<div class="relative">
<div class="absolute inset-0 flex items-center">
<div class="w-full border-t border-gray-300"></div>
</div>
<div class="relative flex justify-center">
<span class="px-4 bg-white text-sm text-gray-500">Configuración de acceso</span>
</div>
</div>
<!-- Datos Personales -->
<div class="bg-white py-6">
<table class="w-full">
<tbody class="space-y-4">
<!-- Dirección -->
<tr>
<td class="py-2 pr-4">
<label class="block text-sm font-bold text-gray-700">
Dirección
</label>
</td>
<td class="py-2">
<input type="text" name="address" id="address"
value="{{ old('address', $company->address ?? '') }}"
class="w-full border-b-1 border-gray-300 focus:border-blue-500 focus:outline-none">
@error('address')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</td>
</tr>
<!-- Código postal -->
<tr>
<td class="py-2 pr-4">
<label class="block text-sm text-gray-700">
Código Postal
</label>
</td>
<td class="py-2">
<input type="text" name="postal_code" id="postal_code"
value="{{ old('postal_code', $company->postal_code ?? '') }}"
class="w-[250px] border-b-1 border-gray-300 focus:border-blue-500 focus:outline-none">
@error('postal_code')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</td>
</tr>
<!-- Ciudad -->
<tr>
<td class="py-2 pr-4">
<label class="block text-sm text-gray-700">
Ciudad
</label>
</td>
<td class="py-2">
<input type="text" name="city" id="city"
value="{{ old('city', $company->city ?? '') }}"
class="w-[250px] border-b-1 border-gray-300 focus:border-blue-500 focus:outline-none">
@error('city')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</td>
</tr>
<!-- Estado -->
<tr>
<td class="py-2 pr-4">
<label class="block text-sm text-gray-700">
Pais
</label>
</td>
<td class="py-2">
<input type="text" name="country" id="country"
value="{{ old('country', $company->country ?? '') }}"
class="w-[250px] border-b-1 border-gray-300 focus:border-blue-500 focus:outline-none">
@error('country')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</td>
</tr>
<!-- Teléfono -->
<tr>
<td class="py-2 pr-4">
<label class="block text-sm text-gray-700">
Teléfono
</label>
</td>
<td class="py-2">
<input type="text" name="phone" id="phone"
value="{{ old('phone', $company->phone ?? '') }}"
class="w-[250px] border-b-1 border-gray-300 focus:border-blue-500 focus:outline-none">
@error('phone')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</td>
</tr>
<!-- email -->
<tr>
<td class="py-2 pr-4">
<label class="block text-sm text-gray-700">
email
</label>
</td>
<td class="py-2">
<input type="email" name="email" id="email"
value="{{ old('email', $company->email ?? '') }}"
class="w-[250px] border-b-1 border-gray-300 focus:border-blue-500 focus:outline-none">
@error('email')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
</td>
</tr>
<!-- logo -->
<tr>
<td class="py-2 pr-4">
<label class="block text-sm text-gray-700">
Logo
</label>
</td>
<td class="py-2">
<input type="file" name="logo" id="logo"
class="mt-1 block w-full text-sm text-gray-500 file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-semibold file:bg-blue-50 file:text-blue-700 hover:file:bg-blue-100">
@error('logo')
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
@enderror
@if(isset($company) && $company->logo)
<div class="mt-2 flex items-center">
<img src="{{ Storage::disk('public')->url($company->logo) }}"
alt="Logo actual"
class="h-16 w-16 rounded object-contain border">
<div class="ml-4">
<label class="flex items-center">
<input type="checkbox" name="remove_logo" class="rounded">
<span class="ml-2 text-sm text-gray-600">Eliminar logo</span>
</label>
</div>
</div>
@endif
</td>
</tr>
</tbody>
</table>
</div>
<div class="flex justify-end space-x-3 pt-6 border-t">
<a href="{{ route('companies.index') }}" class="btn btn-secondary">
Cancelar
</a>
<button type="submit" class="btn btn-primary">
{{ isset($company) ? 'Actualizar Empresa' : 'Crear Empresa' }}
</button>
</div>
</form>
@endsection