Refactor components and models:

- 🔥 Removed deprecated `placeholder-pattern` component.
- 🧹 Simplified and cleaned up Blade views by removing unused comments and sections.
- 🗂️ Extracted `SetsCreatedBy` concern for DRY and reused it across models.
- 🔧 Consolidated configuration for Horizon `authorized_nostr_keys`.
- 🧪 Migrated media conversion to use new Spatie enums for clarity.
- ♻️ Replaced repetitive link rendering with dynamic rendering in meetups and services views.
This commit is contained in:
HolgerHatGarKeineNode
2026-06-29 22:20:01 +02:00
parent beaf028c1d
commit a2a640809a
29 changed files with 130 additions and 439 deletions
+2 -21
View File
@@ -2,6 +2,7 @@
namespace App\Models;
use App\Models\Concerns\SetsCreatedBy;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
@@ -13,14 +14,13 @@ use Spatie\MediaLibrary\InteractsWithMedia;
use Spatie\MediaLibrary\MediaCollections\Models\Media;
use Spatie\Sluggable\HasSlug;
use Spatie\Sluggable\SlugOptions;
use Staudenmeir\EloquentHasManyDeep\HasRelationships;
class Venue extends Model implements HasMedia
{
use HasFactory;
use HasRelationships;
use HasSlug;
use InteractsWithMedia;
use SetsCreatedBy;
/**
* The attributes that aren't mass assignable.
@@ -39,15 +39,6 @@ class Venue extends Model implements HasMedia
'city_id' => 'integer',
];
protected static function booted()
{
static::creating(function ($model) {
if (! $model->created_by) {
$model->created_by = auth()->id();
}
});
}
public function registerMediaConversions(?Media $media = null): void
{
$this
@@ -88,16 +79,6 @@ class Venue extends Model implements HasMedia
return $this->belongsTo(City::class);
}
public function lecturers()
{
return $this->hasManyDeepFromRelations($this->courses(), (new Course)->lecturer());
}
public function courses()
{
return $this->hasManyDeepFromRelations($this->events(), (new CourseEvent)->course());
}
public function courseEvents(): HasMany
{
return $this->hasMany(CourseEvent::class);