implement chat layout
This commit is contained in:
@@ -2,3 +2,6 @@
|
||||
command = "php"
|
||||
args = ["artisan", "boost:mcp"]
|
||||
cwd = "C:\\Users\\meghdad\\PhpstormProjects\\fluent-chat"
|
||||
|
||||
[mcp_servers.laravel-boost.tools.search-docs]
|
||||
approval_mode = "approve"
|
||||
|
||||
@@ -6,10 +6,12 @@ use App\Models\Conversation;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
use Livewire\Attributes\Layout;
|
||||
use Livewire\Attributes\On;
|
||||
use Livewire\Attributes\Title;
|
||||
use Livewire\Component;
|
||||
|
||||
#[Layout('layouts::chat')]
|
||||
#[Title('Chat')]
|
||||
class ChatPage extends Component
|
||||
{
|
||||
|
||||
26
resources/views/layouts/chat.blade.php
Normal file
26
resources/views/layouts/chat.blade.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="dark">
|
||||
<head>
|
||||
@include('partials.head')
|
||||
</head>
|
||||
<body class="h-dvh overflow-hidden bg-zinc-100 text-zinc-950 antialiased dark:bg-zinc-950 dark:text-zinc-50">
|
||||
<a
|
||||
href="#chat-workspace"
|
||||
class="sr-only focus:not-sr-only focus:fixed focus:left-4 focus:top-4 focus:z-50 focus:rounded-md focus:bg-white focus:px-3 focus:py-2 focus:text-sm focus:font-medium focus:text-zinc-950 focus:shadow-sm dark:focus:bg-zinc-900 dark:focus:text-white"
|
||||
>
|
||||
{{ __('Skip to chat') }}
|
||||
</a>
|
||||
|
||||
<main id="chat-workspace" class="h-dvh p-0 sm:p-3 lg:p-4">
|
||||
{{ $slot }}
|
||||
</main>
|
||||
|
||||
@persist('toast')
|
||||
<flux:toast.group>
|
||||
<flux:toast />
|
||||
</flux:toast.group>
|
||||
@endpersist
|
||||
|
||||
@fluxScripts
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,4 +1,4 @@
|
||||
<section class="mx-auto flex h-[calc(100vh-5.5rem)] min-h-[620px] w-full max-w-[1600px] overflow-hidden rounded-lg border border-zinc-200 bg-white shadow-sm dark:border-zinc-700 dark:bg-zinc-950">
|
||||
<section class="flex h-full min-h-0 w-full overflow-hidden border border-zinc-200 bg-white shadow-sm dark:border-zinc-800 dark:bg-zinc-950 sm:rounded-xl">
|
||||
<aside
|
||||
@class([
|
||||
'h-full w-full shrink-0 border-zinc-200 bg-zinc-50/80 dark:border-zinc-800 dark:bg-zinc-900/70 md:flex md:w-[22rem] lg:w-96',
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?php
|
||||
|
||||
use App\Livewire\Chat\ConversationList;
|
||||
use App\Livewire\Chat\ConversationDetailsPanel;
|
||||
use App\Livewire\Chat\ConversationHeader;
|
||||
use App\Livewire\Chat\ConversationList;
|
||||
use App\Livewire\Chat\ConversationView;
|
||||
use App\Livewire\Chat\MessageComposer;
|
||||
use App\Models\Conversation;
|
||||
@@ -20,7 +20,9 @@ test('authenticated users can visit the chat dashboard', function () {
|
||||
$this->actingAs($user)
|
||||
->get(route('dashboard'))
|
||||
->assertOk()
|
||||
->assertSee('Inbox');
|
||||
->assertSee('Inbox')
|
||||
->assertDontSee('Repository')
|
||||
->assertDontSee('Documentation');
|
||||
});
|
||||
|
||||
test('conversation list only shows conversations the user participates in', function () {
|
||||
|
||||
Reference in New Issue
Block a user