Build Laravel 13 ticket assistant with Docker, Livewire admin, and helpdesk scraper command
This commit is contained in:
36
app/Livewire/Admin/ArticleManager.php
Normal file
36
app/Livewire/Admin/ArticleManager.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace App\Livewire\Admin;
|
||||
|
||||
use App\Services\AdminArticleService;
|
||||
use Livewire\Component;
|
||||
use Livewire\WithPagination;
|
||||
|
||||
class ArticleManager extends Component
|
||||
{
|
||||
use WithPagination;
|
||||
|
||||
public string $title = '';
|
||||
public string $content = '';
|
||||
|
||||
public function save(AdminArticleService $service): void
|
||||
{
|
||||
$this->validate([
|
||||
'title' => ['required', 'string', 'max:255'],
|
||||
'content' => ['required', 'string', 'max:12000'],
|
||||
]);
|
||||
|
||||
$service->create($this->title, $this->content);
|
||||
|
||||
$this->reset(['title', 'content']);
|
||||
$this->dispatch('article-saved');
|
||||
session()->flash('success', 'Article opgeslagen en embedding wordt automatisch verwerkt.');
|
||||
}
|
||||
|
||||
public function render(AdminArticleService $service)
|
||||
{
|
||||
return view('livewire.admin.article-manager', [
|
||||
'articles' => $service->paginate(10),
|
||||
]);
|
||||
}
|
||||
}
|
||||
24
app/Livewire/Admin/DashboardOverview.php
Normal file
24
app/Livewire/Admin/DashboardOverview.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Livewire\Admin;
|
||||
|
||||
use App\Services\AdminDashboardService;
|
||||
use Livewire\Component;
|
||||
|
||||
class DashboardOverview extends Component
|
||||
{
|
||||
public array $stats = [];
|
||||
|
||||
public function mount(AdminDashboardService $service): void
|
||||
{
|
||||
$this->stats = $service->stats();
|
||||
}
|
||||
|
||||
public function render(AdminDashboardService $service)
|
||||
{
|
||||
return view('livewire.admin.dashboard-overview', [
|
||||
'recentTickets' => $service->recentTickets(),
|
||||
'recentDecisions' => $service->recentDecisions(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
19
app/Livewire/Admin/TicketMonitor.php
Normal file
19
app/Livewire/Admin/TicketMonitor.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace App\Livewire\Admin;
|
||||
|
||||
use App\Services\AdminTicketService;
|
||||
use Livewire\Component;
|
||||
use Livewire\WithPagination;
|
||||
|
||||
class TicketMonitor extends Component
|
||||
{
|
||||
use WithPagination;
|
||||
|
||||
public function render(AdminTicketService $service)
|
||||
{
|
||||
return view('livewire.admin.ticket-monitor', [
|
||||
'tickets' => $service->paginateWithDecision(10),
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user