mailwolt/app/Livewire/Ui/Webmail/FolderSidebar.php

40 lines
865 B
PHP

<?php
namespace App\Livewire\Ui\Webmail;
use App\Services\ImapService;
use Livewire\Attributes\Lazy;
use Livewire\Component;
#[Lazy]
class FolderSidebar extends Component
{
public array $folders = [];
public function mount(): void
{
if (! session('webmail_email')) {
return;
}
try {
$imap = app(ImapService::class);
$client = $imap->client(session('webmail_email'), session('webmail_password'));
$this->folders = $imap->folders($client);
$client->disconnect();
} catch (\Throwable) {
$this->folders = [];
}
}
public function placeholder()
{
return view('livewire.ui.webmail.folder-sidebar-placeholder');
}
public function render()
{
return view('livewire.ui.webmail.folder-sidebar');
}
}