Skip to content

Commit 83b9593

Browse files
committed
readable mime types
1 parent 60803b5 commit 83b9593

File tree

2 files changed

+44
-22
lines changed

2 files changed

+44
-22
lines changed

packages/media/src/Models/Media.php

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22

33
namespace Moox\Media\Models;
44

5-
use Illuminate\Database\Eloquent\Relations\MorphTo;
65
use Spatie\Image\Enums\Fit;
76
use Spatie\MediaLibrary\HasMedia;
7+
use Illuminate\Support\Facades\Storage;
88
use Spatie\MediaLibrary\InteractsWithMedia;
9+
use Illuminate\Database\Eloquent\Relations\MorphTo;
910
use Spatie\MediaLibrary\MediaCollections\Models\Media as BaseMedia;
1011

1112
class Media extends BaseMedia implements HasMedia
@@ -43,4 +44,24 @@ public function model(): MorphTo
4344
{
4445
return $this->morphTo();
4546
}
47+
48+
public function getReadableMimeType(): string
49+
{
50+
$mimeMap = [
51+
'application/pdf' => 'PDF',
52+
'application/vnd.openxmlformats-officedocument.wordprocessingml.document' => 'DOCX',
53+
'application/msword' => 'DOC',
54+
'application/vnd.ms-excel' => 'XLS',
55+
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' => 'XLSX',
56+
'video/mp4' => 'MP4',
57+
'audio/mpeg' => 'MP3',
58+
'image/jpeg' => 'JPEG',
59+
'image/png' => 'PNG',
60+
'image/gif' => 'GIF',
61+
'image/webp' => 'WEBP',
62+
'image/svg+xml' => 'SVG',
63+
];
64+
65+
return $mimeMap[$this->mime_type] ?? strtoupper(str_replace('application/', '', $this->mime_type));
66+
}
4667
}

packages/media/src/Resources/MediaResource.php

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,25 @@
22

33
namespace Moox\Media\Resources;
44

5+
use Filament\Forms\Form;
6+
use Filament\Tables\Table;
7+
use Filament\Support\RawJs;
8+
use Illuminate\Support\Str;
9+
use Moox\Media\Models\Media;
510
use Filament\Facades\Filament;
6-
use Filament\Forms\Components\Placeholder;
11+
use Filament\Resources\Resource;
12+
use Illuminate\Support\Facades\Blade;
713
use Filament\Forms\Components\Section;
814
use Filament\Forms\Components\Textarea;
9-
use Filament\Forms\Components\TextInput;
10-
use Filament\Forms\Form;
11-
use Filament\Resources\Resource;
12-
use Filament\Support\RawJs;
1315
use Filament\Tables\Actions\EditAction;
16+
use Filament\Forms\Components\TextInput;
1417
use Filament\Tables\Columns\Layout\Stack;
1518
use Filament\Tables\Filters\SelectFilter;
16-
use Filament\Tables\Table;
1719
use Illuminate\Database\Eloquent\Builder;
18-
use Illuminate\Support\Facades\Blade;
19-
use Illuminate\Support\Str;
2020
use Moox\Core\Traits\Base\BaseInResource;
21+
use Filament\Forms\Components\Placeholder;
22+
use Filament\Support\Facades\FilamentIcon;
2123
use Moox\Media\Forms\Components\ImageDisplay;
22-
use Moox\Media\Models\Media;
2324
use Moox\Media\Resources\MediaResource\Pages;
2425
use Moox\Media\Tables\Columns\CustomImageColumn;
2526

