diff --git a/app/Filament/Infolists/Components/SpatieMediaLibraryFileEntry.php b/app/Filament/Infolists/Components/SpatieMediaLibraryFileEntry.php index f74525b..f7a859d 100644 --- a/app/Filament/Infolists/Components/SpatieMediaLibraryFileEntry.php +++ b/app/Filament/Infolists/Components/SpatieMediaLibraryFileEntry.php @@ -4,6 +4,7 @@ namespace App\Filament\Infolists\Components; use Closure; use Filament\Infolists\Components\Entry; +use Filament\Actions\Action; use Filament\Support\Concerns\HasMediaFilter; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Arr; @@ -16,6 +17,25 @@ class SpatieMediaLibraryFileEntry extends Entry { use HasMediaFilter; + public function getViewMediaActionName(): string + { + return 'view_media_' . $this->getName(); + } + + protected function setUp(): void + { + parent::setUp(); + + $this->registerActions([ + Action::make($this->getViewMediaActionName()) + ->label(__('Watch Full')) + ->modalContent(fn (array $arguments) => view('filament.infolists.components.image-modal', ['url' => $arguments['url']])) + ->modalSubmitAction(false) + ->modalCancelAction(false) + ->modalWidth('5xl'), + ]); + } + protected string $view = 'filament.infolists.components.spatie-media-library-file-entry'; protected string | Closure | null $collection = null; @@ -75,7 +95,7 @@ class SpatieMediaLibraryFileEntry extends Entry public function getVisibility(): string { - return $this->evaluate($this->visibility); + return (string) $this->evaluate($this->visibility); } public function isDownloadable(): bool diff --git a/lang/tk.json b/lang/tk.json index f6e80c7..762b90b 100644 --- a/lang/tk.json +++ b/lang/tk.json @@ -728,5 +728,6 @@ "Online payments": "Onlaýn tölegler", "USD rate": "USD kursy", "Total": "Jemi", - "Data": "Maglumatlar" + "Data": "Maglumatlar", + "Watch Full": "Giňişleýin" } diff --git a/resources/views/filament/infolists/components/image-modal.blade.php b/resources/views/filament/infolists/components/image-modal.blade.php new file mode 100644 index 0000000..8453a79 --- /dev/null +++ b/resources/views/filament/infolists/components/image-modal.blade.php @@ -0,0 +1,3 @@ +
+ Preview +
diff --git a/resources/views/filament/infolists/components/spatie-media-library-file-entry.blade.php b/resources/views/filament/infolists/components/spatie-media-library-file-entry.blade.php index f0eb5a2..be55c06 100644 --- a/resources/views/filament/infolists/components/spatie-media-library-file-entry.blade.php +++ b/resources/views/filament/infolists/components/spatie-media-library-file-entry.blade.php @@ -16,23 +16,30 @@ ]) > @foreach ($media as $medium) -
+
- - - -
+ {{ __('Watch Full') }} + +
+ + + + {{ $getLabel() }} + + + + @endforeach @else