record($this->getData()) ->components([ Tabs::make('Tabs') ->tabs([ Tab::make($this->home.' vs '.$this->away) ->schema([ RepeatableEntry::make('results.h2h') ->label('Direct encounters') ->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 => 'success', default => 'gray', }), TextEntry::make('away.name')->color(fn (string $state): string => match ($state) { $this->home => 'primary', $this->away => 'success', default => 'gray', }), TextEntry::make('ss')->alignCenter()->weight(FontWeight::Bold), ]), ]), Tab::make($this->home) ->schema([ RepeatableEntry::make('results.home') ->label('The last games of '.$this->home) ->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 => 'success', default => 'gray', }), TextEntry::make('away.name')->color(fn (string $state): string => match ($state) { $this->home => 'primary', $this->away => 'success', default => 'gray', }), TextEntry::make('ss')->alignCenter()->weight(FontWeight::Bold), ]), ]), Tab::make($this->away) ->schema([ RepeatableEntry::make('results.away') ->label('The last games of '.$this->away) ->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 => 'success', default => 'gray', }), TextEntry::make('away.name')->color(fn (string $state): string => match ($state) { $this->home => 'primary', $this->away => 'success', default => 'gray', }), TextEntry::make('ss')->alignCenter()->weight(FontWeight::Bold), ]), ]), ]), ]); } 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(); } }