partner programm completed

This commit is contained in:
salam committed 2026-01-29 20:20:31 +01:00
1 parent 84bfa248cd
commit a883ccf0ea
22 files changed
+722 -28

No files matched your search

+1
View File
@@ -16,6 +16,7 @@ class AlarmStatistic
}
$res = EventBookmaker::select('alarm_2w_h2w', 'alarm_2w_a2w', 'alarm_2ws1_h2w', 'alarm_2ws1_a2w', 'alarm_3w_h3w', 'alarm_3w_d3w', 'alarm_3w_a3w', 'alarm_3wht_h3w', 'alarm_3wht_d3w', 'alarm_3wht_a3w', 'alarm_dc_dc1x', 'alarm_dc_dc12', 'alarm_dc_dcx2', 'alarm_dbn_dnb1', 'alarm_dbn_dnb2', 'alarm_ggng_gg', 'alarm_ggng_ng', 'alarm_po_home', 'alarm_po_away', 'alarm_poht_home', 'alarm_poht_away', 'alarm_poq1_home', 'alarm_poq1_away', 'alarm_to_over', 'alarm_to_under', 'alarm_toht_over', 'alarm_toht_under', 'alarm_toq1_over', 'alarm_toq1_under', 'alarm_tq_htq', 'alarm_tq_atq')
->where('starttime', '>=', now())
->where('bookmaker_id', auth()->user()->bookmaker_id)
->where('sport_id', auth()->user()->sport_id)
->get()
@@ -5,6 +5,7 @@ namespace App\Filament\Resources\Events;
use App\Filament\Resources\Events\Pages\ListEvents;
use App\Filament\Resources\Events\Schemas\EventForm;
use App\Filament\Resources\Events\Tables\EventsTable;
use App\Filament\Resources\Events\Tables\Tools\LoadPartnerDifferences;
use App\Models\Event;
use Carbon\Carbon;
use Filament\Resources\Resource;
@@ -76,6 +77,11 @@ class EventResource extends Resource
}
}
if (auth()->user()->partner_compare) {
$event_ids = LoadPartnerDifferences::load();
$query->whereIn('id', $event_ids);
}
if (in_array('odds_2ways', EventsTable::$bettype_settings)) {
$query->with('odds_2ways.bookmaker');
}
@@ -17,7 +17,9 @@ class ListEvents extends ListRecords
'refreshBettypeMenu' => '$refresh',
'filterUpdateGreen' => 'updateTableFiltersGreen',
'filterUpdateYellow' => 'updateTableFiltersYellow',
'filterUpdateRed' => 'updateTableFiltersRed'];
'filterUpdateRed' => 'updateTableFiltersRed',
'filterUpdatePeriode' => 'updateTablePeriode',
];
protected function getHeaderWidgets(): array
{
@@ -26,6 +28,13 @@ class ListEvents extends ListRecords
];
}
public function updateTablePeriode(string $filter): void
{
$filter = json_decode($filter, true);
$this->tableFilters['events']['starttime_period']['start'] = $filter['start'];
$this->tableFilters['events']['starttime_period']['end'] = $filter['end'];
}
public function updateTableFiltersGreen(string $filter): void
{
$this->tableFilters['events']['filter_alarm_yellow'] = null;
@@ -346,6 +346,9 @@ class EventsTable
)->when(
$data['starttime_period'],
function (Builder $query, $starttime_period) {
// dd($starttime_period);
if (isset($starttime_period['start']) && isset($starttime_period['end'])) {
$from = Carbon::createFromDate($starttime_period['start']);
$end = Carbon::createFromDate($starttime_period['end']);
@@ -462,17 +465,17 @@ class EventsTable
if ($data['filter_alarm_green'] ?? null) {
$title = OddsTable::where('name', $data['filter_alarm_green'])->value('title');
$indicators[] = Indicator::make('Alarm: '.$title)->removeField('filter_alarm_green')->color('success');
$indicators[] = Indicator::make('Alarms: '.$title)->removeField('filter_alarm_green')->color('success');
}
if ($data['filter_alarm_yellow'] ?? null) {
$title = OddsTable::where('name', $data['filter_alarm_yellow'])->value('title');
$indicators[] = Indicator::make('Alarm: '.$title)->removeField('filter_alarm_yellow')->color('warning');
$indicators[] = Indicator::make('Alarms: '.$title)->removeField('filter_alarm_yellow')->color('warning');
}
if ($data['filter_alarm_red'] ?? null) {
$title = OddsTable::where('name', $data['filter_alarm_red'])->value('title');
$indicators[] = Indicator::make('Alarm: '.$title)->removeField('filter_alarm_red')->color('danger');
$indicators[] = Indicator::make('Alarms: '.$title)->removeField('filter_alarm_red')->color('danger');
}
if ($data['starttime_period'] ?? null) {
@@ -526,10 +529,18 @@ class EventsTable
->deferFilters(false)
->hiddenFilterIndicators(false)
->persistFiltersInSession()
->emptyStateHeading('No events')
->emptyStateDescription('Modify the filter')
->recordActions([
Action::make('star')
->iconButton()
->color('gray')
->color(function ($record) {
if (isset($record->event_user_star->id)) {
return 'info';
} else {
return 'gray';
}
})
->icon(function ($record) {
if (isset($record->event_user_star->id)) {
return 'phosphor-star-fill';
@@ -0,0 +1,41 @@
<?php
namespace App\Filament\Resources\Events\Tables\Tools;
use App\Filament\Resources\Events\Tables\EventsTable;
use App\Models\OddsTable;
use Illuminate\Support\Facades\DB;
class LoadPartnerDifferences
{
public static function load()
{
$fields = OddsTable::fields();
$event_ids = [];
foreach (EventsTable::$bettype_settings as $table) {
$books = DB::table($table)
->where('bookmaker_id', auth()->user()->bookmaker_id)
->get();
$partners = DB::table($table)
->where('bookmaker_id', auth()->user()->partner_bookmaker_id)
->get();
foreach ($books as $book) {
$row1 = get_object_vars($book);
foreach ($partners as $partner) {
$row2 = get_object_vars($partner);
if ($row1['event_id'] == $row2['event_id']) {
foreach ($fields[$table] as $field) {
if ($row1[$field] != $row2[$field]) {
$event_ids[] = $row1['event_id'];
}
}
}
}
}
}
return array_unique($event_ids);
}
}
@@ -21,6 +21,9 @@ class AlarmWidget extends StatsOverviewWidget
protected function getStats(): array
{
if (auth()->user()->partner_show) {
return [];
}
$res = AlarmStatistic::load();
@@ -23,14 +23,6 @@ class UserForm
Select::make('client_id')
->relationship('client', 'name')
->preload(),
Select::make('bookmaker_id')
->label('Active Bookmaker')
->options(function () {
$bookmaker = Client::where('id', auth()->user()->client_id)->value('bookmaker');
return Bookmaker::query()->whereIn('id', $bookmaker)->pluck('name', 'id');
})
->preload(),
Select::make('roles')
->label('Rollen')
->prefixIcon('phosphor-gear')
@@ -40,6 +32,22 @@ class UserForm
->multiple()
->preload()
->searchable(),
Select::make('bookmaker_id')
->label('Active Bookmaker')
->options(function () {
$bookmaker = Client::where('id', auth()->user()->client_id)->value('bookmaker');
return Bookmaker::query()->whereIn('id', $bookmaker)->pluck('name', 'id');
})
->preload(),
Select::make('partner_bookmaker_id')
->label('Partner Bookmaker')
->options(function () {
$bookmaker = Client::where('id', auth()->user()->client_id)->value('bookmaker');
return Bookmaker::query()->whereIn('id', $bookmaker)->pluck('name', 'id');
})
->preload(),
]);
}
}
@@ -27,6 +27,10 @@ class UsersTable
->label('Active Bookmaker')
->badge()
->color('warning'),
TextColumn::make('partnerbookmaker.name')
->label('Partner Bookmaker')
->badge()
->color('warning'),
])
->filters([
//
@@ -3,6 +3,7 @@
namespace App\Filament\Tables\Columns;
use App\Filament\Resources\Events\Tables\EventsTable;
use App\Models\Bookmaker;
use Filament\Tables\Columns\Column;
class ColumnOdds extends Column
@@ -29,6 +30,10 @@ class ColumnOdds extends Column
public $compare;
public $partner;
public $partner_icon;
protected ?array $odds_labels;
protected bool $state = true;
@@ -43,6 +48,8 @@ class ColumnOdds extends Column
return;
}
$this->setPartnerIcon();
$this->setSlots();
$this->has_data = count($this->data);
@@ -81,6 +88,11 @@ class ColumnOdds extends Column
return $this->columns;
}
public function getPartnerBookmakerIcon()
{
return $this->partner_icon;
}
public function getSlots()
{
if (auth()->user()->is_multiline_direct) {
@@ -105,6 +117,11 @@ class ColumnOdds extends Column
return $this->compare;
}
public function getPartner()
{
return $this->partner;
}
public function getMax()
{
return $this->max;
@@ -118,76 +135,91 @@ class ColumnOdds extends Column
public function getData($record)
{
$this->client = null;
$this->partner = null;
$this->data = null;
switch ($this->bettype) {
case 'odds_2ways':
$this->data = $record->odds_2ways;
$this->client = $record->odds_2ways->where('bookmaker_id', auth()->user()->bookmaker_id)->first();
$this->partner = $record->odds_2ways->where('bookmaker_id', auth()->user()->partner_bookmaker_id)->first();
break;
case 'odds_2ways_s1':
$this->data = $record->odds_2ways_s1;
$this->client = $record->odds_2ways_s1->where('bookmaker_id', auth()->user()->bookmaker_id)->first();
$this->partner = $record->odds_2ways_s1->where('bookmaker_id', auth()->user()->partner_bookmaker_id)->first();
break;
case 'odds_3ways':
$this->data = $record->odds_3ways;
$this->client = $record->odds_3ways->where('bookmaker_id', auth()->user()->bookmaker_id)->first();
$this->partner = $record->odds_3ways->where('bookmaker_id', auth()->user()->partner_bookmaker_id)->first();
break;
case 'odds_3ways_ht':
$this->data = $record->odds_3ways_ht;
$this->client = $record->odds_3ways_ht->where('bookmaker_id', auth()->user()->bookmaker_id)->first();
$this->partner = $record->odds_3ways_ht->where('bookmaker_id', auth()->user()->partner_bookmaker_id)->first();
break;
case 'odds_dc':
$this->data = $record->odds_dc;
$this->client = $record->odds_dc->where('bookmaker_id', auth()->user()->bookmaker_id)->first();
$this->partner = $record->odds_dc->where('bookmaker_id', auth()->user()->partner_bookmaker_id)->first();
break;
case 'odds_dnb':
$this->data = $record->odds_dnb;
$this->client = $record->odds_dnb->where('bookmaker_id', auth()->user()->bookmaker_id)->first();
$this->partner = $record->odds_dnb->where('bookmaker_id', auth()->user()->partner_bookmaker_id)->first();
break;
case 'odds_ggng':
$this->data = $record->odds_ggng;
$this->client = $record->odds_ggng->where('bookmaker_id', auth()->user()->bookmaker_id)->first();
$this->partner = $record->odds_ggng->where('bookmaker_id', auth()->user()->partner_bookmaker_id)->first();
break;
case 'odds_points':
$this->data = $record->odds_points;
$this->client = $record->odds_points->where('bookmaker_id', auth()->user()->bookmaker_id)->first();
$this->partner = $record->odds_points->where('bookmaker_id', auth()->user()->partner_bookmaker_id)->first();
break;
case 'odds_points_ht':
$this->data = $record->odds_points_ht;
$this->client = $record->odds_points_ht->where('bookmaker_id', auth()->user()->bookmaker_id)->first();
$this->partner = $record->odds_points_ht->where('bookmaker_id', auth()->user()->partner_bookmaker_id)->first();
break;
case 'odds_points_q1':
$this->data = $record->odds_points_q1;
$this->client = $record->odds_points_q1->where('bookmaker_id', auth()->user()->bookmaker_id)->first();
$this->partner = $record->odds_points_q1->where('bookmaker_id', auth()->user()->partner_bookmaker_id)->first();
break;
case 'odds_totals':
$this->data = $record->odds_totals;
$this->client = $record->odds_totals->where('bookmaker_id', auth()->user()->bookmaker_id)->first();
$this->partner = $record->odds_totals->where('bookmaker_id', auth()->user()->partner_bookmaker_id)->first();
break;
case 'odds_totals_ht':
$this->data = $record->odds_totals_ht;
$this->client = $record->odds_totals_ht->where('bookmaker_id', auth()->user()->bookmaker_id)->first();
$this->partner = $record->odds_totals_ht->where('bookmaker_id', auth()->user()->partner_bookmaker_id)->first();
break;
case 'odds_totals_q1':
$this->data = $record->odds_totals_q1;
$this->client = $record->odds_totals_q1->where('bookmaker_id', auth()->user()->bookmaker_id)->first();
$this->partner = $record->odds_totals_q1->where('bookmaker_id', auth()->user()->partner_bookmaker_id)->first();
break;
case 'odds_tq':
$this->data = $record->odds_tq;
$this->client = $record->odds_tq->where('bookmaker_id', auth()->user()->bookmaker_id)->first();
$this->partner = $record->odds_tq->where('bookmaker_id', auth()->user()->partner_bookmaker_id)->first();
break;
}
@@ -342,6 +374,11 @@ class ColumnOdds extends Column
});
}
public function setPartnerIcon()
{
$this->partner_icon = Bookmaker::where('id', auth()->user()->partner_bookmaker_id)->value('icon');
}
public function setSlots()
{
$this->slots = EventsTable::$slots[$this->bettype];
+33
View File
@@ -4,6 +4,7 @@ namespace App\Livewire;
use App\Models\BettypeUser;
use App\Models\User;
use Carbon\Carbon;
use Illuminate\Support\Facades\DB;
use Livewire\Component;
@@ -53,6 +54,20 @@ class BettypeToggle extends Component
$this->dispatch('refreshBettypeMenu');
}
public function toggleShowPartner()
{
User::where('id', auth()->user()->id)->update(['partner_compare' => 0, 'partner_show' => DB::raw('!partner_show')]);
$this->dispatch('refreshBettypeMenu');
}
public function toggleComparePartner()
{
User::where('id', auth()->user()->id)->update(['partner_compare' => DB::raw('!partner_compare')]);
$this->dispatch('refreshBettypeMenu');
}
public function toggleMultiline()
{
User::where('id', auth()->user()->id)->update(['is_multiline_direct' => DB::raw('!is_multiline_direct')]);
@@ -60,6 +75,24 @@ class BettypeToggle extends Component
$this->dispatch('refreshBettypeMenu');
}
public function setToday()
{
$data = [
'start' => Carbon::today()->format('Y-m-d 00:00:00'),
'end' => Carbon::tomorrow()->format('Y-m-d 00:00:00'),
];
$this->dispatch('filterUpdatePeriode', json_encode($data));
}
public function setTomorrow()
{
$data = [
'start' => Carbon::tomorrow()->format('Y-m-d 00:00:00'),
'end' => Carbon::tomorrow()->addDay()->format('Y-m-d 00:00:00'),
];
$this->dispatch('filterUpdatePeriode', json_encode($data));
}
public function toggelAllOnlyNone()
{
+8 -1
View File
@@ -24,8 +24,15 @@ class KontoSwitcher extends Component
$bookmakers = Client::where('id', $client_id)->pluck('bookmaker')->first();
$bookmaker_id = array_shift($bookmakers);
$partner_bookmaker_id = array_shift($bookmakers) ?? 0;
User::where('id', auth()->user()->id)->update(['sport_id' => 1, 'provider_id' => $provider_id, 'bookmaker_id' => $bookmaker_id, 'client_id' => $client_id]);
User::where('id', auth()->user()->id)->update([
'sport_id' => 1,
'provider_id' => $provider_id,
'bookmaker_id' => $bookmaker_id,
'partner_bookmaker_id' => $partner_bookmaker_id,
'client_id' => $client_id,
]);
$this->js('window.location.reload()');
}
+1 -1
View File
@@ -41,7 +41,7 @@ class TopMenuItems extends Component
{
$provider_id = Provider::where('bookmaker_id', $bookmaker_id)->value('id');
User::where('id', auth()->user()->id)->update(['provider_id' => $provider_id, 'bookmaker_id' => $bookmaker_id]);
User::where('id', auth()->user()->id)->update(['provider_id' => $provider_id, 'bookmaker_id' => $bookmaker_id, 'partner_bookmaker_id' => auth()->user()->bookmaker_id]);
$this->js('window.location.reload()');
}
+11
View File
@@ -19,4 +19,15 @@ class OddsTable extends Model
return $arr;
}
public static function fields()
{
$res = OddsTable::get();
$arr = [];
foreach ($res as $value) {
$arr[$value->name] = explode(',', $value->oddnames);
}
return $arr;
}
}
+8
View File
@@ -37,7 +37,10 @@ class User extends Authenticatable implements FilamentUser, HasAppAuthentication
'star',
'is_multiline_direct',
'all_only_none',
'partner_show',
'partner_compare',
'bookmaker_id',
'partner_bookmaker_id',
'provider_id',
];
@@ -159,6 +162,11 @@ class User extends Authenticatable implements FilamentUser, HasAppAuthentication
return $this->belongsTo(Bookmaker::class);
}
public function partnerbookmaker()
{
return $this->belongsTo(Bookmaker::class, 'partner_bookmaker_id', 'id');
}
public function sport()
{
return $this->belongsTo(Sport::class);
@@ -20,6 +20,7 @@ return new class extends Migration
$table->integer('client_id');
$table->integer('sport_id')->default(1);
$table->integer('bookmaker_id')->nullable();
$table->integer('partner_bookmaker_id')->nullable();
$table->integer('provider_id')->nullable();
$table->text('app_authentication_secret')->nullable();
@@ -28,6 +29,8 @@ return new class extends Migration
$table->boolean('stars')->default(false);
$table->boolean('is_multiline_direct')->default(false);
$table->boolean('all_only_none')->default(false);
$table->boolean('partner_show')->default(false);
$table->boolean('partner_compare')->default(false);
$table->timestamp('app_verified_at')->nullable();
$table->rememberToken();
@@ -28,6 +28,7 @@ class RolesAndPermissionsSeeder extends Seeder
'client_id' => 1,
'sport_id' => 1,
'bookmaker_id' => 10,
'partner_bookmaker_id' => 16,
'provider_id' => 4,
]);
$user->assignRole('super_admin');
@@ -43,6 +44,7 @@ class RolesAndPermissionsSeeder extends Seeder
'client_id' => 1,
'sport_id' => 1,
'bookmaker_id' => 10,
'partner_bookmaker_id' => 16,
'provider_id' => 4,
]);
$user->assignRole('super_admin');
@@ -0,0 +1,4 @@
<div
class="text-blue-600 dark:text-blue-500 border border-blue-300 dark:border-blue-700 bg-blue-50 dark:bg-blue-100/10 rounded">
{{ $slot }}
</div>
@@ -22,9 +22,15 @@
@include('filament.tables.columns.multiline.label', ['labels' => $label])
@include('filament.tables.columns.multiline.multiline-client')
@include('filament.tables.columns.multiline.multiline-compare')
@if(auth()->user()->partner_show)
@include('filament.tables.columns.multiline.multiline-client-partner')
@include('filament.tables.columns.multiline.multiline-partner')
@else
@include('filament.tables.columns.multiline.multiline-client')
@include('filament.tables.columns.multiline.multiline-compare')
@endif
@if (auth()->user()->is_multiline_direct)
@include('filament.tables.columns.multiline.multilines-all', [
@@ -0,0 +1,247 @@
@php
$client = $getClient();
$partner = $getPartner();
@endphp
@if ($getState() && $client)
@include('filament.tables.columns.multiline.bkm', [
'bookmaker_id' => $client->bookmaker_id,
'icon' => auth()->user()->bookmaker->icon ?? '',
])
@switch ($getBettype())
@case ('odds_tq')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->htq,
'alarm' => $client->htq > $partner->htq ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->atq,
'alarm' => $client->atq > $partner->atq ? 4 : 0,
'd' => 2,
])
@break;
@case ('odds_2ways')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->h2w,
'alarm' => $client->h2w > $partner->h2w ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->a2w,
'alarm' => $client->a2w > $partner->a2w ? 4 : 0,
'd' => 2,
])
@break;
@case ('odds_2ways_s1')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->h2w,
'alarm' => $client->h2w > $partner->h2w ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->a2w,
'alarm' => $client->a2w > $partner->a2w ? 4 : 0,
'd' => 2,
])
@break;
@case ('odds_3ways')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->h3w,
'alarm' => $client->h3w > $partner->h3w ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->d3w,
'alarm' => $client->d3w > $partner->d3w ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->a3w,
'alarm' => $client->a3w > $partner->a3w ? 4 : 0,
'd' => 2,
])
@break;
@case ('odds_3ways_ht')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->h3w,
'alarm' => $client->h3w > $partner->h3w ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->d3w,
'alarm' => $client->d3w > $partner->d3w ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->a3w,
'alarm' => $client->a3w > $partner->a3w ? 4 : 0,
'd' => 2,
])
@break;
@case ('odds_dc')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->dc1x,
'alarm' => $client->dc1x > $partner->dc1x ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->dc12,
'alarm' => $client->dc12 > $partner->dc12 ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->dcx2,
'alarm' => $client->dcx2 > $partner->dcx2 ? 4 : 0,
'd' => 2,
])
@break;
@case ('odds_dnb')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->dnb1,
'alarm' => $client->dnb1 > $partner->dnb1 ? 4 : 0,
'alarm' => 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->dnb2,
'alarm' => $client->dnb2 > $partner->dnb2 ? 4 : 0,
'd' => 2,
])
@break;
@case ('odds_ggng')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->gg,
'alarm' => $client->gg > $partner->gg ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->ng,
'alarm' => $client->ng > $partner->ng ? 4 : 0,
'd' => 2,
])
@break;
@case ('odds_points')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->home,
'alarm' => $client->home > $partner->home ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->away,
'alarm' => $client->away > $partner->away ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->handicap,
'alarm' => 0,
'd' => 1,
])
@break;
@case ('odds_points_ht')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->home,
'alarm' => $client->home > $partner->home ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->away,
'alarm' => $client->away > $partner->away ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->handicap,
'alarm' => 0,
'd' => 1,
])
@break;
@case ('odds_points_q1')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->home,
'alarm' => $client->home > $partner->home ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->away,
'alarm' => $client->away > $partner->away ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->handicap,
'alarm' => 0,
'd' => 1,
])
@break;
@case ('odds_totals')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->over,
'alarm' => $client->over > $partner->over ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->under,
'alarm' => $client->under > $partner->under ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->total,
'alarm' => 0,
'd' => 1,
])
@break;
@case ('odds_totals_ht')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->over,
'alarm' => $client->over > $partner->over ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->under,
'alarm' => $client->under > $partner->under ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->total,
'alarm' => 0,
'd' => 1,
])
@break;
@case ('odds_totals_q1')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->over,
'alarm' => $client->over > $partner->over ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->under,
'alarm' => $client->under > $partner->under ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->total,
'alarm' => 0,
'd' => 1,
])
@break;
@endswitch
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $client->margin,
'alarm' => 0,
'd' => 1,
])
@else
{{-- @include('filament.tables.columns.multiline.bkm', [
'bookmaker_id' => auth()->user()->bookmaker_id,
'icon' => auth()->user()->bookmaker->icon ?? '',
]) --}}
<div>&nbsp;</div>
<div></div>
<div></div>
<div></div>
@if ($getColumns() == 3)
<div></div>
@endif
@endif
@@ -0,0 +1,247 @@
@php
$partner = $getPartner();
$client = $getClient();
@endphp
@if ($getState() && $partner)
@include('filament.tables.columns.multiline.bkm', [
'bookmaker_id' => $partner->bookmaker_id,
'icon' => $getPartnerBookmakerIcon(),
])
@switch ($getBettype())
@case ('odds_tq')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->htq,
'alarm' => $partner->htq > $client->htq ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->atq,
'alarm' => $partner->atq > $client->atq ? 4 : 0,
'd' => 2,
])
@break;
@case ('odds_2ways')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->h2w,
'alarm' => $partner->h2w > $client->h2w ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->a2w,
'alarm' => $partner->a2w > $client->a2w ? 4 : 0,
'd' => 2,
])
@break;
@case ('odds_2ways_s1')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->h2w,
'alarm' => $partner->h2w > $client->h2w ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->a2w,
'alarm' => $partner->a2w > $client->a2w ? 4 : 0,
'd' => 2,
])
@break;
@case ('odds_3ways')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->h3w,
'alarm' => $partner->h3w > $client->h3w ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->d3w,
'alarm' => $partner->d3w > $client->d3w ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->a3w,
'alarm' => $partner->a3w > $client->a3w ? 4 : 0,
'd' => 2,
])
@break;
@case ('odds_3ways_ht')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->h3w,
'alarm' => $partner->h3w > $client->h3w ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->d3w,
'alarm' => $partner->d3w > $client->d3w ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->a3w,
'alarm' => $partner->a3w > $client->a3w ? 4 : 0,
'd' => 2,
])
@break;
@case ('odds_dc')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->dc1x,
'alarm' => $partner->dc1x > $client->dc1x ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->dc12,
'alarm' => $partner->dc12 > $client->dc12 ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->dcx2,
'alarm' => $partner->dcx2 > $client->dcx2 ? 4 : 0,
'd' => 2,
])
@break;
@case ('odds_dnb')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->dnb1,
'alarm' => $partner->dnb1 > $client->dnb1 ? 4 : 0,
'alarm' => 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->dnb2,
'alarm' => $partner->dnb2 > $client->dnb2 ? 4 : 0,
'd' => 2,
])
@break;
@case ('odds_ggng')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->gg,
'alarm' => $partner->gg > $client->gg ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->ng,
'alarm' => $partner->ng > $client->ng ? 4 : 0,
'd' => 2,
])
@break;
@case ('odds_points')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->home,
'alarm' => $partner->home > $client->home ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->away,
'alarm' => $partner->away > $client->away ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->handicap,
'alarm' => 0,
'd' => 1,
])
@break;
@case ('odds_points_ht')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->home,
'alarm' => $partner->home > $client->home ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->away,
'alarm' => $partner->away > $client->away ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->handicap,
'alarm' => 0,
'd' => 1,
])
@break;
@case ('odds_points_q1')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->home,
'alarm' => $partner->home > $client->home ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->away,
'alarm' => $partner->away > $client->away ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->handicap,
'alarm' => 0,
'd' => 1,
])
@break;
@case ('odds_totals')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->over,
'alarm' => $partner->over > $client->over ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->under,
'alarm' => $partner->under > $client->under ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->total,
'alarm' => 0,
'd' => 1,
])
@break;
@case ('odds_totals_ht')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->over,
'alarm' => $partner->over > $client->over ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->under,
'alarm' => $partner->under > $client->under ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->total,
'alarm' => 0,
'd' => 1,
])
@break;
@case ('odds_totals_q1')
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->over,
'alarm' => $partner->over > $client->over ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->under,
'alarm' => $partner->under > $client->under ? 4 : 0,
'd' => 2,
])
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->total,
'alarm' => 0,
'd' => 1,
])
@break;
@endswitch
@include('filament.tables.columns.multiline.odd-compare', [
'odd' => $partner->margin,
'alarm' => 0,
'd' => 1,
])
@else
{{-- @include('filament.tables.columns.multiline.bkm', [
'bookmaker_id' => auth()->user()->bookmaker_id,
'icon' => auth()->user()->bookmaker->icon ?? '',
]) --}}
<div>&nbsp;</div>
<div></div>
<div></div>
<div></div>
@if ($getColumns() == 3)
<div></div>
@endif
@endif
@@ -1,4 +1,10 @@
@switch($alarm)
@case(4)
<x-alarm-blue>
{{ number_format($odd, $d) }}
</x-alarm-blue>
@break
@case(3)
<x-alarm-red>
{{ number_format($odd, $d) }}
@@ -1,22 +1,22 @@
<div class="flex flex-row gap-2">
<x-filament::button size="xs" tooltip="Today" :color="auth()->user()->stars ? 'primary' : 'gray'" icon="phosphor-calendar-dot">
</x-filament::button>
<x-filament::button size="xs" tooltip="Tomorrow" :color="auth()->user()->stars ? 'primary' : 'gray'" icon="phosphor-calendar-check">
</x-filament::button>
<x-filament::button size="xs" tooltip="Today" wire:click="setToday" color="gray" icon="phosphor-calendar-dot" />
<x-filament::button size="xs" tooltip="Tomorrow" wire:click="setTomorrow" color="gray" icon="phosphor-calendar-check"/>
<div></div>
<div></div>
<div></div>
@role('partner_porgramm')
<x-filament::button size="xs" tooltip="Show Partner Odds" wire:click="toggleStar" :color="auth()->user()->stars ? 'primary' : 'gray'"
<x-filament::button size="xs" tooltip="Show Partner Odds" wire:click="toggleShowPartner" :color="auth()->user()->partner_show ? 'info' : 'gray'"
icon="phosphor-users">
</x-filament::button>
<x-filament::button disabled="true" size="xs" tooltip="Filter Partner Odds" wire:click="toggleStar"
:color="auth()->user()->stars ? 'primary' : 'gray'" icon="phosphor-not-equals">
<x-filament::button disabled="true" size="xs" wire:click="toggleComparePartner" tooltip="Filter Partner Differences"
:disabled="auth()->user()->partner_show ? false : true"
:color="auth()->user()->partner_compare ? 'info' : 'gray'"
icon="phosphor-funnel">
</x-filament::button>
<div></div>
@@ -32,7 +32,7 @@
@break
@case(1)
<x-filament::button size="xs" wire:click="toggelAllOnlyNone" icon="phosphor-gps-fix"
<x-filament::button size="xs" wire:click="toggelAllOnlyNone" icon="phosphor-gps-fix" color="info"
tooltip="Only with {{ auth()->user()->bookmaker->name }}">
</x-filament::button>
@break
@@ -47,11 +47,11 @@
@endswitch
<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'"
<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 ? 'info' : 'gray'"
:icon="auth()->user()->is_multiline_direct ? 'phosphor-not-equals' : 'phosphor-equals'">
</x-filament::button>
<x-filament::button size="xs" tooltip="Toggle favorits" wire:click="toggleStar" :color="auth()->user()->stars ? 'primary' : 'gray'"
<x-filament::button size="xs" tooltip="Toggle favorits" wire:click="toggleStar" :color="auth()->user()->stars ? 'info' : 'gray'"
:icon="auth()->user()->stars ? 'phosphor-star-fill' : 'phosphor-star'">
</x-filament::button>
@@ -61,7 +61,7 @@
@foreach ($bettype_toggles as $toggle)
<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'">
wire:click="toggleBettype({{ $toggle['id'] }})" :color="!$toggle['is_active'] ? 'gray' : 'info'">
<div class="m-0 p-0">{{ $toggle['short'] }}</div>
</x-filament::button>
@endforeach