plan options
This commit is contained in:
1 parent
8463f50f6b
commit
ecb66a76b5
14 files changed
+277
-303
No files matched your search
@@ -2,15 +2,20 @@
|
|||||||
|
|
||||||
namespace App\Filament\Resources\Kontos\Schemas;
|
namespace App\Filament\Resources\Kontos\Schemas;
|
||||||
|
|
||||||
use Alkoumi\FilamentImageRadioButton\Forms\Components\ImageRadioGroup;
|
|
||||||
use App\Models\Konto;
|
use App\Models\Konto;
|
||||||
use App\Models\Plan;
|
use App\Models\Plan;
|
||||||
use Danielebarbaro\LaravelVatEuValidator\Rules\VatNumber;
|
use Danielebarbaro\LaravelVatEuValidator\Rules\VatNumber;
|
||||||
use Filament\Forms\Components\Select;
|
use Filament\Forms\Components\Select;
|
||||||
use Filament\Forms\Components\Textarea;
|
use Filament\Forms\Components\Textarea;
|
||||||
use Filament\Forms\Components\TextInput;
|
use Filament\Forms\Components\TextInput;
|
||||||
use Filament\Schemas\Components\Section;
|
use Filament\Schemas\Components\Tabs;
|
||||||
|
use Filament\Schemas\Components\Tabs\Tab;
|
||||||
use Filament\Schemas\Schema;
|
use Filament\Schemas\Schema;
|
||||||
|
use Filament\Support\Enums\Alignment;
|
||||||
|
use Filament\Support\Enums\IconPosition;
|
||||||
|
use Filament\Support\Enums\IconSize;
|
||||||
|
use Filament\Support\Icons\Heroicon;
|
||||||
|
use JaOcero\RadioDeck\Forms\Components\RadioDeck;
|
||||||
use Ysfkaya\FilamentPhoneInput\Forms\PhoneInput;
|
use Ysfkaya\FilamentPhoneInput\Forms\PhoneInput;
|
||||||
|
|
||||||
class KontoForm
|
class KontoForm
|
||||||
@@ -20,57 +25,77 @@ class KontoForm
|
|||||||
return $schema
|
return $schema
|
||||||
->components([
|
->components([
|
||||||
|
|
||||||
// Radio Cards with default features
|
Tabs::make('Tabs')
|
||||||
|
->tabs([
|
||||||
// ImageRadioGroup::make('plan_id')
|
Tab::make('Zahlungsplan')
|
||||||
// ->animation(true)
|
->schema([
|
||||||
// ->disk('promotion')
|
RadioDeck::make('plan_id')
|
||||||
// ->label('Plan')
|
->label('Wählen sie eine Option')
|
||||||
// ->required()
|
->options(fn () => Plan::pluck('name', 'id')->toArray())
|
||||||
// ->columnSpanFull()
|
->descriptions(Plan::options())
|
||||||
// ->options(fn () => Plan::pluck('promotion', 'id')->toArray()),
|
->icons(fn () => Plan::pluck('icon', 'id')->toArray())
|
||||||
Section::make('Firma')
|
->required()
|
||||||
->inlineLabel()
|
->iconPosition(IconPosition::Before) // Before | After
|
||||||
->schema([
|
->iconSize(IconSize::TwoExtraLarge)
|
||||||
TextInput::make('company')
|
->alignment(Alignment::Center) // Start | Center | End
|
||||||
->label('Firma')
|
->padding('px-4 py-6') // Padding around the deck
|
||||||
->required(),
|
->extraCardsAttributes([ // Extra attributes for card elements
|
||||||
TextInput::make('uid_number')
|
'class' => 'rounded-xl drop-shadow-xl mt-1',
|
||||||
->label('UID Nummer')
|
])
|
||||||
->rules([new VatNumber])
|
->extraOptionsAttributes([ // Extra attributes for option elements
|
||||||
->required(),
|
'class' => 'text-2xl md:text-3xl font-black tracking-tight lg:text-4xl',
|
||||||
Textarea::make('address')
|
])
|
||||||
->label('Adresse')
|
// ->extraDescriptionsAttributes([ // Extra attributes for description elements
|
||||||
->required(),
|
// 'class' => 'text-sm font-light',
|
||||||
TextInput::make('country')
|
// ])
|
||||||
->label('Land')
|
->colors('primary')
|
||||||
->default('Österreich')
|
->columns(3)
|
||||||
->required(),
|
->columnSpanFull(),
|
||||||
])->columnSpanFull(),
|
])->columnSpanFull(),
|
||||||
Section::make('Kontaktperson')
|
Tab::make('Firma')
|
||||||
->inlineLabel()
|
->inlineLabel()
|
||||||
->schema([
|
->schema([
|
||||||
TextInput::make('title')
|
TextInput::make('company')
|
||||||
->label('Title')
|
->label('Firma')
|
||||||
->required(),
|
->required(),
|
||||||
Select::make('gender')
|
TextInput::make('uid_number')
|
||||||
->label('Geschlecht')
|
->label('UID Nummer')
|
||||||
->options([
|
->rules([new VatNumber])
|
||||||
'Herr' => 'Herr',
|
->required(),
|
||||||
'Frau' => 'Frau',
|
Textarea::make('address')
|
||||||
'Non-binary' => 'Non-binary',
|
->label('Adresse')
|
||||||
])
|
->required(),
|
||||||
->required(),
|
TextInput::make('country')
|
||||||
TextInput::make('name')
|
->label('Land')
|
||||||
->label('Name')
|
->default('Österreich')
|
||||||
->required(),
|
->required(),
|
||||||
TextInput::make('email')
|
])->columnSpanFull(),
|
||||||
->label('E-Mail')
|
Tab::make('Kontaktperson')
|
||||||
->unique(table: Konto::class)
|
->inlineLabel()
|
||||||
->required(),
|
->schema([
|
||||||
PhoneInput::make('phone')
|
TextInput::make('title')
|
||||||
->label('Telefon')
|
->label('Title')
|
||||||
->defaultCountry('AT'),
|
->required(),
|
||||||
|
Select::make('gender')
|
||||||
|
->label('Geschlecht')
|
||||||
|
->options([
|
||||||
|
'Herr' => 'Herr',
|
||||||
|
'Frau' => 'Frau',
|
||||||
|
'Non-binary' => 'Non-binary',
|
||||||
|
])
|
||||||
|
->required(),
|
||||||
|
TextInput::make('name')
|
||||||
|
->label('Name')
|
||||||
|
->required(),
|
||||||
|
TextInput::make('email')
|
||||||
|
->label('E-Mail')
|
||||||
|
->unique(table: Konto::class)
|
||||||
|
->required()
|
||||||
|
->prefixIcon(Heroicon::Envelope),
|
||||||
|
PhoneInput::make('phone')
|
||||||
|
->label('Telefon')
|
||||||
|
->defaultCountry('AT'),
|
||||||
|
])->columnSpanFull(),
|
||||||
])->columnSpanFull(),
|
])->columnSpanFull(),
|
||||||
|
|
||||||
]);
|
]);
|
||||||
|
|||||||
@@ -2,13 +2,14 @@
|
|||||||
|
|
||||||
namespace App\Filament\Resources\Kontos\Tables;
|
namespace App\Filament\Resources\Kontos\Tables;
|
||||||
|
|
||||||
use App\Forms\Components\PlanRadioGroup;
|
|
||||||
use Filament\Actions\Action;
|
use Filament\Actions\Action;
|
||||||
use Filament\Actions\EditAction;
|
use Filament\Actions\EditAction;
|
||||||
use Filament\Forms\Components\RichEditor;
|
use Filament\Forms\Components\RichEditor;
|
||||||
use Filament\Forms\Components\TextInput;
|
use Filament\Forms\Components\TextInput;
|
||||||
use Filament\Support\Enums\FontWeight;
|
use Filament\Support\Enums\FontWeight;
|
||||||
|
use Filament\Support\Enums\IconSize;
|
||||||
use Filament\Support\Enums\TextSize;
|
use Filament\Support\Enums\TextSize;
|
||||||
|
use Filament\Tables\Columns\IconColumn;
|
||||||
use Filament\Tables\Columns\TextColumn;
|
use Filament\Tables\Columns\TextColumn;
|
||||||
use Filament\Tables\Table;
|
use Filament\Tables\Table;
|
||||||
|
|
||||||
@@ -20,6 +21,13 @@ class KontosTable
|
|||||||
->columns([
|
->columns([
|
||||||
TextColumn::make('company')->label('Firma')
|
TextColumn::make('company')->label('Firma')
|
||||||
->description(fn ($record): string => $record->address),
|
->description(fn ($record): string => $record->address),
|
||||||
|
IconColumn::make('plan.icon')
|
||||||
|
->width('30px')
|
||||||
|
->label('')
|
||||||
|
->size(IconSize::TwoExtraLarge)
|
||||||
|
->color('primary')
|
||||||
|
->icon(fn (string $state): string => $state)
|
||||||
|
->extraAttributes(['class' => 'rounded-xl border border-gray-200 dark:border-gray-700 drop-shadow-xl']),
|
||||||
|
|
||||||
TextColumn::make('plan.name')
|
TextColumn::make('plan.name')
|
||||||
->label('Zahlungs Plan')
|
->label('Zahlungs Plan')
|
||||||
@@ -28,7 +36,7 @@ class KontosTable
|
|||||||
TextColumn::make('guthaben')
|
TextColumn::make('guthaben')
|
||||||
->size(TextSize::Large)
|
->size(TextSize::Large)
|
||||||
->weight(FontWeight::Bold)
|
->weight(FontWeight::Bold)
|
||||||
->label('Fertig')
|
->label('Erstellt')
|
||||||
->color('primary')
|
->color('primary')
|
||||||
->description('Gutachten')
|
->description('Gutachten')
|
||||||
->alignCenter(),
|
->alignCenter(),
|
||||||
@@ -43,20 +51,6 @@ class KontosTable
|
|||||||
])
|
])
|
||||||
->recordActions([
|
->recordActions([
|
||||||
EditAction::make()->iconButton()->color('gray'),
|
EditAction::make()->iconButton()->color('gray'),
|
||||||
Action::make('Konto')
|
|
||||||
->iconButton()
|
|
||||||
->color('gray')
|
|
||||||
->icon('lucide-plane-takeoff')
|
|
||||||
->schema([
|
|
||||||
PlanRadioGroup::make('plan_id')
|
|
||||||
->label('Plan')
|
|
||||||
->options(fn () => Plan::pluck('name', 'id')->toArray()),
|
|
||||||
// ->options([
|
|
||||||
// '1' => 'Basic',
|
|
||||||
// '2' => 'Smart',
|
|
||||||
// '3' => 'Premium',
|
|
||||||
// ]),
|
|
||||||
]),
|
|
||||||
Action::make('Bezahlen')
|
Action::make('Bezahlen')
|
||||||
->iconButton()
|
->iconButton()
|
||||||
->color('gray')
|
->color('gray')
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
namespace App\Filament\Resources\Plans\Schemas;
|
namespace App\Filament\Resources\Plans\Schemas;
|
||||||
|
|
||||||
use Filament\Forms\Components\FileUpload;
|
|
||||||
use Filament\Forms\Components\Textarea;
|
use Filament\Forms\Components\Textarea;
|
||||||
use Filament\Forms\Components\TextInput;
|
use Filament\Forms\Components\TextInput;
|
||||||
use Filament\Schemas\Schema;
|
use Filament\Schemas\Schema;
|
||||||
@@ -18,10 +17,8 @@ class PlanForm
|
|||||||
Textarea::make('description')->label('Beschreibung')->required(),
|
Textarea::make('description')->label('Beschreibung')->required(),
|
||||||
TextInput::make('preis')->required()->numeric(),
|
TextInput::make('preis')->required()->numeric(),
|
||||||
TextInput::make('limit_user')->required()->label('Anzahl Benutzer')->numeric(),
|
TextInput::make('limit_user')->required()->label('Anzahl Benutzer')->numeric(),
|
||||||
TextInput::make('limit_auftraggeber')->required()->label('Anzahl Auftraggeber')->numeric(),
|
|
||||||
TextInput::make('limit_gutachter')->required()->label('Anzahl Gutachter')->numeric(),
|
TextInput::make('limit_gutachter')->required()->label('Anzahl Gutachter')->numeric(),
|
||||||
TextInput::make('limit_gutachten')->required()->label('Anzahl Projekte')->numeric(),
|
TextInput::make('icon'),
|
||||||
FileUpload::make('promotion')->disk('promotion'),
|
|
||||||
])->inlineLabel()->columns(1);
|
])->inlineLabel()->columns(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,8 @@
|
|||||||
namespace App\Filament\Resources\Plans\Tables;
|
namespace App\Filament\Resources\Plans\Tables;
|
||||||
|
|
||||||
use Filament\Actions\EditAction;
|
use Filament\Actions\EditAction;
|
||||||
use Filament\Tables\Columns\ImageColumn;
|
use Filament\Support\Enums\IconSize;
|
||||||
|
use Filament\Tables\Columns\IconColumn;
|
||||||
use Filament\Tables\Columns\TextColumn;
|
use Filament\Tables\Columns\TextColumn;
|
||||||
use Filament\Tables\Table;
|
use Filament\Tables\Table;
|
||||||
|
|
||||||
@@ -13,15 +14,17 @@ class PlansTable
|
|||||||
{
|
{
|
||||||
return $table
|
return $table
|
||||||
->columns([
|
->columns([
|
||||||
ImageColumn::make('promotion')->imageHeight(100)->disk('promotion'),
|
IconColumn::make('icon')
|
||||||
|
->label('')
|
||||||
|
->size(IconSize::TwoExtraLarge)
|
||||||
|
->color('primary')
|
||||||
|
->icon(fn (string $state): string => $state),
|
||||||
TextColumn::make('name')
|
TextColumn::make('name')
|
||||||
->description(fn ($record): string => $record->description)
|
->description(fn ($record): string => $record->description)
|
||||||
->wrap(),
|
->wrap(),
|
||||||
TextColumn::make('payment')->label('Plan'),
|
TextColumn::make('payment')->label('Plan'),
|
||||||
TextColumn::make('limit_user')->label('B')->tooltip('Benutzer')->badge(),
|
TextColumn::make('limit_user')->label('Benutzer')->badge(),
|
||||||
TextColumn::make('limit_auftraggeber')->label('A')->tooltip('Auftraggeber')->badge(),
|
TextColumn::make('limit_gutachter')->label('Gutachter')->badge(),
|
||||||
TextColumn::make('limit_gutachter')->label('G')->tooltip('Gutachter')->badge(),
|
|
||||||
TextColumn::make('limit_gutachten')->label('P')->tooltip('Projekte')->badge(),
|
|
||||||
TextColumn::make('preis')->money('EUR'),
|
TextColumn::make('preis')->money('EUR'),
|
||||||
])
|
])
|
||||||
->recordActions([
|
->recordActions([
|
||||||
@@ -29,9 +32,3 @@ class PlansTable
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// `file` varchar(255) DEFAULT NULL,
|
|
||||||
// `preis` int(11) NOT NULL DEFAULT 0,
|
|
||||||
// `limit_user` int(11) NOT NULL DEFAULT 1,
|
|
||||||
// `limit_auftraggeber` int(11) NOT NULL DEFAULT 1,
|
|
||||||
// `limit_gutachter` int(11) NOT NULL DEFAULT 1,
|
|
||||||
// `limit_gutachten` int(11) D
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Forms\Components;
|
|
||||||
|
|
||||||
use Filament\Forms\Components\Field;
|
|
||||||
|
|
||||||
class PlanRadioGroup extends Field
|
|
||||||
{
|
|
||||||
protected string $view = 'forms.components.custom-radio-group';
|
|
||||||
|
|
||||||
protected array $options = []; // Property to store options
|
|
||||||
|
|
||||||
public function options(array $options): static
|
|
||||||
{
|
|
||||||
$this->options = $options;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getOptions(): array
|
|
||||||
{
|
|
||||||
return $this->evaluate($this->options);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class PaymentPlan extends Model
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
|
||||||
+18
-1
@@ -3,6 +3,7 @@
|
|||||||
namespace App\Models;
|
namespace App\Models;
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
use Illuminate\Support\HtmlString;
|
||||||
|
|
||||||
class Plan extends Model
|
class Plan extends Model
|
||||||
{
|
{
|
||||||
@@ -20,6 +21,22 @@ class Plan extends Model
|
|||||||
'limit_auftraggeber',
|
'limit_auftraggeber',
|
||||||
'limit_gutachter',
|
'limit_gutachter',
|
||||||
'limit_gutachten',
|
'limit_gutachten',
|
||||||
'promotion',
|
'icon',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public static function options()
|
||||||
|
{
|
||||||
|
$arr = Plan::all()->toArray();
|
||||||
|
foreach ($arr as $key => $value) {
|
||||||
|
$str = '<div class="text-primary-500 text-lg">'.$value['payment'].'</div>';
|
||||||
|
$str .= '<div class="text-xl font-black">'.number_format($value['preis'], 2).'€</div>';
|
||||||
|
$str .= '<ol class="font-light text-xs leading-3 m-0 p-3">';
|
||||||
|
$str .= '<li>'.$value['limit_user'].' Benutzer</li>';
|
||||||
|
$str .= '<li>'.$value['limit_gutachter'].' Gutachter</li>';
|
||||||
|
$str .= '</ol>';
|
||||||
|
$arr[$key + 1] = new HtmlString($str);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $arr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+2
-1
@@ -11,11 +11,12 @@
|
|||||||
"require": {
|
"require": {
|
||||||
"php": "^8.3",
|
"php": "^8.3",
|
||||||
"agencetwogether/hookshelper": "^0.0.2",
|
"agencetwogether/hookshelper": "^0.0.2",
|
||||||
"alkoumi/filament-image-radio-button": "^1.1",
|
|
||||||
"awcodes/light-switch": "^2.0",
|
"awcodes/light-switch": "^2.0",
|
||||||
"bezhansalleh/filament-shield": "*",
|
"bezhansalleh/filament-shield": "*",
|
||||||
|
"codeat3/blade-phosphor-icons": "^2.3",
|
||||||
"danielebarbaro/laravel-vat-eu-validator": "^2.0",
|
"danielebarbaro/laravel-vat-eu-validator": "^2.0",
|
||||||
"filament/filament": "^4.0",
|
"filament/filament": "^4.0",
|
||||||
|
"jaocero/radio-deck": "^2.0",
|
||||||
"laravel/framework": "^12.0",
|
"laravel/framework": "^12.0",
|
||||||
"laravel/tinker": "^2.10.1",
|
"laravel/tinker": "^2.10.1",
|
||||||
"livewire/livewire": "^3.6",
|
"livewire/livewire": "^3.6",
|
||||||
|
|||||||
Generated
+152
-152
@@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "fe30cc68d11a563e43d6f90831ac7b29",
|
"content-hash": "73c1ae2de1cd4105b50ac2d91b6220dd",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "agencetwogether/hookshelper",
|
"name": "agencetwogether/hookshelper",
|
||||||
@@ -79,80 +79,6 @@
|
|||||||
],
|
],
|
||||||
"time": "2025-06-16T20:05:22+00:00"
|
"time": "2025-06-16T20:05:22+00:00"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "alkoumi/filament-image-radio-button",
|
|
||||||
"version": "v1.1.7",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/alkoumi/filament-image-radio-button.git",
|
|
||||||
"reference": "a8e91551adb1725a9219ae7c379a8474e7b4638f"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/alkoumi/filament-image-radio-button/zipball/a8e91551adb1725a9219ae7c379a8474e7b4638f",
|
|
||||||
"reference": "a8e91551adb1725a9219ae7c379a8474e7b4638f",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"filament/filament": "^3.0|^4.0",
|
|
||||||
"php": "^8.1|^8.2|^8.3|^8.4",
|
|
||||||
"spatie/laravel-package-tools": "^1.15.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"filament/upgrade": "^4.0",
|
|
||||||
"nunomaduro/collision": "*",
|
|
||||||
"orchestra/testbench": "^10.6"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"extra": {
|
|
||||||
"laravel": {
|
|
||||||
"aliases": {
|
|
||||||
"FilamentImageRadioButton": "Alkoumi\\FilamentImageRadioButton\\Facades\\FilamentImageRadioButton"
|
|
||||||
},
|
|
||||||
"providers": [
|
|
||||||
"Alkoumi\\FilamentImageRadioButton\\FilamentImageRadioButtonServiceProvider"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"Alkoumi\\FilamentImageRadioButton\\": "src/",
|
|
||||||
"Alkoumi\\FilamentImageRadioButton\\Database\\Factories\\": "database/factories/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Mohamed alkoumi",
|
|
||||||
"email": "mohammedelkoumi@gmail.com",
|
|
||||||
"role": "Developer"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Filament Form Radio Button But With Images",
|
|
||||||
"homepage": "https://github.com/alkoumi/filament-image-radio-button",
|
|
||||||
"keywords": [
|
|
||||||
"alkoumi",
|
|
||||||
"filament",
|
|
||||||
"filament-image-radio-button",
|
|
||||||
"image-radio-button",
|
|
||||||
"image-select",
|
|
||||||
"laravel"
|
|
||||||
],
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/alkoumi/filament-image-radio-button/issues",
|
|
||||||
"source": "https://github.com/alkoumi/filament-image-radio-button"
|
|
||||||
},
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"url": "https://github.com/alkoumi",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"time": "2025-08-27T14:45:42+00:00"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "anourvalar/eloquent-serialize",
|
"name": "anourvalar/eloquent-serialize",
|
||||||
"version": "1.3.4",
|
"version": "1.3.4",
|
||||||
@@ -902,6 +828,77 @@
|
|||||||
],
|
],
|
||||||
"time": "2024-07-16T11:13:48+00:00"
|
"time": "2024-07-16T11:13:48+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "codeat3/blade-phosphor-icons",
|
||||||
|
"version": "2.3.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/codeat3/blade-phosphor-icons.git",
|
||||||
|
"reference": "2812a27ec642359344429d344c7f7bbdfad489ce"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/codeat3/blade-phosphor-icons/zipball/2812a27ec642359344429d344c7f7bbdfad489ce",
|
||||||
|
"reference": "2812a27ec642359344429d344c7f7bbdfad489ce",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"blade-ui-kit/blade-icons": "^1.1",
|
||||||
|
"illuminate/support": "^8.0|^9.0|^10.0|^11.0|^12.0",
|
||||||
|
"php": "^7.4|^8.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"codeat3/blade-icon-generation-helpers": "^0.10",
|
||||||
|
"codeat3/phpcs-styles": "^1.0",
|
||||||
|
"orchestra/testbench": "^6.0|^7.0|^8.0|^9.0|^10.0",
|
||||||
|
"phpunit/phpunit": "^9.0|^10.5|^11.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"laravel": {
|
||||||
|
"providers": [
|
||||||
|
"Codeat3\\BladePhosphorIcons\\BladePhosphorIconsServiceProvider"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Codeat3\\BladePhosphorIcons\\": "src"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Swapnil Sarwe",
|
||||||
|
"homepage": "https://swapnilsarwe.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Dries Vints",
|
||||||
|
"homepage": "https://driesvints.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A package to easily make use of \"Phosphor Icons\" in your Laravel Blade views.",
|
||||||
|
"homepage": "https://github.com/codeat3/blade-phosphor-icons",
|
||||||
|
"keywords": [
|
||||||
|
"blade",
|
||||||
|
"laravel",
|
||||||
|
"phosphor-icons"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/codeat3/blade-phosphor-icons/issues",
|
||||||
|
"source": "https://github.com/codeat3/blade-phosphor-icons/tree/2.3.0"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://github.com/swapnilsarwe",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2025-02-25T06:29:09+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "danharrin/date-format-converter",
|
"name": "danharrin/date-format-converter",
|
||||||
"version": "v0.3.1",
|
"version": "v0.3.1",
|
||||||
@@ -2525,6 +2522,81 @@
|
|||||||
],
|
],
|
||||||
"time": "2025-08-22T14:27:06+00:00"
|
"time": "2025-08-22T14:27:06+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "jaocero/radio-deck",
|
||||||
|
"version": "v2.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/199ocero/radio-deck.git",
|
||||||
|
"reference": "15b72137cdc0e91e8f0b98f1f0f7d3f0e1c209b4"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/199ocero/radio-deck/zipball/15b72137cdc0e91e8f0b98f1f0f7d3f0e1c209b4",
|
||||||
|
"reference": "15b72137cdc0e91e8f0b98f1f0f7d3f0e1c209b4",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"filament/forms": "^4.0",
|
||||||
|
"illuminate/contracts": "^11.0|^12.0",
|
||||||
|
"php": "^8.2",
|
||||||
|
"spatie/laravel-package-tools": "^1.15.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"laravel/pint": "^1.24",
|
||||||
|
"nunomaduro/collision": "^8.1",
|
||||||
|
"orchestra/testbench": "^9.0",
|
||||||
|
"pestphp/pest": "^2.0",
|
||||||
|
"pestphp/pest-plugin-arch": "^2.0",
|
||||||
|
"pestphp/pest-plugin-laravel": "^2.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"laravel": {
|
||||||
|
"providers": [
|
||||||
|
"JaOcero\\RadioDeck\\RadioDeckServiceProvider"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"JaOcero\\RadioDeck\\": "src/",
|
||||||
|
"JaOcero\\RadioDeck\\Database\\Factories\\": "database/factories/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Jay-Are Ocero",
|
||||||
|
"email": "199ocero@gmail.com",
|
||||||
|
"role": "Developer"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Turn filament default radio button into a selectable card with icons, title and description.",
|
||||||
|
"homepage": "https://github.com/jaocero/radio-deck",
|
||||||
|
"keywords": [
|
||||||
|
"filament-form",
|
||||||
|
"filament-plugin",
|
||||||
|
"filamentphp",
|
||||||
|
"jaocero",
|
||||||
|
"laravel",
|
||||||
|
"radio-deck"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/jaocero/radio-deck/issues",
|
||||||
|
"source": "https://github.com/jaocero/radio-deck"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://github.com/jaocero",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2025-09-14T12:02:21+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "kirschbaum-development/eloquent-power-joins",
|
"name": "kirschbaum-development/eloquent-power-joins",
|
||||||
"version": "4.2.8",
|
"version": "4.2.8",
|
||||||
@@ -2590,16 +2662,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/framework",
|
"name": "laravel/framework",
|
||||||
"version": "v12.31.1",
|
"version": "v12.32.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/laravel/framework.git",
|
"url": "https://github.com/laravel/framework.git",
|
||||||
"reference": "281b711710c245dd8275d73132e92635be3094df"
|
"reference": "d41e4ba47706ec85bda85fe9362515592871cd21"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/laravel/framework/zipball/281b711710c245dd8275d73132e92635be3094df",
|
"url": "https://api.github.com/repos/laravel/framework/zipball/d41e4ba47706ec85bda85fe9362515592871cd21",
|
||||||
"reference": "281b711710c245dd8275d73132e92635be3094df",
|
"reference": "d41e4ba47706ec85bda85fe9362515592871cd21",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@@ -2627,7 +2699,6 @@
|
|||||||
"monolog/monolog": "^3.0",
|
"monolog/monolog": "^3.0",
|
||||||
"nesbot/carbon": "^3.8.4",
|
"nesbot/carbon": "^3.8.4",
|
||||||
"nunomaduro/termwind": "^2.0",
|
"nunomaduro/termwind": "^2.0",
|
||||||
"phiki/phiki": "^2.0.0",
|
|
||||||
"php": "^8.2",
|
"php": "^8.2",
|
||||||
"psr/container": "^1.1.1|^2.0.1",
|
"psr/container": "^1.1.1|^2.0.1",
|
||||||
"psr/log": "^1.0|^2.0|^3.0",
|
"psr/log": "^1.0|^2.0|^3.0",
|
||||||
@@ -2806,7 +2877,7 @@
|
|||||||
"issues": "https://github.com/laravel/framework/issues",
|
"issues": "https://github.com/laravel/framework/issues",
|
||||||
"source": "https://github.com/laravel/framework"
|
"source": "https://github.com/laravel/framework"
|
||||||
},
|
},
|
||||||
"time": "2025-09-23T15:33:04+00:00"
|
"time": "2025-09-30T12:22:56+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/prompts",
|
"name": "laravel/prompts",
|
||||||
@@ -4659,77 +4730,6 @@
|
|||||||
},
|
},
|
||||||
"time": "2025-09-24T15:06:41+00:00"
|
"time": "2025-09-24T15:06:41+00:00"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "phiki/phiki",
|
|
||||||
"version": "v2.0.4",
|
|
||||||
"source": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/phikiphp/phiki.git",
|
|
||||||
"reference": "160785c50c01077780ab217e5808f00ab8f05a13"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://api.github.com/repos/phikiphp/phiki/zipball/160785c50c01077780ab217e5808f00ab8f05a13",
|
|
||||||
"reference": "160785c50c01077780ab217e5808f00ab8f05a13",
|
|
||||||
"shasum": ""
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"ext-mbstring": "*",
|
|
||||||
"league/commonmark": "^2.5.3",
|
|
||||||
"php": "^8.2",
|
|
||||||
"psr/simple-cache": "^3.0"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"illuminate/support": "^11.45",
|
|
||||||
"laravel/pint": "^1.18.1",
|
|
||||||
"orchestra/testbench": "^9.15",
|
|
||||||
"pestphp/pest": "^3.5.1",
|
|
||||||
"phpstan/extension-installer": "^1.4.3",
|
|
||||||
"phpstan/phpstan": "^2.0",
|
|
||||||
"symfony/var-dumper": "^7.1.6"
|
|
||||||
},
|
|
||||||
"type": "library",
|
|
||||||
"extra": {
|
|
||||||
"laravel": {
|
|
||||||
"providers": [
|
|
||||||
"Phiki\\Adapters\\Laravel\\PhikiServiceProvider"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"Phiki\\": "src/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
|
||||||
"license": [
|
|
||||||
"MIT"
|
|
||||||
],
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Ryan Chandler",
|
|
||||||
"email": "support@ryangjchandler.co.uk",
|
|
||||||
"homepage": "https://ryangjchandler.co.uk",
|
|
||||||
"role": "Developer"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"description": "Syntax highlighting using TextMate grammars in PHP.",
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/phikiphp/phiki/issues",
|
|
||||||
"source": "https://github.com/phikiphp/phiki/tree/v2.0.4"
|
|
||||||
},
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"url": "https://github.com/sponsors/ryangjchandler",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"url": "https://buymeacoffee.com/ryangjchandler",
|
|
||||||
"type": "other"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"time": "2025-09-20T17:21:02+00:00"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "phpoption/phpoption",
|
"name": "phpoption/phpoption",
|
||||||
"version": "1.9.4",
|
"version": "1.9.4",
|
||||||
|
|||||||
@@ -13,15 +13,13 @@ return new class extends Migration
|
|||||||
{
|
{
|
||||||
Schema::create('plans', function (Blueprint $table) {
|
Schema::create('plans', function (Blueprint $table) {
|
||||||
$table->id();
|
$table->id();
|
||||||
|
$table->string('icon')->nullable();
|
||||||
$table->string('name')->nullable();
|
$table->string('name')->nullable();
|
||||||
$table->string('payment')->nullable();
|
$table->string('payment')->nullable();
|
||||||
$table->string('description')->nullable();
|
$table->string('description')->nullable();
|
||||||
$table->string('promotion')->nullable();
|
|
||||||
$table->integer('preis')->default(0);
|
$table->integer('preis')->default(0);
|
||||||
$table->integer('limit_user')->default(1);
|
$table->integer('limit_user')->default(1);
|
||||||
$table->integer('limit_auftraggeber')->default(1);
|
|
||||||
$table->integer('limit_gutachter')->default(1);
|
$table->integer('limit_gutachter')->default(1);
|
||||||
$table->integer('limit_gutachten')->nullable();
|
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,11 +12,11 @@ class PlansSeeder extends Seeder
|
|||||||
*/
|
*/
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
$sql = "INSERT INTO `plans` (`id`, `name`, `payment`, `description`, `promotion`, `preis`, `limit_user`, `limit_auftraggeber`, `limit_gutachter`, `limit_gutachten`, `created_at`, `updated_at`)
|
$sql = "INSERT INTO `plans` (`id`, `name`, `payment`, `description`, `icon`, `preis`, `limit_user`, `limit_gutachter`, `created_at`, `updated_at`)
|
||||||
VALUES
|
VALUES
|
||||||
('1', 'Standard', 'Per Gutachten', 'Zahlungen werden für jedes Gutachten einzeln getätigt.', 'promotion/basic.jpg', '75', '1', '1', '1', '1', NULL, NULL),
|
('1', 'Basic', 'Per Gutachten', 'Zahlungen per Gutachten.', 'phosphor-airplane-thin', '75', '1', '1', NULL, '2025-09-30 15:53:33'),
|
||||||
('2', 'Smart', 'Monatlich', 'Zahlung erfolgt monatlich, ohne Begrenzung der Gutachten.', 'promotion/smart.jpg', '150', '3', '1', '3', '-1', NULL, NULL),
|
('2', 'Standard', 'Monatlich', 'Zahlung erfolgt monatlich, ohne Begrenzung der Gutachten.', 'phosphor-airplane-takeoff-thin', '150', '3', '3', NULL, '2025-09-30 15:53:42'),
|
||||||
('3', 'Premium', 'Jährlich', 'Zahlung erfolgt jährlich, ohne Begrenzung für Gutachten, Gutachter oder Auftraggeber.', 'promotion/premium.jpg', '1750', '10', '5', '5', '-1', NULL, NULL);
|
('3', 'Premium', 'Jährlich', 'Zahlung erfolgt jährlich, ohne Begrenzung für Gutachten, Gutachter oder Auftraggeber.', 'phosphor-airplane-in-flight-thin', '1750', '10', '5', NULL, '2025-09-30 15:53:47');
|
||||||
";
|
";
|
||||||
DB::unprepared($sql);
|
DB::unprepared($sql);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
function I(e){return Array.isArray?Array.isArray(e):ft(e)==="[object Array]"}var Et=1/0;function mt(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-Et?"-0":t}function Dt(e){return e==null?"":mt(e)}function F(e){return typeof e=="string"}function lt(e){return typeof e=="number"}function Ft(e){return e===!0||e===!1||Bt(e)&&ft(e)=="[object Boolean]"}function dt(e){return typeof e=="object"}function Bt(e){return dt(e)&&e!==null}function C(e){return e!=null}function V(e){return!e.trim().length}function ft(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var Mt="Incorrect 'index' type",It=e=>`Invalid value for key ${e}`,yt=e=>`Pattern length exceeds max of ${e}.`,_t=e=>`Missing ${e} property in key`,St=e=>`Property 'weight' in key '${e}' must be a positive integer`,ut=Object.prototype.hasOwnProperty,H=class{constructor(t){this._keys=[],this._keyMap={};let s=0;t.forEach(n=>{let i=gt(n);this._keys.push(i),this._keyMap[i.id]=i,s+=i.weight}),this._keys.forEach(n=>{n.weight/=s})}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function gt(e){let t=null,s=null,n=null,i=1,r=null;if(F(e)||I(e))n=e,t=ct(e),s=U(e);else{if(!ut.call(e,"name"))throw new Error(_t("name"));let c=e.name;if(n=c,ut.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(St(c));t=ct(c),s=U(c),r=e.getFn}return{path:t,id:s,weight:i,src:n,getFn:r}}function ct(e){return I(e)?e:e.split(".")}function U(e){return I(e)?e.join("."):e}function wt(e,t){let s=[],n=!1,i=(r,c,o)=>{if(C(r))if(!c[o])s.push(r);else{let h=c[o],u=r[h];if(!C(u))return;if(o===c.length-1&&(F(u)||lt(u)||Ft(u)))s.push(Dt(u));else if(I(u)){n=!0;for(let a=0,d=u.length;a<d;a+=1)i(u[a],c,o+1)}else c.length&&i(u,c,o+1)}};return i(e,F(t)?t.split("."):t,0),n?s:s[0]}var xt={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},Lt={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1},bt={location:0,threshold:.6,distance:100},Rt={useExtendedSearch:!1,getFn:wt,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},l={...Lt,...xt,...bt,...Rt},Ot=/[^ ]+/g;function kt(e=1,t=3){let s=new Map,n=Math.pow(10,t);return{get(i){let r=i.match(Ot).length;if(s.has(r))return s.get(r);let c=1/Math.pow(r,.5*e),o=parseFloat(Math.round(c*n)/n);return s.set(r,o),o},clear(){s.clear()}}}var O=class{constructor({getFn:t=l.getFn,fieldNormWeight:s=l.fieldNormWeight}={}){this.norm=kt(s,3),this.getFn=t,this.isCreated=!1,this.setIndexRecords()}setSources(t=[]){this.docs=t}setIndexRecords(t=[]){this.records=t}setKeys(t=[]){this.keys=t,this._keysMap={},t.forEach((s,n)=>{this._keysMap[s.id]=n})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,F(this.docs[0])?this.docs.forEach((t,s)=>{this._addString(t,s)}):this.docs.forEach((t,s)=>{this._addObject(t,s)}),this.norm.clear())}add(t){let s=this.size();F(t)?this._addString(t,s):this._addObject(t,s)}removeAt(t){this.records.splice(t,1);for(let s=t,n=this.size();s<n;s+=1)this.records[s].i-=1}getValueForItemAtKeyId(t,s){return t[this._keysMap[s]]}size(){return this.records.length}_addString(t,s){if(!C(t)||V(t))return;let n={v:t,i:s,n:this.norm.get(t)};this.records.push(n)}_addObject(t,s){let n={i:s,$:{}};this.keys.forEach((i,r)=>{let c=i.getFn?i.getFn(t):this.getFn(t,i.path);if(C(c)){if(I(c)){let o=[],h=[{nestedArrIndex:-1,value:c}];for(;h.length;){let{nestedArrIndex:u,value:a}=h.pop();if(C(a))if(F(a)&&!V(a)){let d={v:a,i:u,n:this.norm.get(a)};o.push(d)}else I(a)&&a.forEach((d,f)=>{h.push({nestedArrIndex:f,value:d})})}n.$[r]=o}else if(F(c)&&!V(c)){let o={v:c,n:this.norm.get(c)};n.$[r]=o}}}),this.records.push(n)}toJSON(){return{keys:this.keys,records:this.records}}};function At(e,t,{getFn:s=l.getFn,fieldNormWeight:n=l.fieldNormWeight}={}){let i=new O({getFn:s,fieldNormWeight:n});return i.setKeys(e.map(gt)),i.setSources(t),i.create(),i}function Nt(e,{getFn:t=l.getFn,fieldNormWeight:s=l.fieldNormWeight}={}){let{keys:n,records:i}=e,r=new O({getFn:t,fieldNormWeight:s});return r.setKeys(n),r.setIndexRecords(i),r}function N(e,{errors:t=0,currentLocation:s=0,expectedLocation:n=0,distance:i=l.distance,ignoreLocation:r=l.ignoreLocation}={}){let c=t/e.length;if(r)return c;let o=Math.abs(n-s);return i?c+o/i:o?1:c}function $t(e=[],t=l.minMatchCharLength){let s=[],n=-1,i=-1,r=0;for(let c=e.length;r<c;r+=1){let o=e[r];o&&n===-1?n=r:!o&&n!==-1&&(i=r-1,i-n+1>=t&&s.push([n,i]),n=-1)}return e[r-1]&&r-n>=t&&s.push([n,r-1]),s}var L=32;function Tt(e,t,s,{location:n=l.location,distance:i=l.distance,threshold:r=l.threshold,findAllMatches:c=l.findAllMatches,minMatchCharLength:o=l.minMatchCharLength,includeMatches:h=l.includeMatches,ignoreLocation:u=l.ignoreLocation}={}){if(t.length>L)throw new Error(yt(L));let a=t.length,d=e.length,f=Math.max(0,Math.min(n,d)),g=r,A=f,p=o>1||h,m=p?Array(d):[],_;for(;(_=e.indexOf(t,A))>-1;){let E=N(t,{currentLocation:_,expectedLocation:f,distance:i,ignoLine truncated
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
@source '../../../../resources/views/**/*';
|
@source '../../../../resources/views/**/*';
|
||||||
@source '../../../../resources/views/filament/**/*';
|
@source '../../../../resources/views/filament/**/*';
|
||||||
@source '../../../../vendor/awcodes/light-switch/resources/**/*.blade.php';
|
@source '../../../../vendor/awcodes/light-switch/resources/**/*.blade.php';
|
||||||
@source '../../../../vendor/alkoumi/filament-image-radio-button/resources/views/**/*.blade.php';
|
@source '../../../../vendor/jaocero/radio-deck/resources/views';
|
||||||
|
|
||||||
.fi-simple-main {
|
.fi-simple-main {
|
||||||
@apply relative sm:max-w-3xl;
|
@apply relative sm:max-w-3xl;
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
@php
|
|
||||||
$state = $getState(); // Get the current state of the radio group
|
|
||||||
$options = $getOptions(); // Assuming you have a method to get options in your component
|
|
||||||
$name = $getName(); // Get the field name for the input
|
|
||||||
@endphp
|
|
||||||
|
|
||||||
<div>
|
|
||||||
@foreach ($options as $value => $label)
|
|
||||||
<label class="cursor-pointer">
|
|
||||||
<div
|
|
||||||
@if ($state === $value) class="flex border border-red-500 p-2" @else class="flex gap-3 border border-amber-500 p-12" @endif>
|
|
||||||
<input type="radio" name="{{ $name }}" value="{{ $value }}"
|
|
||||||
@if ($state === $value) checked @endif {{ $attributes->merge(['class' => 'form-radio']) }}
|
|
||||||
wire:model="{{ $name }}">
|
|
||||||
<h1 class="scroll-m-20 text-3xl md:text-4xl font-black tracking-tight lg:text-5xl text-shadow-sm">
|
|
||||||
{{ $label }}
|
|
||||||
</h1>
|
|
||||||
</div>
|
|
||||||
</label>
|
|
||||||
<br>
|
|
||||||
@endforeach
|
|
||||||
</div>
|
|
||||||
Reference in new issue
Block a user