schema([ Forms\Components\Section::make('General Information') ->schema([ Forms\Components\TextInput::make('name') ->label('Client') ->required() ->maxLength(255), CreateCurrencySelect::make('currency_code') ->disabledOn('edit') ->relationship('currency', 'name'), Forms\Components\TextInput::make('account_number') ->maxLength(255), Forms\Components\TextInput::make('website') ->maxLength(255), Forms\Components\Textarea::make('notes') ->columnSpanFull(), ])->columns(), Forms\Components\Section::make('Billing') ->relationship('billingAddress') ->schema([ Forms\Components\TextInput::make('address_line_1') ->label('Address Line 1') ->required() ->maxLength(255), Forms\Components\TextInput::make('address_line_2') ->label('Address Line 2') ->maxLength(255), Forms\Components\TextInput::make('city') ->label('City') ->required() ->maxLength(255), Forms\Components\TextInput::make('state') ->label('State') ->required() ->maxLength(255), Forms\Components\TextInput::make('postal_code') ->label('Postal Code / Zip Code') ->required() ->maxLength(255), Forms\Components\TextInput::make('country') ->label('Country') ->required() ->maxLength(255), ])->columns(), Forms\Components\Section::make('Shipping') ->relationship('shippingAddress') ->schema([ Forms\Components\TextInput::make('recipient') ->label('Recipient') ->required() ->maxLength(255), Forms\Components\TextInput::make('address_line_1') ->label('Address Line 1') ->required() ->maxLength(255), Forms\Components\TextInput::make('address_line_2') ->label('Address Line 2') ->maxLength(255), Forms\Components\TextInput::make('city') ->label('City') ->required() ->maxLength(255), Forms\Components\TextInput::make('state') ->label('State') ->required() ->maxLength(255), Forms\Components\TextInput::make('postal_code') ->label('Postal Code / Zip Code') ->required() ->maxLength(255), Forms\Components\TextInput::make('country') ->label('Country') ->required() ->maxLength(255), Forms\Components\TextInput::make('phone') ->label('Phone') ->required() ->maxLength(255), Forms\Components\Textarea::make('notes') ->label('Delivery Instructions') ->maxLength(255), ])->columns(), ]); } public static function table(Table $table): Table { return $table ->columns([ Tables\Columns\TextColumn::make('company.name') ->numeric() ->sortable(), Tables\Columns\TextColumn::make('name') ->searchable(), Tables\Columns\TextColumn::make('currency_code') ->searchable(), Tables\Columns\TextColumn::make('account_number') ->searchable(), Tables\Columns\TextColumn::make('website') ->searchable(), ]) ->filters([ // ]) ->actions([ Tables\Actions\EditAction::make(), ]) ->bulkActions([ Tables\Actions\BulkActionGroup::make([ Tables\Actions\DeleteBulkAction::make(), ]), ]); } public static function getRelations(): array { return [ // ]; } public static function getPages(): array { return [ 'index' => Pages\ListClients::route('/'), 'create' => Pages\CreateClient::route('/create'), 'edit' => Pages\EditClient::route('/{record}/edit'), ]; } }