<div class="p-4">
<div class="max-w-6xl mx-auto bg-white rounded-lg">
<!-- Header -->
<div class="text-black p-4 rounded-t-lg flex justify-between items-center">
<h1 class="text-lg font-semibold">Profiles</h1>
</div>
@if (count($globalListGroup) > 0)
@foreach ($globalListGroup as $profileCode => $profileData)
<div x-data="{ expanded: false }" class="mb-4">
<div @click="expanded = !expanded" class="bg-gray-500 text-white px-4 py-2 cursor-pointer">
<strong>Profile = {{ $profileCode }}</strong>
</div>
<div x-show="expanded" class="overflow-x-auto p-4">
<div class="max-w-3xl mx-auto bg-white rounded-lg">
<table aria-describedby="mydesc" class="min-w-full bg-white border border-gray-300 text-sm">
<thead>
<tr class="bg-slate-300 text-gray-700 text-xs">
<th scope="col" class="py-2 px-4 border-b w-1/2">Name</th>
<th scope="col" class="py-2 px-4 border-b w-1/2">Value</th>
</tr>
</thead>
<tbody>
@foreach ($profileData as $item)
<tr class="border-b text-xs">
<td class="py-2 px-4 border"> <input type="text"
class="w-full p-2 border border-gray-300 rounded-md"
wire:model.defer="globalListGroup.{{ $profileCode }}.{{ $loop->index }}.name" />
</td>
<td class="py-2 px-4 border">
<input type="text"
class="w-full p-2 border border-gray-300 rounded-md"
wire:model.defer="globalListGroup.{{ $profileCode }}.{{ $loop->index }}.value" />
</td>
<input type="hidden" wire:model.defer="globalListGroup.{{ $profileCode }}.{{ $loop->index }}.profilecode">
</tr>
@endforeach
</tbody>
</table>
<div class="p-4">
<button wire:click="saveGlobal"
class="bg-primary hover:bg-primary-focus text-white font-bold py-2 px-4 rounded">
Save
</button>
</div>
</div>
</div>
</div>
@endforeach
@endif
</div>
</div>
</div>
<div class=" p-4">
<div class="max-w-full mx-auto bg-white rounded-lg">
<div class="text-black p-4 rounded-t-lg flex justify-between items-center">
<h1 class="text-lg font-semibold">{{ $company }} (SN={{ $serverKey }}):: History Patch</h1>
{{-- <button class="bg-info hover:info-focus text-white font-bold py-2 px-4 rounded">
Export Query
</button> --}}
</div>
<!-- Table Section -->
<div class="overflow-x-auto p-4">
<table aria-describedby="mydesc" class="min-w-full bg-white border border-gray-300">
<thead>
<tr class="bg-slate-300 text-gray-700">
<th scope="col" class="py-2 px-4 border-b cursor-pointer" wire:click="sortHistoryBy('cp.TaskDate')">
Task Date
@if ($sortHistoryField == 'cp.TaskDate')
<span>{{ $sortHistoryDirection == 'asc' ? '↑' : '↓' }}</span>
@endif
</th>
<th scope="col" class="py-2 px-4 border-b cursor-pointer" wire:click="sortHistoryBy('cp.TaskStatus')">
Task Status
@if ($sortHistoryField == 'cp.TaskStatus')
<span>{{ $sortHistoryDirection == 'asc' ? '↑' : '↓' }}</span>
@endif
</th>
<th scope="col" class="py-2 px-4 border-b cursor-pointer" wire:click="sortHistoryBy('cp.TaskRunner')">
Task Runner
@if ($sortHistoryField == 'cp.TaskRunner')
<span>{{ $sortHistoryDirection == 'asc' ? '↑' : '↓' }}</span>
@endif
</th>
<th scope="col" class="py-2 px-4 border-b cursor-pointer" wire:click="sortHistoryBy('cp.TaskFinish')">
Task Finish
@if ($sortHistoryField == 'cp.TaskFinish')
<span>{{ $sortHistoryDirection == 'asc' ? '↑' : '↓' }}</span>
@endif
</th>
<th scope="col" class="py-2 px-4 border-b cursor-pointer" wire:click="sortHistoryBy('cs.PID')">
Patch ID
@if ($sortHistoryField == 'cs.PID')
<span>{{ $sortHistoryDirection == 'asc' ? '↑' : '↓' }}</span>
@endif
</th>
<th scope="col" class="py-2 px-4 border-b cursor-pointer" wire:click="sortHistoryBy('cs.PATCHNAME')">
Patch Name
@if ($sortHistoryField == 'cs.PATCHNAME')
<span>{{ $sortHistoryDirection == 'asc' ? '↑' : '↓' }}</span>
@endif
</th>
<th scope="col" class="py-2 px-4 border-b cursor-pointer" wire:click="sortHistoryBy('cs.PAPPROVEDATE')">
Approve Date
@if ($sortHistoryField == 'cs.PAPPROVEDATE')
<span>{{ $sortHistoryDirection == 'asc' ? '↑' : '↓' }}</span>
@endif
</th>
<th scope="col" class="py-2 px-4 border-b cursor-pointer" wire:click="sortHistoryBy('cs.PDESC')">
Description
@if ($sortHistoryField == 'cs.PDESC')
<span>{{ $sortHistoryDirection == 'asc' ? '↑' : '↓' }}</span>
@endif
</th>
</tr>
</thead>
<tbody>
@foreach ($historyPatchList as $key => $patch)
<tr class="border-b">
<td class="py-2 px-4 border min-w-36 max-w-36 text-center">{{ $patch->TaskDate }}</td>
<td class="py-2 px-4 border min-w-24 max-w-24 text-center">{{ $patch->TaskStatus }}</td>
<td class="py-2 px-4 border min-w-24 max-w-24 text-center">{{ $patch->TaskRunner }}</td>
<td class="py-2 px-4 border min-w-36 max-w-36 text-center">{{ $patch->TaskFinish }}</td>
<td class="py-2 px-4 border min-w-24 max-w-24 text-center">{{ $patch->PID }}</td>
<td class="py-2 px-4 border min-w-48 max-w-48 text-center">{{ $patch->PATCHNAME }}</td>
<td class="py-2 px-4 border min-w-32 max-w-32 text-center">{{ $patch->PAPPROVEDATE }}</td>
<td class="py-2 px-4 border min-w-64 max-w-64 text-center">{{ $patch->PDESC }}</td>
</tr>
@endforeach
</tbody>
</table>
<div class="mt-4">
{{ $historyPatchList->links('livewire.paginate-custom') }}
</div>
</div>
</div>
</div>
<div class=" p-4">
<div class="max-w-full mx-auto bg-white rounded-lg">
<!-- Header -->
<div class="text-black p-4 rounded-t-lg flex justify-between items-center">
<h1 class="text-lg font-semibold">{{ $company }} (SN={{ $serverKey }}):: MAINVAR.inc</h1>
</div>
<div class="overflow-x-auto p-4">
<div class="w-full p-4">
<h3 class="text-lg font-semibold">Code:</h3>
<textarea wire:model.defer="mainvarCode" rows="20" class="w-full p-2 border rounded language-none"
placeholder="Paste your code here..." style="max-height: 60vh; overflow-y: auto;"></textarea>
<button wire:click="saveMainVar"
class="bg-primary hover:bg-primary-focus text-white font-bold py-2 px-4 rounded mt-2">Save</button>
</div>
</div>
</div>
</div>
<div class=" p-4">
<div class="max-w-full mx-auto bg-white rounded-lg">
<!-- Header -->
<div class="text-black p-4 rounded-t-lg flex justify-between items-center">
<h1 class="text-lg font-semibold">{{ $company }} (SN={{ $serverKey }}):: Map To</h1>
<button class="bg-info hover:info-focus text-white font-bold py-2 px-4 rounded">
Export Query
</button>
</div>
<!-- Table Section -->
<div class="overflow-x-auto p-4">
<table aria-describedby="mydesc" class="min-w-full bg-white border border-gray-300">
<thead>
<tr class="bg-slate-300 text-gray-700">
<th scope="col" class="py-2 px-4 border-b">ID</th>
<th scope="col" class="py-2 px-4 border-b">Name</th>
<th scope="col" class="py-2 px-4 border-b">Code</th>
<th scope="col" class="py-2 px-4 border-b">Type</th>
</tr>
</thead>
<tbody>
@if (count($mapToList) > 0)
@foreach ($mapToList['id'] as $index => $onload)
<tr class="border-b">
<td class="py-2 px-4 border w-24 text-center">{{ $index +1 }}</td>
{{-- <td class="py-2 px-4 border w-32">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="mapToList.step.{{ $index }}" />
</td>
<td class="py-2 px-4 border w-48">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="mapToList.level.{{ $index }}" />
</td>
--}}
<td class="py-2 px-4 border w-32">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="mapToList.name.{{ $index }}" />
</td>
{{-- <td class="py-2 px-4 border w-64">
<textarea class="w-full p-1 border rounded" wire:model.defer="mapToList.desc.{{ $index }}"></textarea>
</td> --}}
<td class="py-2 px-4 border w-64">
<textarea class="w-full p-1 border rounded" wire:model.defer="mapToList.validateCode.{{ $index }}"></textarea>
</td>
<td class="py-2 px-4 border w-48">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="mapToList.doctype.{{ $index }}" />
</td>
{{-- <td class="py-2 px-4 border w-24">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="mapToList.active.{{ $index }}" />
</td> --}}
</tr>
@endforeach
@endif
</tbody>
</table>
<div class="p-4">
<button wire:click="saveMapTo"
class="bg-primary hover:bg-primary-focus text-white font-bold py-2 px-4 rounded">
Save
</button>
</div>
</div>
</div>
</div>
<div class=" p-4">
<div class="max-w-full mx-auto bg-white rounded-lg">
<!-- Header -->
<div class="text-black p-4 rounded-t-lg flex justify-between items-center">
<h1 class="text-lg font-semibold">{{ $company }} (SN={{ $serverKey }}):: Onload Condition</h1>
<button class="bg-info hover:info-focus text-white font-bold py-2 px-4 rounded">
Export Query
</button>
</div>
<!-- Table Section -->
<div class="overflow-x-auto p-4">
<table aria-describedby="mydesc" class="min-w-full bg-white border border-gray-300">
<thead>
<tr class="bg-slate-300 text-gray-700">
<th scope="col" class="py-2 px-4 border-b">Serverkey</th>
<th scope="col" class="py-2 px-4 border-b">Service Name</th>
<th scope="col" class="py-2 px-4 border-b">Action</th>
<th scope="col" class="py-2 px-4 border-b">Onload Code</th>
</tr>
</thead>
<tbody>
@if (count($onloadList) > 0)
@foreach ($onloadList['SKEY'] as $index => $onload)
<tr class="border-b">
<td class="py-2 px-4 border w-32">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="onloadList.SKEY.{{ $index }}" />
</td>
<td class="py-2 px-4 border w-48">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="onloadList.SERVNAME.{{ $index }}" />
</td>
<td class="py-2 px-4 border w-32">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="onloadList.ACT.{{ $index }}" />
</td>
<td class="py-2 px-4 border w-64">
<textarea class="w-full p-1 border rounded" wire:model.defer="onloadList.ONLOAD.{{ $index }}"></textarea>
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
<div class="p-4">
<button wire:click="saveOnload"
class="bg-primary hover:bg-primary-focus text-white font-bold py-2 px-4 rounded">
Save
</button>
</div>
</div>
</div>
</div>
<div class="">
<div class="max-w-6xl mx-auto bg-white rounded-lg">
<!-- Header -->
<div class=" text-black p-4 rounded-t-lg">
<h1 class="text-lg font-semibold">{{ $company }} ( SNKEY = {{ $serverKey }} ) :: Organize</h1>
</div>
<!-- Form Section -->
<div class="pt-2 px-4 pb-4 border-b">
<label for="selectDateOrg" class="text-gray-700 font-semibold">Receive Data From SPN:</label>
<select id="selectDateOrg" wire:model="selectDateOrg" class="ml-2 p-2 border border-gray-300 rounded-md">
@if (isset($allDate))
@foreach ($allDate as $date)
<option value="{{ $date->id ?? '' }}">{{ $date->createDate ?? '' }}</option>
@endforeach
@endif
</select>
</div>
<!-- Table Section -->
<div class="overflow-x-auto p-4">
<table aria-describedby="mydesc" class="min-w-full is-hoverable bg-white border border-gray-300 border-b ">
<thead>
<tr class="bg-gray-200 text-gray-700">
<th scope="col" class="py-2 px-4 border-b rounded-tl-lg">Organize</th>
<th scope="col" class="py-2 px-4 border-b">Profile</th>
<th scope="col" class="py-2 px-4 border-b rounded-tr-lg">Document Type</th>
</tr>
</thead>
<tbody>
@if (count($orgList) > 0)
@foreach ($orgList as $org)
<tr class="border-b hover:bg-slate-300">
<td class="py-4 px-4 border-b text-left hover:bg-slate-300">
<ul class="">
<li><strong>Organize: {{ $org->spnOrganize?? ''}}</strong></li>
<li>Last Update: {{ $org->epromotionCheckDate?? '' }}</li>
<li>Team (e-promotion): {{ $org->epromotionSaleTeam?? '' }}</li>
<li>Size (e-promotion): {{ $org->epromotionSize?? '' }}</li>
</ul>
</td>
<td class="py-4 px-4 border-b text-left ">
<!-- Example Profile Data -->
<ul class="list-disc">
@if (count($org->profileList??[]) > 0)
@foreach ($org->profileList as $profile)
<li>{{ $profile->profileCode }}</li>
@endforeach
@endif
</ul>
</td>
<td class="py-4 px-4 border-b text-left ">
<!-- Example Document Type Data -->
<ul class="list-disc">
@if (count($org->docTypeList??[]) > 0)
@foreach ($org->docTypeList as $doc)
<li>{{ $doc->DTDESC }}</li>
@endforeach
@endif
</ul>
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
</div>
</div>
</div>
<div class=" p-4">
<div class="max-w-full mx-auto bg-white rounded-lg">
<!-- Header -->
<div class="text-black p-4 rounded-t-lg flex justify-between items-center">
<h1 class="text-lg font-semibold">{{ $company }} (SN={{ $serverKey }}):: Print Form</h1>
<button class="bg-info hover:info-focus text-white font-bold py-2 px-4 rounded">
Export Query
</button>
</div>
<!-- Table Section -->
<div class="overflow-x-auto p-4">
<table aria-describedby="mydesc" class="min-w-full bg-white border border-gray-300">
<thead>
<tr class="bg-slate-300 text-gray-700">
<th scope="col" class="py-2 px-4 border-b">Name</th>
<th scope="col" class="py-2 px-4 border-b">Value</th>
<th scope="col" class="py-2 px-4 border-b">Description</th>
<th scope="col" class="py-2 px-4 border-b">Active</th>
</tr>
</thead>
<tbody>
@if (count($parameterList) > 0)
@foreach ($parameterList['PID'] as $index => $parameter)
<tr class="border-b">
<td class="py-2 px-4 border min-w-48">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="parameterList.name.{{ $index }}" />
</td>
<td class="py-2 px-4 border min-w-48">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="parameterList.value.{{ $index }}" />
</td>
<td class="py-2 px-4 border min-w-48">
<textarea class="w-full p-1 border rounded" wire:model.defer="parameterList.description.{{ $index }}"></textarea>
</td>
<td class="py-2 px-4 border min-w-48">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="parameterList.active.{{ $index }}" />
</td>
<input type="hidden" wire:model.defer="parameterList.PID.{{ $index }}">
</tr>
@endforeach
@endif
</tbody>
</table>
<div class="p-4">
<button wire:click="saveParameter"
class="bg-primary hover:bg-primary-focus text-white font-bold py-2 px-4 rounded">
Save
</button>
</div>
</div>
</div>
</div>
<div class=" p-4">
<div class="max-w-full mx-auto bg-white rounded-lg">
<!-- Header -->
<div class="text-black p-4 rounded-t-lg flex justify-between items-center">
<h1 class="text-lg font-semibold">{{ $company }} (SN={{ $serverKey }}):: Print Form</h1>
<button class="bg-info hover:info-focus text-white font-bold py-2 px-4 rounded">
Export Query
</button>
</div>
<!-- Table Section -->
<div class="overflow-x-auto p-4">
<table aria-describedby="mydesc" class="min-w-full bg-white border border-gray-300">
<thead>
<tr class="bg-slate-300 text-gray-700">
<th scope="col" class="py-2 px-4 border-b">ID</th>
<th scope="col" class="py-2 px-4 border-b">Form Name</th>
<th scope="col" class="py-2 px-4 border-b">L Name</th>
<th scope="col" class="py-2 px-4 border-b">L Value</th>
<th scope="col" class="py-2 px-4 border-b">X</th>
<th scope="col" class="py-2 px-4 border-b">Y</th>
<th scope="col" class="py-2 px-4 border-b">Parent ID</th>
<th scope="col" class="py-2 px-4 border-b">Edit Layout</th>
<th scope="col" class="py-2 px-4 border-b">Width</th>
<th scope="col" class="py-2 px-4 border-b">Height</th>
<th scope="col" class="py-2 px-4 border-b">Type</th>
<th scope="col" class="py-2 px-4 border-b">Format</th>
</tr>
</thead>
<tbody>
@if (count($labelList) > 0)
@foreach ($labelList['lid'] as $index => $mapId)
<tr class="border-b">
<td class="py-2 px-4 border w-10"> <!-- Adjust as necessary -->
{{ $index + 1 }}
</td>
<td class="py-2 px-4 border w-1/5">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="labelList.form_name.{{ $index }}" />
</td>
<td class="py-2 px-4 border w-1/5">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="labelList.l_name.{{ $index }}" />
</td>
<td class="py-2 px-4 border w-2/5">
<textarea class="w-full p-1 border rounded" wire:model.defer="labelList.l_value.{{ $index }}"></textarea>
</td>
<td class="py-2 px-4 border w-10">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="labelList.x.{{ $index }}" />
</td>
<td class="py-2 px-4 border w-10">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="labelList.y.{{ $index }}" />
</td>
<td class="py-2 px-4 border w-1/12">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="labelList.parentId.{{ $index }}" />
</td>
<td class="py-2 px-4 border w-1/12">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="labelList.editLayout.{{ $index }}" />
</td>
<td class="py-2 px-4 border w-1/12">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="labelList.width.{{ $index }}" />
</td>
<td class="py-2 px-4 border w-1/12">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="labelList.height.{{ $index }}" />
</td>
<td class="py-2 px-4 border w-1/12">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="labelList.type.{{ $index }}" />
</td>
<td class="py-2 px-4 border w-1/12">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="labelList.format.{{ $index }}" />
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
<div class="p-4">
<button wire:click="saveLabel"
class="bg-primary hover:bg-primary-focus text-white font-bold py-2 px-4 rounded">
Save
</button>
</div>
</div>
</div>
</div>
<div class="bg-main-container">
<div class="max-w-full mx-auto px-5 ">
<div class="flex flex-wrap items-center">
</div>
@if (session()->has('message'))
<div class="alert alert-success">
{{ session('message') }}
</div>
@endif
<div class="flex flex-wrap -mx-3 w-full items-center justify-center ">
<div class="w-3/5 p-5 mb-6 shadow-md bg-white rounded-lg">
<form>
<!-- Server Key -->
<div class=" flex items-center">
<label for="serverKey" class="w-1/4 text-gray-700">Server Key</label>
<div class="flex flex-col w-3/4">
<input type="text" id="serverKey" class=" p-2 border border-gray-300 rounded-md"
wire:model.defer="serverKey">
@error('serverKey')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Team -->
<div class="mt-3 flex items-center">
<label for="teamId" class="w-1/4 text-gray-700">Team</label>
<div class="flex flex-col w-3/4">
<select id="teamId" wire:model.defer="teamId"
class=" p-2 border border-gray-300 rounded-md">
@foreach ($teams as $team)
<option value="{{ $team->id }}">{{ $team->teamName }}</option>
@endforeach
</select>
@error('teamId')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Customer Sizing -->
<div class="mt-3 flex items-center">
<label for="customerSize" class="w-1/4 text-gray-700">Customer Sizing</label>
<div class="flex flex-col w-3/4">
<select id="customerSize" wire:model.defer="customerSize"
class=" p-2 border border-gray-300 rounded-md">
@foreach ($sizings as $size)
<option value="{{ $size->id }}">{{ $size->sizeName }}</option>
@endforeach
</select>
@error('customerSize')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Customer Type -->
<div class="mt-3 flex items-center">
<label for="customerType" class="w-1/4 text-gray-700">Customer Type</label>
<div class="flex flex-col w-3/4">
<select id="customerType" wire:model.defer="customerType"
class=" p-2 border border-gray-300 rounded-md">
@foreach ($customerTypes as $type)
<option value="{{ $type->id }}">{{ $type->sizeTypeName }}</option>
@endforeach
</select>
@error('customerType')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Company -->
<div class="mt-3 flex items-center">
<label for="company" class="w-1/4 text-gray-700">Company</label>
<div class="flex flex-col w-3/4">
<input type="text" id="company" class=" p-2 border border-gray-300 rounded-md"
wire:model.defer="company">
@error('company')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Branch -->
<div class="mt-3 flex items-center">
<label for="branch" class="w-1/4 text-gray-700">Branch</label>
<div class="flex flex-col w-3/4">
<input type="text" id="branch" class=" p-2 border border-gray-300 rounded-md"
wire:model.defer="branch">
@error('branch')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Status -->
<div class="mt-3 flex items-center">
<label class="w-1/4 text-gray-700">Status</label>
<div class="flex flex-col w-3/4">
<div class="flex items-center w-3/4">
<label class="mr-4">
<input type="radio" name="status" value="Y" wire:model.defer="status"> Yes
</label>
<label>
<input type="radio" name="status" value="N" wire:model.defer="status"> No
</label>
</div>
@error('status')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Licensedate -->
<div class="mt-3 flex items-center">
<label for="licenseDate" class="w-1/4 text-gray-700">License Date</label>
<div class="flex flex-col w-3/4">
<input type="date" id="licenseDate" class=" p-2 border border-gray-300 rounded-md"
wire:model.defer="licenseDate">
@error('licenseDate')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- PHP Version -->
<div class="mt-3 flex items-center">
<label for="phpVersionId" class="w-1/4 text-gray-700">PHP Version</label>
<div class="flex flex-col w-3/4">
<select id="phpVersionId" wire:model.defer="phpVersionId"
class=" p-2 border border-gray-300 rounded-md">
@foreach ($phpVersions as $version)
<option value="{{ $version->id }}">{{ $version->version }}</option>
@endforeach
</select>
@error('phpVersionId')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Version ปัจจุบัน -->
<div class="mt-3 flex items-center">
<label for="currentVersion" class="w-1/4 text-gray-700">Version ปัจจุบัน</label>
<div class="flex flex-col w-3/4">
<input type="text" id="currentVersion" class=" p-2 border border-gray-300 rounded-md"
wire:model.defer="currentVersion">
@error('currentVersion')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- วันที่ไป Install -->
<div class="mt-3 flex items-center">
<label for="installDate" class="w-1/4 text-gray-700">วันที่ไป Install</label>
<div class="flex flex-col w-3/4">
<input type="date" id="installDate" class=" p-2 border border-gray-300 rounded-md"
wire:model.defer="installDate">
@error('installDate')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Version ที่ลงครั้งแรก -->
<div class="mt-3 flex items-center">
<label for="installVersion" class="w-1/4 text-gray-700">Version ที่ลงครั้งแรก</label>
<div class="flex flex-col w-3/4">
<input type="text" id="installVersion" class=" p-2 border border-gray-300 rounded-md"
wire:model.defer="installVersion">
@error('installVersion')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Database Type -->
<div class="mt-3 flex items-center">
<label for="databaseType" class="w-1/4 text-gray-700">Database Type</label>
<div class="flex flex-col w-3/4">
<select id="databaseType" wire:model.defer="databaseType"
class=" p-2 border border-gray-300 rounded-md">
@foreach ($dbTypes as $db)
<option value="{{ $db->id }}">{{ $db->dbName }}</option>
@endforeach
</select>
@error('databaseType')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Server of -->
<div class="mt-3 flex items-center">
<label for="ownerType" class="w-1/4 text-gray-700">Server of</label>
<div class="flex flex-col w-3/4">
<select id="ownerType" wire:model.defer="ownerType"
class=" p-2 border border-gray-300 rounded-md">
@foreach ($ownerTypes as $owner)
<option value="{{ $owner->owntype_code }}">{{ $owner->owntype_description }}
</option>
@endforeach
</select>
@error('ownerType')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- HSCODE 2017 Method -->
<div class="mt-3 flex items-center">
<label for="hscodeMethod" class="w-1/4 text-gray-700">HSCODE 2017 Method</label>
<div class="flex flex-col w-3/4">
<select id="hscodeMethod" wire:model.defer="hscodeMethod"
class=" p-2 border border-gray-300 rounded-md">
<option value="1" {{ $hscodeMethod == '1' ? 'selected' : '' }}>Patch</option>
<option value="2" {{ $hscodeMethod == '2' ? 'selected' : '' }}>Run script
</option>
</select>
@error('hscodeMethod')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- URL / IP Address -->
<div class="mt-3 flex items-center">
<label for="customerUrl" class="w-1/4 text-gray-700">URL / IP Address</label>
<div class="flex flex-col w-3/4">
<input type="text" id="customerUrl" class=" p-2 border border-gray-300 rounded-md"
wire:model.defer="customerUrl">
@error('customerUrl')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Contact -->
<div class="mt-3 flex items-center">
<label for="contact" class="w-1/4 text-gray-700">Contact</label>
<div class="flex flex-col w-3/4">
<input type="text" id="contact" class=" p-2 border border-gray-300 rounded-md"
wire:model.defer="contact">
@error('contact')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Contact Customer Name -->
<div class="mt-3 flex items-center">
<label for="contactCustomerName" class="w-1/4 text-gray-700">Contact Customer Name</label>
<div class="flex flex-col w-3/4">
<input type="text" id="contactCustomerName"
class=" p-2 border border-gray-300 rounded-md" wire:model.defer="contactCustomerName">
@error('contactCustomerName')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Save and Reset Buttons -->
<div class="mt-3 flex justify-center space-x-2">
<a type="button" href="/server-license"
class="bg-slate-300 text-black px-4 py-2 rounded-md hover:bg-slate-900 hover:text-white">Back</a>
<button type="button" wire:click="save"
class="bg-primary text-white px-4 py-2 rounded-md hover:bg-primary-focus">Save</button>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="bg-main-container">
<div class="max-w-full mx-auto p-5 ">
<div x-data="{ messages: @entangle('messages') }">
<template x-for="(message, index) in messages" :key="index">
<div x-data="{ show: true }" x-init="setTimeout(() => {
show = false;
setTimeout(() => { messages.splice(index, 1); }, 500);
}, 3000)" x-show="show" x-transition
class="fixed top-5 right-5 z-50 bg-green-500 text-white py-2 px-4 rounded-md shadow-lg mt-2">
<span x-text="message"></span>
</div>
</template>
</div>
<div class="flex flex-wrap -mx-3 w-full bg-main-container items-center justify-center " x-data="{ activeTab: 'form' }">
<div class="w-11/12 p-5 mb-6 shadow-md rounded-lg bg-white">
<div class="text-xl rounded-lg bg-white p-4 flex justify-between self-center">
<h3>Server Key :: {{ $serverKey }}</h3>
<a type="button" href="/server-license"
class="bg-primary text-white px-3 py-1 text-md rounded-md hover:bg-primary-focus">Back</a>
</div>
<div class="mb-4 border-b border-gray-200">
<ul class="flex flex-wrap -mb-px">
<li class="mr-2">
<a href="#" @click.prevent="activeTab = 'form'"
:class="{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'form' }"
class="inline-block py-2 px-4">Form</a>
</li>
<li class="mr-2">
<a href="#" @click.prevent="activeTab = 'organize'" wire:click="loadOrganize"
:class="{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'organize' }"
class="inline-block py-2 px-4">Organize</a>
</li>
<li class="mr-2">
<a href="#" @click.prevent="activeTab = 'csvMapping'" wire:click="loadMapping"
:class="{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'csvMapping' }"
class="inline-block py-2 px-4">CSV Mapping</a>
</li>
<li class="mr-2">
<a href="#" @click.prevent="activeTab = 'printForm'" wire:click="loadPrintForm"
:class="{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'printForm' }"
class="inline-block py-2 px-4">Print Form</a>
</li>
<li class="mr-2">
<a href="#" @click.prevent="activeTab = 'userInterface'"
wire:click="loadUserInterface"
:class="{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'userInterface' }"
class="inline-block py-2 px-4">User Interface</a>
</li>
<li class="mr-2">
<a href="#" @click.prevent="activeTab = 'global'" wire:click="loadGlobal"
:class="{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'global' }"
class="inline-block py-2 px-4">Global</a>
</li>
<li class="mr-2">
<a href="#" @click.prevent="activeTab = 'parameter'" wire:click="loadParameter"
:class="{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'parameter' }"
class="inline-block py-2 px-4">Parameter</a>
</li>
<li class="mr-2">
<a href="#" @click.prevent="activeTab = 'onload'" wire:click="loadOnload"
:class="{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'onload' }"
class="inline-block py-2 px-4">Onload</a>
</li>
<li class="mr-2">
<a href="#" @click.prevent="activeTab = 'validate'" wire:click="loadValidate"
:class="{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'validate' }"
class="inline-block py-2 px-4">Validate</a>
</li>
<li class="mr-2">
<a href="#" @click.prevent="activeTab = 'mapTo'" wire:click="loadMapTo"
:class="{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'mapTo' }"
class="inline-block py-2 px-4">Map To</a>
</li>
<li class="mr-2">
<a href="#" @click.prevent="activeTab = 'mainVar'" wire:click="loadMainVar"
:class="{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'mainVar' }"
class="inline-block py-2 px-4">MainVar</a>
</li>
<li class="mr-2">
<a href="#" @click.prevent="activeTab = 'fileDownload'" wire:click="loadFileDownload"
:class="{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'fileDownload' }"
class="inline-block py-2 px-4">File Download</a>
</li>
<li class="mr-2">
<a href="#" @click.prevent="activeTab = 'historyPatch'" wire:click="loadHistoryPatch"
:class="{ 'border-b-2 border-blue-600 text-blue-600': activeTab === 'historyPatch' }"
class="inline-block py-2 px-4">History Patch</a>
</li>
</ul>
</div>
<div class="flex flex-wrap items-center justify-center ">
<div x-show="activeTab === 'form'" class="w-4/5 ">
<form>
<!-- Server Key -->
<div class=" flex items-center">
<label for="serverKey" class="w-1/4 text-gray-700">Server Key</label>
<div class="flex flex-col w-3/4">
<input type="text" id="serverKey" class=" p-2 border border-gray-300 rounded-md"
wire:model.defer="serverKey">
@error('serverKey')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Team -->
<div class="mt-3 flex items-center">
<label for="teamId" class="w-1/4 text-gray-700">Team</label>
<div class="flex flex-col w-3/4">
<select id="teamId" wire:model.defer="teamId"
class=" p-2 border border-gray-300 rounded-md">
@foreach ($teams as $team)
<option value="{{ is_object($team) ? $team->id : $team['id'] }}">
{{ is_object($team) ? $team->teamName : $team['teamName'] }}</option>
@endforeach
</select>
@error('teamId')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Customer Sizing -->
<div class="mt-3 flex items-center">
<label for="customerSize" class="w-1/4 text-gray-700">Customer Sizing</label>
<div class="flex flex-col w-3/4">
<select id="customerSize" wire:model.defer="customerSize"
class=" p-2 border border-gray-300 rounded-md">
@foreach ($sizings as $size)
<option value="{{ is_object($size) ? $size->id : $size['id'] }}">
{{ is_object($size) ? $size->sizeName : $size['sizeName'] }}</option>
@endforeach
</select>
@error('customerSize')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Customer Type -->
<div class="mt-3 flex items-center">
<label for="customerType" class="w-1/4 text-gray-700">Customer Type</label>
<div class="flex flex-col w-3/4">
<select id="customerType" wire:model.defer="customerType"
class=" p-2 border border-gray-300 rounded-md">
@foreach ($customerTypes as $type)
<option value="{{ is_object($type) ? $type->id : $type['id'] }}">
{{ is_object($type) ? $type->sizeTypeName : $type['sizeTypeName'] }}
</option>
@endforeach
</select>
@error('customerType')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Company -->
<div class="mt-3 flex items-center">
<label for="company" class="w-1/4 text-gray-700">Company</label>
<div class="flex flex-col w-3/4">
<input type="text" id="company"
class=" p-2 border border-gray-300 rounded-md" wire:model.defer="company">
@error('company')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Branch -->
<div class="mt-3 flex items-center">
<label for="branch" class="w-1/4 text-gray-700">Branch</label>
<div class="flex flex-col w-3/4">
<input type="text" id="branch"
class=" p-2 border border-gray-300 rounded-md" wire:model.defer="branch">
@error('branch')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Status -->
<div class="mt-3 flex items-center">
<label class="w-1/4 text-gray-700">Status</label>
<div class="flex flex-col w-3/4">
<div class="flex items-center w-3/4">
<label class="mr-4">
<input type="radio" name="status" value="Y"
wire:model.defer="status"> Yes
</label>
<label>
<input type="radio" name="status" value="N"
wire:model.defer="status"> No
</label>
</div>
@error('status')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Licensedate -->
<div class="mt-3 flex items-center">
<label for="licenseDate" class="w-1/4 text-gray-700">License Date</label>
<div class="flex flex-col w-3/4">
<input type="date" id="licenseDate"
class=" p-2 border border-gray-300 rounded-md" wire:model.defer="licenseDate">
@error('licenseDate')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- PHP Version -->
<div class="mt-3 flex items-center">
<label for="phpVersionId" class="w-1/4 text-gray-700">PHP Version</label>
<div class="flex flex-col w-3/4">
<select id="phpVersionId" wire:model.defer="phpVersionId"
class=" p-2 border border-gray-300 rounded-md">
@foreach ($phpVersions as $version)
<option value="{{ is_object($version) ? $version->id : $version['id'] }}">
{{ is_object($version) ? $version->version : $version['version'] }}
</option>
@endforeach
</select>
@error('phpVersionId')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Version ปัจจุบัน -->
<div class="mt-3 flex items-center">
<label for="currentVersion" class="w-1/4 text-gray-700">Version ปัจจุบัน</label>
<div class="flex flex-col w-3/4">
<input type="text" id="currentVersion"
class=" p-2 border border-gray-300 rounded-md"
wire:model.defer="currentVersion">
@error('currentVersion')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- วันที่ไป Install -->
<div class="mt-3 flex items-center">
<label for="installDate" class="w-1/4 text-gray-700">วันที่ไป Install</label>
<div class="flex flex-col w-3/4">
<input type="date" id="installDate"
class=" p-2 border border-gray-300 rounded-md" wire:model.defer="installDate">
@error('installDate')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Version ที่ลงครั้งแรก -->
<div class="mt-3 flex items-center">
<label for="installVersion" class="w-1/4 text-gray-700">Version ที่ลงครั้งแรก</label>
<div class="flex flex-col w-3/4">
<input type="text" id="installVersion"
class=" p-2 border border-gray-300 rounded-md"
wire:model.defer="installVersion">
@error('installVersion')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Database Type -->
<div class="mt-3 flex items-center">
<label for="databaseType" class="w-1/4 text-gray-700">Database Type</label>
<div class="flex flex-col w-3/4">
<select id="databaseType" wire:model.defer="databaseType"
class=" p-2 border border-gray-300 rounded-md">
@foreach ($dbTypes as $db)
<option value="{{ is_object($db) ? $db->id : $db['id'] }}">
{{ is_object($db) ? $db->dbName : $db['dbName'] }}</option>
@endforeach
</select>
@error('databaseType')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Server of -->
<div class="mt-3 flex items-center">
<label for="ownerType" class="w-1/4 text-gray-700">Server of</label>
<div class="flex flex-col w-3/4">
<select id="ownerType" wire:model.defer="ownerType"
class=" p-2 border border-gray-300 rounded-md">
@foreach ($ownerTypes as $owner)
<option
value="{{ is_object($owner) ? $owner->owntype_code : $owner['owntype_code'] }}">
{{ is_object($owner) ? $owner->owntype_description : $owner['owntype_description'] }}
</option>
@endforeach
</select>
@error('ownerType')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- HSCODE 2017 Method -->
<div class="mt-3 flex items-center">
<label for="hscodeMethod" class="w-1/4 text-gray-700">HSCODE 2017 Method</label>
<div class="flex flex-col w-3/4">
<select id="hscodeMethod" wire:model.defer="hscodeMethod"
class=" p-2 border border-gray-300 rounded-md">
<option value="1" {{ $hscodeMethod == '1' ? 'selected' : '' }}>Patch
</option>
<option value="2" {{ $hscodeMethod == '2' ? 'selected' : '' }}>Run script
</option>
</select>
@error('hscodeMethod')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- URL / IP Address -->
<div class="mt-3 flex items-center">
<label for="customerUrl" class="w-1/4 text-gray-700">URL / IP Address</label>
<div class="flex flex-col w-3/4">
<input type="text" id="customerUrl"
class=" p-2 border border-gray-300 rounded-md" wire:model.defer="customerUrl">
@error('customerUrl')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Contact -->
<div class="mt-3 flex items-center">
<label for="contact" class="w-1/4 text-gray-700">Contact</label>
<div class="flex flex-col w-3/4">
<input type="text" id="contact"
class=" p-2 border border-gray-300 rounded-md" wire:model.defer="contact">
@error('contact')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<!-- Contact Customer Name -->
<div class="mt-3 flex items-center">
<label for="contactCustomerName" class="w-1/4 text-gray-700">Contact Customer
Name</label>
<div class="flex flex-col w-3/4">
<input type="text" id="contactCustomerName"
class=" p-2 border border-gray-300 rounded-md"
wire:model.defer="contactCustomerName">
@error('contactCustomerName')
<div class="text-red-500 text-sm ">
{{ $message }}</div>
@enderror
</div>
</div>
<div class="flex justify-center space-x-2 mt-3">
<a type="button" href="/server-license"
class="bg-slate-200 text-black px-4 py-2 rounded-md hover:bg-slate-400">Back</a>
<button type="button" wire:click="updateLicense"
class="bg-primary text-white px-4 py-2 rounded-md hover:bg-primary-focus">Save</button>
</div>
</form>
</div>
</div>
<div x-show="activeTab === 'organize'">
@if ($tab == 'organize')
@include('livewire.pages.server-license.organize')
@endif
</div>
<div x-show="activeTab === 'csvMapping'">
@if ($tab == 'csvMapping')
@include('livewire.pages.server-license.csv-mapping')
@endif
</div>
<div x-show="activeTab === 'printForm'">
@if ($tab == 'printForm')
@include('livewire.pages.server-license.print-form')
@endif
</div>
<div x-show="activeTab === 'userInterface'">
@if ($tab == 'userInterface')
@include('livewire.pages.server-license.user-interface')
@endif
</div>
<div x-show="activeTab === 'global'">
@if ($tab == 'global')
@include('livewire.pages.server-license.global')
@endif
</div>
<div x-show="activeTab === 'parameter'">
@if ($tab == 'parameter')
@include('livewire.pages.server-license.parameter')
@endif
</div>
<div x-show="activeTab === 'onload'">
@if ($tab == 'onload')
@include('livewire.pages.server-license.onload')
@endif
</div>
<div x-show="activeTab === 'validate'">
@if ($tab == 'validate')
@include('livewire.pages.server-license.validate')
@endif
</div>
<div x-show="activeTab === 'mapTo'">
@if ($tab == 'mapTo')
@include('livewire.pages.server-license.map-to')
@endif
</div>
<div x-show="activeTab === 'mainVar'">
@if ($tab == 'mainVar')
@include('livewire.pages.server-license.main-var')
@endif
</div>
<div x-show="activeTab === 'fileDownload'">
@if ($tab == 'fileDownload')
@include('livewire.pages.server-license.file-download')
@endif
</div>
<div x-show="activeTab === 'historyPatch'">
@if ($tab === 'historyPatch')
@include('livewire.pages.server-license.history-patch', [
'historyPatchList' => $historyPatchList,
])
@endif
</div>
</div>
</div>
</div>
</div>
<div class="border-0 shadow-none ">
<div wire:loading.class="" wire:loading.class.remove="hidden" wire:target="save"
class="absolute inset-0 items-center justify-center z-50 bg-slate-50 dark:bg-navy-900 hidden">
<div class="flex justify-center items-center ">
<div class="items-center h-100vh" style="align-content: center;">
<div class="animate-spin rounded-full h-32 w-32 border-t-2 border-b-2 border-blue-500"></div>
</div>
</div>
</div>
<div class="my-5 flex h-8 place-content-center px-4 ">
<a href="/server-license" > <h2 class="text-xl text-slate-800 ">
Server License Management
</h2></a>
<h2 class="ml-3 text-xl text-slate-800 font-semibold underline underline-offset-4">
{{ $action === 'add' ? 'Create' : ($action === 'edit' ? 'Edit' : '') }}
</h2>
</div>
<div class="m-2">
@if ($action === 'list')
@if ($message)
<div class="alert alert-success">
<div wire:ignore x-data="{ show: true }" x-init="setTimeout(() => show = false, 3000)"
x-show.transition.duration.500ms="show"
class="fixed top-5 right-5 z-50 bg-green-500 text-white py-2 px-4 rounded-md shadow-lg">
{{ $message }}
</div>
</div>
@endif
<div class="grid grid-cols-1 gap-4 sm:gap-5 lg:gap-6 bg-main-container rounded-md">
<div class="pb-4 pt-5 bg-white rounded-lg shadow-lg">
<div class="flex justify-between">
<div class="px-2 ml-4">
<button type="button"
class="py-2 px-3 bg-primary rounded-md text-white hover:bg-primary-focus"
wire:click="showServerLicenseAddForm">Add</button>
<button type="button"
class="py-2 px-3 bg-primary rounded-md text-white hover:bg-primary-focus"
wire:click="exportLicense"><i class="fa fa-download mr-2" aria-hidden="true"></i>Export</button>
</div>
<div class="inline-flex flex-initial" >
<div x-data="{ isInputActive: true }">
<div class="flex flex-wrap gap-4 px-5 items-center">
<button @click="isInputActive = !isInputActive"
class="btn h-8 w-10 rounded-full p-0 hover:bg-primary-focus hover:text-main-container active:text-main-container focus:text-main-container primary-focus hover:text-main-container active:text-main-container focus:text-main-container dark:hover:bg-navy-300/20 dark:focus:bg-navy-300/20 dark:active:bg-navy-300/25">
<svg xmlns="http://www.w3.org/2000/svg" class="h-4.5 w-4.5" fill="none"
viewBox="0 0 24 24" stroke="black">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"
d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" />
</svg>
</button>
<span class="w-64" x-show="isInputActive === true">
<input
class="form-input h-9 peer w-full rounded-lg border border-slate-300 bg-transparent px-3 py-2 placeholder:text-slate-400/70 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:hover:border-navy-400 dark:focus:border-accent"
placeholder="Search Keyword" type="text" wire:model.defer="keyword" />
</span>
<span class="w-52" x-show="isInputActive === true">
<select wire:model.defer="searchSelected"
class="form-select h-9 w-full rounded-lg border border-slate-300 bg-main-container px-3 py-2 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:bg-navy-700 dark:hover:border-navy-400 dark:focus:border-accent">
@foreach ($searchBy as $key => $by)
<option value="{{ $key }}">{{ $by }}</option>
@endforeach
</select>
</span>
<button type="button"
class="bg-primary text-white px-4 py-2 rounded hover:bg-primary-focus"
wire:click="search">Search</button>
</div>
</div>
</div>
</div>
<div class="mx-3 mt-3 px-4">
<div class="is-scrollbar-hidden min-w-full table-responsive" x-data="pages.tables.initExample1">
<table aria-describedby="mydesc" class="is-hoverable table w-full text-left border-b">
<thead>
<tr>
{{-- <th scope="col"
class="whitespace-nowrap rounded-tl-lg bg-slate-300 px-4 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-5">
#
</th> --}}
<th scope="col"
class="whitespace-nowrap rounded-tl-lg bg-slate-300 px-4 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-2">
Server Key
</th>
<th scope="col"
class="whitespace-nowrap bg-slate-300 px-2 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-2">
Company
</th>
<th scope="col"
class="whitespace-nowrap bg-slate-300 px-2 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-2">
Status
</th>
<th scope="col"
class="whitespace-nowrap bg-slate-300 px-2 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-2">
License Date
</th>
<th scope="col"
class="whitespace-nowrap bg-slate-300 px-2 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-2">
Current Version
</th>
<th scope="col"
class="whitespace-nowrap bg-slate-300 px-2 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-2">
Database
</th>
<th scope="col"
class="whitespace-nowrap rounded-tr-lg bg-slate-300 px-2 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-2">
Action
</th>
</tr>
</thead>
<tbody>
@foreach ($results as $license)
<tr
class="border-y border-transparent border-b-slate-200 dark:border-b-navy-500">
{{-- <td class="whitespace-nowrap px-4 py-3 sm:px-5">
<label class="inline-flex items-center space-x-2">
<input
class="form-checkbox is-basic h-4 w-4 rounded border-slate-400/70 checked:bg-primary checked:border-primary focus:border-primary dark:bg-navy-900 dark:border-navy-500 dark:checked:bg-accent dark:checked:border-accent dark:hover:border-accent dark:focus:border-accent"
type="checkbox" wire:model.defer="selectedLicense"
value="{{ $license->ID }}" />
</label>
</td> --}}
<td class="whitespace-nowrap px-1 py-3 sm:px-2">{{ $license->SNKEY }}</td>
<td class="whitespace-nowrap px-1 py-3 sm:px-2">
{{ \Illuminate\Support\Str::limit($license->COMPANY, 40) }}</td>
<td class="whitespace-nowrap px-1 py-3 sm:px-2">{{ $license->STATUS }}</td>
<td class="whitespace-nowrap px-1 py-3 sm:px-2">{{ $license->LICENSEDATE }}
</td>
<td class="whitespace-nowrap px-1 py-3 sm:px-2">{{ $license->CUR_VERSION }}
</td>
<td class="whitespace-nowrap px-1 py-3 sm:px-2">
{{ \Illuminate\Support\Str::limit($license->DATABASETYPE, 40) }}</td>
<td class="whitespace-nowrap px-1 py-3 sm:px-2">
<div class="flex justify-center space-x-2">
<a wire:click="showServerLicenseEditForm({{ $license->ID }})"
class="btn h-8 w-8 p-0 hover:text-main-container active:text-main-container hover:primary-focus focus:primary-focus active:bg-info/25">
<i aria-hidden="true" class="fa fa-edit"></i>
</a>
<a wire:click="showDeleteModal({{ $license->ID }})"
class="btn h-8 w-8 p-0 hover:text-main-container active:text-main-container hover:primary-focus focus:primary-focus active:bg-info/25">
<i aria-hidden="true" class="fa fa-trash"></i>
</a>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<livewire:delete-modal />
{{ $results->links('livewire.paginate-custom') }}
</div>
</div>
</div>
@elseif($action === 'add')
<livewire:pages.server-license.server-license-create />
@elseif($action === 'edit')
<livewire:pages.server-license.server-license-edit :editId="$editId" />
@endif
@push('script')
<script>
console.log("server-license")
</script>
@endpush
</div>
</div>
<div class="p-4">
<div class="max-w-full mx-auto bg-white rounded-lg">
<!-- Table Section -->
<div class="overflow-x-auto p-4">
<table aria-describedby="mydesc" class="min-w-full bg-white border border-gray-300">
<thead>
<tr class="bg-slate-300 text-gray-700">
<th scope="col" class="py-2 px-4 border-b">ID</th>
<th scope="col" class="py-2 px-4 border-b">Page Code</th>
<th scope="col" class="py-2 px-4 border-b">Name</th>
<th scope="col" class="py-2 px-4 border-b">T Name</th>
<th scope="col" class="py-2 px-4 border-b">Required</th>
<th scope="col" class="py-2 px-4 border-b">Type</th>
<th scope="col" class="py-2 px-4 border-b">Spec</th>
<th scope="col" class="py-2 px-4 border-b">Manual</th>
<th scope="col" class="py-2 px-4 border-b">User Note</th>
<th scope="col" class="py-2 px-4 border-b">JS Before Focus</th>
<th scope="col" class="py-2 px-4 border-b">Cannot Import</th>
<th scope="col" class="py-2 px-4 border-b">F Name</th>
<th scope="col" class="py-2 px-4 border-b">Report Flag</th>
<th scope="col" class="py-2 px-4 border-b">Report Order By</th>
<th scope="col" class="py-2 px-4 border-b">Report Condition</th>
<th scope="col" class="py-2 px-4 border-b">Report Table</th>
<th scope="col" class="py-2 px-4 border-b">Report Type</th>
<th scope="col" class="py-2 px-4 border-b">Report Format</th>
<th scope="col" class="py-2 px-4 border-b">Report Align</th>
<th scope="col" class="py-2 px-4 border-b">User Default</th>
</tr>
</thead>
<tbody>
@if (count($userInterfaceList) > 0)
@foreach ($userInterfaceList['name'] as $index => $mapId)
<tr class="border-b">
<td class="py-2 px-4 border">{{ $index + 1 }}</td>
<td class="py-2 px-4 border min-w-32"><input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="userInterfaceList.pageCode.{{ $index }}" /></td>
<td class="py-2 px-4 border min-w-32"><input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="userInterfaceList.name.{{ $index }}" /></td>
<td class="py-2 px-4 border min-w-32"><input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="userInterfaceList.tname.{{ $index }}" /></td>
<td class="py-2 px-4 border min-w-24"><input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="userInterfaceList.required.{{ $index }}" /></td>
<td class="py-2 px-4 border min-w-32"><input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="userInterfaceList.type.{{ $index }}" /></td>
<td class="py-2 px-4 border min-w-24"><input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="userInterfaceList.spec.{{ $index }}" /></td>
<td class="py-2 px-4 border min-w-64">
<textarea class="w-full p-1 border rounded" wire:model.defer="userInterfaceList.manual.{{ $index }}"></textarea>
</td>
<td class="py-2 px-4 border min-w-64">
<textarea class="w-full p-1 border rounded" wire:model.defer="userInterfaceList.user_note.{{ $index }}"></textarea>
</td>
<td class="py-2 px-4 border min-w-24"><input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="userInterfaceList.js_before_focus.{{ $index }}" /></td>
<td class="py-2 px-4 border min-w-24"><input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="userInterfaceList.cannotImport.{{ $index }}" /></td>
<td class="py-2 px-4 border min-w-32"><input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="userInterfaceList.fname.{{ $index }}" /></td>
<td class="py-2 px-4 border min-w-24"><input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="userInterfaceList.reportFlag.{{ $index }}" /></td>
<td class="py-2 px-4 border min-w-24"><input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="userInterfaceList.reportOrderBy.{{ $index }}" /></td>
<td class="py-2 px-4 border min-w-24"><input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="userInterfaceList.reportCondition.{{ $index }}" /></td>
<td class="py-2 px-4 border min-w-32"><input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="userInterfaceList.reportTable.{{ $index }}" /></td>
<td class="py-2 px-4 border min-w-24"><input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="userInterfaceList.reportType.{{ $index }}" /></td>
<td class="py-2 px-4 border min-w-24"><input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="userInterfaceList.reportFormat.{{ $index }}" /></td>
<td class="py-2 px-4 border min-w-24"><input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="userInterfaceList.reportAlign.{{ $index }}" /></td>
<td class="py-2 px-4 border min-w-64">
<textarea class="w-full p-1 border rounded" wire:model.defer="userInterfaceList.user_default.{{ $index }}"></textarea>
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
</div>
<div class="p-4">
<button wire:click="saveUserInterface" class="bg-primary hover:bg-primary-focus text-white font-bold py-2 px-4 rounded">
Save
</button>
</div>
</div>
</div>
\ No newline at end of file
<div class=" p-4">
<div class="max-w-full mx-auto bg-white rounded-lg">
<!-- Header -->
<div class="text-black p-4 rounded-t-lg flex justify-between items-center">
<h1 class="text-lg font-semibold">{{ $company }} (SN={{ $serverKey }}):: Onload Condition</h1>
<button class="bg-info hover:info-focus text-white font-bold py-2 px-4 rounded">
Export Query
</button>
</div>
<!-- Table Section -->
<div class="overflow-x-auto p-4">
<table aria-describedby="mydesc" class="min-w-full bg-white border border-gray-300">
<thead>
<tr class="bg-slate-300 text-gray-700">
<th scope="col" class="py-2 px-4 border-b">ID</th>
<th scope="col" class="py-2 px-4 border-b">Step</th>
<th scope="col" class="py-2 px-4 border-b">Level</th>
<th scope="col" class="py-2 px-4 border-b">Name</th>
<th scope="col" class="py-2 px-4 border-b">Description</th>
<th scope="col" class="py-2 px-4 border-b">Validate Code</th>
<th scope="col" class="py-2 px-4 border-b">Doctype</th>
<th scope="col" class="py-2 px-4 border-b">Active</th>
</tr>
</thead>
<tbody>
@if (count($validateList) > 0)
@foreach ($validateList['id'] as $index => $onload)
<tr class="border-b">
<td class="py-2 px-4 border w-24 text-center">{{ $index +1 }}</td>
<td class="py-2 px-4 border w-32">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="validateList.step.{{ $index }}" />
</td>
<td class="py-2 px-4 border w-48">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="validateList.level.{{ $index }}" />
</td>
<td class="py-2 px-4 border w-32">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="validateList.name.{{ $index }}" />
</td>
<td class="py-2 px-4 border w-64">
<textarea class="w-full p-1 border rounded" wire:model.defer="validateList.desc.{{ $index }}"></textarea>
</td>
<td class="py-2 px-4 border w-64">
<textarea class="w-full p-1 border rounded" wire:model.defer="validateList.validateCode.{{ $index }}"></textarea>
</td>
<td class="py-2 px-4 border w-48">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="validateList.doctype.{{ $index }}" />
</td>
<td class="py-2 px-4 border w-24">
<input type="text" class="w-full p-2 border border-gray-300 rounded-md" wire:model.defer="validateList.active.{{ $index }}" />
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
<div class="p-4">
<button wire:click="saveValidate"
class="bg-primary hover:bg-primary-focus text-white font-bold py-2 px-4 rounded">
Save
</button>
</div>
</div>
</div>
</div>
<div class="w-4/6 mx-auto p-8 bg-white shadow-lg rounded-lg" x-data="{ showPasswordField: false }">
<form wire:submit.prevent="updateConfig" autocomplete="off">
<div class="mb-6">
<h2
class="font-medium flex items-center tracking-wide text-slate-700 line-clamp-1 dark:text-navy-100 lg:text-base">
<i aria-hidden="true" class="fa-solid fa-edit text-primary pr-2"></i> Edit Config Manual Response
</h2>
</div>
<div class="mb-2">
<label for="linkSPN" class="block text-sm font-medium text-gray-700">SPN Endpoint</label>
<input type="text" id="linkSPN"
class="mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder="Link SPN" wire:model.defer="linkSPN" autocomplete="off">
</div>
<div class="mb-2">
<label for="username" class="block text-sm font-medium text-gray-700">Username: SPN</label>
<input type="text" id="usernameSPN"
class="mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder="Username on SPN" wire:model.defer="usernameSPN" autocomplete="off">
</div>
<div class="mb-2" x-show="showPasswordField" style="display: none;">
<label for="first_name" class="block text-sm font-medium text-gray-700">Password: SPN</label>
<input type="password" id="passwordSPN"
class="mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder="Password on SPN" wire:model.defer="passwordSPN" autocomplete="off">
</div>
<div class="flex w-full mt-5">
<div class="ml-auto flex space-x-2 w-3/4 justify-end">
<button class="w-1/4 py-2 bg-gray-200 text-gray-700 rounded-md shadow-sm hover:bg-gray-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-400" type="button" wire:click="backToMainList">Back</button>
<button class="w-1/4 py-2 bg-gray-200 text-gray-700 rounded-md shadow-sm hover:bg-gray-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-400" type="button" @click="showPasswordField = !showPasswordField">Config Password</button>
<button class="w-1/4 py-2 bg-gray-200 text-gray-700 rounded-md shadow-sm hover:bg-gray-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-400" type="button" wire:click="testConnection">Test Connection</button>
<button class="w-1/4 py-2 bg-primary text-white rounded-md shadow-sm hover:bg-primary-dark focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary" type="submit">Save</button>
</div>
</div>
</form>
</div>
<div class="max-w-lg mx-auto p-8 bg-white shadow-lg rounded-lg">
<form wire:submit.prevent="submitForm">
@csrf
<div class="mb-6">
<h2
class="font-medium flex items-center tracking-wide text-slate-700 line-clamp-1 dark:text-navy-100 lg:text-base">
<i aria-hidden="true" class="fa-solid fa-edit text-primary"></i> Create
</h2>
</div>
<div class="space-y-2">
<div class="mb-2">
<label for="username" class="block text-sm font-medium text-gray-700">Username:</label>
<input type="text" wire:model.defer="username" id="username"
class="mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder="Enter your name">
@error('username')
<span class="text-red-500 text-md self-center ml-4">{{ $message }}</span>
@enderror
</div>
<div class="mb-2">
<label for="first_name" class="block text-sm font-medium text-gray-700">Firstname:</label>
<input type="text" wire:model.defer="first_name" id="first_name"
class="mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder="Enter your name">
@error('first_name')
<span class="text-red-500 text-md self-center ml-4">{{ $message }}</span>
@enderror
</div>
<div class="mb-2">
<label for="last_name" class="block text-sm font-medium text-gray-700">Lastname:</label>
<input type="text" wire:model.defer="last_name" id="last_name"
class="mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder="Enter your name">
@error('last_name')
<span class="text-red-500 text-md self-center ml-4">{{ $message }}</span>
@enderror
</div>
<div class="mb-2">
<label for="email" class="block text-sm font-medium text-gray-700">Email:</label>
<input type="email" wire:model.email="email" id="email"
class="mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder="Enter your email">
@error('email')
<span class="text-red-500 text-md self-center ml-4">{{ $message }}</span>
@enderror
</div>
<div class="mb-2">
<label for="phone" class="block text-sm font-medium text-gray-700">Phone:</label>
<input type="text" wire:model.defer="phone" id="phone"
class="mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder="Enter your name">
@error('phone')
<span class="text-red-500 text-md self-center ml-4">{{ $message }}</span>
@enderror
</div>
<div class="mb-2">
<label for="password" class="block text-sm font-medium text-gray-700">Password:</label>
<input type="password" wire:model.password="password" id="password"
class="mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder="Enter your password">
@error('password')
<span class="text-red-500 text-md self-center ml-4">{{ $message }}</span>
@enderror
</div>
<div class="mb-2">
<label for="password_confirmation" class="block text-sm font-medium text-gray-700">Confirm
Password:</label>
<input type="password" wire:model.defer="password_confirmation" id="password_confirmation"
class="mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder="Confirm your password">
@error('password_confirmation')
<span class="text-red-500 text-xs">{{ $message }}</span>
@enderror
</div>
<div wire:ignore class="mb-2">
<label for="group" class="block text-sm font-medium text-gray-700">Add Groups:</label>
<span class="relative flex w-full">
<input class="mt-1.5 relative flex w-full" wire:ignore
x-data="{ groupLists: @entangle('group_lists') }"
x-init="groupLists = [];
const tempGroup = pages.groupSelect;
pages.fetchGroups(tempGroup).then(() => {
$el._x_tom = new Tom($el, {
...tempGroup.group,
onChange: (value) => {
groupLists = value;
}
});
})"
type="text">
</span>
</div>
<div class="flex justify-end space-x-4 mt-3">
<button type="button" wire:click="goBack"
class="px-4 py-2 bg-gray-200 text-gray-700 rounded-md shadow-sm hover:bg-gray-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-400">Cancel</button>
<button type="submit" type="submit"
class="px-4 py-2 bg-primary text-white rounded-md shadow-sm hover:bg-primary-dark focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary">Save</button>
</div>
</div>
</div>
<div class="max-w-lg mx-auto p-8 bg-white shadow-lg rounded-lg" x-data="{ changePassword: @entangle('changePassword'), tomGReady: false }" x-show="tomGReady">
<form wire:submit.prevent="submitEditForm">
@csrf
<div class="mb-6">
<h2
class="font-medium flex items-center tracking-wide text-slate-700 line-clamp-1 dark:text-navy-100 lg:text-base">
<i aria-hidden="true" class="fa-solid fa-edit text-primary"></i> Edit User
</h2>
</div>
<form class="space-y-6">
<div class="mb-2">
<label for="username" class="block text-sm font-medium text-gray-700">Username:</label>
<input type="text" wire:model.defer="username" id="username"
class="mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder="Enter your name">
@error('username')
<span class="text-red-500 text-md self-center ml-4">{{ $message }}</span>
@enderror
</div>
<div class="mb-2">
<label for="first_name" class="block text-sm font-medium text-gray-700">Firstname:</label>
<input type="text" wire:model.defer="first_name" id="first_name"
class="mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder="Enter your name">
@error('first_name')
<span class="text-red-500 text-md self-center ml-4">{{ $message }}</span>
@enderror
</div>
<div class="mb-2">
<label for="last_name" class="block text-sm font-medium text-gray-700">Lastname:</label>
<input type="text" wire:model.defer="last_name" id="last_name"
class="mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder="Enter your name">
@error('last_name')
<span class="text-red-500 text-md self-center ml-4">{{ $message }}</span>
@enderror
</div>
<div class="mb-2">
<label for="email" class="block text-sm font-medium text-gray-700">Email:</label>
<input type="email" wire:model.email="email" id="email"
class="mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder="Enter your email">
@error('email')
<span class="text-red-500 text-md self-center ml-4">{{ $message }}</span>
@enderror
</div>
<div class="mb-2">
<label for="phone" class="block text-sm font-medium text-gray-700">Phone:</label>
<input type="text" wire:model.defer="phone" id="phone"
class="mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder="Enter your name">
@error('phone')
<span class="text-red-500 text-md self-center ml-4">{{ $message }}</span>
@enderror
</div>
<div wire:ignore class="mb-2">
<label for="group" class="block text-sm font-medium text-gray-700">Add Groups:</label>
<span class="relative flex w-full">
<input class="mt-1.5 relative flex w-full" wire:ignore x-data="{ groupLists: @entangle('group_lists') }"
x-init="groupLists = @js($userGroups);
const tempGroup = pages.groupSelect;
pages.fetchGroups(tempGroup).then(() => {
$el._x_tom = new Tom($el, {
...tempGroup.group,
onChange: (value) => {
groupLists = value;
}
});
$el._x_tom.setValue(groupLists);
tomGReady = true
})" type="text">
</span>
</div>
<div class="mb-2">
<button type="button" @click="changePassword = !changePassword"
class="btn border bg-gray-300 border-gray-300 font-medium text-gray-800 hover:text-white focus:text-white hover:bg-gray-500 focus:bg-gray-500 active:bg-gray-150/80 dark:border-navy-450 dark:text-navy-50 dark:hover:bg-navy-500 dark:focus:bg-navy-500 dark:active:bg-navy-500/90">
Change Password
</button>
</div>
<div x-show="changePassword">
<div class="mb-2">
<label for="current_password" class="block text-sm font-medium text-gray-700">Current Password:</label>
<input type="password" wire:model.defer="current_password" id="current_password"
class="mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder="Current Password">
@error('current_password')
<span class="text-red-500 text-xs">{{ $message }}</span>
@enderror
</div>
<div class="mb-2">
<label for="new_password" class="block text-sm font-medium text-gray-700">New Password:</label>
<input type="password" wire:model.defer="new_password" id="new_password"
class="mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder="Current Password">
@error('new_password')
<span class="text-red-500 text-xs">{{ $message }}</span>
@enderror
</div>
<div class="mb-2">
<label for="new_password_confirmation" class="block text-sm font-medium text-gray-700">Confirm New Password:</label>
<input type="password" wire:model.defer="new_password_confirmation" id="new_password_confirmation"
class="mt-1 block w-full px-4 py-2 border border-gray-300 rounded-md shadow-sm focus:ring-primary focus:border-primary sm:text-sm"
placeholder="Current Password">
@error('new_password_confirmation')
<span class="text-red-500 text-xs">{{ $message }}</span>
@enderror
</div>
</div>
<div class="flex justify-end space-x-4 mt-3">
<button type="button" wire:click="goBack"
class="px-4 py-2 bg-gray-200 text-gray-700 rounded-md shadow-sm hover:bg-gray-300 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-gray-400">Cancel</button>
<button type="submit" type="submit"
class="px-4 py-2 bg-primary text-white rounded-md shadow-sm hover:bg-primary-dark focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary">Save</button>
</div>
</form>
</div>
<div class="border-0 shadow-none" x-cloak>
<div wire:loading.class="" wire:loading.class.remove="hidden" wire:target="save"
class="absolute inset-0 items-center justify-center z-50 bg-slate-50 dark:bg-navy-900 hidden">
<div class="flex justify-center items-center ">
<div class="items-center h-100vh" style="align-content: center;">
<div class="animate-spin rounded-full h-32 w-32 border-t-2 border-b-2 border-blue-500"></div>
</div>
</div>
</div>
<div class="my-5 flex h-8 place-content-center px-4 ">
<h2 class="text-xl text-slate-800">
User Management
</h2>
<h2 class="ml-3 text-xl text-slate-800 font-semibold underline underline-offset-4">
{{ $action === 'create' ? 'Create' : ($action === 'edit' ? 'Edit' : '') }}
</h2>
</div>
<div class="m-2" x-data="{
showDeleteListModal: @entangle('showDeleteListModal') }">
@if ($action === 'list')
@if ($message)
<div class="alert alert-success">
<div wire:ignore x-data="{ show: true }" x-init="setTimeout(() => show = false, 3000)"
x-show.transition.duration.500ms="show"
class="fixed top-5 right-5 z-50 bg-green-500 text-white py-2 px-4 rounded-md shadow-lg">
{{ $message }}
</div>
</div>
@endif
<div class="grid grid-cols-1 gap-4 sm:gap-5 lg:gap-6 bg-main-container rounded-md">
<div class="pb-4 pt-5 bg-white rounded-lg shadow-lg">
<div class="flex justify-between">
<div class="px-2 ml-4">
<button type="button"
class="py-2 px-3 bg-primary rounded-md text-white hover:bg-primary-focus"
wire:click="showUserAddForm">Add</button>
</div>
<div class="inline-flex flex-initial">
<div x-data="{ isInputActive: true }">
<div class="flex flex-wrap gap-4 px-5 items-center">
<button @click="isInputActive = !isInputActive"
class="btn h-8 w-10 rounded-full p-0 hover:bg-primary-focus hover:text-main-container active:text-main-container focus:text-main-container primary-focus hover:text-main-container active:text-main-container focus:text-main-container dark:hover:bg-navy-300/20 dark:focus:bg-navy-300/20 dark:active:bg-navy-300/25">
<svg xmlns="http://www.w3.org/2000/svg" class="h-4.5 w-4.5" fill="none"
viewBox="0 0 24 24" stroke="black">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"
d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" />
</svg>
</button>
<span class="w-64" x-show="isInputActive === true">
<input
class="form-input h-9 peer w-full rounded-lg border border-slate-300 bg-transparent px-3 py-2 placeholder:text-slate-400/70 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:hover:border-navy-400 dark:focus:border-accent"
placeholder="Search Keyword" type="text" wire:model.defer="keyword" />
</span>
<span class="w-52" x-show="isInputActive === true">
<select wire:model.defer="searchSelected"
class="form-select h-9 w-full rounded-lg border border-slate-300 bg-main-container px-3 py-2 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:bg-navy-700 dark:hover:border-navy-400 dark:focus:border-accent">
@foreach ($searchBy as $key => $by)
<option value="{{ $key }}">{{ $by }}</option>
@endforeach
</select>
</span>
<button type="button"
class="bg-primary text-white px-4 py-2 rounded hover:bg-primary-focus"
wire:click="search">Search</button>
</div>
</div>
</div>
</div>
<div class="mx-3 mt-3 px-4">
<div class="is-scrollbar-hidden min-w-full table-responsive" x-data="pages.tables.initExample1">
<table aria-describedby="mydesc" class="is-hoverable table w-full text-left border-b text-black">
<thead>
<tr>
<th scope="col"
class="whitespace-nowrap rounded-tl-lg bg-slate-300 px-4 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-5">
ID
</th>
<th scope="col"
class="whitespace-nowrap bg-slate-300 px-4 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-5">
Name
</th>
<th scope="col"
class="whitespace-nowrap bg-slate-300 px-4 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-5">
Email
</th>
<th scope="col"
class="whitespace-nowrap bg-slate-300 px-4 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-5">
Group
</th>
<th scope="col"
class="whitespace-nowrap bg-slate-300 px-4 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-5">
Create Date
</th>
<th scope="col"
class="whitespace-nowrap rounded-tr-lg bg-slate-300 px-4 py-3 font-semibold uppercase text-black dark:bg-navy-800 dark:text-navy-100 lg:px-5">
Action
</th>
</tr>
</thead>
<tbody>
@foreach ($results as $index => $user)
<tr
class="border-y border-transparent border-b-slate-200 dark:border-b-navy-500">
<td class="whitespace-nowrap px-4 py-3 sm:px-5">
{{-- <label for="selectedUsers-{{ $user->id }}"
class="inline-flex items-center space-x-2">
<input @change="toggleGroup($event)"
class="form-checkbox is-basic h-4 w-4 rounded border-slate-400/70 checked:bg-primary checked:border-primary hover:border-primary focus:border-primary dark:bg-navy-900 dark:border-navy-500 dark:checked:bg-accent dark:checked:border-accent dark:hover:border-accent dark:focus:border-accent"
type="checkbox" wire:model.defer="selectedUsers"
id="selectedUsers-{{ $user->id }}"
value="{{ $user->id }}" />
</label> --}}
{{ $user->id }}
</td>
<td class="whitespace-nowrap px-4 py-3 sm:px-5">{{ $user->username }}</td>
<td class="whitespace-nowrap px-4 py-3 sm:px-5">{{ $user->email }}</td>
<td class="whitespace-nowrap px-4 py-3 sm:px-5">
<ul>
@php
$groups = $user->groups->take(5);
$remainingCount = $user->groups->count() - $groups->count();
@endphp
@foreach ($groups as $group)
<li
class="inline-block mr-2 mb-2 px-2 py-1 bg-primary text-white rounded text-xs">
{{ $group->name }}</li>
@endforeach
@if ($remainingCount > 0)
<li
class="inline-block px-2 py-1 bg-gray-300 text-gray-700 rounded">
+
{{ $remainingCount }} more</li>
@endif
</ul>
</td>
<td class="whitespace-nowrap px-4 py-3 sm:px-5">{{ $user->created_at }}
</td>
<td class="whitespace-nowrap px-1 py-3 sm:px-2">
<div class="flex justify-center space-x-1">
<a wire:click="showUserEditForm({{ $user->id }})"
class="btn h-8 w-8 p-0 hover:text-main-container active:text-main-container hover:primary-focus focus:primary-focus active:bg-info/25">
<i aria-hidden="true" class="fa fa-edit"></i>
</a>
<a wire:click="showConfigManualResponseForm({{ $user->id }})"
class="btn h-8 w-8 p-0 hover:text-main-container active:text-main-container hover:primary-focus focus:primary-focus active:bg-info/25">
<i class="fa-solid fa-sliders"></i>
</a>
<a @click="$wire.emit('showDeleteModal', {{ $user->id }})"
class="btn h-8 w-8 p-0 hover:text-main-container active:text-main-container hover:primary-focus focus:primary-focus active:bg-info/25">
<i aria-hidden="true" class="fa fa-trash"></i>
</a>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<template x-if="showDeleteListModal">
<div class="fixed inset-0 z-[100] flex flex-col items-center justify-center overflow-hidden px-4 py-6 sm:px-5"
@keydown.window.escape="showDeleteListModal = false">
<div class="absolute inset-0 bg-slate-900/60 transition-opacity duration-300"
@click="showDeleteListModal = false"></div>
<div
class="relative p-4 max-w-lg rounded-lg bg-white px-4 py-10 text-center transition-opacity duration-300 dark:bg-navy-700 sm:px-5">
<svg xmlns="http://www.w3.org/2000/svg" class="inline h-28 w-28 text-error"
fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z">
</path>
</svg>
<div class="mt-4 mx-5">
<h2 class="text-2xl text-slate-700 dark:text-navy-100">
Are you sure <br> you want to delete <span
x-text="selectedUsersAlpine.length"></span> users?
</h2>
<p class="mt-2"></p>
<button @click="showDeleteListModal = false"
class="btn mt-6 bg-[#6a6e69] font-medium text-white hover:bg-[#313430] focus:bg-[#313430]-focus active:bg-[#313430]-focus/90">
Close
</button>
<button
@click="$wire.emitSelf('deleteSelected', selectedUsers ); showDeleteListModal = false"
class="btn mt-6 bg-error font-medium text-white hover:bg-error-focus focus:bg-error-focus active:bg-error-focus/90">
Confirm
</button>
</div>
</div>
</div>
</template>
<livewire:delete-modal />
{{ $results->links('livewire.paginate-custom') }}
</div>
</div>
</div>
@elseif($action === 'create')
<livewire:pages.user.user-create wire:key="user-create" />
@elseif($action === 'edit')
<livewire:pages.user.user-edit :editUserId="$editUserId" wire:key="user-edit" />
@elseif($action === 'configManualResponse')
<livewire:pages.user.config-manual-response :editUserId="$editUserId"/>
@else
<div></div>
@endif
</div>
</div>
@php
$paginate_master = config('masterfile.defaultPagination') ?: [];
// dd($paginator);
@endphp
<div class="flex flex-col flex-wrap justify-between space-y-4 px-4 py-4 sm:flex-row sm:items-center sm:space-y-0 sm:px-5">
<div class="flex items-center space-x-2 text-xs+">
<span>Show</span>
<label class="block">
<select wire:model="perPage"
class="form-select rounded-full border border-slate-300 px-2 py-1 pr-6 hover:border-slate-400 focus:border-primary dark:border-navy-450 dark:bg-navy-700 dark:hover:border-navy-400 dark:focus:border-accent">
@foreach ( $paginate_master as $per_page )
<option value="{{ $per_page }}">{{ $per_page }}</option>
@endforeach
</select>
</label>
<span>entries</span>
</div>
<div class="pagination">
<span class="rounded-l-lg bg-slate-150 dark:bg-navy-500">
@if ($paginator->currentPage() > 1)
<a wire:click="gotoPage({{ $paginator->currentPage() - 1 }})"
class="cursor-pointer flex h-8 w-8 items-center justify-center rounded-lg text-slate-500 hover:text-white transition-colors hover:bg-primary-focus focus:bg-primary-focus active:bg-primary-focus/80 dark:text-navy-200 dark:hover:bg-navy-450 dark:focus:bg-navy-450 dark:active:bg-navy-450/90">
<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" fill="none" viewBox="0 0 24 24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7" />
</svg>
</a>
@endif
</span>
@foreach ($elements as $element)
@if (is_string($element))
<span class="bg-slate-150 dark:bg-navy-500 list-none">
<a wire:click="gotoPage({{ $page }})" class="cursor-pointer flex h-8 min-w-[2rem] items-center justify-center rounded-lg px-3 leading-tight transition-colors hover:text-white hover:bg-primary-focus focus:bg-primary-focus active:bg-primary-focus/80 dark:hover:bg-navy-450 dark:focus:bg-navy-450 dark:active:bg-navy-450/90">{{ $element }}</a>
</span>
@endif
@if (is_array($element))
@foreach ($element as $page => $url)
<span class="bg-slate-150 dark:bg-navy-500 list-none">
@if ($page == $paginator->currentPage())
<span class="cursor-pointer flex h-8 min-w-[2rem] items-center justify-center rounded-lg bg-primary px-3 leading-tight text-white">{{ $page }}</span>
@else
<a wire:click="gotoPage({{ $page }})"
class="cursor-pointer flex h-8 min-w-[2rem] items-center justify-center rounded-lg px-3 leading-tight transition-colors hover:text-white hover:bg-primary-focus focus:bg-primary-focus active:bg-primary-focus/80 dark:hover:bg-navy-450 dark:focus:bg-navy-450 dark:active:bg-navy-450/90">{{ $page }}</a>
@endif
</span>
@endforeach
@endif
@endforeach
<span class="rounded-r-lg bg-slate-150 dark:bg-navy-500">
@if ($paginator->hasMorePages())
<a wire:click="gotoPage({{ $paginator->currentPage() + 1 }})"
class="flex h-8 w-8 items-center justify-center rounded-lg text-slate-500 hover:text-white transition-colors hover:bg-primary-focus focus:bg-primary-focus active:bg-primary-focus/80 dark:text-navy-200 dark:hover:bg-navy-450 dark:focus:bg-navy-450 dark:active:bg-navy-450/90">
<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" fill="none" viewBox="0 0 24 24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7" />
</svg>
</a>
@endif
</span>
</div>
<div class="text-xs+">{{ (($paginator->perPage() * $paginator->currentPage() )-$paginator->perPage())+1 }} - {{ ($paginator->perPage() * $paginator->currentPage() > $paginator->total()) ? $paginator->total(): $paginator->perPage() * $paginator->currentPage() }} of {{ $paginator->total() }}
entries</div>
</div>
<style>
.bg-gray-800.bg-opacity-20 {
background-color: rgba(31, 41, 55, 0.20);
}
</style>
<div x-show="showAlert" @click="showAlert = false"
class="fixed inset-0 z-50 flex items-center justify-center bg-gray-800 bg-opacity-20">
<div class="bg-white rounded-lg shadow-lg p-6 max-w-sm w-full">
<div class="flex justify-between items-center mb-4">
<h2 class="text-lg font-semibold text-gray-800">Alert</h2>
<button @click="showAlert = false" class="text-gray-400 hover:text-gray-600">
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M6 18L18 6M6 6l12 12" />
</svg>
</button>
</div>
<p class="text-gray-700">Please select at least one.</p>
<div class="mt-4 text-right">
<button @click="showAlert = false"
class="bg-primary text-white px-4 py-2 rounded hover:bg-primary-focus">OK</button>
</div>
</div>
</div>
<x-base-layout title="Login">
<x-guest-layout title="Login">
<style>
input:-webkit-autofill,
input:-webkit-autofill:focus {
-webkit-box-shadow: 0 0 0px 1000px transparent inset;
-webkit-text-fill-color: inherit;
transition: background-color 5000s ease-in-out 0s;
}
.background-image {
background-image: url('images/login-background.jpg'); /* Replace with your image URL */
background-image: url('images/login-background.jpg');
/* Replace with your image URL */
background-size: cover;
background-position: center;
height: 100vh;
......@@ -9,6 +17,7 @@
align-items: center;
justify-content: center;
}
.background-blur {
position: absolute;
top: 0;
......@@ -34,12 +43,14 @@
}
.input-field {
background: rgba(255, 255, 255, 0.9); /* Change this to the desired background color */
background: rgba(255, 255, 255, 0.9);
/* Change this to the desired background color */
border: none;
padding: 1rem;
border-radius: 5px;
width: 100%;
color: #333; /* Change this to the desired text color */
color: #333;
/* Change this to the desired text color */
}
.input-field:focus {
......@@ -73,45 +84,54 @@
<div class="background-image">
<div class="background-blur"></div>
{{-- <div class="background-blur"></div> --}}
<div class="glass-effect">
<h2 class="text-3xl font-bold mb-6 text-center text-white">Sign In</h2>
<p class="text-center mb-6 text-white">Your Social Campaigns</p>
<div class="flex flex-col items-center mb-6">
{{-- <a href="{{ url('auth/google') }}" class="social-button">
<i class="fab fa-google social-icon"></i>
Sign in with Google
</a>
<a href="{{ url('auth/apple') }}" class="social-button">
<i class="fab fa-apple social-icon"></i>
Sign in with Apple
</a> --}}
<a href="{{ url('auth/microsoft') }}" class="social-button">
<i class="fab fa-microsoft social-icon"></i>
Sign in with Microsoft Teams
</a>
</div>
<div class="text-center mb-6 text-white">Or with Username</div>
<form method="POST" action="{{ route('login') }}" class="flex flex-col items-center">
@csrf
<div class="w-full mb-4">
<label for="username" class="block text-white mb-2">Username</label>
<input type="text" id="username" name="username" class="input-field" >
<label for="username" class="block text-white mb-2">UserName</label>
<input type="text" id="username" name="username" autocomplete="off"
class="w-full bg-transparent border-b-2 border-white text-black text-md p-3 active:border-none focus:outline-none active:outline-none focus:border-b-indigo-500 focus:transform focus:translate-y-1 focus:duration-300 focus:text-xl"
placeholder="Enter your username">
@error('username')
<span class="text-tiny+ text-error">{{ $message }}</span>
@enderror
</div>
<div class="w-full mb-6">
<label for="password" class="block text-white mb-2">Password</label>
<input type="password" id="password" name="password" class="input-field" >
<input type="password" id="password" name="password" autocomplete="off"
class="w-full bg-transparent border-b-2 border-white text-black text-md p-3 focus:outline-none active:outline-none focus:border-b-indigo-500 focus:transform focus:translate-y-1 focus:duration-300 focus:text-xl">
@error('password')
<span class="text-tiny+ text-error">{{ $message }}</span>
@enderror
</div>
<button type="submit" class="w-full bg-indigo-600 text-white py-2 rounded-lg hover:bg-indigo-700 transition duration-300">Sign In</button>
<button type="submit"
class="w-full bg-[#db6e46] text-white py-2 rounded-lg hover:bg-[#d94400] transition duration-300">Sign
In</button>
</form>
<div class="text-center mt-6 text-white">
Not a Member yet? <a href="{{ route('register') }}" class="text-indigo-300 hover:text-indigo-500 transition duration-300">Sign Up</a>
<div class="flex flex-col items-center mb-6 mt-4">
{{-- <a href="{{ url('auth/google') }}" class="social-button">
<i aria-hidden="true" class="fab fa-google social-icon"></i>
Sign in with Google
</a>
<a href="{{ url('auth/apple') }}" class="social-button">
<i aria-hidden="true" class="fab fa-apple social-icon"></i>
Sign in with Apple
</a> --}}
{{-- <a href="{{ url('auth/microsoft') }}" class="social-button">
<i aria-hidden="true" class="fab fa-microsoft social-icon"></i>
Sign in with Microsoft Teams
</a> --}}
</div>
{{-- <div class="text-center mt-6 text-white">
Not a Member yet? <a href="{{ route('register') }}" class="text-indigo-300 hover:text-indigo-500 transition duration-300">Sign Up</a>
</div> --}}
</div>
</div>
</x-base-layout>
</x-guest-layout>