This commit is contained in:
2026-06-13 17:20:42 +03:30
parent 12fc305045
commit 3a2a27be98
5 changed files with 98 additions and 24 deletions
+14 -13
View File
@@ -666,26 +666,27 @@ public function destroy($id)
return response()->json(['message' => 'Media deleted']);
}
// SAVE media
// SAVE media — uses the shared saved_items system (HasSaves), same as /saves/*.
public function toggleSaveMedia($id)
{
$user = auth()->user();
$media = Media::findOrFail($id);
if ($user->savedMedia()->where('media_id', $id)->exists()) {
// already saved → unsave
$user->savedMedia()->detach($id);
return response()->json(['message' => 'Unsaved!']);
} else {
// not saved → save
$user->savedMedia()->attach($id);
return response()->json(['message' => 'Saved!']);
}
$media->toggleSaveStatus();
return response()->json([
'message' => $media->is_saved ? 'Saved!' : 'Unsaved!',
'is_saved' => $media->is_saved,
'saved_count' => $media->saved_count,
]);
}
// GET saved
// GET saved — media the user saved via saved_items.
public function saved()
{
return auth()->user()->savedMedia()->with(['image','detailImage','categories', 'subCategories', 'myNote' , 'tags'])->get();
return Media::whereHas('saves', fn ($q) => $q->where('user_id', auth()->id()))
->with(['image','detailImage','categories', 'subCategories', 'myNote' , 'tags'])
->latest()
->get();
}
// RECORD a play for the current user (feeds popular + recently played).