From bda19b4b0f97b2f7f61d07ec9ac4d9c5dec522c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Muhammet=20G=C3=BCler?= Date: Tue, 10 Feb 2026 19:02:23 +0300 Subject: [PATCH] feat: add Partners and Bank Accounts pages via Pages module --- .../Resources/Pages/Schemas/PageForm.php | 4 + .../Schemas/Sections/BankAccountsSection.php | 69 ++++++++++++++ .../Schemas/Sections/PageSettingsSection.php | 2 + .../Schemas/Sections/PartnersSection.php | 46 +++++++++ .../corporate/bank-accounts.blade.php | 93 +++++++++++++++++++ .../templates/corporate/partners.blade.php | 54 +++++++++++ 6 files changed, 268 insertions(+) create mode 100644 app/Filament/Admin/Resources/Pages/Schemas/Sections/BankAccountsSection.php create mode 100644 app/Filament/Admin/Resources/Pages/Schemas/Sections/PartnersSection.php create mode 100644 resources/views/templates/corporate/bank-accounts.blade.php create mode 100644 resources/views/templates/corporate/partners.blade.php diff --git a/app/Filament/Admin/Resources/Pages/Schemas/PageForm.php b/app/Filament/Admin/Resources/Pages/Schemas/PageForm.php index e0f5ea0..7ef99b6 100644 --- a/app/Filament/Admin/Resources/Pages/Schemas/PageForm.php +++ b/app/Filament/Admin/Resources/Pages/Schemas/PageForm.php @@ -10,6 +10,8 @@ use App\Filament\Admin\Resources\Pages\Schemas\Sections\SectionTemplatesSection; use App\Filament\Admin\Resources\Pages\Schemas\Sections\SeoSection; use App\Filament\Admin\Resources\Pages\Schemas\Sections\TranslationsSection; use App\Filament\Admin\Resources\Pages\Schemas\Sections\LogosSection; +use App\Filament\Admin\Resources\Pages\Schemas\Sections\PartnersSection; +use App\Filament\Admin\Resources\Pages\Schemas\Sections\BankAccountsSection; use Filament\Schemas\Schema; @@ -52,6 +54,8 @@ class PageForm // Full Width - Logos (Only for Logolarımız template) LogosSection::make(), + PartnersSection::make(), + BankAccountsSection::make(), // Full Width - Translations TranslationsSection::make(), diff --git a/app/Filament/Admin/Resources/Pages/Schemas/Sections/BankAccountsSection.php b/app/Filament/Admin/Resources/Pages/Schemas/Sections/BankAccountsSection.php new file mode 100644 index 0000000..441f22d --- /dev/null +++ b/app/Filament/Admin/Resources/Pages/Schemas/Sections/BankAccountsSection.php @@ -0,0 +1,69 @@ +description(__('Bu sayfada gösterilecek banka hesap bilgilerini buradan yönetebilirsiniz.')) + ->schema([ + Repeater::make('data.bank_accounts') + ->label('Hesaplar') + ->schema([ + TextInput::make('bank_name') + ->label('Banka Adı') + ->placeholder('Örn: Ziraat Bankası') + ->required(), + + TextInput::make('branch_name') + ->label('Şube Adı / Kodu') + ->placeholder('Örn: Konak Şubesi / 1234'), + + TextInput::make('account_holder') + ->label('Hesap Sahibi') + ->default('Trunçgil Teknoloji') + ->required(), + + TextInput::make('iban') + ->label('IBAN') + ->placeholder('TR00 0000 0000 0000 0000 0000 00') + ->required(), + + Select::make('currency') + ->label('Para Birimi') + ->options([ + 'TRY' => 'Türk Lirası (₺)', + 'USD' => 'Amerikan Doları ($)', + 'EUR' => 'Euro (€)', + 'GBP' => 'Sterlin (£)', + ]) + ->default('TRY') + ->required(), + + FileUpload::make('logo') + ->label('Banka Logosu') + ->image() + ->disk('public') + ->directory('banks') + ->visibility('public'), + ]) + ->grid(3) + ->columnSpanFull() + ->reorderableWithButtons() + ->collapsible() + ->cloneable(), + ]) + ->visible(fn (Get $get): bool => $get('template') === 'corporate.bank-accounts') + ->columnSpanFull() + ->collapsible(); + } +} diff --git a/app/Filament/Admin/Resources/Pages/Schemas/Sections/PageSettingsSection.php b/app/Filament/Admin/Resources/Pages/Schemas/Sections/PageSettingsSection.php index a54e347..0799920 100644 --- a/app/Filament/Admin/Resources/Pages/Schemas/Sections/PageSettingsSection.php +++ b/app/Filament/Admin/Resources/Pages/Schemas/Sections/PageSettingsSection.php @@ -72,6 +72,8 @@ class PageSettingsSection 'home' => 'Home', 'corporate.testimonials' => 'Müşteri Görüşleri (Kurumsal)', 'corporate.logos' => 'Logolarımız (Kurumsal)', + 'corporate.partners' => 'Çözüm Ortaklarımız (Kurumsal)', + 'corporate.bank-accounts' => 'Banka Bilgilerimiz (Kurumsal)', ]) ->default('default') ->columnSpanFull(), diff --git a/app/Filament/Admin/Resources/Pages/Schemas/Sections/PartnersSection.php b/app/Filament/Admin/Resources/Pages/Schemas/Sections/PartnersSection.php new file mode 100644 index 0000000..41c00e8 --- /dev/null +++ b/app/Filament/Admin/Resources/Pages/Schemas/Sections/PartnersSection.php @@ -0,0 +1,46 @@ +description(__('Bu sayfada gösterilecek çözüm ortaklarını buradan yönetebilirsiniz.')) + ->schema([ + Repeater::make('data.partners') + ->label('Partnerler') + ->schema([ + FileUpload::make('logo') + ->label('Logo') + ->image() + ->disk('public') + ->directory('partners') + ->visibility('public') + ->required() + ->columnSpanFull(), + + TextInput::make('url') + ->label('Website URL') + ->url() + ->placeholder('https://example.com') + ->columnSpanFull(), + ]) + ->grid(4) + ->columnSpanFull() + ->reorderableWithButtons() + ->collapsible() + ->cloneable(), + ]) + ->visible(fn (Get $get): bool => $get('template') === 'corporate.partners') + ->columnSpanFull() + ->collapsible(); + } +} diff --git a/resources/views/templates/corporate/bank-accounts.blade.php b/resources/views/templates/corporate/bank-accounts.blade.php new file mode 100644 index 0000000..462a7fa --- /dev/null +++ b/resources/views/templates/corporate/bank-accounts.blade.php @@ -0,0 +1,93 @@ +@extends('layouts.site') + +@section('content') + +
+
+ +
+
+

