| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | 
							- <?php
 - 
 - namespace App\Http\Livewire;
 - 
 - use App\Abstracts\Forms\EditFormRecord;
 - use App\Models\Company;
 - use Filament\Forms\ComponentContainer;
 - use Filament\Forms\Components\FileUpload;
 - use Filament\Forms\Components\Group;
 - use Filament\Forms\Components\Section;
 - use Filament\Forms\Components\TextInput;
 - use Illuminate\Contracts\View\View;
 - use Illuminate\Database\Eloquent\Model;
 - 
 - /**
 -  * @property ComponentContainer $form
 -  */
 - class CompanyDetails extends EditFormRecord
 - {
 -     public Company $company;
 - 
 -     protected function getFormModel(): Model|string|null
 -     {
 -         return $this->company;
 -     }
 - 
 -     protected function getFormSchema(): array
 -     {
 -         return [
 -             Section::make('General')
 -                 ->schema([
 -                     Group::make()
 -                         ->schema([
 -                             TextInput::make('email')
 -                                 ->label('Email')
 -                                 ->email()
 -                                 ->nullable(),
 -                             TextInput::make('phone')
 -                                 ->label('Phone')
 -                                 ->tel()
 -                                 ->maxLength(20),
 -                         ])->columns(1),
 -                     Group::make()
 -                         ->schema([
 -                             FileUpload::make('logo')
 -                                 ->label('Logo')
 -                                 ->disk('public')
 -                                 ->directory('logos/company')
 -                                 ->imageResizeMode('cover')
 -                                 ->imagePreviewHeight('150')
 -                                 ->imageCropAspectRatio('2:1')
 -                                 ->panelAspectRatio('2:1')
 -                                 ->reactive()
 -                                 ->enableOpen()
 -                                 ->preserveFilenames()
 -                                 ->visibility('public')
 -                                 ->image(),
 -                         ])->columns(1),
 -                 ])->columns(),
 -             Section::make('Address')
 -                 ->schema([
 -                     TextInput::make('address')
 -                         ->label('Address')
 -                         ->maxLength(100)
 -                         ->columnSpanFull()
 -                         ->nullable(),
 -                     TextInput::make('country')
 -                         ->label('Country')
 -                         ->nullable(),
 -                     TextInput::make('state')
 -                         ->label('Province/State')
 -                         ->nullable(),
 -                     TextInput::make('city')
 -                         ->label('Town/City')
 -                         ->maxLength(100)
 -                         ->nullable(),
 -                     TextInput::make('zip_code')
 -                         ->label('Postal/Zip Code')
 -                         ->maxLength(100)
 -                         ->nullable(),
 -                 ])->columns(),
 -         ];
 -     }
 - 
 -     public function render(): View
 -     {
 -         return view('livewire.company-details');
 -     }
 - }
 
 
  |