chat support updates

This commit is contained in:
Abhishek Mali
2025-12-16 10:19:54 +05:30
parent 1aad6b231e
commit 5dc9fc7db4
2 changed files with 77 additions and 19 deletions

View File

@@ -41,6 +41,10 @@ class NewChatMessage implements ShouldBroadcastNow
*/
public function broadcastWith()
{
\Log::info('APP_URL USED IN EVENT', [
'url' => config('app.url'),
]);
\Log::info("DEBUG: NewChatMessage broadcasting on channel ticket.".$this->message->ticket_id);
\Log::info("EVENT BROADCAST FIRED", [
@@ -56,17 +60,20 @@ class NewChatMessage implements ShouldBroadcastNow
'sender_id' => $this->message->sender_id,
'sender_type' => $this->message->sender_type,
'message' => $this->message->message,
'file_url' => $this->message->file_path
? asset('storage/' . $this->message->file_path)
: null,
'file_type' => $this->message->file_type,
// ✅ relative path only
'file_path' => $this->message->file_path ?? null,
'file_type' => $this->message->file_type ?? null,
'sender' => [
'id' => $this->message->sender->id,
'name' => $this->getSenderName(),
'is_admin' => $this->message->sender_type === \App\Models\Admin::class,
],
'created_at' => $this->message->created_at->toDateTimeString(),
];
}
/**

View File

@@ -63,17 +63,40 @@
{{-- FILE --}}
@if($msg->file_path)
<div class="mt-2">
@php $isImage = Str::startsWith($msg->file_type, 'image'); @endphp
@php
$isImage = Str::startsWith($msg->file_type, 'image');
$isVideo = Str::startsWith($msg->file_type, 'video');
@endphp
{{-- IMAGE --}}
@if($isImage)
<img src="{{ asset('storage/'.$msg->file_path) }}" style="max-width:150px;" class="rounded">
<img
src="{{ asset('storage/'.$msg->file_path) }}"
style="max-width:150px;"
class="rounded"
>
{{-- VIDEO --}}
@elseif($isVideo)
<video
src="{{ asset('storage/'.$msg->file_path) }}"
controls
style="max-width:200px; border-radius:8px;"
>
Your browser does not support the video tag.
</video>
{{-- PDF / EXCEL / OTHER --}}
@else
<a href="{{ asset('storage/'.$msg->file_path) }}" target="_blank">📎 View Attachment</a>
<a href="{{ asset('storage/'.$msg->file_path) }}" target="_blank">
📎 View Attachment
</a>
@endif
</div>
@endif
<small class="text-muted d-block mt-1">
{{ $msg->created_at->format('d M h:i A') }}
</small>
@@ -191,14 +214,42 @@ waitForEcho(() => {
${msg.message ?? ''}
`;
if (msg.file_url) {
if (msg.file_path) {
const fileUrl = `/storage/${msg.file_path}`;
if (msg.file_type?.startsWith("image")) {
html += `<img src="${msg.file_url}" class="rounded mt-2" style="max-width:150px;">`;
html += `
<img
src="${fileUrl}"
class="rounded mt-2"
style="max-width:150px;"
>
`;
} else if (msg.file_type?.startsWith("video")) {
html += `
<video
src="${fileUrl}"
controls
class="mt-2"
style="max-width:200px; border-radius:8px;"
></video>
`;
} else {
html += `<a href="${msg.file_url}" target="_blank" class="mt-2 d-block">📎 View File</a>`;
html += `
<a href="${fileUrl}" target="_blank" class="mt-2 d-block">
📎 View Attachment
</a>
`;
}
}
html += `
<small class="text-muted d-block mt-1">Just now</small>
</div>