schema([ Section::make('Contact Section') ->description('Manage the contact page content.') ->schema([ TextInput::make('contact_subtitle') ->label('Subtitle') ->maxLength(100) ->required(), TextInput::make('contact_header') ->label('Header') ->maxLength(100) ->required(), Textarea::make('contact_paragraph') ->label('Paragraph') ->rows(3) ->maxLength(65535) ->required(), TextInput::make('phone_number') ->label('Phone Number') ->tel() ->required(), TextInput::make('email_address') ->label('Email Address') ->email() ->required(), TextInput::make('location_address') ->label('Location Address') ->maxLength(255) ->required(), TextInput::make('map_embed_url') ->label('Google Maps Embed URL') ->url() ->required(), ]), ]) ->columns(1) ->statePath('data'); } public static function getNavigationGroup(): ?string { return __('Contact'); } public static function getNavigationLabel(): string { return __('Contact Page Settings'); } public function getTitle(): string|Htmlable { return 'Contact Page'; } public function getHeading(): string|Htmlable { return 'Edit contact page text and information from here'; } public function getSubheading(): string|Htmlable|null { return 'Manage the contact form details, contact information, and map embed.'; } }