updated design

This commit is contained in:
Mark Gregory
2026-08-25 17:12:22 +01:00
parent 3c7361023c
commit 27e6071992
23 changed files with 770 additions and 37 deletions
@@ -17,9 +17,9 @@ final class HelpdeskDashboardWidget extends Component
$user = Auth::user();
$base = Ticket::query();
if ($user->isHelpdeskAdmin()) {
if ($user->helpdesk_admin ?? false) {
// no filter
} elseif ($user->isHelpdeskAgent()) {
} elseif ($user->helpdesk_agent ?? false) {
$base->where(function ($q) use ($user) {
$q->where('agent_id', $user->id)
->orWhere('user_id', $user->id);
@@ -34,7 +34,7 @@ final class HelpdeskDashboardWidget extends Component
$closedPercent = $totalCount > 0 ? (int) round(($closedCount / $totalCount) * 100) : 0;
$openPercent = $totalCount > 0 ? (int) round(($openCount / $totalCount) * 100) : 0;
return view('helpdesk::livewire.dashboard-widget', [
return view('modules.helpdesk.livewire.dashboard-widget', [
'totalCount' => $totalCount,
'openCount' => $openCount,
'closedCount' => $closedCount,
+2 -2
View File
@@ -185,13 +185,13 @@ final class KanbanBoard extends Component
->get();
}
return view('helpdesk::livewire.kanban-board', [
return view('modules.helpdesk.livewire.kanban-board', [
'boards' => $boards,
'board' => $board,
'statuses' => $board?->statuses ?? collect(),
'ticketsByStatus' => $this->ticketsByStatus($board),
'refreshNonce' => $this->refreshNonce,
])->layout('helpdesk::layouts.app.sidebar');
])->layout('layouts.app', ['title' => __('Helpdesk Kanban')]);
}
/**
@@ -699,7 +699,7 @@ final class SettingsManager extends Component
public function render(): View
{
return view('helpdesk::livewire.settings-manager', [
return view('modules.helpdesk.livewire.settings-manager', [
'statuses' => $this->orderedStatuses(),
'priorities' => $this->orderedPriorities(),
'categories' => $this->orderedCategories(),
@@ -718,7 +718,7 @@ final class SettingsManager extends Component
'tags' => Tag::query()->orderBy('name')->get(),
'checklistTemplates' => ChecklistTemplate::query()->orderBy('name')->get(),
'colourOptions' => Color::options(),
])->layout('helpdesk::layouts.app.sidebar');
])->layout('layouts.app', ['title' => __('Helpdesk Settings')]);
}
private function orderedStatuses(): mixed
+2 -2
View File
@@ -138,7 +138,7 @@ final class TicketCreate extends Component
public function render(): View
{
return view('helpdesk::livewire.ticket-create', [
return view('modules.helpdesk.livewire.ticket-create', [
'boards' => $this->boardOptions(),
'priorities' => $this->priorityOptions(),
'categories' => $this->categoryOptions(),
@@ -146,7 +146,7 @@ final class TicketCreate extends Component
'projects' => $this->projectOptions(),
'products' => Product::query()->where('is_active', true)->orderBy('name')->get(),
'tags' => Tag::query()->orderBy('name')->get(),
])->layout('helpdesk::layouts.app.sidebar');
])->layout('layouts.app', ['title' => __('Create Helpdesk Ticket')]);
}
/**
+2 -2
View File
@@ -188,7 +188,7 @@ final class TicketEdit extends Component
public function render(): View
{
return view('helpdesk::livewire.ticket-edit', [
return view('modules.helpdesk.livewire.ticket-edit', [
'boards' => KanbanBoard::query()->with('owner:id,name,email')->orderByDesc('is_default')->orderBy('sort_order')->orderBy('name')->get(),
'statuses' => Status::query()->orderBy('sort_order')->orderBy('name')->get(),
'priorities' => Priority::query()->orderBy('sort_order')->orderBy('name')->get(),
@@ -198,7 +198,7 @@ final class TicketEdit extends Component
'products' => Product::query()->where('is_active', true)->orderBy('name')->get(),
'tags' => Tag::query()->orderBy('name')->get(),
'agents' => $this->agentOptions(),
])->layout('helpdesk::layouts.app.sidebar');
])->layout('layouts.app', ['title' => __('Edit Helpdesk Ticket')]);
}
/**
+2 -2
View File
@@ -101,11 +101,11 @@ final class TicketIndex extends Component
public function render(): View
{
return view('helpdesk::livewire.ticket-index', [
return view('modules.helpdesk.livewire.ticket-index', [
'tickets' => $this->tickets(),
'statuses' => Status::query()->orderBy('sort_order')->get(),
'priorities' => Priority::query()->orderBy('sort_order')->get(),
])->layout('helpdesk::layouts.app.sidebar');
])->layout('layouts.app', ['title' => __('Helpdesk Tickets')]);
}
private function resetTicketDeletionState(): void
+3 -3
View File
@@ -320,12 +320,12 @@ final class TicketShow extends Component
public function render(): View
{
return view('helpdesk::livewire.ticket-show', [
return view('modules.helpdesk.livewire.ticket-show', [
'statuses' => Status::query()->orderBy('sort_order')->get(),
'priorities' => Priority::query()->orderBy('sort_order')->get(),
'agents' => $this->agentOptions(),
'cannedResponses' => CannedResponse::query()->where('is_active', true)->orderBy('sort_order')->orderBy('name')->get(),
])->layout('helpdesk::layouts.app.sidebar');
])->layout('layouts.app', ['title' => __('Helpdesk Ticket')]);
}
private function normaliseNullableInt(mixed $value): ?int
@@ -691,7 +691,7 @@ final class TicketShow extends Component
{
$user = Auth::user();
return $user !== null && $user->isHelpdeskAdmin();
return $user !== null && (method_exists($user, 'isAdmin') ? $user->isAdmin() : (bool) ($user->helpdesk_admin ?? false));
}
private function buildCommentTree(Collection $grouped, ?int $parentId = null): Collection
+1 -1
View File
@@ -154,7 +154,7 @@ class TicketTimer extends Component
*/
public function render()
{
return view('helpdesk::livewire.ticket-timer');
return view('modules.helpdesk.livewire.ticket-timer');
}
/**
@@ -5,7 +5,7 @@
* Tailwind scanner to discover module Blade classes.
*/
@source "../../views/**/*.blade.php";
@source "../../../../../resources/themes/admin/views/modules/helpdesk/**/*.blade.php";
@source "../../../../../resources/themes/backend/views/modules/helpdesk/**/*.blade.php";
@source "../../../Livewire/**/*.php";
.hd-helpdesk-surface .hd-btn,
+4
View File
@@ -2,6 +2,8 @@ import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import tailwindcss from '@tailwindcss/vite';
console.log('[Helpdesk] Running Modules/Helpdesk/vite.config.js');
export default defineConfig({
build: {
emptyOutDir: true,
@@ -14,6 +16,7 @@ export default defineConfig({
laravel({
publicDirectory: '../../public',
buildDirectory: 'build/helpdesk',
hotFile: '../../public/hot-helpdesk',
input: [
'Resources/assets/css/app.css',
@@ -23,6 +26,7 @@ export default defineConfig({
refresh: [
'Resources/views/**',
'Livewire/**',
'../../resources/themes/backend/views/modules/helpdesk/**',
],
}),
],