diff --git a/config/filament-email-templates.php b/config/filament-email-templates.php index c730c21..9c1fd42 100644 --- a/config/filament-email-templates.php +++ b/config/filament-email-templates.php @@ -24,6 +24,9 @@ //Default Logo 'logo' => 'media/email-templates/logo.png', + //Browsed Logo + 'browsed_logo' => 'media/email-templates/logos', + //Logo size in pixels -> 200 pixels high is plenty big enough. 'logo_width' => '500', 'logo_height' => '126', diff --git a/database/migrations/create_email_templates_table.php.stub b/database/migrations/create_email_templates_table.php.stub index b07a051..a1f4798 100644 --- a/database/migrations/create_email_templates_table.php.stub +++ b/database/migrations/create_email_templates_table.php.stub @@ -28,6 +28,9 @@ return new class extends Migration $table->string('preheader', 191)->nullable()->comment('Only shows on some email clients below subject line'); $table->string('title', 50)->nullable()->comment('First line of email h1 string'); $table->text('content')->nullable(); + $table->enum('logo_type', ['website_logo', 'browse_another', 'paste_url'])->default('website_logo'); + $table->string('logo_img', 191)->nullable(); + $table->string('logo_url', 191)->nullable(); $table->timestamps(); $table->softDeletes(); $table->unique(['key', 'language']); diff --git a/resources/views/email/parts/_body.blade.php b/resources/views/email/parts/_body.blade.php index f17568d..bee5871 100644 --- a/resources/views/email/parts/_body.blade.php +++ b/resources/views/email/parts/_body.blade.php @@ -18,7 +18,7 @@
Dear ##user.firstname##,
"), + + Radio::make('logo_type') + ->label('Logo Type') + ->options([ + 'website_logo' => 'Website logo', + 'browse_another' => 'Browse another', + 'paste_url' => 'Paste url', + ]) + ->default('website_logo') + ->inline() + ->live(), + + FileUpload::make('logo_img') + ->label('Logo') + ->hint('Browse image') + ->hidden(fn (Get $get) => $get('logo_type') !== 'browse_another') + ->directory(config('filament-email-templates.browsed_logo')) + ->image() + ->required(), + + TextInput::make('logo_url') + ->label('Logo') + ->hint('Paste image url here') + ->placeholder('https://www.example.com/media/test.png') + ->hidden(fn (Get $get) => $get('logo_type') !== 'paste_url') + ->activeUrl() + ->required(), ] ),