Compare commits

..

No commits in common. "8c72ad9993a2e616115454da3d4d4b70c1cc9e94" and "9394890c0ca4ff6f9e03897c65afa20ff8519a9a" have entirely different histories.

4 changed files with 34 additions and 29 deletions

View file

@ -3,12 +3,19 @@
namespace App\Filament\Pages; namespace App\Filament\Pages;
use Filament\Pages\BasePage; use Filament\Pages\BasePage;
use App\Filament\Widgets\StatsOverviewWidget;
use App\Filament\Resources\ItemResource\Pages; use App\Filament\Resources\ItemResource\Pages;
use App\Filament\Resources\ItemResource\RelationManagers;
use App\Models\Item; use App\Models\Item;
use App\Models\User; use App\Models\User;
use App\Models\Category; use App\Models\Category;
use Filament\Forms;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables; use Filament\Tables;
use Filament\Tables\Table; use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Forms\Components\Select; use Filament\Forms\Components\Select;
use Filament\Forms\Components\Radio; use Filament\Forms\Components\Radio;
use Filament\Tables\Enums\FiltersLayout; use Filament\Tables\Enums\FiltersLayout;
@ -18,6 +25,7 @@ use Filament\Actions\CreateAction;
use App\Models\Reserveditem; use App\Models\Reserveditem;
use Filament\Forms\Components\TextInput; use Filament\Forms\Components\TextInput;
use Carbon\Carbon; use Carbon\Carbon;
use Filament\Support\Enums\IconPosition;
use Filament\Infolists\Components\TextEntry; use Filament\Infolists\Components\TextEntry;
use Filament\Infolists\Components\Section; use Filament\Infolists\Components\Section;
use Filament\Tables\Contracts\HasTable; use Filament\Tables\Contracts\HasTable;
@ -25,12 +33,15 @@ use Filament\Tables\Concerns\InteractsWithTable;
use Filament\Infolists\Components\ImageEntry; use Filament\Infolists\Components\ImageEntry;
use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Columns\ImageColumn; use Filament\Tables\Columns\ImageColumn;
use Filament\Tables\Columns\IconColumn;
use Filament\Tables\Actions\Action; use Filament\Tables\Actions\Action;
use Filament\Support\Colors\Color;
use Filament\Tables\Columns\Layout\Split;
use Filament\Tables\Columns\Layout\Stack; use Filament\Tables\Columns\Layout\Stack;
use Filament\Support\Enums\FontWeight; use Filament\Support\Enums\FontWeight;
use Filament\Tables\Columns\Layout\Panel;
use Filament\Tables\Columns\Layout\Grid; use Filament\Tables\Columns\Layout\Grid;
use Filament\Notifications\Notification; use Filament\Notifications\Notification;
use Illuminate\Database\Eloquent\Builder;
class Reserve extends BasePage implements HasTable class Reserve extends BasePage implements HasTable
{ {
@ -70,34 +81,27 @@ class Reserve extends BasePage implements HasTable
->searchable() ->searchable()
->weight(FontWeight::Bold) ->weight(FontWeight::Bold)
->size(TextColumn\TextColumnSize::Large), ->size(TextColumn\TextColumnSize::Large),
Stack::make([ Panel::make([
TextColumn::make('players') Stack::make([
->label('Antal spelare') TextColumn::make('players')
->sortable() ->label('Antal spelare')
->prefix('Spelare: ') ->sortable()
->suffix(' st'), ->icon('heroicon-m-users'),
TextColumn::make('play_time') TextColumn::make('play_time')
->label('Speltid') ->label('Speltid')
->sortable() ->sortable()
->prefix('Speltid: ') ->icon('heroicon-m-clock'),
->suffix(' min'), TextColumn::make('age')
TextColumn::make('age') ->label('Ålder')
->label('Ålder') ->sortable()
->sortable() ->icon('heroicon-m-arrows-right-left'),
->prefix('Ålder: ') ])->extraAttributes(['class' => 'space-y-3'])
->suffix(' år'), ])
])->extraAttributes(['class' => 'space-y-3'])
])->extraAttributes(['class' => 'space-y-3']) ])->extraAttributes(['class' => 'space-y-3'])
]) ])
]) ])
//->defaultSort('desc', 'asc') ->defaultSort('desc', 'asc')
->defaultSort(function (Builder $query): Builder {
return $query
->orderBy('reserved', 'asc')
->orderBy('desc', 'asc');
})
->contentGrid([ ->contentGrid([
'sm' => 2, 'sm' => 2,
'md' => 3, 'md' => 3,

View file

@ -154,7 +154,7 @@ class ItemResource extends Resource
'loading' => 'lazy' 'loading' => 'lazy'
]), ]),
IconColumn::make('can_be_loaned') IconColumn::make('can_be_loaned')
->label('Loanable') ->label('Can be loaned')
->translateLabel() ->translateLabel()
->sortable() ->sortable()
->trueIcon('heroicon-o-check-badge') ->trueIcon('heroicon-o-check-badge')
@ -163,7 +163,6 @@ class ItemResource extends Resource
->falseColor('danger'), ->falseColor('danger'),
IconColumn::make('reserved') IconColumn::make('reserved')
->label('Available') ->label('Available')
->sortable()
->translateLabel() ->translateLabel()
->falseIcon('heroicon-o-check-badge') ->falseIcon('heroicon-o-check-badge')
->trueIcon('heroicon-o-x-mark') ->trueIcon('heroicon-o-x-mark')
@ -193,7 +192,7 @@ class ItemResource extends Resource
->columnSpanFull() ->columnSpanFull()
->toggle(), ->toggle(),
Filter::make('can_be_loaned') Filter::make('can_be_loaned')
->label('Loanable') ->label('Can be loaned')
->translateLabel() ->translateLabel()
->query(fn (Builder $query): Builder => $query->where('can_be_loaned', true)) ->query(fn (Builder $query): Builder => $query->where('can_be_loaned', true))
->columnSpanFull() ->columnSpanFull()

View file

@ -23,8 +23,10 @@ use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Columns\ImageColumn; use Filament\Tables\Columns\ImageColumn;
use Filament\Tables\Columns\IconColumn; use Filament\Tables\Columns\IconColumn;
use Filament\Tables\Actions\Action; use Filament\Tables\Actions\Action;
use Filament\Tables\Columns\Layout\Split;
use Filament\Tables\Columns\Layout\Stack; use Filament\Tables\Columns\Layout\Stack;
use Filament\Support\Enums\FontWeight; use Filament\Support\Enums\FontWeight;
use Filament\Tables\Columns\Layout\Panel;
class ReserveditemResource extends Resource class ReserveditemResource extends Resource

View file

@ -15,7 +15,7 @@
"Age": "Ålder", "Age": "Ålder",
"Players": "Spelare", "Players": "Spelare",
"Play time": "Speltid", "Play time": "Speltid",
"Loanable": "Utlåningsbar", "Can be loaned": "Kan bli utlånad",
"Available": "Tillgänglig", "Available": "Tillgänglig",
"More info": "Mer info", "More info": "Mer info",
"Reserve": "Reservera", "Reserve": "Reservera",