work in progress

This commit is contained in:
Daan Meijer
2026-06-23 13:54:27 +02:00
parent d751cd4fdd
commit 1e33bfb50b
10 changed files with 70 additions and 25 deletions
+2 -2
View File
@@ -11,10 +11,10 @@ class DashboardController extends Controller
public function index(Request $request, ActivityService $activityService)
{
$user = $request->user();
$unreadDynamics = $activityService->getUnreadDynamicsGrouped($user);
$unreadEntities = $activityService->getUnreadEntitiesGrouped($user);
return Inertia::render('Dashboard', [
'unreadDynamics' => $unreadDynamics,
'unreadEntities' => $unreadEntities,
]);
}
}
+2 -4
View File
@@ -85,9 +85,7 @@ class LedgerController extends Controller
return Inertia::render('Ledgers/Show', [
'dynamic' => new DynamicResource($dynamic),
'ledger' => new LedgerResource($ledger),
'mutations' => MutationResource::collection($ledger->mutations),
'participants' => UserResource::collection($dynamic->participants),
'messages' => MessageResource::collection($dynamic->chat->messages()->with(['user', 'media'])->latest()->paginate(\App\Models\Message::PAGINATION_COUNT)),
'messages' => MessageResource::collection($dynamic->getOrCreateChat()->messages()->with(['user', 'media'])->latest()->paginate(\App\Models\Message::PAGINATION_COUNT)),
'can' => [
'update' => $request->user()->can('update', $ledger),
'close' => $request->user()->can('close', $ledger),
@@ -99,7 +97,7 @@ class LedgerController extends Controller
{
$this->authorize('view', $ledger);
return MessageResource::collection($dynamic->chat->messages()->with(['user', 'media'])->latest()->paginate(\App\Models\Message::PAGINATION_COUNT));
return MessageResource::collection($dynamic->getOrCreateChat()->messages()->with(['user', 'media'])->latest()->paginate(\App\Models\Message::PAGINATION_COUNT));
}
/**
@@ -50,7 +50,7 @@ class HandleInertiaRequests extends Middleware
$service = app(ActivityService::class);
return count($service->getUnreadDynamicsGrouped($request->user()));
return count($service->getUnreadEntitiesGrouped($request->user()));
},
];
}
+24
View File
@@ -0,0 +1,24 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
class ChatResource extends BaseResource
{
/**
* Transform the resource into an array.
*
* @return array<string, mixed>
*/
public function toArray(Request $request): array
{
$data = parent::toArray($request);
if ($this->whenLoaded('messages')) {
$data['messages'] = MessageResource::collection($this->messages);
}
return $data;
}
}
+4 -1
View File
@@ -17,9 +17,12 @@ class DynamicResource extends BaseResource
if ($this->ledgers) {
$result['ledgers'] = LedgerResource::collection($this->ledgers);
}
if ($this->participants) {
if ($this->whenLoaded('participants')) {
$result['participants'] = ParticipantResource::collection($this->participants);
}
if ($this->whenLoaded('chat')) {
$result['chat'] = new ChatResource($this->chat);
}
return $result;
}
}
+5 -1
View File
@@ -13,6 +13,10 @@ class LedgerResource extends BaseResource
*/
public function toArray(Request $request): array
{
return parent::toArray($request);
$data = parent::toArray($request);
$data['mutations'] = MutationResource::collection($this->whenLoaded('mutations'));
return $data;
}
}