This commit is contained in:
salam committed 2026-10-04 15:25:03 +02:00
1 parent 9bcd4432c6
commit 6f92f9e1d5
1209 files changed
+220940

No files matched your search

@@ -0,0 +1,7 @@
<div>
<x-sport-header>
{{ auth()->user()->sport->name }}
</x-sport-header>
{{ $this->table }}
</div>
@@ -0,0 +1,97 @@
<div class="flex flex-row gap-10 justify-between">
<div class="flex flex-row gap-2">
<x-filament::button size="xs" tooltip="Clear all filter" wire:click="clearAllFilter" color="gray"
icon="phosphor-x" />
<x-filament::button size="xs"
tooltip="Filter starttime differences TxOdds vs {{ auth()->user()->bookmaker->name }}"
wire:click="filterStarttimeDifferences" :color="auth()->user()->starttime_differences ? 'warning' : 'gray'" icon="phosphor-clock" />
</div>
<div class="flex flex-row gap-2">
<x-filament::button size="xs" tooltip="Today" wire:click="setToday" color="gray"
icon="phosphor-calendar-dot-duotone" />
<x-filament::button size="xs" tooltip="Tomorrow" wire:click="setTomorrow" color="gray"
icon="phosphor-calendar-check-duotone" />
<x-filament::button size="xs" tooltip="One Week" wire:click="setOneWeek" color="gray"
icon="phosphor-calendar-plus-duotone" />
</div>
<div></div>
<div></div>
<div></div>
@role('partner_programm')
<div class="flex flex-row gap-2">
<x-filament::button size="xs" wire:poll.20s="countBookmaker" :color="auth()->user()->bookmaker_partner_differences ? 'warning' : 'gray'"
wire:click="toggleBookmakerPartnerDifferences"
tooltip="{{ auth()->user()->bookmaker->name .
' ' .
$this->bookmakerCount .
' - ' .
auth()->user()->partnerbookmaker->name .
' ' .
$this->partnerCount }}">
Missing
@if ($this->bookmakerPartnerDiffrences == 0)
<x-filament::badge size="sm" color="gray">
0
</x-filament::badge>
@else
<x-filament::badge size="sm" color="danger">
{{ $this->bookmakerPartnerDiffrences }}
</x-filament::badge>
@endif
</x-filament::button>
<x-filament::button size="xs" tooltip="Show {{ auth()->user()->partnerbookmaker->name }}"
wire:click="toggleShowPartner" :color="auth()->user()->partner_show ? 'warning' : 'gray'" icon="phosphor-users-duotone">
</x-filament::button>
<x-filament::button disabled="true" size="xs" wire:click="toggleComparePartner"
tooltip="Different Odds {{ auth()->user()->bookmaker->name }} vs {{ auth()->user()->partnerbookmaker->name }}"
:disabled="auth()->user()->partner_show ? false : true" :color="auth()->user()->partner_compare ? 'warning' : 'gray'" icon="phosphor-exclude-square-duotone">
</x-filament::button>
<x-filament::button size="xs" wire:click="toggleMultiline" :tooltip="auth()->user()->is_multiline_direct
? 'Multiline slots are disabled'
: 'Multiline slots are active'" :color="auth()->user()->is_multiline_direct ? 'primary' : 'gray'"
:icon="auth()->user()->is_multiline_direct ? 'phosphor-not-equals' : 'phosphor-equals'">
</x-filament::button>
</div>
@endrole
<div class="flex flex-row gap-2">
<x-filament::button size="xs" wire:click="setAllOnlyNone(0)" icon="phosphor-stack-duotone"
:color="auth()->user()->all_only_none == 0 ? 'primary' : 'gray'" tooltip="All Events">
</x-filament::button>
<x-filament::button size="xs" wire:click="setAllOnlyNone(1)" icon="phosphor-plus-square-duotone"
:color="auth()->user()->all_only_none == 1 ? 'warning' : 'gray'" tooltip="Events with {{ auth()->user()->bookmaker->name }} markets">
</x-filament::button>
<x-filament::button size="xs" wire:click="setAllOnlyNone(2)" icon="phosphor-minus-square-duotone"
:color="auth()->user()->all_only_none == 2 ? 'warning' : 'gray'" tooltip="Events without {{ auth()->user()->bookmaker->name }} markets">
</x-filament::button>
</div>
<div class="flex flex-row gap-2">
<x-filament::button size="xs" tooltip="Filter favorits" wire:click="toggleStar" color="gray"
icon="phosphor-star-duotone" />
<x-filament::button size="xs" tooltip="Filter notes" wire:click="toggleNote" color="gray"
icon="phosphor-note-duotone" />
</div>
<div class="flex flex-row gap-2">
@foreach ($bettype_toggles as $toggle)
@if ($toggle['short'] == 'TQ')
<x-filament::button size="xs" class="flex flex-col justify-center gap-0"
tooltip="{{ $toggle['name'] }} Filters events with TQ"
wire:click="toggleBettype({{ $toggle['id'] }})" :color="!$toggle['is_active'] ? 'gray' : 'primary'">
<div class="m-0 p-0">{{ $toggle['short'] }}</div>
</x-filament::button>
@else
<x-filament::button size="xs" class="flex flex-col justify-center gap-0"
tooltip="{{ $toggle['name'] }}" wire:click="toggleBettype({{ $toggle['id'] }})"
:color="!$toggle['is_active'] ? 'gray' : 'primary'">
<div class="m-0 p-0 text-nowrap">{{ $toggle['short'] }}</div>
</x-filament::button>
@endif
@endforeach
</div>
</div>
@@ -0,0 +1,7 @@
<div>
<x-sport-header>
{{ auth()->user()->sport->name }}
</x-sport-header>
{{ $this->table }}
</div>
@@ -0,0 +1,7 @@
<div id="ComparingBookmakerMenu">
<x-sport-header>
{{ auth()->user()->sport->name }}
</x-sport-header>
{{ $this->table }}
</div>
@@ -0,0 +1,76 @@
@php
use Illuminate\Support\Carbon;
$e = Carbon::parse($event->starttime);
$m = Carbon::parse($mapper->starttime);
$seconds = $m->diffInSeconds($e);
$text = $m->diffForHumans($e, ['parts' => 2], true);
@endphp
<div>
<div class="grid grid-cols-3 gap-4 text-center mt-4 mb-10">
<div></div>
<div>Starttime Difference</div>
<div></div>
<div class="bg-gray-100 dark:bg-gray-700 p-1 border dark:border-gray-800 rounded-lg">
{{ $e->format('d-m-y H:i') }}</div>
@if ($seconds == 0)
<div class="bg-green-100 text-green-500 p-1 border rounded-lg flex justify-center gap-1">
<span>Matching</span>
<x-phosphor-smiley class="w-5 h-5" />
</div>
@elseif ($seconds < 1800 && $seconds > -1800)
<div
class="bg-blue-100 dark:bg-blue-300 text-blue-500 dark:text-blue-600
p-1 border rounded-lg">
{{ $text }}</div>
@elseif ($seconds < 7200 && $seconds > -7200)
<div class="bg-amber-100 dark:bg-amber-300 text-amber-500 dark:text-amber-600 p-1 border rounded-lg">
{{ $text }}</div>
@else
<div class="bg-red-100 dark:bg-red-300 text-red-500 dark:text-red-600 p-1 border rounded-lg">
{{ $text }}</div>
@endif
<div class="bg-gray-100 dark:bg-gray-700 p-1 border dark:border-gray-800 rounded-lg">
{{ $m->format('d-m-y H:i') }}</div>
<div class="col-span-3 flex justify-center gap-2 mt-6">
<div>
@if ($event->country?->iso2)
<x-icon name="flag-country-{{ $event->country->iso2 }}" class="h5 w-5 mt-1" />
@elseif($event->country?->icon)
<x-icon name="{{ $event->country->icon }}" class="h5 w-5 mt-1" />
@endif
</div>
<div>{{ $event->country?->name }}</div>
<div>{{ $event->competition_group->name }}</div>
</div>
<div class="pt-2 font-bold text-right">{{ $event->home->name }}</div>
{{-- @click="swop()" --}}
<div class="row-span-2 text-center py-auto">
<div x-data="{ elements_swopped: false, toggle_icon() { this.elements_swopped = !this.elements_swopped } }" x-init="elements_swopped = true">
<span wire:click="toggle_icon()">
<x-filament::button color="gray" outlined wire:click="swop_elements"
onkeydown="return event.key != 'Enter';">
<div x-show="elements_swopped">
<x-icon-paralell class="h-14 w-14 mx-auto" />
</div>
<div x-show="!elements_swopped">
<x-icon-crossed class="h-14 w-14 mx-auto" />
</div>
</x-filament::button>
</span>
</div>
</div>
<div class="pt-2 font-bold text-left">{{ $mapper->home }}</div>
<div class="mb-2 font-bold text-right">{{ $event->away->name }}</div>
<div class="pb-2 font-bold text-left">{{ $mapper->away }}</div>
</div>
</div>
@@ -0,0 +1,3 @@
<div>
{{ $this->eventsInfolist }}
</div>
@@ -0,0 +1,20 @@
<div>
@if (auth()->user()->hasRole('konto_switch'))
<x-filament::dropdown>
<x-slot name="trigger">
<x-filament::dropdown.list.item icon="phosphor-baseball-helmet">
Swop Client
</x-filament::dropdown.list.item>
</x-slot>
<x-filament::dropdown.list>
@foreach ($clients as $id => $name)
<x-filament::dropdown.list.item wire:click="swopClient({{ $id }})"
icon="phosphor-arrow-fat-right" color="primary">
{{ $name }}
</x-filament::dropdown.list.item>
@endforeach
</x-filament::dropdown.list>
</x-filament::dropdown>
@endif
</div>
@@ -0,0 +1,5 @@
<div id="mapper_left">
<ul class="drag-and-drop__items">
{{ $this->table }}
</ul>
</div>
@@ -0,0 +1,5 @@
<div id="mapper_right">
<ul class="drag-and-drop__items">
{{ $this->table }}
</ul>
</div>
@@ -0,0 +1,7 @@
<div>
<x-sport-header>
{{ auth()->user()->sport->name }}
</x-sport-header>
{{ $this->table }}
</div>
@@ -0,0 +1,3 @@
<div>
{{ $this->table }}
</div>
@@ -0,0 +1,103 @@
@php
use Illuminate\Support\Facades\Log;
@endphp
<div class="mt-5 col-span-3 flex flex-col gap-3">
<div class="flex justify-between">
<div class="text-3xl font-bold"> {{ $team_name }} <span
class="text-sm font-light">({{ $player_on_field_counter }})</span></div>
<div class="flex gap-3">
<x-filament::modal id="custom-view-modal" slide-over width="xl">
<x-slot name="trigger">
<x-filament::button icon="phosphor-question-mark" tooltip="Lineup code explanation" />
</x-slot>
<x-slot name="header">
</x-slot>
@include('filament.modals.position-abbreviation')
<x-slot name="footer">
<div class="flex justify-end gap-x-3">
<x-filament::button color="gray"
x-on:click="$dispatch('close-modal', { id: 'custom-view-modal' })">
Close
</x-filament::button>
</div>
</x-slot>
</x-filament::modal>
<x-filament::button icon="phosphor-x" tooltip="Clear all" wire:click="clearResultTable()" />
<x-filament::button icon="phosphor-arrows-clockwise" tooltip="Reload" wire:click="loadPlacement()" />
{{-- <x-filament::button icon="phosphor-calculator" tooltip="Calculate" wire:click="calculateAspg(1)" /> --}}
<x-filament::button icon="phosphor-copy" color="success"
tooltip="Copy results for pasting into a spread sheet" wire:click="copyResult()" />
<x-filament::button icon="phosphor-copy" color="warning" tooltip="Copy calculation variables"
wire:click="copyDevelopment()" />
{{-- --}}
</div>
</div>
<div class="border border-gray-500 w-full p-3 rounded grid grid-cols-7 grid-rows-5 gap-2 bg-cover bg-center bg-no-repeat aspect-7/5 shadow"
style="background-image: url({{ asset('images/soccerfield-af4.jpg') }});">
@foreach ($beschriftung as $boxNumber => $benennung)
@if ($benennung)
@if (in_array($boxNumber, $lineup))
<div x-data="{ isOver: false }" @dragover.prevent="isOver = true" @dragenter.prevent="isOver = true"
@dragleave.prevent="isOver = false"
@drop.prevent="
isOver = false;
const rawData = $event.dataTransfer.getData('text/plain');
if (rawData) {
const elementData = JSON.parse(rawData);
$wire.dispatch('element-dropped-in-box', { elementData: elementData, boxNumber: {{ $boxNumber }} });
}
"
:class="isOver ? 'border-red-500 bg-white/20 ring-2 ring-red-500/50 scale-[1.02]' :
@if (in_array($benennung, ['SW', 'DR', 'DC', 'DL'])) 'border-gray-800 bg-green-500/40'
@elseif (in_array($benennung, ['DM', 'MR', 'MC', 'ML', 'AM']))
'border-gray-800 bg-blue-500/40'
@else
'border-gray-800 bg-amber-500/40' @endif"
class="border-2 rounded-xl transition-all px-1 pt-0 flex flex-col justify-start transform inset-shadow-sm inset-shadow-white/50 shadow-lg">
<!-- Box Header -->
<div class="grid grid-cols-6 items-center">
<div></div>
<div
class="w-10 2xl:w-16 text-center mx-auto bg-black text-white p-0.5 2xl:p-1 text-md 2xl:text-xl font-black rounded-b col-span-4">
{{ $benennung }}
</div>
@if ($boxes[$boxNumber])
<x-filament::icon-button icon="heroicon-m-trash" color="black"
class="dark:[&_svg]:text-black" size="sm"
wire:click="clearBox({{ $boxNumber }})" />
@endif
</div>
<!-- Box Inhalt -->
@if ($boxes[$boxNumber])
<div draggable="true"
x-on:dragstart="e => {
e.dataTransfer.effectAllowed = 'copy';
e.dataTransfer.setData('text/plain', JSON.stringify({ id: {{ $boxes[$boxNumber]['id'] }} }));
}"
class="cursor-grab active:cursor-grabbing bg-black border border-black hover:border-blue-500 text-white p-0.5 2xl:p-1 m-0.5 rounded leading-4 2xl:leading-5 text-ms">
{{ $boxes[$boxNumber]['name'] }}
</div>
@endif
</div>
@else
<div x-data="{ isOver: false }" @dragover.prevent="isOver = true" @dragenter.prevent="isOver = true"
@dragleave.prevent="isOver = false"
@drop.prevent="
isOver = false;
const rawData = $event.dataTransfer.getData('text/plain');
if (rawData) {
const elementData = JSON.parse(rawData);
$wire.dispatch('element-dropped-in-box', { elementData: elementData, boxNumber: {{ $boxNumber }} });
}
"
class="border rounded-xl transition-all pt-0 flex flex-col justify-start shadow-2xs invisible">
</div>
@endif
@else
<div></div>
@endif
@endforeach
</div>
</div>
@@ -0,0 +1,7 @@
<x-filament::input.wrapper prefix-icon="{{ $sporticon }}" prefix-icon-color="{{ $iconcolor }}">
<x-filament::input.select wire:model="sport_id" wire:change="swopSport">
@foreach ($sports as $id => $name)
<option value="{{ $id }}">{{ $name }}</option>
@endforeach
</x-filament::input.select>
</x-filament::input.wrapper>
@@ -0,0 +1,162 @@
<div class="flex flex-1 gap-3 mr-5">
@if ($this->current == 'filament.admin.resources.events.index')
{{-- Client Swop Bookmaker --}}
<x-filament::dropdown>
<x-slot name="trigger">
<x-filament::button outlined color="gray" tooltip="Swop Bookmaker">
@switch(auth()->user()->bookmaker_id)
@case(35)
<x-bkm-logifuture-nigeria class="h-5" />
@break
@case(36)
<x-bkm-logifuture-colombia class="h-5" />
@break
@case(10)
<x-bkm-magloo-nigeria class="h-5" />
@break
@case(16)
<x-bkm-magloo-kenia class="h-5" />
@break
@endswitch
</x-filament::button>
</x-slot>
<x-filament::dropdown.list>
@if (in_array(auth()->user()->bookmaker_id, [35, 36]))
@if (auth()->user()->bookmaker_id != 35)
<x-filament::dropdown.list.item wire:click="swopBookmaker(35)">
<x-bkm-logifuture-nigeria class="h-5 mx-auto" />
</x-filament::dropdown.list.item>
@endif
@if (auth()->user()->bookmaker_id != 36)
<x-filament::dropdown.list.item wire:click="swopBookmaker(36)">
<x-bkm-logifuture-colombia class="h-5 mx-auto" />
</x-filament::dropdown.list.item>
@endif
@endif
@if (in_array(auth()->user()->bookmaker_id, [10, 16]))
@if (auth()->user()->bookmaker_id != 10)
<x-filament::dropdown.list.item wire:click="swopBookmaker(10)">
<x-bkm-magloo-nigeria class="h-5 mx-auto" />
</x-filament::dropdown.list.item>
@endif
@if (auth()->user()->bookmaker_id != 16)
<x-filament::dropdown.list.item wire:click="swopBookmaker(16)">
<x-bkm-magloo-kenia class="h-5 mx-auto" />
</x-filament::dropdown.list.item>
@endif
@endif
</x-filament::dropdown.list>
</x-filament::dropdown>
{{-- Notifications --}}
{{-- <x-filament::modal width="2xl" icon="phosphor-warning-duotone" :close-by-clicking-away="true" :close-by-escaping="true"
:close-button="true">
<x-slot name="trigger">
<x-filament::button outlined icon="phosphor-warning-duotone" class="my-auto" color="gray"
tooltip="Notifications Settings">
</x-filament::button>
</x-slot>
<x-slot name="heading">
Notifications Settings
</x-slot>
@livewire('personal-notification-table')
</x-filament::modal> --}}
{{-- Send Message --}}
<x-filament::modal width="2xl" id="send_message_modal" icon="phosphor-paper-plane-tilt-duotone"
:close-by-clicking-away="true" :close-by-escaping="true" :close-button="true">
<x-slot name="trigger">
<x-filament::button outlined icon="phosphor-paper-plane-tilt-duotone" class="my-auto" color="gray"
tooltip="Send Message">
</x-filament::button>
</x-slot>
<x-slot name="heading">
Send Message
</x-slot>
@livewire('user-notifications')
</x-filament::modal>
{{-- Multiline --}}
<x-filament::modal width="4xl" icon="phosphor-equals" :close-by-clicking-away="true" :close-by-escaping="true" :close-button="true">
<x-slot name="trigger">
<x-filament::button outlined icon="phosphor-equals" color="gray" class="my-auto"
tooltip="Multiline Settings">
</x-filament::button>
</x-slot>
<x-slot name="heading">
Multiline Settings
</x-slot>
@livewire('multiline-bookmaker')
</x-filament::modal>
{{-- Alarm --}}
<x-filament::modal width="4xl" icon="phosphor-siren-duotone" :close-by-clicking-away="true" :close-by-escaping="true"
:close-button="true">
<x-slot name="trigger">
<x-filament::button outlined icon="phosphor-siren-duotone" color="gray" class="my-auto"
tooltip="Alarm Level Settings">
</x-filament::button>
</x-slot>
<x-slot name="heading">
Alarm Level Settings
</x-slot>
@livewire('alarm-bookmaker')
</x-filament::modal>
{{-- Calculation --}}
<x-filament::modal slide-over width="4xl" icon="phosphor-sliders" :close-by-clicking-away="true" :close-by-escaping="true"
:close-button="true">
<x-slot name="trigger">
<x-filament::button icon="phosphor-sliders" color="gray" class="my-auto" wire:click="setUser"
tooltip="Comparing Bookmaker">
</x-filament::button>
</x-slot>
<x-slot name="heading">
Comparing Bookmaker
</x-slot>
@livewire('comparing-bookmaker-menu')
</x-filament::modal>
{{-- Custom Groups --}}
<x-filament::modal width="4xl" icon="phosphor-user-list" :close-by-clicking-away="true" :close-by-escaping="true"
:close-button="true">
<x-slot name="trigger">
<x-filament::button outlined icon="phosphor-user-list" color="gray" class="my-auto"
tooltip="Custom Groups">
</x-filament::button>
</x-slot>
<x-slot name="heading">
Custom Groups
</x-slot>
@livewire('client-group-list-editor')
</x-filament::modal>
@endif
</div>
@@ -0,0 +1,12 @@
<div>
<form wire:submit="create">
{{ $this->form }}
<x-filament::button type="submit" class="my-5" icon="phosphor-paper-plane-tilt-duotone">
Send Message
</x-filament::button>
</form>
<x-filament-actions::modals />
</div>