Added Splash Screens for PWA
This commit is contained in:
@@ -184,7 +184,7 @@ class UserProfileController extends Controller
|
||||
$alliance = Alliance::where('internal_name', $allianceInternalName)
|
||||
->with('airlines')
|
||||
->firstOrFail();
|
||||
$airlines = $alliance->airlines()->with('country')->orderBy('name')->get();
|
||||
$airlines = $alliance->airlines()->with(['country', 'mergedFrom'])->orderBy('name')->get();
|
||||
}
|
||||
|
||||
$aircraftFamilies = match($achievement->internal_name){
|
||||
|
||||
@@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\Casts\Attribute;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
|
||||
class Airline extends Model
|
||||
{
|
||||
@@ -20,6 +21,7 @@ class Airline extends Model
|
||||
'alliance_id',
|
||||
'active',
|
||||
'logo',
|
||||
'merged_into_id',
|
||||
];
|
||||
|
||||
protected $casts = [
|
||||
@@ -65,4 +67,19 @@ class Airline extends Model
|
||||
{
|
||||
return $this->belongsTo(Country::class);
|
||||
}
|
||||
|
||||
public function mergedInto(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(Airline::class, 'merged_into_id');
|
||||
}
|
||||
|
||||
public function mergedFrom(): HasMany
|
||||
{
|
||||
return $this->hasMany(Airline::class, 'merged_into_id');
|
||||
}
|
||||
|
||||
public function canonical(): self
|
||||
{
|
||||
return $this->mergedInto ?? $this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Services\Achievements\Checkers;
|
||||
|
||||
use App\Models\Airline;
|
||||
use App\Models\Alliance;
|
||||
use App\Models\User;
|
||||
use App\Models\UserFlight;
|
||||
@@ -20,9 +21,10 @@ class AirlinesAndAlliancesChecker extends BaseChecker
|
||||
$alliances = Alliance::withCount('airlines')->pluck('id', 'internal_name');
|
||||
|
||||
$flownAllianceAirlines = $flights
|
||||
->filter(fn(UserFlight $f) => $f->airline?->alliance !== null)
|
||||
->groupBy(fn(UserFlight $f) => $f->airline->alliance->internal_name)
|
||||
->map(fn($group) => $group->pluck('airline.internal_name')->unique()->count());
|
||||
->map(fn(UserFlight $f) => $f->airline?->canonical())
|
||||
->filter(fn(?Airline $a) => $a?->alliance !== null)
|
||||
->groupBy(fn(Airline $a) => $a->alliance->internal_name)
|
||||
->map(fn($group) => $group->pluck('internal_name')->unique()->count());
|
||||
|
||||
$check = fn(string $alliance): int => $flownAllianceAirlines->get($alliance, 0);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user