You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pixelfed/app/Http/Controllers/LandingController.php

49 lines
1.3 KiB
PHTML

<?php
namespace App\Http\Controllers;
use App\Http\Resources\DirectoryProfile;
use App\Models\Profile;
use Illuminate\Contracts\View\View;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
class LandingController extends Controller
{
public function directoryRedirect(Request $request): RedirectResponse|View
{
if ($request->user()) {
return redirect('/');
}
abort_if((bool) config_cache('instance.landing.show_directory') == false, 404);
return view('site.index');
}
public function exploreRedirect(Request $request): RedirectResponse|View
{
if ($request->user()) {
return redirect('/');
}
abort_if((bool) config_cache('instance.landing.show_explore') == false, 404);
return view('site.index');
}
public function getDirectoryApi(Request $request)
{
abort_if((bool) config_cache('instance.landing.show_directory') == false, 404);
return DirectoryProfile::collection(
Profile::whereNull('domain')
->where('is_private', false)
->whereNull('status')
->whereIsSuggestable(true)
->orderByDesc('updated_at')
->cursorPaginate(20)
);
}
}