@@ -55,35 +56,35 @@ public static function form(Form $form): Form
5556
->schema([
5657
Placeholder::make('mime_type')
5758
->label('Dateityp')
58-
->content(fn ($record) => $record->mime_type),
59+
->content(fn($record) => $record->getReadableMimeType()),
5960

6061
Placeholder::make('size')
6162
->label('Dateigröße')
62-
->content(fn ($record) => number_format($record->size / 1024, 2).' KB'),
63+
->content(fn($record) => number_format($record->size / 1024, 2) . ' KB'),
6364

6465
Placeholder::make('file_name')
6566
->label('Originaldateiname')
66-
->content(fn ($record) => $record->file_name),
67+
->content(fn($record) => $record->file_name),
6768

6869
Placeholder::make('dimensions')
6970
->label('Abmessungen')
7071
->content(function ($record) {
7172
$dimensions = $record->getCustomProperty('dimensions');
72-
if (! $dimensions) {
73+
if (!$dimensions) {
7374
return '-';
7475
}
7576

7677
return "{$dimensions['width']} × {$dimensions['height']} Pixel";
7778
})
78-
->visible(fn ($record) => str_starts_with($record->mime_type, 'image/')),
79+
->visible(fn($record) => str_starts_with($record->mime_type, 'image/')),
7980

8081
Placeholder::make('created_at')
8182
->label('Hochgeladen am')
82-
->content(fn ($record) => $record->created_at?->format('d.m.Y H:i')),
83+
->content(fn($record) => $record->created_at?->format('d.m.Y H:i')),
8384

8485
Placeholder::make('updated_at')
8586
->label('Zuletzt bearbeitet')
86-
->content(fn ($record) => $record->updated_at?->format('d.m.Y H:i')),
87+
->content(fn($record) => $record->updated_at?->format('d.m.Y H:i')),
8788

8889
Placeholder::make('usage')
8990
->label('Verwendet in')
@@ -98,7 +99,7 @@ public static function form(Form $form): Form
9899

99100
$links = $usages->map(function ($usage) {
100101
$type = Str::plural(strtolower(class_basename($usage->media_usable_type)));
101-
$url = Filament::getCurrentPanel()->getUrl().'/'.$type.'/'.$usage->media_usable_id;
102+
$url = Filament::getCurrentPanel()->getUrl() . '/' . $type . '/' . $usage->media_usable_id;
102103

103104
return Blade::render('<a href="{{ $url }}" target="_blank" class="text-primary underline">{{ $url }}</a>', [
104105
'url' => $url,
@@ -153,7 +154,7 @@ public static function table(Table $table): Table
153154
'class' => 'rounded-lg',
154155
'style' => 'width: 100%; height: auto; min-width: 150px; max-width: 250px; aspect-ratio: 1/1; object-fit: cover;',
155156
])
156-
->tooltip(fn ($record) => $record->title ?? 'Kein Titel')
157+
->tooltip(fn($record) => $record->title ?? 'Kein Titel')
157158
->searchable(['name', 'title', 'description', 'alt', 'internal_note']),
158159
]),
159160
])
@@ -170,7 +171,7 @@ public static function table(Table $table): Table
170171
->color('danger')
171172
->icon('heroicon-m-trash')
172173
->requiresConfirmation()
173-
->modalHeading(fn ($record) => 'Bild "'.($record->title ?: $record->name).'" löschen')
174+
->modalHeading(fn($record) => 'Bild "' . ($record->title ?: $record->name) . '" löschen')
174175
->modalDescription('Sind Sie sicher, dass Sie dieses Bild löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.')
175176
->modalSubmitActionLabel('Ja, löschen')
176177
->modalCancelActionLabel('Abbrechen')
@@ -191,7 +192,7 @@ public static function table(Table $table): Table
191192
'documents' => 'Dokumente',
192193
])
193194
->query(function (Builder $query, array $data) {
194-
if (! $data['value']) {
195+
if (!$data['value']) {
195196
return $query;
196197
}
197198

@@ -236,7 +237,7 @@ public static function table(Table $table): Table
236237
'year' => 'Dieses Jahr',
237238
])
238239
->query(function (Builder $query, array $data) {
239-
if (! $data['value']) {
240+
if (!$data['value']) {
240241
return $query;
241242
}
242243

0 commit comments

Comments
 (0)