new sofaskore task add date to select in statistics

This commit is contained in:
salam committed 2026-07-12 15:23:04 +02:00
1 parent f8e6f8183b
commit 5f4a788927
18 files changed
+207 -281

No files matched your search

@@ -2,16 +2,23 @@
namespace App\Filament\Clusters\StaticData\Resources\SofaScoreTasks\Pages;
use App\Filament\Clusters\StaticData\Resources\SofaScoreTasks\RelationManagers\SofaScoreTaskTournamentsRelationManager;
use App\Filament\Clusters\StaticData\Resources\SofaScoreTasks\SofaScoreTaskResource;
use Filament\Actions\DeleteAction;
use Filament\Resources\Pages\EditRecord;
use Guava\FilamentModalRelationManagers\Actions\RelationManagerAction;
class EditSofaScoreTask extends EditRecord
{
protected static string $resource = SofaScoreTaskResource::class;
protected function getFormActions(): array
{
return [
$this->getSaveFormAction(),
$this->getCancelFormAction()->label('Close Task Manager'), // Renames the button
];
}
protected function getHeaderActions(): array
{
return [
@@ -2,11 +2,9 @@
namespace App\Filament\Clusters\StaticData\Resources\SofaScoreTasks\Pages;
use App\Filament\Clusters\StaticData\Resources\SofaScoreTasks\RelationManagers\SofaScoreTaskTournamentsRelationManager;
use App\Filament\Clusters\StaticData\Resources\SofaScoreTasks\SofaScoreTaskResource;
use Filament\Actions\CreateAction;
use Filament\Resources\Pages\ListRecords;
use Guava\FilamentModalRelationManagers\Actions\RelationManagerAction;
class ListSofaScoreTasks extends ListRecords
{
@@ -14,7 +14,7 @@ class SofaScoreTaskForm
public static function configure(Schema $schema): Schema
{
return $schema
->columns(1)
->columns(5)
->components([
TextInput::make('name')
->required(),
@@ -29,18 +29,18 @@ class SofaScoreTaskForm
->allowHtml()
->required()
->options([
'yesterday' => '<span class="text-amber-600">Every yesterday</span>',
'auto_updater' => '<span class="text-green-600">Grap last 3 days</span>',
'date' => '<span class="text-blue-600">Grap a date</span>',
'range' => '<span class="text-green-600">Grap a date range</span>',
'range' => '<span class="text-amber-600">Grap a date range</span>',
]),
DatePicker::make('day_from')
->required()
->native()
->visible(fn (Get $get): bool => in_array($get('mode'), ['date', 'range'])),
->visible(fn(Get $get): bool => in_array($get('mode'), ['date', 'range'])),
DatePicker::make('day_to')
->required()
->native()
->visible(fn (Get $get): bool => $get('mode') === 'range'),
->visible(fn(Get $get): bool => $get('mode') === 'range'),
]);
}
}
@@ -2,7 +2,9 @@
namespace App\Filament\Clusters\StaticData\Resources\SofaScoreTasks;
use App\Filament\Clusters\StaticData\Resources\SofaScoreTasks\Pages\EditSofaScoreTask;
use App\Filament\Clusters\StaticData\Resources\SofaScoreTasks\Pages\ListSofaScoreTasks;
use App\Filament\Clusters\StaticData\Resources\SofaScoreTasks\RelationManagers\SofaScoreTaskTournamentsRelationManager;
use App\Filament\Clusters\StaticData\Resources\SofaScoreTasks\Schemas\SofaScoreTaskForm;
use App\Filament\Clusters\StaticData\Resources\SofaScoreTasks\Tables\SofaScoreTasksTable;
use App\Filament\Clusters\StaticData\StaticDataCluster;
@@ -26,6 +28,12 @@ class SofaScoreTaskResource extends Resource
protected static string|UnitEnum|null $navigationGroup = 'SofaScore';
protected function isReadOnly(): bool
{
return false;
}
public static function form(Schema $schema): Schema
{
return SofaScoreTaskForm::configure($schema);
@@ -45,6 +53,14 @@ class SofaScoreTaskResource extends Resource
{
return [
'index' => ListSofaScoreTasks::route('/'),
'edit' => EditSofaScoreTask::route('/{record}/edit'),
];
}
public static function getRelations(): array
{
return [
SofaScoreTaskTournamentsRelationManager::class,
];
}
}
@@ -2,14 +2,12 @@
namespace App\Filament\Clusters\StaticData\Resources\SofaScoreTasks\Tables;
use App\Filament\Clusters\StaticData\Resources\SofaScoreTasks\RelationManagers\SofaScoreTaskTournamentsRelationManager;
use App\Models\SofaScoreTask;
use Filament\Actions\EditAction;
use Filament\Tables\Columns\IconColumn;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Columns\ToggleColumn;
use Filament\Tables\Table;
use Guava\FilamentModalRelationManagers\Actions\RelationManagerAction;
class SofaScoreTasksTable
{
@@ -40,7 +38,7 @@ class SofaScoreTasksTable
TextColumn::make('mode')
->label('Grapping dates')
->formatStateUsing(fn(string $state, $record): string => match ($state) {
'yesterday' => 'Every yesterday',
'auto_updater' => 'Last 3 days',
'date' => $record->day_from,
'range' => $record->day_from . ' <=> ' . $record->day_to,
}),
@@ -56,12 +54,6 @@ class SofaScoreTasksTable
//
])
->recordActions([
RelationManagerAction::make()
->icon('phosphor-trophy-fill')
->iconButton()
->modalHeading('Add tournaments to sofascore grapper task')
->relationManager(SofaScoreTaskTournamentsRelationManager::make())
->compact(),
EditAction::make()->iconButton()
->icon('phosphor-pen-fill'),
]);