From 33d4ff5fb4c8b7947d8bb2552903de6849b32db2 Mon Sep 17 00:00:00 2001 From: Jaiden Date: Sat, 26 Jul 2025 14:22:42 -0400 Subject: [PATCH 1/2] add name change support & adjust profile list view --- app/Http/Controllers/AuthController.php | 8 +++- app/Livewire/Pages/Profile.php | 43 ++++++++++++++++--- package-lock.json | 2 +- resources/views/livewire/app/pfp.blade.php | 4 +- .../views/livewire/app/user-card.blade.php | 22 +++++----- .../views/livewire/pages/profile.blade.php | 21 +++++++-- 6 files changed, 74 insertions(+), 26 deletions(-) diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 8b79ea1..94597f0 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -18,12 +18,16 @@ class AuthController extends Controller $user = Socialite::driver('authentik')->user(); $authUser = User::updateOrCreate( - [ 'email' => $user->getEmail() ], - [ 'name' => $user->getName() ] + [ 'email' => $user->getEmail() ] ); if ($authUser) { + if ($authUser->name == '') + { + $authUser->name = $user->getName(); + $authUser->save(); + } Auth::login($authUser); return redirect('/'); } diff --git a/app/Livewire/Pages/Profile.php b/app/Livewire/Pages/Profile.php index cb3d29a..29aa864 100644 --- a/app/Livewire/Pages/Profile.php +++ b/app/Livewire/Pages/Profile.php @@ -4,6 +4,7 @@ namespace App\Livewire\Pages; use App\Models\User; use Illuminate\Support\Facades\Auth; +use Illuminate\Validation\Rule; use Livewire\Attributes\Validate; use Livewire\Component; use Livewire\WithFileUploads; @@ -14,15 +15,39 @@ class Profile extends Component public User $user; - #[Validate('image|max:10240')] public $avatar = null; + public string $name = ''; + + public function mount(User $user) + { + $this->user = $user; + $this->name = $user->name; + } public function render() { return view('livewire.pages.profile')->title($this->user->name); } - public function updated() + public function rules() + { + return [ + 'avatar' => [ + 'nullable', + 'image', + 'max:10240', + ], + 'name' => [ + 'required', + 'string', + 'min:2', + 'max:80', + Rule::unique('users', 'name')->ignore($this->user), + ], + ]; + } + + public function updated($name, $value) { if (Auth::id() != $this->user->id) { @@ -31,10 +56,16 @@ class Profile extends Component $this->validate(); - $this->user->avatarExt = $this->avatar->getClientOriginalExtension(); - $this->user->save(); + $this->user->update([$name => $value]); + + if (isset($this->avatar)) + { + $this->user->avatarExt = $this->avatar->getClientOriginalExtension(); + $this->user->save(); + + $this->avatar->storeAs('avatars', $this->user->id); + return $this->redirect("/profiles/{$this->user->id}"); + } - $this->avatar->storeAs('avatars', $this->user->id); - return $this->redirect("/profiles/{$this->user->id}"); } } diff --git a/package-lock.json b/package-lock.json index 6b923e4..0cd0e05 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "photos", + "name": "nyaabooru", "lockfileVersion": 3, "requires": true, "packages": { diff --git a/resources/views/livewire/app/pfp.blade.php b/resources/views/livewire/app/pfp.blade.php index 6767b75..49bbe11 100644 --- a/resources/views/livewire/app/pfp.blade.php +++ b/resources/views/livewire/app/pfp.blade.php @@ -5,4 +5,6 @@ label="avatar for {{ $user->name }}" shape="{{ $shape }}" style="--size: {{ $size }}" -> +> + + diff --git a/resources/views/livewire/app/user-card.blade.php b/resources/views/livewire/app/user-card.blade.php index f2cb83e..6e57aa4 100644 --- a/resources/views/livewire/app/user-card.blade.php +++ b/resources/views/livewire/app/user-card.blade.php @@ -1,13 +1,11 @@ - + diff --git a/resources/views/livewire/pages/profile.blade.php b/resources/views/livewire/pages/profile.blade.php index 7b1e67e..b9075cf 100644 --- a/resources/views/livewire/pages/profile.blade.php +++ b/resources/views/livewire/pages/profile.blade.php @@ -23,13 +23,26 @@

User settings

- From 21e59d775a76826194a4dedb06db0ec66fee2a5e Mon Sep 17 00:00:00 2001 From: Jaiden Date: Sun, 27 Jul 2025 00:52:27 -0400 Subject: [PATCH 2/2] imagick -> gd, empty featured post section --- app/Livewire/PostFeature.php | 5 ++--- config/image.php | 2 +- deploy/php.ini | 2 +- resources/views/livewire/post-feature-empty.blade.php | 5 +++++ 4 files changed, 9 insertions(+), 5 deletions(-) create mode 100644 resources/views/livewire/post-feature-empty.blade.php diff --git a/app/Livewire/PostFeature.php b/app/Livewire/PostFeature.php index c426e06..b3f1cbe 100644 --- a/app/Livewire/PostFeature.php +++ b/app/Livewire/PostFeature.php @@ -36,9 +36,8 @@ HTML; { if ($this->post == null) { - return <<<'HTML' -
-HTML; + $href = route('posts.home'); + return view('livewire.post-feature-empty'); } return view('livewire.post-feature'); } diff --git a/config/image.php b/config/image.php index f13ce7f..6f5096f 100644 --- a/config/image.php +++ b/config/image.php @@ -16,7 +16,7 @@ return [ | */ - 'driver' => \Intervention\Image\Drivers\Imagick\Driver::class, + 'driver' => \Intervention\Image\Drivers\Gd\Driver::class, /* |-------------------------------------------------------------------------- diff --git a/deploy/php.ini b/deploy/php.ini index 0147b64..000fd18 100644 --- a/deploy/php.ini +++ b/deploy/php.ini @@ -1,4 +1,4 @@ upload_max_filesize = 100M post_max_size = 128M -memory_limit = 1G +memory_limit = 2G max_execution_time = 120 diff --git a/resources/views/livewire/post-feature-empty.blade.php b/resources/views/livewire/post-feature-empty.blade.php new file mode 100644 index 0000000..5f5e782 --- /dev/null +++ b/resources/views/livewire/post-feature-empty.blade.php @@ -0,0 +1,5 @@ +