Files

47 lines
1.1 KiB
PHP
Raw Permalink Normal View History

2024-05-23 16:54:06 +02:00
<?php
namespace App\Livewire\Drawer\Album;
2024-06-01 03:10:30 +02:00
use App\Models\BatchMutation;
use App\Services\MediaImporter;
use App\Models\Album;
use Illuminate\Contracts\View\Factory;
use Illuminate\Contracts\View\View;
use Illuminate\Support\Facades\Bus;
use Livewire\Attributes\Locked;
use Livewire\Attributes\Validate;
2024-05-23 16:54:06 +02:00
use Livewire\Component;
use Livewire\Features\SupportFileUploads\WithFileUploads;
class AddImage extends Component
{
use WithFileUploads;
2024-06-01 03:10:30 +02:00
#[Locked]
public Album $album;
#[Locked]
public bool $processing = false;
#[Validate(['media.*' => 'image|max:8192'])] // max:8MB
2024-05-23 16:54:06 +02:00
public $media = [];
2024-06-01 03:10:30 +02:00
public function save(MediaImporter $importer) : void {
$this->validate();
2024-06-12 19:51:41 +02:00
foreach ($this->media as $file) {
$importer->import($file, $this->album);
}
2024-06-01 03:10:30 +02:00
$this->redirect(route('album.show', $this->album), navigate: true);
}
public function mount(Album $album) : void {
$this->album = $album;
}
public function render() : View|Factory
2024-05-23 16:54:06 +02:00
{
return view('livewire.drawer.album.add-image');
}
}