{!! $page->title !!}

+ @if($page->excerpt) +

{!! $page->excerpt !!}

+ @endif +
+
+ +
+ @php + $accounts = $page->data['bank_accounts'] ?? []; + @endphp + + @forelse($accounts as $account) +
+
+
+
+ @if(!empty($account['logo'])) +
+ {{ $account['bank_name'] }} +
+ @else +
+ +
+ @endif + + + {{ $account['currency'] ?? 'TRY' }} + +
+ +

{{ $account['bank_name'] }}

+ @if(!empty($account['branch_name'])) +

{{ $account['branch_name'] }}

+ @else +
+ @endif + +
+
+ +
{{ $account['account_holder'] }}
+
+ +
+ +
+ {{ $account['iban'] }} +
+ +
+
+
+
+
+
+ @empty +
+
+ +

Henüz banka hesabı eklenmemiş.

+

Yönetim panelinden banka hesaplarınızı ekleyebilirsiniz.

+
+
+ @endforelse +
+ + @if($page->content) +
+
+
+ {!! $page->content !!} +
+
+
+ @endif + +
+
+ +@endsection diff --git a/resources/views/templates/corporate/partners.blade.php b/resources/views/templates/corporate/partners.blade.php new file mode 100644 index 0000000..c0174d5 --- /dev/null +++ b/resources/views/templates/corporate/partners.blade.php @@ -0,0 +1,54 @@ +@extends('layouts.site') + +@section('content') + +
+
+

{!! t('ÇÖZÜM ORTAKLARIMIZ') !!}

+
+
+
+ @php + $partners = $page->data['partners'] ?? []; + @endphp + + @foreach($partners as $partner) + @if(!empty($partner['logo'])) +
+ @if(!empty($partner['url'])) + + @endif + Partner + @if(!empty($partner['url'])) + + @endif +
+ @endif + @endforeach + + {{-- Fallback for design preview if no data exists --}} + @if(empty($partners)) +
image
+
image
+
image
+ @endif + +
+ +
+ +
+ +
+ + @if($page->content) +
+
+ {!! $page->content !!} +
+
+ @endif +
+ + +@endsection