33namespace Moox \Media \Resources \MediaCollectionResource \Pages ;
44
55use Filament \Actions \CreateAction ;
6+ use Moox \Media \Models \MediaCollection ;
7+ use Illuminate \Database \Eloquent \Model ;
68use Filament \Resources \Pages \ListRecords ;
79use Illuminate \Database \Eloquent \Builder ;
8- use Illuminate \Database \Eloquent \Model ;
9- use Illuminate \Database \Eloquent \Relations \Relation ;
10- use Moox \Media \Models \MediaCollection ;
10+ use Moox \Localization \Models \Localization ;
1111use Moox \Media \Resources \MediaCollectionResource ;
12+ use Illuminate \Database \Eloquent \Relations \Relation ;
1213
1314class ListMediaCollections extends ListRecords
1415{
@@ -23,10 +24,37 @@ class ListMediaCollections extends ListRecords
2324 public function mount (): void
2425 {
2526 parent ::mount ();
26- $ this ->lang = request ()->get ('lang ' , app ()->getLocale ());
27+ $ this ->lang = request ()->get ('lang ' , $ this ->getDefaultLocale ());
28+
29+ app ()->setLocale ($ this ->lang );
30+
2731 MediaCollection::ensureUncategorizedExists ();
2832 }
2933
34+ protected function getDefaultLocale (): string
35+ {
36+ if (class_exists (Localization::class)) {
37+ $ defaultLocale = Localization::where ('is_default ' , true )
38+ ->where ('is_active_admin ' , true )
39+ ->with ('language ' )
40+ ->first ();
41+
42+ if ($ defaultLocale && $ defaultLocale ->language ) {
43+ return $ defaultLocale ->language ->alpha2 ;
44+ }
45+
46+ $ firstActiveLocale = Localization::where ('is_active_admin ' , true )
47+ ->with ('language ' )
48+ ->first ();
49+
50+ if ($ firstActiveLocale && $ firstActiveLocale ->language ) {
51+ return $ firstActiveLocale ->language ->alpha2 ;
52+ }
53+ }
54+
55+ return app ()->getLocale ();
56+ }
57+
3058 protected function getHeaderActions (): array
3159 {
3260 return [
0 commit comments