File tree Expand file tree Collapse file tree 6 files changed +37
-17
lines changed
Expand file tree Collapse file tree 6 files changed +37
-17
lines changed Original file line number Diff line number Diff line change 88use App \Models \Reaction ;
99use App \Models \Reply ;
1010use App \Models \User ;
11+ use Illuminate \Http \JsonResponse ;
1112use Illuminate \Http \Request ;
1213use Illuminate \Http \Resources \Json \AnonymousResourceCollection ;
1314use Illuminate \Support \Facades \Auth ;
@@ -44,8 +45,12 @@ public function like(Request $request, int $id): ReplyResource
4445 return new ReplyResource ($ reply );
4546 }
4647
47- public function delete ()
48+ public function delete (int $ id ): JsonResponse
4849 {
50+ /** @var Reply $reply */
51+ $ reply = Reply::findOrFail ($ id );
52+ $ reply ->delete ();
4953
54+ return response ()->json (['message ' => 'Commentaire supprimé avec succès ' ]);
5055 }
5156}
Original file line number Diff line number Diff line change @@ -101,4 +101,11 @@ public function scopeIsSolution(Builder $builder): Builder
101101 {
102102 return $ builder ->has ('solutionTo ' );
103103 }
104+
105+ public function delete ()
106+ {
107+ $ this ->deleteReplies ();
108+
109+ parent ::delete ();
110+ }
104111}
Original file line number Diff line number Diff line change @@ -6373,14 +6373,6 @@ select {
63736373 --tw-blur : blur (8px );
63746374 filter : var (--tw-filter );
63756375}
6376- .blur-lg {
6377- --tw-blur : blur (16px );
6378- filter : var (--tw-filter );
6379- }
6380- .blur-md {
6381- --tw-blur : blur (12px );
6382- filter : var (--tw-filter );
6383- }
63846376.blur-sm {
63856377 --tw-blur : blur (4px );
63866378 filter : var (--tw-filter );
Original file line number Diff line number Diff line change @@ -3396,10 +3396,19 @@ function Comments(_ref) {
33963396 }, []); // On supprime un commentaire
33973397
33983398 const handleDelete = (0,preact_hooks__WEBPACK_IMPORTED_MODULE_2__.useCallback)(async comment => {
3399+ const isReply = comment.model_type === 'reply';
33993400 await (0,_api_comments__WEBPACK_IMPORTED_MODULE_4__.deleteReply)(comment.id);
3400- setState(s => _objectSpread(_objectSpread({}, s), {}, {
3401- comments: s.comments.filter(c => c !== comment)
3402- }));
3401+
3402+ if (isReply) {
3403+ const comments = await (0,_api_comments__WEBPACK_IMPORTED_MODULE_4__.findAllReplies)(target);
3404+ setState(s => _objectSpread(_objectSpread({}, s), {}, {
3405+ comments
3406+ }));
3407+ } else {
3408+ setState(s => _objectSpread(_objectSpread({}, s), {}, {
3409+ comments: s.comments.filter(c => c !== comment)
3410+ }));
3411+ }
34033412 }, []); // On répond à un commentaire
34043413
34053414 const handleReply = (0,preact_hooks__WEBPACK_IMPORTED_MODULE_2__.useCallback)(comment => {
Original file line number Diff line number Diff line change @@ -58,11 +58,18 @@ export function Comments ({ target, parent }) {
5858
5959 // On supprime un commentaire
6060 const handleDelete = useCallback ( async comment => {
61+ const isReply = comment . model_type === 'reply'
62+
6163 await deleteReply ( comment . id )
62- setState ( s => ( {
63- ...s ,
64- comments : s . comments . filter ( c => c !== comment )
65- } ) )
64+ if ( isReply ) {
65+ const comments = await findAllReplies ( target )
66+ setState ( s => ( { ...s , comments } ) )
67+ } else {
68+ setState ( s => ( {
69+ ...s ,
70+ comments : s . comments . filter ( c => c !== comment )
71+ } ) )
72+ }
6673 } , [ ] )
6774
6875 // On répond à un commentaire
Original file line number Diff line number Diff line change 1818Route::post ('replies ' , [ReplyController::class, 'store ' ]);
1919Route::put ('replies/{id} ' , [ReplyController::class, 'update ' ]);
2020Route::post ('like/{id} ' , [ReplyController::class, 'like ' ]);
21- Route::delete ('replies/{id} ' , [ReplyController::class, 'update ' ]);
21+ Route::delete ('replies/{id} ' , [ReplyController::class, 'delete ' ]);
You can’t perform that action at this time.
0 commit comments