Feat: Upgrading Lunar to 1.5

This commit is contained in:
2026-08-31 13:16:13 +03:00
parent 661e8b9a96
commit d873cb4931
42 changed files with 229 additions and 173 deletions
@@ -12,8 +12,8 @@ use RuntimeException;
*/
class InvalidCouponException extends RuntimeException
{
public function __construct(public readonly string $code)
public function __construct(public readonly string $couponCode)
{
parent::__construct("The coupon code \"{$code}\" is not valid.");
parent::__construct("The coupon code \"{$couponCode}\" is not valid.");
}
}
+17 -13
View File
@@ -2,6 +2,10 @@
namespace Modules\Core\Cart\Filament\Resources;
use Filament\Tables\Columns\TextColumn;
use Filament\Actions\ViewAction;
use Modules\Core\Cart\Filament\Resources\CartResource\Pages\ListCarts;
use Modules\Core\Cart\Filament\Resources\CartResource\Pages\ViewCart;
use Filament\Resources\Resource;
use Filament\Tables;
use Filament\Tables\Table;
@@ -24,9 +28,9 @@ class CartResource extends Resource
{
protected static ?string $model = Cart::class;
protected static ?string $navigationIcon = 'heroicon-o-shopping-cart';
protected static string | \BackedEnum | null $navigationIcon = 'heroicon-o-shopping-cart';
protected static ?string $navigationGroup = 'Sales';
protected static string | \UnitEnum | null $navigationGroup = 'Sales';
protected static ?string $modelLabel = 'Cart';
@@ -70,37 +74,37 @@ class CartResource extends Resource
{
return $table
->columns([
Tables\Columns\TextColumn::make('id')
TextColumn::make('id')
->label('Cart')
->sortable(),
Tables\Columns\TextColumn::make('customer.full_name')
TextColumn::make('customer.full_name')
->label('Customer')
->placeholder('—')
->searchable()
->url(fn (Cart $record) => $record->customer_id !== null
? CustomerResource::getUrl('view', ['record' => $record->customer_id])
: null),
Tables\Columns\TextColumn::make('user.email')
TextColumn::make('user.email')
->label('User')
->placeholder('—')
->searchable(),
Tables\Columns\TextColumn::make('lines_count')
TextColumn::make('lines_count')
->label('Lines')
->counts('lines')
->sortable(),
Tables\Columns\TextColumn::make('lines_sum_quantity')
TextColumn::make('lines_sum_quantity')
->label('Items')
->sum('lines', 'quantity')
->sortable(),
Tables\Columns\TextColumn::make('currency.code')
TextColumn::make('currency.code')
->label('Currency'),
Tables\Columns\TextColumn::make('updated_at')
TextColumn::make('updated_at')
->label('Last activity')
->dateTime()
->sortable(),
])
->actions([
Tables\Actions\ViewAction::make(),
->recordActions([
ViewAction::make(),
])
->defaultSort('updated_at', 'desc');
}
@@ -108,8 +112,8 @@ class CartResource extends Resource
public static function getPages(): array
{
return [
'index' => Pages\ListCarts::route('/'),
'view' => Pages\ViewCart::route('/{record}'),
'index' => ListCarts::route('/'),
'view' => ViewCart::route('/{record}'),
];
}
@@ -2,7 +2,7 @@
namespace Modules\Core\Cart\Filament\Resources\CartResource\Pages;
use Filament\Resources\Components\Tab;
use Filament\Schemas\Components\Tabs\Tab;
use Filament\Resources\Pages\ListRecords;
use Illuminate\Database\Eloquent\Builder;
use Modules\Core\Cart\Filament\Resources\CartResource;
@@ -2,11 +2,11 @@
namespace Modules\Core\Cart\Filament\Resources\CartResource\Pages;
use Filament\Schemas\Schema;
use Filament\Schemas\Components\Section;
use Filament\Actions\Action;
use Filament\Infolists\Components\RepeatableEntry;
use Filament\Infolists\Components\Section;
use Filament\Infolists\Components\TextEntry;
use Filament\Infolists\Infolist;
use Filament\Resources\Pages\ViewRecord;
use Lunar\Admin\Filament\Resources\CustomerResource;
use Lunar\Models\Cart;
@@ -44,10 +44,10 @@ class ViewCart extends ViewRecord
return $cart->calculate();
}
public function infolist(Infolist $infolist): Infolist
public function infolist(Schema $schema): Schema
{
return $infolist
->schema([
return $schema
->components([
Section::make('Cart')
->columns(3)
->schema([