Skip to content

Commit dae6d3d

Browse files
committed
✨ ajout de la suppression d'un article
1 parent 9145188 commit dae6d3d

File tree

3 files changed

+73
-2
lines changed

3 files changed

+73
-2
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?php
2+
3+
namespace App\Http\Livewire\Modals;
4+
5+
use App\Models\Article;
6+
use App\Policies\ArticlePolicy;
7+
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
8+
use LivewireUI\Modal\ModalComponent;
9+
10+
class DeleteArticle extends ModalComponent
11+
{
12+
use AuthorizesRequests;
13+
14+
public ?Article $article = null;
15+
16+
public function mount(int $id)
17+
{
18+
$this->article = Article::find($id);
19+
}
20+
21+
public static function modalMaxWidth(): string
22+
{
23+
return 'xl';
24+
}
25+
26+
public function delete()
27+
{
28+
$this->authorize(ArticlePolicy::DELETE, $this->article);
29+
30+
$this->article->delete();
31+
32+
session()->flash('status', 'La discussion a été supprimé avec tous ses commentaires.');
33+
34+
$this->redirectRoute('articles');
35+
}
36+
37+
public function render()
38+
{
39+
return view('livewire.modals.delete-article');
40+
}
41+
}

resources/views/articles/show.blade.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,10 +134,10 @@ class="mt-8 prose prose-lg prose-green text-skin-base mx-auto md:prose-xl lg:max
134134
<span class="sr-only">Éditer</span>
135135
<x-heroicon-s-pencil class="h-5 w-5" />
136136
</a>
137-
<a href="#" class="relative inline-flex items-center px-4 py-2 rounded-r-md border border-skin-base bg-skin-card text-sm font-medium text-gray-400 hover:bg-skin-card-muted focus:z-10 focus:outline-none focus:ring-1 focus:ring-green-500 focus:border-green-500 focus:ring-offset-body">
137+
<button onclick="Livewire.emit('openModal', 'modals.delete-article', {{ json_encode([$article->id]) }})" type="button" class="relative inline-flex items-center px-4 py-2 rounded-r-md border border-skin-base bg-skin-card text-sm font-medium text-gray-400 hover:bg-skin-card-muted focus:z-10 focus:outline-none focus:ring-1 focus:ring-green-500 focus:border-green-500 focus:ring-offset-body">
138138
<span class="sr-only">Supprimer</span>
139139
<x-heroicon-s-trash class="h-5 w-5" />
140-
</a>
140+
</button>
141141
</span>
142142
</div>
143143
</div>
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<x-modal footerClasses="px-4 pb-5 sm:px-4 sm:flex sm:flex-row-reverse">
2+
<x-slot name="content">
3+
<div class="sm:flex sm:items-start">
4+
<div class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-100 sm:mx-0 sm:h-10 sm:w-10">
5+
<x-heroicon-o-exclamation class="h-6 w-6 text-red-600" />
6+
</div>
7+
<div class="mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left">
8+
<h3 class="text-lg leading-6 font-medium text-skin-inverted font-sans" id="modal-headline">
9+
{{ __('Supprimer cet article') }}
10+
</h3>
11+
<div class="mt-2">
12+
<p class="text-sm leading-5 text-skin-base font-normal">
13+
{{ __('Voulez-vous vraiment cet article? Cette action est irréversible.') }}
14+
</p>
15+
</div>
16+
</div>
17+
</div>
18+
</x-slot>
19+
20+
<x-slot name="buttons">
21+
<span class="flex w-full rounded-md shadow-sm sm:ml-3 sm:w-auto">
22+
<x-wi-button wire:click="delete" spinner type="button" negative :label="__('Confirmer')" />
23+
</span>
24+
<span class="mt-3 flex w-full rounded-md shadow-sm sm:mt-0 sm:w-auto">
25+
<x-default-button wire:click="$emit('closeModal')" type="button">
26+
{{ __('Annuler') }}
27+
</x-default-button>
28+
</span>
29+
</x-slot>
30+
</x-modal>

0 commit comments

Comments
 (0)