Files
Atomcms-edit/resources/themes/atom/views/help-center/tickets/index.blade.php
T
root c53a5a8a2c Complete Hubbly theme conversion: all pages rewritten with CSS variable theming
- Converted all views from Dusk components (x-content.content-card, x-form.*) to inline Hubbly style
- All pages use consistent card pattern: rounded-lg, gradient headers, color-mix borders
- Added Hubbly-style homepage with 2-column layout, login card, swiper news carousel
- Rewrote navigation with Alpine.js dropdowns, CSS variable colors, Hubbly assets
- Updated profile page with Hubbly cards, fixed data bugs (friend/guild relationships)
- Rewrote register page to match Hubbly layout: banner header, avatar preview with Frank GIF, 2-column form, avatar carousel selector, border-4 inputs
- Rewrote login, settings, help center, radio, applications, utility pages
- All colors use CSS variables controlled by Filament theme editor
- Added Hubbly assets: banner, Frank GIF, navigation icons, online badge
- Removed all dependencies on x-content.* and x-form.* components
2026-06-27 17:01:02 +02:00

100 lines
5.5 KiB
PHP
Executable File

<x-app-layout>
@push('title', 'Create a ticket')
<div class="col-span-12">
<div class="rounded-lg overflow-hidden" style="background-color: var(--color-surface); border: 1px solid color-mix(in srgb, var(--color-text-muted) 15%, transparent);">
<div class="relative w-full h-12" style="background: linear-gradient(140deg, var(--color-primary) 0%, color-mix(in srgb, var(--color-primary) 80%, black) 100%);">
<div class="flex items-center h-full px-4 gap-3">
<div class="w-8 h-8 rounded-full flex items-center justify-center text-lg shadow-lg" style="background-color: color-mix(in srgb, var(--color-primary) 30%, transparent);">
<svg class="w-5 h-5 text-white" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" d="M16.5 6v.75M16.5 12v.75M16.5 18v.75M12 3v15M9 3v.75M6 3v.75M3 12h18M3 6h18M3 18h18" />
</svg>
</div>
<div>
<p class="text-white font-bold text-sm">{{ __('All tickets') }}</p>
<p class="text-xs" style="color: rgba(255,255,255,0.8)">{{ __('Manage all support tickets') }}</p>
</div>
</div>
</div>
<div class="p-4">
<div class="overflow-hidden overflow-x-auto rounded-lg border" style="border-color: color-mix(in srgb, var(--color-text-muted) 15%, transparent);">
<table class="min-w-full text-sm divide-y" style="border-color: color-mix(in srgb, var(--color-text-muted) 15%, transparent);">
<thead style="background-color: color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));">
<tr>
<th class="whitespace-nowrap px-4 py-2 text-left font-medium" style="color: var(--color-text);">
{{ __('Title') }}
</th>
<th class="whitespace-nowrap px-4 py-2 text-left font-medium" style="color: var(--color-text);">
{{ __('Author') }}
</th>
<th class="whitespace-nowrap px-4 py-2 text-left font-medium" style="color: var(--color-text);">
{{ __('Status') }}
</th>
<th class="whitespace-nowrap px-4 py-2 text-left font-medium" style="color: var(--color-text);">
{{ __('Actions') }}
</th>
</tr>
</thead>
<tbody class="divide-y" style="border-color: color-mix(in srgb, var(--color-text-muted) 15%, transparent); color: var(--color-text);">
@forelse ($tickets as $ticket)
<tr>
<td class="whitespace-nowrap px-4 py-2 font-medium">
{{ Str::limit($ticket->title, 80) }}
</td>
<td class="px-4 py-2">
{{ $ticket->user->username }}
</td>
<td class="px-4 py-2">
<span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium" style="background-color: {{ $ticket->open ? 'color-mix(in srgb, #22c55e 15%, transparent)' : 'color-mix(in srgb, #ef4444 15%, transparent)' }}; color: {{ $ticket->open ? '#22c55e' : '#ef4444' }};">
{{ $ticket->open ? 'Open' : 'Closed' }}
</span>
</td>
<td class="whitespace-nowrap px-4 py-2 font-medium flex gap-x-3">
<a data-turbolinks="false" href="{{ route('help-center.ticket.show', $ticket) }}" style="color: var(--link-color);">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-5 h-5">
<path stroke-linecap="round" stroke-linejoin="round" d="M2.036 12.322a1.012 1.012 0 010-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178z" />
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" />
</svg>
</a>
<a data-turbolinks="false" href="{{ route('help-center.ticket.edit', $ticket) }}" style="color: var(--link-color);">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-5 h-5">
<path stroke-linecap="round" stroke-linejoin="round" d="M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10" />
</svg>
</a>
@if(hasPermission('delete_website_tickets'))
<form action="{{ route('help-center.ticket.destroy', $ticket) }}" method="POST">
@method('DELETE')
@csrf
<button type="submit" style="color: #ef4444;">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-5 h-5">
<path stroke-linecap="round" stroke-linejoin="round" d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" />
</svg>
</button>
</form>
@endif
</td>
</tr>
@empty
<tr>
<td class="whitespace-nowrap px-4 py-2 text-center" colspan="4">
{{ __('No tickets available') }}
</td>
</tr>
@endforelse
</tbody>
</table>
</div>
<div class="mt-4">
{{ $tickets->links() }}
</div>
</div>
</div>
</div>
</x-app-layout>