Updated Map View

This commit is contained in:
2026-06-16 11:16:32 +10:00
parent a270913931
commit 3aba428d2a
19 changed files with 790 additions and 654 deletions
@@ -33,7 +33,7 @@ class AuthenticatedSessionController extends Controller
$request->session()->regenerate();
return redirect()->intended(route('dashboard', absolute: false));
return redirect()->intended(route('home', absolute: false));
}
/**
@@ -10,6 +10,25 @@ use Inertia\Inertia;
class FlightProfileController extends Controller
{
public function index(){
if (auth()->check()) {
$user = auth()->user();
$defaultPage = $user->resolved_settings['default_login_page'];
$route = match ($defaultPage) {
'feed_first' => $user->following()->count() > 0 ? 'feed' : 'profile.view',
'feed' => 'feed',
'profile' => 'profile.view',
'dashboard' => 'dashboard',
};
$args = $route == 'profile.view' ? $user->name : null;
return redirect()->route($route, $args);
}
return redirect()->route('login');
}
public static function getUserFlightApiURL(User $user){
return '/data/user/'.$user->name.'/flights';
}
@@ -43,7 +62,25 @@ class FlightProfileController extends Controller
public function view(User $user)
{
return $this->departureBoard($user);
$loggedInUser = auth()->user();
$isPrivate = $user->resolved_settings['private_profile'];
if ($isPrivate && $user->id !== $loggedInUser?->id) {
if (!$loggedInUser || !$loggedInUser->isFollowing($user)) {
abort(404);
}
}
$defaultView = $loggedInUser ? $loggedInUser->resolved_settings['default_profile_view'] : 'map';
return match($defaultView) {
'boarding-passes' => $this->boardingPasses($user),
'map' => $this->map($user),
'departure-board' => $this->departureBoard($user),
'achievements' => redirect()->route('profile.achievements', $user->name),
};
}
public function flight(User $user, UserFlight $userFlight)
+5 -5
View File
@@ -44,14 +44,14 @@ class SettingsRegistry
[
'key' => 'default_login_page',
'type' => 'select',
'label' => 'Default Page After Login',
'label' => 'Default Page',
'category' => 'FlightsGoneBy Settings',
'default' => 'feed_first',
'options' => [
['value' => 'feed_first', 'label' => 'Feed if Following People, Profile if Not'],
['value' => 'profile', 'label' => 'Your Profile'],
['value' => 'feed', 'label' => 'Your Feed'],
['value' => 'dashboard', 'label' => 'Your Dashboard'],
['value' => 'feed_first', 'label' => 'My Feed if Following People, My Profile if Not'],
['value' => 'profile', 'label' => 'My Profile'],
['value' => 'feed', 'label' => 'My Feed'],
['value' => 'dashboard', 'label' => 'My Dashboard'],
],
],
[