diff --git a/app/Filament/Resources/Gutachters/Schemas/GutachterForm.php b/app/Filament/Resources/Gutachters/Schemas/GutachterForm.php
index 3836dd4..e5e63ce 100644
--- a/app/Filament/Resources/Gutachters/Schemas/GutachterForm.php
+++ b/app/Filament/Resources/Gutachters/Schemas/GutachterForm.php
@@ -2,7 +2,16 @@
namespace App\Filament\Resources\Gutachters\Schemas;
+use Filament\Forms\Components\CheckboxList;
+use Filament\Forms\Components\FileUpload;
+use Filament\Forms\Components\Select;
+use Filament\Forms\Components\Textarea;
+use Filament\Forms\Components\TextInput;
+use Filament\Schemas\Components\Tabs;
+use Filament\Schemas\Components\Tabs\Tab;
use Filament\Schemas\Schema;
+use Filament\Support\Icons\Heroicon;
+use Ysfkaya\FilamentPhoneInput\Forms\PhoneInput;
class GutachterForm
{
@@ -10,7 +19,70 @@ class GutachterForm
{
return $schema
->components([
- //
+ Tabs::make('Tabs')
+ ->tabs([
+ Tab::make('Firmenname')
+ ->icon('lucide-stamp')
+ ->inlineLabel()
+ ->schema([
+ TextInput::make('company')
+ ->label('Firma')
+ ->required(),
+ Textarea::make('address')
+ ->label('Adresse')
+ ->required(),
+ TextInput::make('country')
+ ->label('Land')
+ ->default('Österreich')
+ ->required(),
+ ]),
+ Tab::make('Kontaktperson')
+ ->icon('lucide-contact')
+ ->inlineLabel()
+ ->schema([
+ TextInput::make('title')
+ ->label('Title')
+ ->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')
+ ->required()
+ ->prefixIcon(Heroicon::Envelope),
+ PhoneInput::make('phone')
+ ->label('Telefon')
+ ->defaultCountry('AT'),
+ ]),
+ Tab::make('Logo')
+ ->icon('phosphor-squares-four')
+ ->inlineLabel()
+ ->schema([
+ FileUpload::make('logo')->label('Gutachter Logo'),
+ ]),
+ Tab::make('Anzeige Im Gutachten')
+ ->icon('phosphor-eye')
+ ->inlineLabel()
+ ->schema([
+ CheckboxList::make('kopf')
+ ->Label('Bitte auswählen')
+ ->options([
+ 'logo' => '
',
+ 'firma' => '',
+ 'name' => '',
+ ])
+ ->allowHtml()
+ ->columnSpanFull(),
+ ]),
+ ])->columnSpanFull(),
]);
}
}
diff --git a/app/Filament/Resources/Gutachters/Tables/GutachtersTable.php b/app/Filament/Resources/Gutachters/Tables/GutachtersTable.php
index 7858b2f..0d5c1df 100644
--- a/app/Filament/Resources/Gutachters/Tables/GutachtersTable.php
+++ b/app/Filament/Resources/Gutachters/Tables/GutachtersTable.php
@@ -3,6 +3,7 @@
namespace App\Filament\Resources\Gutachters\Tables;
use Filament\Actions\EditAction;
+use Filament\Tables\Columns\ImageColumn;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
@@ -12,6 +13,10 @@ class GutachtersTable
{
return $table
->columns([
+ ImageColumn::make('logo'),
+ TextColumn::make('company')->label('Firma'),
+ TextColumn::make('gender')->label('Geschlecht'),
+ TextColumn::make('title')->label('Title'),
TextColumn::make('name'),
TextColumn::make('email')->copyable()->label('E-Mail'),
])
diff --git a/app/Filament/Resources/Kontos/Schemas/KontoForm.php b/app/Filament/Resources/Kontos/Schemas/KontoForm.php
index 796c708..4318dd9 100644
--- a/app/Filament/Resources/Kontos/Schemas/KontoForm.php
+++ b/app/Filament/Resources/Kontos/Schemas/KontoForm.php
@@ -27,34 +27,12 @@ class KontoForm
Tabs::make('Tabs')
->tabs([
- Tab::make('Zahlungsplan')
- ->schema([
- RadioDeck::make('plan_id')
- // ->label('Wählen sie eine Option')
- ->label('Zur Zeit bieten wie nur eine Zahlung per Gutachten an.')
- ->options(fn () => Plan::pluck('name', 'id')->toArray())
- ->descriptions(Plan::options())
- ->icons(fn () => Plan::pluck('icon', 'id')->toArray())
- ->required()
- ->iconPosition(IconPosition::Before) // Before | After
- ->iconSize(IconSize::TwoExtraLarge)
- ->alignment(Alignment::Center) // Start | Center | End
- ->padding('px-4 py-6') // Padding around the deck
- ->extraCardsAttributes([
- 'class' => 'rounded-xl drop-shadow-xl mt-1',
- ])
- ->extraOptionsAttributes([
- 'class' => 'text-2xl font-black tracking-tight lg:text-3xl',
- ])
- ->colors('primary')
- ->columns(3)
- ->columnSpanFull(),
- ])->columnSpanFull(),
- Tab::make('Firma')
+ Tab::make('Rechnungsdaten')
+ ->icon('lucide-file-pen-line')
->inlineLabel()
->schema([
TextInput::make('company')
- ->label('Firma')
+ ->label('Firma/Inhaber')
->required(),
TextInput::make('uid_number')
->label('UID Nummer')
@@ -69,6 +47,7 @@ class KontoForm
->required(),
])->columnSpanFull(),
Tab::make('Kontaktperson')
+ ->icon('lucide-contact')
->inlineLabel()
->schema([
TextInput::make('title')
@@ -94,6 +73,32 @@ class KontoForm
->label('Telefon')
->defaultCountry('AT'),
])->columnSpanFull(),
+
+ Tab::make('Zahlungsplan')
+ ->icon('phosphor-coins')
+ ->schema([
+ RadioDeck::make('plan_id')
+ // ->label('Wählen sie eine Option')
+ ->label('Zur Zeit bieten wie nur den Basic Plan als Zahlungvariante an.')
+ ->options(fn () => Plan::pluck('name', 'id')->toArray())
+ ->descriptions(Plan::options())
+ ->icons(fn () => Plan::pluck('icon', 'id')->toArray())
+ ->required()
+ ->iconPosition(IconPosition::Before) // Before | After
+ ->iconSize(IconSize::TwoExtraLarge)
+ ->alignment(Alignment::Center) // Start | Center | End
+ ->padding('px-4 py-6') // Padding around the deck
+ ->extraCardsAttributes([
+ 'class' => 'rounded-xl drop-shadow-xl mt-1',
+ ])
+ ->extraOptionsAttributes([
+ 'class' => 'text-2xl font-black tracking-tight lg:text-3xl',
+ ])
+ ->colors('primary')
+ ->disabled()
+ ->columns(3)
+ ->columnSpanFull(),
+ ])->columnSpanFull(),
])->columnSpanFull(),
]);
diff --git a/app/Models/Gutachter.php b/app/Models/Gutachter.php
index 4bbe794..baa577e 100644
--- a/app/Models/Gutachter.php
+++ b/app/Models/Gutachter.php
@@ -24,6 +24,7 @@ class Gutachter extends Model
'email',
'phone',
'use_logo',
+ 'kopf',
];
protected static function booted(): void
diff --git a/database/migrations/2025_09_05_131323_create_gutachter_tables.php b/database/migrations/2025_09_05_131323_create_gutachter_tables.php
index a518eeb..c7ac358 100644
--- a/database/migrations/2025_09_05_131323_create_gutachter_tables.php
+++ b/database/migrations/2025_09_05_131323_create_gutachter_tables.php
@@ -24,10 +24,21 @@ return new class extends Migration
$table->string('email')->nullable();
$table->string('phone')->nullable();
$table->boolean('use_logo')->default(false);
+ $table->string('kopf')->nullable();
$table->timestamps();
});
}
+ /**
+ * @return array
+ */
+ protected function casts(): array
+ {
+ return [
+ 'kopf' => 'array',
+ ];
+ }
+
/**
* Reverse the migrations.
*/
diff --git a/resources/views/pages/welcome.blade.php b/resources/views/pages/welcome.blade.php
index 44e8c7c..0c29187 100644
--- a/resources/views/pages/welcome.blade.php
+++ b/resources/views/pages/welcome.blade.php
@@ -19,7 +19,7 @@
Wohnungseigentumsrecht.
.. es werden das Verhältnis der einzelnen Eigentumsanteile innerhalb eines Gebäudes bestimmt.
-
+
mehr...
@@ -39,7 +39,7 @@
.. und erstellt Nutzwertgutachten nach vorgegebenen Normen.
-
+
mehr...
@@ -57,7 +57,7 @@
aria-describedby="featureDescription">..aus allen gängigen Zeicheprogrammen importiert.
.. die Parameter werden gesetzt und das Gutachten kann als PFD heruntergeladen werden.
-
+
mehr...