%PDF- %PDF-
| Direktori : /www/loslex_o/demo/resources/views/contests/ |
| Current File : /www/loslex_o/demo/resources/views/contests/show.blade.php |
<x-app-layout>
<x-slot name="pagetitle">{{ $contest->contestname }}</x-slot>
<x-slot name="header">
<h2 class="text-gray-800 dark:text-gray-200 leading-tight">{{ $contest->contestname }}</h2>
</x-slot>
<div class="w-full lg:w-3/4 m-auto">
<div class="justify-center items-baseline text-xl font-bold flex">
{{$contest->contestname}}
@can('update', $contest)
<x-dropdown width="fit" align="right">
<x-slot name="trigger">
<button class="ml-2 test-xs fa-solid fa-gear"></button>
</x-slot>
<x-slot name="content">
<x-dropdown-link
:href="route('contest.edit', $contest->id)">{{ __('Edit contest') }}</x-dropdown-link>
<x-dropdown-link
:href="route('contest.maintain', $contest->id)">{{ __('Contest maintenance') }}</x-dropdown-link>
<x-dropdown-divider/>
@foreach (\App\Enums\ContestPublicationStatusEnum::cases() as $case)
@if ($contest->published != $case)
<x-dropdown-link
:href="route('contest.publish', ['contest' => $contest->id, 'status' => $case->value])">{{ __('Set contest status to :status', ['status' => __('contest.' . $case->name)]) }}</x-dropdown-link>
@endif
@endforeach
</x-slot>
</x-dropdown>
@endcan
</div>
<div class="grid grid-cols-auto lg:grid-cols-fitfirst gap-x-2 lg:gap-x-4 gap-y-2">
<div class="text-right font-bold align-top">{{__('Range')}}:</div>
<div><a href="{{ route('range.show', $contest->range->id) }}">{{$contest->range->name}}</a></div>
<div class="text-right font-bold align-top">{{__('Organizer')}}:</div>
<div>
{{$contest->organizer_group->name}}
@auth
<span class="text-sm">(<a href="mailto:{{$contest->organizerEmail ?? $contest->director?->email}}"
target="_blank">{{$contest->organizerEmail ?? $contest->director?->email}}</a>)</span>
@endauth
</div>
<div class="text-right font-bold align-top">{{__('Contest visibility')}}:</div>
<div>{{ __('contest.' . $contest->published->name) }}</div>
<div class="text-right font-bold align-top">{{__('Contest category')}}:</div>
<div>
{{ __('contest.' . $contest->contest_level?->name)}},
{{ __('contest.' . $contest->contest_category?->name) }}
</div>
<div class="text-right font-bold align-top">{{__('Contest date')}}:</div>
<div>{{$contest->date->isoFormat('LL')}}</div>
@if ($contest->director)
<div class="text-right font-bold align-top">{{__('Contest director')}}:</div>
<div>{{$contest->director?->displayname}}</div>
@endif
@if ($contest->rangemaster || $contest->rangemaster_id == 0)
<div class="text-right font-bold align-top">{{__('Range master')}}:</div>
<div>{{ $contest->rangemaster_id != 0 ? $contest->rangemaster->displayname : __('Will be appointed') }}</div>
@endif
<div class="text-right font-bold align-top">{{__('Entry fees')}}:</div>
<div>
<div>{{ __('LEX members') }}: {{ $contest->feelex }} Kč</div>
<div>{{ __('Other contestants') }}: {{ $contest->feeothers }} Kč</div>
</div>
@if (!$contest->isAfterContest)
@if ($contest->accountnumber)
<div class="text-right font-bold align-top">{{__('Bank payment information')}}:</div>
<div>
<div>
<span class="font-semibold">{{ __('Account number') }}</span>: {{ $contest->accountnumber }}
<x-button-clipboard>{{ $contest->accountnumber }}</x-button-clipboard>
</div>
@if ($contest->accvarsym)
<div>
<span class="font-semibold">{{ __('Variable symbol') }}</span>: {{ $contest->accvarsym }}
<x-button-clipboard>{{ $contest->accvarsym }}</x-button-clipboard>
</div>
@endif
@if ($contest->accnote)
<div>
<span class="font-semibold">{{ __('Payment note') }}</span>: {{ $contest->paymentnote }}
<x-button-clipboard>{{ $contest->paymentnote }}</x-button-clipboard>
</div>
@endif
</div>
@endif
@if ($contest->acccondition)
<div class="text-right font-bold align-top">{{__('Payment conditions')}}:</div>
<div>{{ $contest->acccondition }}</div>
@endif
@endif
<div class="text-right font-bold align-top">{{__('Number of stages')}}:</div>
<div>{{$contest->stages}}</div>
<div class="text-right font-bold align-top">{{__('Presentation')}}:</div>
<div>
@if ($contest->squadshootstyle == 'together')
{{ $contest->presentation_start[0] }} - {{ $contest->presentation_end[0] }}<br/>
@else
@for ($i = 1; $i <= $contest->squads; $i++)
Squad {{$i}}: {{ $contest->presentation_start[$i] }} - {{ $contest->presentation_end[$i] }}<br/>
@endfor
@endif
</div>
<div class="text-right font-bold align-top">{{__('Contest duration')}}:</div>
<div>
@if ($contest->squadshootstyle == 'together')
{{ $contest->contest_start[0] }} - {{ $contest->contest_end[0] }}<br/>
@else
@for ($i = 1; $i <= $contest->squads; $i++)
Squad {{$i}}: {{ $contest->contest_start[$i] }} - {{ $contest->contest_end[$i] }}<br/>
@endfor
@endif
</div>
@if (($contest->isRegActive || $contest->isAfterReg) && !$contest->results_published)
<div class="text-right font-bold align-top">{{__('Registered shooters')}}:</div>
<div class="{{ $contest->registrations->where('squad', '>', 0)->count() <= round(0.8 * $contest->capacity)
? 'text-green-500'
: ($contest->registrations->where('squad', '>', 0)->count() < $contest->capacity ? 'text-amber-500' : 'text-red-600') }}">
{{ $contest->registrations->where('squad', '>', 0)->count() }} / {{ $contest->capacity }} <span
class="text-xs">{{__('(plus referees: :cnt)', ['cnt' => $contest->registrations->where('squad', 0)->count()])}}</span>
</div>
@else
<div class="text-right font-bold align-top">{{__('Capacity')}}:</div>
<div>{{ $contest->capacity }} <span class="text-xs">{{__('(plus referees)')}}</span></div>
@endif
<div class="text-right font-bold align-top">{{__('Registration')}}:</div>
<div>
@switch ($contest->registration_type)
@case (\App\Enums\ContestRegistrationEnum::ONLINE)
@if ($contest->isBeforeReg)
{{__('Registration will start on :date', ['date' => $contest->registration_start?->isoFormat('LL HH:mm')])}}
@elseif ($contest->isAfterReg)
{{__('Registration finished.')}}
@else
{{__('Registration will end on :date', ['date' => $contest->registration_end?->isoFormat('LL HH:mm')])}}
<br/>
(
<x-countdown class="!inline text-xs" :expires="$contest->registration_end"/>)
@endif
@guest
@if (!$contest->isAfterReg)
<div class="text-sm">
{!! __('To register for the contest you need to :loginlinkopen log in :loginlinkclose or :registerlinkopen create new account :registerlinkclose', [
'loginlinkopen' => '<span x-data="" x-on:click.prevent="$dispatch(\'open-modal\', \'login-form\')" class="font-bold cursor-pointer underline underline-offset-4">',
'loginlinkclose' => '</span>',
'registerlinkopen' => '<a class="font-bold" href="' . route('register') . '">',
'registerlinkclose' => '</a>'
]) !!}
</div>
@endif
@endguest
@break
@case (\App\Enums\ContestRegistrationEnum::OFFSITE)
{!! __('External at <a target="_blank" href=":url">:url</a>', ['url' => $contest->offsiteregurl]) !!}
@break
@case (\App\Enums\ContestRegistrationEnum::BEFORECONTEST)
{{ __('contest.BEFORECONTEST') }}
@break
@case (\App\Enums\ContestRegistrationEnum::OTHER)
{{ __('contest.OTHER') }}
@break
@endswitch
</div>
<div class="text-right font-bold align-top">{{__('Calibration weapon')}}:</div>
<div>{{ $contest->calibrationwpn }}</div>
@if ($contest->caliberlimit)
<div class="text-right font-bold align-top">{{__('Caliber or power limitation')}}:</div>
<div>{{ $contest->caliberlimit }}</div>
@endif
@if (!$contest->isAfterContest)
<div class="text-right font-bold align-top">{{__('Protest deposit')}}</div>
<div class="inline-flex items-center">{{ $contest->protestdeposit }} Kč</div>
@endif
<div class="text-right font-bold align-top">{{__('Secret stages')}}:</div>
<div class="inline-flex items-center">{{ __('contest.' . \App\Enums\ContestOptionsEnum::from($contest->secretstages)->name) }}</div>
<div class="text-right font-bold align-top">{{__('Flashlight needed')}}:</div>
<div class="inline-flex items-center">{{ __('contest.' . \App\Enums\ContestOptionsEnum::from($contest->flashlight)->name) }}</div>
@if (!$contest->isAfterContest)
<div class="text-right font-bold align-top">{{__('Canteen available')}}:</div>
<div class="inline-flex items-center">{{ __('contest.' . \App\Enums\ContestOptionsEnum::from($contest->canteen)->name) }}</div>
<div class="text-right font-bold align-top">{{__('Toilet available')}}:</div>
<div class="inline-flex items-center">{{ __('contest.' . \App\Enums\ContestOptionsEnum::from($contest->toilet)->name) }}</div>
@endif
<div class="font-bold col-span-2 lg:col-span-1 lg:text-right">{{__('Instructions')}}:</div>
<div class="col-span-2 lg:col-span-1" x-data="{open : false}">
@if (substr_count($contest->instructions, "\n") <= 4 && Str::wordCount($contest->instructions) < 100)
<div class="text-sm overflow-x-auto">{!! nl2br($contest->instructions) !!}</div>
@else
<div class="text-sm overflow-x-auto pt-1" :class="open ? 'line-clamp-none' : 'line-clamp-5'">
<div class="text-center lg:text-left italic cursor-pointer mb-2 font-semibold" x-show="!open"
x-on:click="open = !open"><span
class="italic fa-solid fa-angles-down mr-1"></span>{{__('Click to expand...')}}
</div>
{!! nl2br($contest->instructions) !!}
<div class="text-center lg:text-left italic cursor-pointer mt-2 font-semibold" x-show="open"
x-on:click="open = !open"><span
class="italic fa-solid fa-angles-up mr-1"></span>{{__('Click to shrink...')}}</div>
</div>
@endif
</div>
@if (!empty($contest->legend))
<div class="font-bold col-span-2 lg:col-span-1 lg:text-right">{{__('Legend or stages description')}}:
</div>
<div class="col-span-2 lg:col-span-1" x-data="{open : false}">
@if (substr_count($contest->legend, "\n") <= 4 && Str::wordCount($contest->legend) < 100)
<div class="text-sm overflow-x-auto">{!! nl2br($contest->legend) !!}</div>
@else
<div class="text-sm overflow-x-auto pt-1" :class="open ? 'line-clamp-none' : 'line-clamp-5'">
<div class="text-center lg:text-left italic cursor-pointer mb-2 font-semibold"
x-show="!open" x-on:click="open = !open"><span
class="italic fa-solid fa-angles-down mr-1"></span>{{__('Click to expand...')}}
</div>
{!! nl2br($contest->legend) !!}
<div class="text-center lg:text-left italic cursor-pointer mt-2 font-semibold" x-show="open"
x-on:click="open = !open"><span
class="italic fa-solid fa-angles-up mr-1"></span>{{__('Click to shrink...')}}
</div>
</div>
@endif
</div>
@endif
@if (!empty($contest->restrictionstext))
<div
class="font-bold col-span-2 lg:col-span-1 lg:text-right">{{__('Other requirements or restrictions')}}
:
</div>
<div class="col-span-2 lg:col-span-1">
<div class="pt-1 text-sm overflow-x-auto">{!! nl2br($contest->restrictionstext) !!}</div>
</div>
@endif
@if ($contest->partnersArr)
<div class="font-bold col-span-2 lg:col-span-1 lg:text-right">{{__('Partners or sponsors')}}:</div>
<div class="col-span-2 lg:col-span-1">
<div class="pt-1">
@foreach ($contest->partnersArr as $partner)
@if (array_key_exists('url', $partner))
<div class="text-sm"><a target="_blank" class="font-bold underline"
href="{{ $partner['url']}}">{{ $partner['name']}}</a></div>
@else
<div class="text-sm">{{ $partner['name']}}</div>
@endif
@endforeach
</div>
</div>
@endif
</div>
@if (!$contest->isAfterContest && $contest->registrations->where('user_id', Auth::user()?->id)->isNotEmpty())
<div class="text-lg text-center font-bold border-t pt-2 mt-6 mb-2">{{__('Your registrations')}}</div>
<ul class="list-none text-center">
@foreach ($contest->registrations->where('user_id', Auth::user()?->id) as $regs)
<li>
<a href="{{ route('registration.show', $regs->id)}}">
{{__('Squad')}}: {{ $regs->squad == 0 ? 'R' : $regs->squad }};
@if($regs->division)
{{__('Division')}}: {{ __('contest.' . $regs->division->division) }}@if ($regs->notcomp)
; {{__('Not competing')}}
@endif;
@endif
@if($regs->paid)
{{__('Paid')}}
@else
{{__('Not paid')}}
@endif
</a>
</li>
@endforeach
</ul>
@endif
</div>
<div class="w-full lg:w-3/4 mt-6 m-auto">
@isset($results)
@php
$template = 'contests.results.overview';
switch ($contest->contest_level_id)
{
case \App\Enums\ContestLevelEnum::SZSCLASSIFICATION->value:
$template = 'contests.results.szclassification';
break;
}
@endphp
@if($contest->results_published)
<div class="border-t">@include($template, $results)</div>
@else
@can('update', $contest)
<div class="border-t">@include($template, $results)</div>
@endcan
@endif
@else
@if ($contest->isRegActive)
@auth
<div class="border-t">@include('contests.registration')</div>
@else
<div class="border-t">@include('contests.regoverview')</div>
@endauth
@elseif ($contest->isAfterReg && !$contest->isAfterContest)
<div class="border-t">@include('contests.regoverview')</div>
@endif
@endisset
</div>
</x-app-layout>