From 918663c7584896b42b76b4d67be209e5140c46ad Mon Sep 17 00:00:00 2001 From: Nurmuhammet Allanov Date: Mon, 27 Oct 2025 18:02:45 +0500 Subject: [PATCH] bug fix --- app/Http/Middleware/EnsureProfileIsFilled.php | 9 ++++++++- ...{UserPassportFields.php => UserProfileFields.php} | 12 +++++------- app/Providers/AppServiceProvider.php | 6 ++++++ app/Providers/Filament/WorkPanelProvider.php | 10 +++++----- lang/tk.json | 3 ++- 5 files changed, 26 insertions(+), 14 deletions(-) rename app/Livewire/{UserPassportFields.php => UserProfileFields.php} (97%) diff --git a/app/Http/Middleware/EnsureProfileIsFilled.php b/app/Http/Middleware/EnsureProfileIsFilled.php index 2892427..7281e49 100644 --- a/app/Http/Middleware/EnsureProfileIsFilled.php +++ b/app/Http/Middleware/EnsureProfileIsFilled.php @@ -3,6 +3,7 @@ namespace App\Http\Middleware; use Closure; +use Filament\Notifications\Notification; use Illuminate\Http\Request; use Joaopaulolndev\FilamentEditProfile\Pages\EditProfilePage; use Symfony\Component\HttpFoundation\Response; @@ -26,7 +27,7 @@ class EnsureProfileIsFilled } // 3. Define the 'safe' routes - $profilePageClass = EditProfilePage::class; // <-- !! IMPORTANT: Change to your page + $profilePageClass = EditProfilePage::class; $profilePageUrl = $profilePageClass::getUrl(); /** @var \Filament\Panel */ @@ -53,6 +54,12 @@ class EnsureProfileIsFilled return $next($request); } + Notification::make() + ->danger() + ->title(__('Please update your profile')) + ->color('danger') + ->send(); + // 6. If not, redirect them to the profile page. // Filament's SPA mode will intercept this 302 redirect // and navigate without a full page reload. diff --git a/app/Livewire/UserPassportFields.php b/app/Livewire/UserProfileFields.php similarity index 97% rename from app/Livewire/UserPassportFields.php rename to app/Livewire/UserProfileFields.php index c4f2a52..8eb72dc 100644 --- a/app/Livewire/UserPassportFields.php +++ b/app/Livewire/UserProfileFields.php @@ -18,7 +18,7 @@ use Illuminate\Contracts\View\View; use Joaopaulolndev\FilamentEditProfile\Concerns\HasSort; use Livewire\Component; -class UserPassportFields extends Component implements HasForms +class UserProfileFields extends Component implements HasForms { use HasSort; use InteractsWithForms; @@ -180,15 +180,13 @@ class UserPassportFields extends Component implements HasForms 'must_fill_profile' => false, ]); - $this->dispatch('refresh-topbar'); + Notification::make() + ->success() + ->title(__('Profile updated')) + ->send(); } catch (Halt $exception) { return; } - - Notification::make() - ->success() - ->title(__('Profile updated')) - ->send(); } public function render(): View diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 598fb11..b05749f 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -3,6 +3,9 @@ namespace App\Providers; use AbdulmajeedJamaan\FilamentTranslatableTabs\TranslatableTabs; +use Filament\Notifications\Livewire\Notifications; +use Filament\Support\Enums\Alignment; +use Filament\Support\Enums\VerticalAlignment; use Illuminate\Contracts\Foundation\Application; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\ServiceProvider; @@ -25,6 +28,9 @@ class AppServiceProvider extends ServiceProvider Model::unguard(); Model::shouldBeStrict(! app()->isProduction()); + Notifications::alignment(Alignment::Center); + Notifications::verticalAlignment(VerticalAlignment::Center); + TranslatableTabs::configureUsing(function (TranslatableTabs $component) { $component ->localesLabels(baseLocales()) diff --git a/app/Providers/Filament/WorkPanelProvider.php b/app/Providers/Filament/WorkPanelProvider.php index 48251f5..02c6a2e 100644 --- a/app/Providers/Filament/WorkPanelProvider.php +++ b/app/Providers/Filament/WorkPanelProvider.php @@ -3,7 +3,7 @@ namespace App\Providers\Filament; use App\Http\Middleware\EnsureProfileIsFilled; -use App\Livewire\UserPassportFields; +use App\Livewire\UserProfileFields; use App\Modules\BaseAuth\Middleware\RedirectIfUserPhoneIsUnVerfied; use BezhanSalleh\FilamentShield\FilamentShieldPlugin; use CraftForge\FilamentLanguageSwitcher\FilamentLanguageSwitcherPlugin; @@ -77,7 +77,7 @@ class WorkPanelProvider extends PanelProvider ->setIcon('heroicon-o-user-circle') ->shouldShowEditProfileForm(false) ->customProfileComponents([ - UserPassportFields::class, + UserProfileFields::class, ]), ]) ->authMiddleware([ @@ -85,9 +85,9 @@ class WorkPanelProvider extends PanelProvider EnsureProfileIsFilled::class, ]) ->spa() - ->spaUrlExceptions(fn (): array => [ - EditProfilePage::getUrl(), - ]) + // ->spaUrlExceptions(fn (): array => [ + // EditProfilePage::getUrl(), + // ]) ->databaseTransactions() ->breadcrumbs(false) ->colors([ diff --git a/lang/tk.json b/lang/tk.json index 76c7ea7..d2ce751 100644 --- a/lang/tk.json +++ b/lang/tk.json @@ -667,5 +667,6 @@ "Card year": "Kart ýyl", "Cards": "Kartlar", "Loans": "Karzlar", - "Loan": "Karz" + "Loan": "Karz", + "Please update your profile": "Profiliňizi doldurmagyňyzy haýyş edýäris" }