This commit is contained in:
2026-10-20 19:17:49 +04:00
parent be6115a151
commit dbc1dfdb8a
35 changed files with 662 additions and 94 deletions
+1 -1
View File
@@ -60,7 +60,7 @@ class LandingController extends Controller
$bootstrap = [
'realm' => [
'name' => $realmName,
'mode' => sprintf('PvE · %s rate · RU', $rates['experience'] ?? 'x1'),
'mode' => sprintf('PvP · %s rate · RU', $rates['experience'] ?? 'x1'),
'realmlist' => $realmConfig['realmlist'],
'online' => $playersOnline !== null,
'players' => $playersOnline,
+2
View File
@@ -23,6 +23,8 @@ class NewsController extends Controller
->withQueryString()
->through(fn (News $item): array => $this->summary($item));
abort_if($articles->currentPage() > 1 && $articles->isEmpty(), 404);
return Inertia::render('News/Index', [
...$this->portalProps($request),
'articles' => $articles,
+27
View File
@@ -0,0 +1,27 @@
<?php
namespace App\Http\Controllers;
use App\Models\News;
use App\Services\SeoService;
use Illuminate\Http\Response;
class SeoController extends Controller
{
public function robots(SeoService $seo): Response
{
$rules = config('seo.indexable')
? "User-agent: *\nAllow: /\nDisallow: /api/\nDisallow: /launcher/\nDisallow: /appcast.xml\nDisallow: /up\n\nSitemap: ".$seo->routeUrl('seo.sitemap')."\n"
: "User-agent: *\nDisallow: /\n";
return response($rules, 200, ['Content-Type' => 'text/plain; charset=UTF-8']);
}
public function sitemap(SeoService $seo): Response
{
return response()->view('seo.sitemap', [
'seo' => $seo,
'articles' => News::query()->published()->select(['id', 'updated_at'])->orderBy('id')->cursor(),
], 200, ['Content-Type' => 'application/xml; charset=UTF-8']);
}
}
@@ -2,6 +2,7 @@
namespace App\Http\Middleware;
use App\Services\SeoService;
use Illuminate\Http\Request;
use Inertia\Middleware;
@@ -37,7 +38,7 @@ class HandleInertiaRequests extends Middleware
{
return [
...parent::share($request),
//
'seo' => fn (): array => app(SeoService::class)->forRequest($request),
];
}
}