Files
MarkandClaude Sonnet 4.6 bb6323b141 Fix SEO audit issues: brand rename cleanup, sitemap HTTPS, structured data, titles, descriptions, canonicals
- Replace all "GameLog" brand references with "LoreKeepers" (og:site_name, twitter meta, top-rated, community lists)
- Force HTTPS in sitemap generation; update .env.example APP_URL to https://lorekeepers.games
- Enhance VideoGame JSON-LD on game pages: add image, datePublished, author fields
- Improve title tags across all main pages (keyword-rich, include year on game pages)
- Add/update meta descriptions and og:description on all public pages
- Add canonical tag and og_title/og_description to homepage
- Add rel=prev/next pagination links on /games via head_links stack
- Add @stack('head_links') to layout head for child view injection
- Smarter description truncation on game pages (last sentence boundary)
- Improve screenshot alt text with genre context

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 14:49:27 +03:00

67 lines
2.9 KiB
PHP

@extends('layouts.app')
@php use Illuminate\Support\Str; @endphp
@section('title', 'Community Lists — LoreKeepers')
@section('description', 'Browse public game lists created by the LoreKeepers community.')
@section('content')
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-10">
<div class="flex items-center justify-between mb-8">
<div>
<h1 class="text-2xl font-bold text-white">Community Lists</h1>
<p class="text-sm text-slate-500 mt-1">Public game lists from LoreKeepers members</p>
</div>
@auth
<a href="{{ route('lists.index') }}"
class="px-4 py-2 bg-purple-600 hover:bg-purple-700 text-white text-sm font-semibold rounded-lg transition-colors">
My Lists
</a>
@endauth
</div>
@if($lists->isEmpty())
<div class="text-center py-20">
<svg class="mx-auto w-12 h-12 text-slate-700 mb-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"/>
</svg>
<p class="text-slate-500 mb-2">No public lists yet.</p>
@guest
<p class="text-slate-600 text-sm"><a href="{{ route('register') }}" class="text-purple-400 hover:text-purple-300 transition-colors">Sign up</a> and create the first one!</p>
@endguest
</div>
@else
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-4">
@foreach($lists as $list)
<a href="{{ route('lists.show', $list) }}"
class="group block bg-[#16161d] border border-white/5 rounded-lg p-5 hover:border-purple-500/50 transition-all">
<h2 class="font-semibold text-white group-hover:text-purple-300 transition-colors line-clamp-1 mb-1">
{{ $list->title }}
</h2>
@if($list->description)
<p class="text-sm text-slate-500 line-clamp-2 mb-3">{{ $list->description }}</p>
@else
<div class="mb-3"></div>
@endif
<div class="flex items-center justify-between mt-auto">
<span class="text-xs text-slate-600">
{{ $list->list_games_count }} {{ Str::plural('game', $list->list_games_count) }}
</span>
@if($list->user)
<span class="text-xs text-purple-400 truncate max-w-[8rem]">
{{ $list->user->username }}
</span>
@endif
</div>
</a>
@endforeach
</div>
<div class="mt-8">
{{ $lists->links() }}
</div>
@endif
</div>
@endsection