diff --git a/Modules/CircleXO/App/Http/Controllers/ProfileController.php b/Modules/CircleXO/App/Http/Controllers/ProfileController.php index dd8c837..2aee1f9 100644 --- a/Modules/CircleXO/App/Http/Controllers/ProfileController.php +++ b/Modules/CircleXO/App/Http/Controllers/ProfileController.php @@ -71,8 +71,26 @@ public function followers(Request $request) public function messages(Request $request) { - return view('circle-xo::profile.messages', [ - 'table' => (new AccountContactTable(auth('accounts')->id())) + + $messages = AccountContact::query(); + $messages->where('account_id', auth('accounts')->id()); + $messages->orderBy('id', 'desc'); + $messages->groupBy('sender_id'); + if($request->has('search') && $request->get('search')){ + $messages->whereHas('sender', function($query) use ($request){ + $query->where('name', 'LIKE', '%'.$request->get('search').'%'); + }); + } + $chats = $messages->paginate(20); + + $getSelectedChat = null; + if($request->has('chat') && $request->get('chat')){ + $getSelectedChat = AccountContact::find($request->get('chat')); + } + + return view('circle-xo::profile.messages',[ + 'chats' => $chats, + 'getSelectedChat' => $getSelectedChat ]); } diff --git a/Modules/CircleXO/resources/views/profile/messages.blade.php b/Modules/CircleXO/resources/views/profile/messages.blade.php index 3e484c9..0c26cff 100644 --- a/Modules/CircleXO/resources/views/profile/messages.blade.php +++ b/Modules/CircleXO/resources/views/profile/messages.blade.php @@ -4,7 +4,7 @@ makeMenuHide: false, }" - remember="admin" + remember="profile_messages" local-storage > @@ -20,42 +20,55 @@ class="fixed inset-0 z-20 w-full h-full filament-sidebar-close-overlay lg:hidden
- + {{-- sidebar --}}
{{-- users list --}}
- -
- -
-
-
-
-
Abdelmjid Saber
-
09:40AM
+ @foreach($chats as $chat) + +
+ +
-
Great, thank you.
-
-
+
+
+
{{$chat->sender?->name ?? __('Anonymous')}}
+
{{$chat->created_at->diffForHumans()}}
+
+
+ {{ $chat->message }} +
+
+ + @endforeach + + @if($chats->count() < 1) +
+ {{ __('No Message Here!') }} +
+ @endif + + {!! $chats->links('tomato-admin::components.pagination') !!}
- + + @php $lastMessage = $getSelectedChat ?: $chats->first(); @endphp {{-- message center --}}
{{-- chat heading --}} @@ -66,75 +79,90 @@ class="fixed inset-0 z-20 w-full h-full filament-sidebar-close-overlay lg:hidden
- +
-
Abdelmjid Saber
+
{{ $lastMessage->sender?->name ??__('Anonymous') }}
Online
-
- - - -
- + {{-- chats bubble --}}
- +
-
Abdelmjid Saber
-
@AbdelmjidSaber
+
{{ $lastMessage->sender?->name ?? __('Anonymous') }}
+
{{ $lastMessage->sender?->username }}
- View profile + + {{__('View profile')}} +
+ @php + $chatMessages = \Modules\CircleXO\App\Models\AccountContact::query() + ->where('account_id', auth('accounts')->user()->id) + ->where('sender_id', $lastMessage->sender_id) + ->orWhere('account_id', $lastMessage->sender_id) + ->where('sender_id', auth('accounts')->user()->id) + ->orderBy('created_at', 'asc') + ->get(); - {{-- received --}} -
- -
Hi, I’m Fady
-
- - {{-- sent --}} -
- -
I’m Abdelmjid. welcome Fady
-
- - {{-- time --}} -
-
- March 29,2024,6:30 PM -
-
+ @endphp - - {{-- sent --}} -
- -
Great, thank you.
-
+ + @if($chatMessages->count() < 1) +
+ {{ __('No Messages Here!') }} +
+ @endif + + @foreach($chatMessages as $chatMessage) + @if($chatMessage->sender_id == auth('accounts')->user()->id) + {{-- received --}} +
+ + + +
{{ $chatMessage->message }}
+
+ @else + {{-- sent --}} +
+ + + +
+ {{ $chatMessage->message }} +
+
+ @endif + @endforeach
-
+
+ @if($lastMessage->sender) {{-- sending message area --}} -
-
- - + +
+
+ + +
-
+ + + @endif
diff --git a/config/database.php b/config/database.php index f8e8dcb..2913ce4 100644 --- a/config/database.php +++ b/config/database.php @@ -52,7 +52,7 @@ 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), 'prefix' => '', 'prefix_indexes' => true, - 'strict' => true, + 'strict' => false, 'engine' => null, 'options' => extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),