diff --git a/app/Filament/Pages/HomePageSettings.php b/app/Filament/Pages/HomePageSettings.php index 38e9ceb..7532d99 100644 --- a/app/Filament/Pages/HomePageSettings.php +++ b/app/Filament/Pages/HomePageSettings.php @@ -7,6 +7,7 @@ use Filament\Forms\Components\Grid; use Filament\Forms\Components\Section; use Filament\Forms\Components\TextInput; use Filament\Forms\Components\Textarea; +use Filament\Forms\Components\FileUpload; use Filament\Forms\Form; use Filament\Pages\Page; use Filament\Pages\SettingsPage; @@ -48,6 +49,78 @@ class HomePageSettings extends SettingsPage ])->columns(2), ]), + Section::make('About Section') + ->description('Manage the about section content on the homepage.') + ->icon('heroicon-o-building-office-2') + ->schema([ + TextInput::make('about_subtitle') + ->label('About Subtitle') + ->maxLength(100), + TextInput::make('about_header') + ->label('About Header') + ->required() + ->maxLength(255), + Textarea::make('about_paragraph') + ->label('About Paragraph') + ->rows(5) + ->maxLength(65535), + Grid::make()->schema([ + TextInput::make('about_projects_text') + ->label('Projects Text') + ->maxLength(100), + + TextInput::make('about_projects_number') + ->label('Projects Number') + ->numeric(), + + ])->columns(2), + Grid::make()->schema([ + TextInput::make('about_members_text') + ->label('Members Text') + ->maxLength(100), + + TextInput::make('about_members_number') + ->label('Members Number') + ->numeric(), + + ])->columns(2), + Grid::make()->schema([ + + TextInput::make('about_reviews_text') + ->label('Reviews Text') + ->maxLength(100), + + TextInput::make('about_reviews_number') + ->label('Reviews Number') + ->numeric(), + + ])->columns(2), + Grid::make()->schema([ + TextInput::make('about_button_text') + ->label('About Button Text') + ->maxLength(50), + TextInput::make('about_button_url') + ->label('About Button URL') + ->maxLength(255) + ->url(), + ])->columns(2), + + Grid::make()->schema([ + FileUpload::make('about_image_one') + ->label('About Image One (245x410)') + ->image() + ->maxSize(2048) + ->disk('public') + ->directory('about-images'), + FileUpload::make('about_image_two') + ->label('About Image Two (375x391)') + ->image() + ->maxSize(2048) + ->disk('public') + ->directory('about-images'), + ])->columns(2), + ]), + Section::make('Background Video') ->description('Upload or link the background video for the hero section.') ->icon('heroicon-o-camera') diff --git a/app/Http/Controllers/HomePageController.php b/app/Http/Controllers/HomePageController.php index 7898c45..4415f53 100644 --- a/app/Http/Controllers/HomePageController.php +++ b/app/Http/Controllers/HomePageController.php @@ -2,12 +2,16 @@ namespace App\Http\Controllers; +use App\Models\Brand; use App\Settings\HomeSettings; class HomePageController extends Controller { public function index() { - return view('web.pages.home.index'); + $brands = Brand::query()->get(['id', 'image']); + $homeSettings = app(HomeSettings::class); + + return view('web.pages.home.index', compact('homeSettings', 'brands')); } } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 5034446..fddf257 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -42,12 +42,5 @@ class AppServiceProvider extends ServiceProvider $view->with('settings', app(SiteSettings::class)); $view->with('socialMedia', app(SiteSocialSettings::class)); }); - - ViewFacade::composer('web.pages.home.index', function (View $view) { - $brands = Brand::query()->get(['id', 'image']); - - $view->with('homepage', app(HomeSettings::class)); - $view->with('brands', $brands); - }); } } diff --git a/app/Settings/HomeSettings.php b/app/Settings/HomeSettings.php index 5920851..d86df4e 100644 --- a/app/Settings/HomeSettings.php +++ b/app/Settings/HomeSettings.php @@ -18,6 +18,32 @@ class HomeSettings extends Settings public string $hero_link_button_text; + public string $about_subtitle; + + public string $about_header; + + public string $about_paragraph; + + public int $about_projects_number; + + public string $about_projects_text; + + public int $about_members_number; + + public string $about_members_text; + + public int $about_reviews_number; + + public string $about_reviews_text; + + public string $about_button_text; + + public string $about_button_url; + + public string $about_image_one; + + public string $about_image_two; + public static function group(): string { return 'cms_homepage'; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index e00f5cf..0532e6e 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -14,6 +14,7 @@ class DatabaseSeeder extends Seeder public function run(): void { $this->call([ + UsersTableSeeder::class, BrandTableSeeder::class, ]); } diff --git a/database/seeders/UsersTableSeeder.php b/database/seeders/UsersTableSeeder.php new file mode 100644 index 0000000..3fdfb2c --- /dev/null +++ b/database/seeders/UsersTableSeeder.php @@ -0,0 +1,21 @@ + 'nurmuhammet', + 'email' => 'nurmuhammet@mail.com', + 'password' => bcrypt('payload10'), + ]); + } +} diff --git a/database/settings/2025_06_23_205228_cms_home_page_settings.php b/database/settings/2025_06_23_205228_cms_home_page_settings.php index 1f57e19..53726cf 100644 --- a/database/settings/2025_06_23_205228_cms_home_page_settings.php +++ b/database/settings/2025_06_23_205228_cms_home_page_settings.php @@ -6,11 +6,25 @@ return new class extends SettingsMigration { public function up(): void { - $this->migrator->add('cms_homepage.bg_video', '/web/assets/video/banner.mp4'); + $this->migrator->add('cms_homepage.bg_video', 'http://127.0.0.1:8000/web/assets/video/banner.mp4'); $this->migrator->add('cms_homepage.hero_badge_text', 'Expert Solutions'); $this->migrator->add('cms_homepage.hero_header', 'Shaping Future'); $this->migrator->add('cms_homepage.hero_sub_header', 'Architecture'); $this->migrator->add('cms_homepage.hero_link_button_url', 'http://gujurly.com'); $this->migrator->add('cms_homepage.hero_link_button_text', 'Start today'); + + $this->migrator->add('cms_homepage.about_subtitle', 'About Our Company'); + $this->migrator->add('cms_homepage.about_header', 'Leading Construction Innovation With Digital Consulting'); + $this->migrator->add('cms_homepage.about_paragraph', 'We focus on optimizing efficiency, managing risks, and delivering innovative solutions tailored to meet unique project needs and enhance productivity.'); + $this->migrator->add('cms_homepage.about_projects_number', 678); + $this->migrator->add('cms_homepage.about_projects_text', 'Complete Projects'); + $this->migrator->add('cms_homepage.about_members_number', 120); + $this->migrator->add('cms_homepage.about_members_text', 'Team Members'); + $this->migrator->add('cms_homepage.about_reviews_number', 635); + $this->migrator->add('cms_homepage.about_reviews_text', 'Client Reviews'); + $this->migrator->add('cms_homepage.about_button_text', 'Our Story'); + $this->migrator->add('cms_homepage.about_button_url', 'http://gujurly.com'); + $this->migrator->add('cms_homepage.about_image_one', 'http://127.0.0.1:8000/web/assets/img/about/about-5.jpg'); + $this->migrator->add('cms_homepage.about_image_two', 'http://127.0.0.1:8000/web/assets/img/about/about-6.jpg'); } }; diff --git a/resources/views/web/pages/home/index.blade.php b/resources/views/web/pages/home/index.blade.php index 9a9293f..c8cfe05 100644 --- a/resources/views/web/pages/home/index.blade.php +++ b/resources/views/web/pages/home/index.blade.php @@ -5,7 +5,7 @@