record($this->getData()) ->components([ Tabs::make('Tabs') ->tabs([ Tab::make($this->home.' vs '.$this->away) ->badge(fn ($record) => count($record['results']['h2h'])) ->schema([ RepeatableEntry::make('results.h2h') ->hiddenLabel() ->table([ TableColumn::make('League'), TableColumn::make('Date'), TableColumn::make('Home'), TableColumn::make('Away'), TableColumn::make('Result')->alignCenter(), ]) ->schema([ TextEntry::make('league.name'), TextEntry::make('time')->formatStateUsing(function ($state) { return Carbon::createFromTimestamp($state)->format('d. m. Y H:i'); }), TextEntry::make('home.name')->color(fn (string $state): string => match ($state) { $this->home => 'primary', $this->away => 'warning', default => 'gray', }), TextEntry::make('away.name')->color(fn (string $state): string => match ($state) { $this->home => 'primary', $this->away => 'warning', default => 'gray', }), TextEntry::make('ss')->alignCenter()->weight(FontWeight::Bold), ]), ]), Tab::make($this->home) ->badge(fn ($record) => count($record['results']['home'])) ->schema([ RepeatableEntry::make('results.home') ->hiddenLabel() ->table([ TableColumn::make('League'), TableColumn::make('Date'), TableColumn::make('Home'), TableColumn::make('Away'), TableColumn::make('Result')->alignCenter(), ]) ->schema([ TextEntry::make('league.name'), TextEntry::make('time')->formatStateUsing(function ($state) { return Carbon::createFromTimestamp($state)->format('d. m. Y H:i'); }), TextEntry::make('home.name')->color(fn (string $state): string => match ($state) { $this->home => 'primary', $this->away => 'warning', default => 'gray', }), TextEntry::make('away.name')->color(fn (string $state): string => match ($state) { $this->home => 'primary', $this->away => 'warning', default => 'gray', }), TextEntry::make('ss')->alignCenter()->weight(FontWeight::Bold), ]), ]), Tab::make($this->away) ->badge(fn ($record) => count($record['results']['away'])) ->schema([ RepeatableEntry::make('results.away') ->hiddenLabel() ->table([ TableColumn::make('League'), TableColumn::make('Date'), TableColumn::make('Home'), TableColumn::make('Away'), TableColumn::make('Result')->alignCenter(), ]) ->schema([ TextEntry::make('league.name'), TextEntry::make('time')->formatStateUsing(function ($state) { return Carbon::createFromTimestamp($state)->format('d. m. Y H:i'); }), TextEntry::make('home.name')->color(fn (string $state): string => match ($state) { $this->home => 'primary', $this->away => 'warning', default => 'gray', }), TextEntry::make('away.name')->color(fn (string $state): string => match ($state) { $this->home => 'primary', $this->away => 'warning', default => 'gray', }), TextEntry::make('ss')->alignCenter()->weight(FontWeight::Bold), ]), ]), ])->contained(false), ]); } public function mount($betsapi_id, $home, $away) { $this->betsapi_id = $betsapi_id; $this->home = $home; $this->away = $away; } public function getHome() { return $this->home; } public function getAway() { return $this->away; } public function getData() { return Http::get('https://api.b365api.com/v1/event/history?token='.config('env.betsapi_token').'&event_id='.$this->betsapi_id)->json(); } }