fixed tags
This commit is contained in:
@@ -427,3 +427,158 @@
|
|||||||
border-color: rgb(63 63 70) !important;
|
border-color: rgb(63 63 70) !important;
|
||||||
background: rgb(9 9 11) !important;
|
background: rgb(9 9 11) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single {
|
||||||
|
border: 1px solid rgb(63 63 70) !important;
|
||||||
|
background: rgb(9 9 11) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__rendered {
|
||||||
|
color: rgb(244 244 245) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__placeholder {
|
||||||
|
color: rgb(113 113 122) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__arrow b {
|
||||||
|
border-color: rgb(161 161 170) transparent transparent transparent !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default.select2-container--open .select2-selection--single {
|
||||||
|
border-color: rgb(59 130 246) !important;
|
||||||
|
box-shadow: 0 0 0 2px rgb(59 130 246 / 0.35);
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--multiple {
|
||||||
|
border: 1px solid rgb(63 63 70) !important;
|
||||||
|
background: rgb(9 9 11) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--multiple .select2-selection__choice {
|
||||||
|
border: 1px solid rgb(59 130 246 / 0.45) !important;
|
||||||
|
background: rgb(30 64 175 / 0.35) !important;
|
||||||
|
color: rgb(219 234 254) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
|
||||||
|
color: rgb(191 219 254) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single,
|
||||||
|
.select2-container--default .select2-selection--multiple {
|
||||||
|
border-radius: 0.75rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-dropdown {
|
||||||
|
overflow: hidden;
|
||||||
|
border-radius: 0.75rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--open .select2-dropdown--below {
|
||||||
|
margin-top: 0.35rem;
|
||||||
|
border-radius: 0.75rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--open .select2-dropdown--above {
|
||||||
|
margin-bottom: 0.35rem;
|
||||||
|
border-radius: 0.75rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single {
|
||||||
|
position: relative;
|
||||||
|
padding-right: 3.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__rendered {
|
||||||
|
padding-right: 3.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__clear {
|
||||||
|
position: absolute;
|
||||||
|
right: 2rem;
|
||||||
|
top: 50%;
|
||||||
|
z-index: 3;
|
||||||
|
margin: 0;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
color: rgb(161 161 170);
|
||||||
|
font-size: 1rem;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__clear:hover {
|
||||||
|
color: rgb(248 113 113);
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__arrow {
|
||||||
|
right: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single {
|
||||||
|
position: relative !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__rendered {
|
||||||
|
padding-left: 0.75rem !important;
|
||||||
|
padding-right: 4.25rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__clear {
|
||||||
|
position: absolute !important;
|
||||||
|
right: 2.35rem !important;
|
||||||
|
top: 50% !important;
|
||||||
|
float: none !important;
|
||||||
|
margin: 0 !important;
|
||||||
|
transform: translateY(-50%) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__clear span {
|
||||||
|
color: rgb(161 161 170) !important;
|
||||||
|
font-size: 1.1rem !important;
|
||||||
|
line-height: 1 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__arrow {
|
||||||
|
right: 0.75rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single {
|
||||||
|
display: flex !important;
|
||||||
|
align-items: center !important;
|
||||||
|
position: relative !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__rendered {
|
||||||
|
flex: 1 1 auto !important;
|
||||||
|
width: 100% !important;
|
||||||
|
padding-right: 4.5rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__clear {
|
||||||
|
position: absolute !important;
|
||||||
|
right: 2.25rem !important;
|
||||||
|
top: 50% !important;
|
||||||
|
z-index: 20 !important;
|
||||||
|
display: inline-flex !important;
|
||||||
|
align-items: center !important;
|
||||||
|
justify-content: center !important;
|
||||||
|
width: 1.25rem !important;
|
||||||
|
height: 1.25rem !important;
|
||||||
|
float: none !important;
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
transform: translateY(-50%) !important;
|
||||||
|
color: rgb(161 161 170) !important;
|
||||||
|
cursor: pointer !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__clear:hover {
|
||||||
|
color: rgb(248 113 113) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.select2-container--default .select2-selection--single .select2-selection__arrow {
|
||||||
|
position: absolute !important;
|
||||||
|
right: 0.75rem !important;
|
||||||
|
top: 50% !important;
|
||||||
|
transform: translateY(-50%) !important;
|
||||||
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
'resources/css/app.css',
|
'resources/css/app.css',
|
||||||
'resources/js/app.js',
|
'resources/js/app.js',
|
||||||
])
|
])
|
||||||
|
|
||||||
@include('helpdesk::partials.page-header', [
|
@include('helpdesk::partials.page-header', [
|
||||||
'eyebrow' => 'Helpdesk',
|
'eyebrow' => 'Helpdesk',
|
||||||
'title' => 'Create ticket',
|
'title' => 'Create ticket',
|
||||||
@@ -36,7 +37,7 @@
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
@error('subject')
|
@error('subject')
|
||||||
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -46,15 +47,22 @@
|
|||||||
Company <span class="helpdesk-required-star">*</span>
|
Company <span class="helpdesk-required-star">*</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<select id="company_id" wire:model.defer="company_id" data-helpdesk-select2 class="mt-2 block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500">
|
<div class="mt-2" wire:ignore>
|
||||||
<option value="">Select company</option>
|
<select
|
||||||
@foreach ($companies as $company)
|
id="company_id"
|
||||||
<option value="{{ $company->id }}" @selected((string) $company_id === (string) $company->id)>{{ $company->name }}</option>
|
data-helpdesk-select2
|
||||||
@endforeach
|
data-wire-model="company_id"
|
||||||
</select>
|
class="block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500"
|
||||||
|
>
|
||||||
|
<option value="">Select company</option>
|
||||||
|
@foreach ($companies as $company)
|
||||||
|
<option value="{{ $company->id }}" @selected((string) $company_id === (string) $company->id)>{{ $company->name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
@error('company_id')
|
@error('company_id')
|
||||||
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
@@ -64,11 +72,19 @@
|
|||||||
Board <span class="helpdesk-required-star">*</span>
|
Board <span class="helpdesk-required-star">*</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<select id="board_id" wire:model.defer="board_id" data-helpdesk-select2 class="mt-2 block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500" data-dusk="ticket-board">
|
<div class="mt-2" wire:ignore>
|
||||||
@foreach ($boards as $board)
|
<select
|
||||||
<option value="{{ $board->id }}" @selected((int) $board_id === (int) $board->id)>{{ $board->name }}{{ $board->owner ? ' · '.$board->owner->name : '' }}</option>
|
id="board_id"
|
||||||
@endforeach
|
data-helpdesk-select2
|
||||||
</select>
|
data-wire-model="board_id"
|
||||||
|
class="block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500"
|
||||||
|
data-dusk="ticket-board"
|
||||||
|
>
|
||||||
|
@foreach ($boards as $board)
|
||||||
|
<option value="{{ $board->id }}" @selected((int) $board_id === (int) $board->id)>{{ $board->name }}{{ $board->owner ? ' · '.$board->owner->name : '' }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
@error('board_id')
|
@error('board_id')
|
||||||
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
||||||
@@ -80,15 +96,23 @@
|
|||||||
Priority <span class="helpdesk-required-star">*</span>
|
Priority <span class="helpdesk-required-star">*</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<select id="priority_id" wire:model.defer="priority_id" data-helpdesk-select2 class="mt-2 block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500" data-dusk="ticket-priority">
|
<div class="mt-2" wire:ignore>
|
||||||
<option value="">Select priority</option>
|
<select
|
||||||
@foreach ($priorities as $priority)
|
id="priority_id"
|
||||||
<option value="{{ $priority->id }}" @selected((string) $priority_id === (string) $priority->id)>{{ $priority->name }}</option>
|
data-helpdesk-select2
|
||||||
@endforeach
|
data-wire-model="priority_id"
|
||||||
</select>
|
class="block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500"
|
||||||
|
data-dusk="ticket-priority"
|
||||||
|
>
|
||||||
|
<option value="">Select priority</option>
|
||||||
|
@foreach ($priorities as $priority)
|
||||||
|
<option value="{{ $priority->id }}" @selected((string) $priority_id === (string) $priority->id)>{{ $priority->name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
@error('priority_id')
|
@error('priority_id')
|
||||||
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -97,15 +121,22 @@
|
|||||||
Category <span class="helpdesk-required-star">*</span>
|
Category <span class="helpdesk-required-star">*</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<select id="category_id" wire:model.defer="category_id" data-helpdesk-select2 class="mt-2 block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500">
|
<div class="mt-2" wire:ignore>
|
||||||
<option value="">Select category</option>
|
<select
|
||||||
@foreach ($categories as $category)
|
id="category_id"
|
||||||
<option value="{{ $category->id }}" @selected((string) $category_id === (string) $category->id)>{{ $category->name }}</option>
|
data-helpdesk-select2
|
||||||
@endforeach
|
data-wire-model="category_id"
|
||||||
</select>
|
class="block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500"
|
||||||
|
>
|
||||||
|
<option value="">Select category</option>
|
||||||
|
@foreach ($categories as $category)
|
||||||
|
<option value="{{ $category->id }}" @selected((string) $category_id === (string) $category->id)>{{ $category->name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
@error('category_id')
|
@error('category_id')
|
||||||
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -114,15 +145,22 @@
|
|||||||
Project <span class="helpdesk-required-star">*</span>
|
Project <span class="helpdesk-required-star">*</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<select id="project_id" wire:model.defer="project_id" data-helpdesk-select2 class="mt-2 block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500">
|
<div class="mt-2" wire:ignore>
|
||||||
<option value="">Select project</option>
|
<select
|
||||||
@foreach ($projects as $project)
|
id="project_id"
|
||||||
<option value="{{ $project->id }}" @selected((string) $project_id === (string) $project->id)>{{ $project->title ?? $project->name }}</option>
|
data-helpdesk-select2
|
||||||
@endforeach
|
data-wire-model="project_id"
|
||||||
</select>
|
class="block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500"
|
||||||
|
>
|
||||||
|
<option value="">Select project</option>
|
||||||
|
@foreach ($projects as $project)
|
||||||
|
<option value="{{ $project->id }}" @selected((string) $project_id === (string) $project->id)>{{ $project->title ?? $project->name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
@error('project_id')
|
@error('project_id')
|
||||||
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -131,19 +169,25 @@
|
|||||||
Team <span class="helpdesk-required-star">*</span>
|
Team <span class="helpdesk-required-star">*</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<select id="team_id" wire:model.defer="team_id" data-helpdesk-select2 class="mt-2 block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500">
|
<div class="mt-2" wire:ignore>
|
||||||
<option value="">Select team</option>
|
<select
|
||||||
@foreach ($teams as $team)
|
id="team_id"
|
||||||
<option value="{{ $team->id }}" @selected((string) $team_id === (string) $team->id)>{{ $team->name }}</option>
|
data-helpdesk-select2
|
||||||
@endforeach
|
data-wire-model="team_id"
|
||||||
</select>
|
class="block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500"
|
||||||
|
>
|
||||||
|
<option value="">Select team</option>
|
||||||
|
@foreach ($teams as $team)
|
||||||
|
<option value="{{ $team->id }}" @selected((string) $team_id === (string) $team->id)>{{ $team->name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
@error('team_id')
|
@error('team_id')
|
||||||
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="lg:col-span-3 xl:col-span-6">
|
<div class="lg:col-span-3 xl:col-span-6">
|
||||||
<fieldset class="rounded-2xl border border-zinc-700 bg-zinc-950/70 p-4">
|
<fieldset class="rounded-2xl border border-zinc-700 bg-zinc-950/70 p-4">
|
||||||
<div class="flex flex-col gap-1 sm:flex-row sm:items-center sm:justify-between">
|
<div class="flex flex-col gap-1 sm:flex-row sm:items-center sm:justify-between">
|
||||||
@@ -152,8 +196,8 @@
|
|||||||
</legend>
|
</legend>
|
||||||
|
|
||||||
<span class="text-xs text-zinc-500">
|
<span class="text-xs text-zinc-500">
|
||||||
Optional · select all that apply
|
Optional · select all that apply
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-4 grid gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4">
|
<div class="mt-4 grid gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4">
|
||||||
@@ -171,8 +215,8 @@
|
|||||||
>
|
>
|
||||||
|
|
||||||
<span class="truncate">
|
<span class="truncate">
|
||||||
{{ $tag->name }}
|
{{ $tag->name }}
|
||||||
</span>
|
</span>
|
||||||
</label>
|
</label>
|
||||||
@empty
|
@empty
|
||||||
<div class="rounded-xl border border-dashed border-zinc-700 bg-zinc-900 px-4 py-3 text-sm text-zinc-400">
|
<div class="rounded-xl border border-dashed border-zinc-700 bg-zinc-900 px-4 py-3 text-sm text-zinc-400">
|
||||||
@@ -197,7 +241,7 @@
|
|||||||
<input id="due_at" type="date" wire:model.defer="due_at" class="mt-2 block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500">
|
<input id="due_at" type="date" wire:model.defer="due_at" class="mt-2 block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500">
|
||||||
|
|
||||||
@error('due_at')
|
@error('due_at')
|
||||||
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -205,7 +249,7 @@
|
|||||||
<x-helpdesk::html-editor dusk="ticket-body-editor" wire:model="body" label="Details *" rows="10" placeholder="Describe the issue, expected outcome, steps to reproduce and any useful context..." />
|
<x-helpdesk::html-editor dusk="ticket-body-editor" wire:model="body" label="Details *" rows="10" placeholder="Describe the issue, expected outcome, steps to reproduce and any useful context..." />
|
||||||
|
|
||||||
@error('body')
|
@error('body')
|
||||||
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -215,16 +259,24 @@
|
|||||||
<input id="attachments" type="file" wire:model="attachments" multiple class="mt-2 block w-full rounded-xl border border-zinc-700 bg-zinc-950 px-3 py-2 text-sm text-zinc-100 shadow-sm">
|
<input id="attachments" type="file" wire:model="attachments" multiple class="mt-2 block w-full rounded-xl border border-zinc-700 bg-zinc-950 px-3 py-2 text-sm text-zinc-100 shadow-sm">
|
||||||
|
|
||||||
@error('attachments')
|
@error('attachments')
|
||||||
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
||||||
@enderror
|
@enderror
|
||||||
|
|
||||||
@error('attachments.*')
|
@error('attachments.*')
|
||||||
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex items-center justify-end gap-3 border-t border-zinc-700 bg-zinc-900 px-6 py-4">
|
<div class="flex items-center justify-end gap-3 border-t border-zinc-700 bg-zinc-900 px-6 py-4">
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
wire:click="clearForm"
|
||||||
|
class="rounded-xl bg-red-600 px-4 py-2 text-sm font-semibold text-white shadow-sm hover:bg-red-700"
|
||||||
|
>
|
||||||
|
Clear
|
||||||
|
</button>
|
||||||
|
|
||||||
<a href="{{ route('helpdesk.tickets.index') }}" wire:navigate class="rounded-xl bg-blue-600 px-4 py-2 text-sm font-semibold text-white shadow-sm hover:bg-blue-700">
|
<a href="{{ route('helpdesk.tickets.index') }}" wire:navigate class="rounded-xl bg-blue-600 px-4 py-2 text-sm font-semibold text-white shadow-sm hover:bg-blue-700">
|
||||||
Cancel
|
Cancel
|
||||||
</a>
|
</a>
|
||||||
@@ -242,6 +294,4 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
'resources/css/app.css',
|
'resources/css/app.css',
|
||||||
'resources/js/app.js',
|
'resources/js/app.js',
|
||||||
])
|
])
|
||||||
|
|
||||||
@include('helpdesk::partials.page-header', [
|
@include('helpdesk::partials.page-header', [
|
||||||
'eyebrow' => 'Helpdesk',
|
'eyebrow' => 'Helpdesk',
|
||||||
'title' => 'Edit Ticket',
|
'title' => 'Edit Ticket',
|
||||||
@@ -65,12 +66,19 @@
|
|||||||
Company <span class="helpdesk-required-star">*</span>
|
Company <span class="helpdesk-required-star">*</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<select id="company_id" wire:model.defer="company_id" data-helpdesk-select2 class="mt-2 block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500">
|
<div class="mt-2" wire:ignore>
|
||||||
<option value="">Select company</option>
|
<select
|
||||||
@foreach ($companies as $company)
|
id="company_id"
|
||||||
<option value="{{ $company->id }}">{{ $company->name }}</option>
|
data-helpdesk-select2
|
||||||
@endforeach
|
data-wire-model="company_id"
|
||||||
</select>
|
class="block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500"
|
||||||
|
>
|
||||||
|
<option value="">Select company</option>
|
||||||
|
@foreach ($companies as $company)
|
||||||
|
<option value="{{ $company->id }}" @selected((string) $company_id === (string) $company->id)>{{ $company->name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
@error('company_id')
|
@error('company_id')
|
||||||
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
||||||
@@ -81,12 +89,20 @@
|
|||||||
<div class="xl:col-span-2">
|
<div class="xl:col-span-2">
|
||||||
<label class="block text-sm font-semibold text-zinc-200" for="board_id">Board</label>
|
<label class="block text-sm font-semibold text-zinc-200" for="board_id">Board</label>
|
||||||
|
|
||||||
<select id="board_id" wire:model.defer="board_id" data-helpdesk-select2 class="mt-2 block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500" data-dusk="ticket-edit-board">
|
<div class="mt-2" wire:ignore>
|
||||||
<option value="">No board</option>
|
<select
|
||||||
@foreach ($boards as $board)
|
id="board_id"
|
||||||
<option value="{{ $board->id }}">{{ $board->name }}{{ $board->owner ? ' · '.$board->owner->name : '' }}</option>
|
data-helpdesk-select2
|
||||||
@endforeach
|
data-wire-model="board_id"
|
||||||
</select>
|
class="block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500"
|
||||||
|
data-dusk="ticket-edit-board"
|
||||||
|
>
|
||||||
|
<option value="">No board</option>
|
||||||
|
@foreach ($boards as $board)
|
||||||
|
<option value="{{ $board->id }}" @selected((string) $board_id === (string) $board->id)>{{ $board->name }}{{ $board->owner ? ' · '.$board->owner->name : '' }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
@error('board_id')
|
@error('board_id')
|
||||||
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
||||||
@@ -98,11 +114,19 @@
|
|||||||
Status <span class="helpdesk-required-star">*</span>
|
Status <span class="helpdesk-required-star">*</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<select id="status_id" wire:model.defer="status_id" data-helpdesk-select2 class="mt-2 block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500" data-dusk="ticket-edit-status">
|
<div class="mt-2" wire:ignore>
|
||||||
@foreach ($statuses as $status)
|
<select
|
||||||
<option value="{{ $status->id }}">{{ $status->name }}</option>
|
id="status_id"
|
||||||
@endforeach
|
data-helpdesk-select2
|
||||||
</select>
|
data-wire-model="status_id"
|
||||||
|
class="block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500"
|
||||||
|
data-dusk="ticket-edit-status"
|
||||||
|
>
|
||||||
|
@foreach ($statuses as $status)
|
||||||
|
<option value="{{ $status->id }}" @selected((string) $status_id === (string) $status->id)>{{ $status->name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
@error('status_id')
|
@error('status_id')
|
||||||
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
||||||
@@ -114,11 +138,19 @@
|
|||||||
Priority <span class="helpdesk-required-star">*</span>
|
Priority <span class="helpdesk-required-star">*</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<select id="priority_id" wire:model.defer="priority_id" data-helpdesk-select2 class="mt-2 block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500" data-dusk="ticket-edit-priority">
|
<div class="mt-2" wire:ignore>
|
||||||
@foreach ($priorities as $priority)
|
<select
|
||||||
<option value="{{ $priority->id }}">{{ $priority->name }}</option>
|
id="priority_id"
|
||||||
@endforeach
|
data-helpdesk-select2
|
||||||
</select>
|
data-wire-model="priority_id"
|
||||||
|
class="block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500"
|
||||||
|
data-dusk="ticket-edit-priority"
|
||||||
|
>
|
||||||
|
@foreach ($priorities as $priority)
|
||||||
|
<option value="{{ $priority->id }}" @selected((string) $priority_id === (string) $priority->id)>{{ $priority->name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
@error('priority_id')
|
@error('priority_id')
|
||||||
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
||||||
@@ -128,12 +160,20 @@
|
|||||||
<div class="xl:col-span-2">
|
<div class="xl:col-span-2">
|
||||||
<label class="block text-sm font-semibold text-zinc-200" for="agent_id">Assigned agent</label>
|
<label class="block text-sm font-semibold text-zinc-200" for="agent_id">Assigned agent</label>
|
||||||
|
|
||||||
<select id="agent_id" wire:model.defer="agent_id" data-helpdesk-select2 class="mt-2 block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500" data-dusk="ticket-edit-agent">
|
<div class="mt-2" wire:ignore>
|
||||||
<option value="">Unassigned</option>
|
<select
|
||||||
@foreach ($agents as $agent)
|
id="agent_id"
|
||||||
<option value="{{ $agent->id }}">{{ $agent->name }} · {{ $agent->email }}</option>
|
data-helpdesk-select2
|
||||||
@endforeach
|
data-wire-model="agent_id"
|
||||||
</select>
|
class="block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500"
|
||||||
|
data-dusk="ticket-edit-agent"
|
||||||
|
>
|
||||||
|
<option value="">Unassigned</option>
|
||||||
|
@foreach ($agents as $agent)
|
||||||
|
<option value="{{ $agent->id }}" @selected((string) $agent_id === (string) $agent->id)>{{ $agent->name }} · {{ $agent->email }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
@error('agent_id')
|
@error('agent_id')
|
||||||
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
||||||
@@ -145,12 +185,19 @@
|
|||||||
Category <span class="helpdesk-required-star">*</span>
|
Category <span class="helpdesk-required-star">*</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<select id="category_id" wire:model.defer="category_id" data-helpdesk-select2 class="mt-2 block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500">
|
<div class="mt-2" wire:ignore>
|
||||||
<option value="">No category</option>
|
<select
|
||||||
@foreach ($categories as $category)
|
id="category_id"
|
||||||
<option value="{{ $category->id }}">{{ $category->name }}</option>
|
data-helpdesk-select2
|
||||||
@endforeach
|
data-wire-model="category_id"
|
||||||
</select>
|
class="block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500"
|
||||||
|
>
|
||||||
|
<option value="">No category</option>
|
||||||
|
@foreach ($categories as $category)
|
||||||
|
<option value="{{ $category->id }}" @selected((string) $category_id === (string) $category->id)>{{ $category->name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
@error('category_id')
|
@error('category_id')
|
||||||
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
||||||
@@ -162,12 +209,19 @@
|
|||||||
Project <span class="helpdesk-required-star">*</span>
|
Project <span class="helpdesk-required-star">*</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<select id="project_id" wire:model.defer="project_id" data-helpdesk-select2 class="mt-2 block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500">
|
<div class="mt-2" wire:ignore>
|
||||||
<option value="">No project</option>
|
<select
|
||||||
@foreach ($projects as $project)
|
id="project_id"
|
||||||
<option value="{{ $project->id }}">{{ $project->title ?? $project->name }}</option>
|
data-helpdesk-select2
|
||||||
@endforeach
|
data-wire-model="project_id"
|
||||||
</select>
|
class="block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500"
|
||||||
|
>
|
||||||
|
<option value="">No project</option>
|
||||||
|
@foreach ($projects as $project)
|
||||||
|
<option value="{{ $project->id }}" @selected((string) $project_id === (string) $project->id)>{{ $project->title ?? $project->name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
@error('project_id')
|
@error('project_id')
|
||||||
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
||||||
@@ -179,17 +233,25 @@
|
|||||||
Team <span class="helpdesk-required-star">*</span>
|
Team <span class="helpdesk-required-star">*</span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<select id="team_id" wire:model.defer="team_id" data-helpdesk-select2 class="mt-2 block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500">
|
<div class="mt-2" wire:ignore>
|
||||||
<option value="">No team</option>
|
<select
|
||||||
@foreach ($teams as $team)
|
id="team_id"
|
||||||
<option value="{{ $team->id }}">{{ $team->name }}</option>
|
data-helpdesk-select2
|
||||||
@endforeach
|
data-wire-model="team_id"
|
||||||
</select>
|
class="block w-full rounded-xl border-zinc-700 bg-zinc-950 text-zinc-100 shadow-sm focus:border-blue-500 focus:ring-blue-500"
|
||||||
|
>
|
||||||
|
<option value="">No team</option>
|
||||||
|
@foreach ($teams as $team)
|
||||||
|
<option value="{{ $team->id }}" @selected((string) $team_id === (string) $team->id)>{{ $team->name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
@error('team_id')
|
@error('team_id')
|
||||||
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
<p class="mt-2 text-sm text-red-500">{{ $message }}</p>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="lg:col-span-3 xl:col-span-6">
|
<div class="lg:col-span-3 xl:col-span-6">
|
||||||
<fieldset class="rounded-2xl border border-zinc-700 bg-zinc-950/70 p-4">
|
<fieldset class="rounded-2xl border border-zinc-700 bg-zinc-950/70 p-4">
|
||||||
<div class="flex flex-col gap-1 sm:flex-row sm:items-center sm:justify-between">
|
<div class="flex flex-col gap-1 sm:flex-row sm:items-center sm:justify-between">
|
||||||
@@ -198,8 +260,8 @@
|
|||||||
</legend>
|
</legend>
|
||||||
|
|
||||||
<span class="text-xs text-zinc-500">
|
<span class="text-xs text-zinc-500">
|
||||||
Optional · select all that apply
|
Optional · select all that apply
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-4 grid gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4">
|
<div class="mt-4 grid gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4">
|
||||||
@@ -217,8 +279,8 @@
|
|||||||
>
|
>
|
||||||
|
|
||||||
<span class="truncate">
|
<span class="truncate">
|
||||||
{{ $tag->name }}
|
{{ $tag->name }}
|
||||||
</span>
|
</span>
|
||||||
</label>
|
</label>
|
||||||
@empty
|
@empty
|
||||||
<div class="rounded-xl border border-dashed border-zinc-700 bg-zinc-900 px-4 py-3 text-sm text-zinc-400">
|
<div class="rounded-xl border border-dashed border-zinc-700 bg-zinc-900 px-4 py-3 text-sm text-zinc-400">
|
||||||
@@ -236,6 +298,7 @@
|
|||||||
@enderror
|
@enderror
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="xl:col-span-2">
|
<div class="xl:col-span-2">
|
||||||
<label class="block text-sm font-semibold text-zinc-200" for="due_at">Due date</label>
|
<label class="block text-sm font-semibold text-zinc-200" for="due_at">Due date</label>
|
||||||
|
|
||||||
@@ -256,6 +319,14 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex items-center justify-end gap-3 border-t border-zinc-700 bg-zinc-900 px-6 py-4">
|
<div class="flex items-center justify-end gap-3 border-t border-zinc-700 bg-zinc-900 px-6 py-4">
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
wire:click="clearForm"
|
||||||
|
class="rounded-xl bg-red-600 px-4 py-2 text-sm font-semibold text-white shadow-sm hover:bg-red-700"
|
||||||
|
>
|
||||||
|
Clear
|
||||||
|
</button>
|
||||||
|
|
||||||
<a href="{{ route('helpdesk.tickets.show', $ticket) }}" wire:navigate class="rounded-xl bg-blue-600 px-4 py-2 text-sm font-semibold text-white shadow-sm hover:bg-blue-700">
|
<a href="{{ route('helpdesk.tickets.show', $ticket) }}" wire:navigate class="rounded-xl bg-blue-600 px-4 py-2 text-sm font-semibold text-white shadow-sm hover:bg-blue-700">
|
||||||
Cancel
|
Cancel
|
||||||
</a>
|
</a>
|
||||||
@@ -273,5 +344,4 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user