From ff000fb2d5f855fde215d170f0db0e9c6b0a8d83 Mon Sep 17 00:00:00 2001 From: MadHowl Date: Fri, 27 Mar 2026 16:01:40 +1000 Subject: [PATCH] refactoring to blade components --- resources/views/components/alert.blade.php | 11 +++++ .../views/components/empty-state.blade.php | 5 +++ .../views/components/form/button.blade.php | 12 ++++++ .../views/components/form/input.blade.php | 22 ++++++++++ .../views/components/form/select.blade.php | 27 ++++++++++++ .../views/components/form/textarea.blade.php | 21 ++++++++++ .../views/components/post-card.blade.php | 33 +++++++++++++++ resources/views/home.blade.php | 41 +++---------------- resources/views/posts/create.blade.php | 27 ++---------- resources/views/posts/edit.blade.php | 27 ++---------- 10 files changed, 145 insertions(+), 81 deletions(-) create mode 100644 resources/views/components/alert.blade.php create mode 100644 resources/views/components/empty-state.blade.php create mode 100644 resources/views/components/form/button.blade.php create mode 100644 resources/views/components/form/input.blade.php create mode 100644 resources/views/components/form/select.blade.php create mode 100644 resources/views/components/form/textarea.blade.php create mode 100644 resources/views/components/post-card.blade.php diff --git a/resources/views/components/alert.blade.php b/resources/views/components/alert.blade.php new file mode 100644 index 0000000..f56ffe2 --- /dev/null +++ b/resources/views/components/alert.blade.php @@ -0,0 +1,11 @@ +@props([ + 'type' => 'info', + 'message' => '', +]) + +@if($message) + +@endif diff --git a/resources/views/components/empty-state.blade.php b/resources/views/components/empty-state.blade.php new file mode 100644 index 0000000..5ea70bf --- /dev/null +++ b/resources/views/components/empty-state.blade.php @@ -0,0 +1,5 @@ +@props([ + 'message' => 'No items found.', +]) + +

{{ $message }}

diff --git a/resources/views/components/form/button.blade.php b/resources/views/components/form/button.blade.php new file mode 100644 index 0000000..703ad31 --- /dev/null +++ b/resources/views/components/form/button.blade.php @@ -0,0 +1,12 @@ +@props([ + 'type' => 'submit', + 'variant' => 'primary', + 'label', + 'href' => null, +]) + +@if($href) + {{ $label }} +@else + +@endif diff --git a/resources/views/components/form/input.blade.php b/resources/views/components/form/input.blade.php new file mode 100644 index 0000000..d0107ae --- /dev/null +++ b/resources/views/components/form/input.blade.php @@ -0,0 +1,22 @@ +@props([ + 'name', + 'label', + 'type' => 'text', + 'value' => null, + 'required' => false, +]) + +
+ + + @error($name) + + {{ $message }} + + @enderror +
diff --git a/resources/views/components/form/select.blade.php b/resources/views/components/form/select.blade.php new file mode 100644 index 0000000..b588d36 --- /dev/null +++ b/resources/views/components/form/select.blade.php @@ -0,0 +1,27 @@ +@props([ + 'name', + 'label', + 'options' => [], + 'selected' => null, + 'required' => false, +]) + +
+ + + @error($name) + + {{ $message }} + + @enderror +
diff --git a/resources/views/components/form/textarea.blade.php b/resources/views/components/form/textarea.blade.php new file mode 100644 index 0000000..ef0e108 --- /dev/null +++ b/resources/views/components/form/textarea.blade.php @@ -0,0 +1,21 @@ +@props([ + 'name', + 'label', + 'value' => null, + 'rows' => 5, + 'required' => false, +]) + +
+ + + @error($name) + + {{ $message }} + + @enderror +
diff --git a/resources/views/components/post-card.blade.php b/resources/views/components/post-card.blade.php new file mode 100644 index 0000000..960bab2 --- /dev/null +++ b/resources/views/components/post-card.blade.php @@ -0,0 +1,33 @@ +@props([ + 'post', + 'showActions' => true, +]) + +
+
+ + {{ $post->title }} + + @if($post->user_id !== auth()->id()) + автор: {{ $post->user->name }} + @endif +
+

{{ Str::limit($post->content, 100) }}

+ {{ $post->created_at->diffForHumans() }} + + @if($showActions) +
+ @can('update-post', $post) + Edit + @endcan + @can('delete-post', $post) +
+ @csrf + @method('DELETE') + +
+ @endcan +
+ @endif +
diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 3385e0d..9ac3208 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -5,49 +5,20 @@
-
- Posts +
+ Posts @can('create-post') - Create New Post + Create New Post @endcan
- @if(session('success')) -
- {{ session('success') }} -
- @endif + @if($posts->count() > 0)
@foreach($posts as $post) -
-
- - {{ $post->title }} - - @if($post->user_id !== auth()->id()) - автор: {{ $post->user->name }} - @endif -
-

{{ Str::limit($post->content, 100) }}

- {{ $post->created_at->diffForHumans() }} - -
- @can('update-post', $post) - Edit - @endcan - @can('delete-post', $post) -
- @csrf - @method('DELETE') - -
- @endcan -
-
+ @endforeach
@@ -55,7 +26,7 @@ {{ $posts->links() }}
@else -

No posts found.

+ @endif
diff --git a/resources/views/posts/create.blade.php b/resources/views/posts/create.blade.php index c165d83..e63529f 100644 --- a/resources/views/posts/create.blade.php +++ b/resources/views/posts/create.blade.php @@ -11,30 +11,11 @@
@csrf -
- - - @error('title') - - {{ $message }} - - @enderror -
+ + -
- - - @error('content') - - {{ $message }} - - @enderror -
- - - Cancel + +
diff --git a/resources/views/posts/edit.blade.php b/resources/views/posts/edit.blade.php index 20e10a4..75a30df 100644 --- a/resources/views/posts/edit.blade.php +++ b/resources/views/posts/edit.blade.php @@ -12,30 +12,11 @@ @csrf @method('PUT') -
- - - @error('title') - - {{ $message }} - - @enderror -
+ + -
- - - @error('content') - - {{ $message }} - - @enderror -
- - - Cancel + +