Files
2026-08-02 17:55:21 +00:00

161 lines
10 KiB
Plaintext

{% extends '__layout__.html' %}
{% block title %}Games{% endblock %}
{% block head %}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.css">
<style>
.place-card { height:220px !important; aspect-ratio:0.640909/1; }
.place-card-container { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:0; }
</style>
{% endblock %}
{% block content %}
<div class="w-100 ps-4 pe-4" style="padding-top:24px;min-height:100vh;max-width:1950px;margin:0 auto;">
{% if GameLookupResults %}
<form method="get" style="min-width:250px;max-width:500px;margin-bottom:12px;">
<div class="d-flex" style="gap:6px;">
<input type="text" class="form-control" name="q" value="{% if SearchQuery != None %}{{SearchQuery}}{% endif %}" placeholder="Search games...">
<button type="submit" class="btn btn-secondary fw-bold" style="min-width:44px;"><i class="bi bi-search"></i></button>
</div>
</form>
<div class="p-2 w-100 place-card-container">
{% for place in GameLookupResults: %}
<a class="text-decoration-none p-1" href="/games/{{place.id}}/{{place.slug}}">
<div class="overflow-hidden place-card w-100">
<div class="position-relative">
<img width="100%" style="aspect-ratio:1/1;" src="/Thumbs/PlaceIcon.ashx?assetId={{place.id}}&x=150&y=150" alt="{{place.name}}">
<div class="position-absolute" style="bottom:0;left:0;">
<div class="fw-bold text-white" style="font-size:12px;padding:3px;border-top-right-radius:4px;background:rgba(0,0,0,0.55);">{{place.placeyear.value}}</div>
</div>
</div>
<div class="p-1">
<h5 class="mb-0" style="font-size:17px;text-overflow:ellipsis;">{{place.name}}</h5>
<div class="d-flex align-items-center">
<p style="margin:0;font-size:14px;" class="text-secondary"><i class="bi bi-people"></i> {{place.playingcount}} <span style="font-size:13px;">Playing</span></p>
</div>
<div class="w-100 votePercentageBackground">
<div class="votePercentageFill" style="width:{{place.likePercentage}}%;"></div>
<div><div class="segment" style="left:18%;"></div><div class="segment" style="left:38%;"></div><div class="segment" style="left:58%;"></div><div class="segment" style="left:78%;"></div></div>
</div>
</div>
</div>
</a>
{%endfor%}
</div>
<div class="d-flex align-items-center mt-2">
{% if GameLookupResultsBackendResult.has_prev: %}
<a href="/games?q={{SearchQuery}}&page={{GameLookupResultsBackendResult.prev_num}}" class="ms-auto text-decoration-none">Previous</a>
{%else%}
<span class="ms-auto text-secondary">Previous</span>
{% endif %}
<p class="ms-3 me-3 m-0">Page {{GameLookupResultsBackendResult.page}} of {{GameLookupResultsBackendResult.pages}}</p>
{% if GameLookupResultsBackendResult.has_next: %}
<a href="/games?q={{SearchQuery}}&page={{GameLookupResultsBackendResult.next_num}}" class="me-auto text-decoration-none">Next</a>
{%else%}
<span class="me-auto text-secondary">Next</span>
{% endif %}
</div>
{% elif not GameLookupResults and SearchQuery %}
<form method="get" style="min-width:250px;max-width:500px;margin-bottom:12px;">
<div class="d-flex" style="gap:6px;">
<input type="text" class="form-control" name="q" value="{{SearchQuery}}" placeholder="Search games...">
<button type="submit" class="btn btn-secondary fw-bold" style="min-width:44px;"><i class="bi bi-search"></i></button>
</div>
</form>
<div class="w-100 p-2">
<p>No results found for "{{SearchQuery}}"</p>
</div>
{% else %}
<div class="d-flex align-items-center" style="flex-wrap:wrap;gap:12px;margin-bottom:8px;">
<div class="d-flex align-items-center">
<h1 style="margin:0;">Popular</h1>
<a class="ms-3 text-decoration-none" href="/games/popular/view">View All</a>
</div>
<form method="get" class="ms-auto" style="min-width:300px;">
<div class="d-flex" style="gap:6px;">
<input type="text" class="form-control" name="q" value="{% if SearchQuery != None %}{{SearchQuery}}{% endif %}" placeholder="Search games...">
<button type="submit" class="btn btn-secondary fw-bold" style="min-width:44px;"><i class="bi bi-search"></i></button>
</div>
</form>
</div>
<div class="p-2 w-100 place-card-container">
{% for place in PopularPlaces: %}
<a class="text-decoration-none p-1" href="/games/{{place.id}}/{{place.slug}}">
<div class="overflow-hidden place-card w-100">
<div class="position-relative">
<img width="100%" style="aspect-ratio:1/1;" src="/Thumbs/PlaceIcon.ashx?assetId={{place.id}}&x=150&y=150" alt="{{place.name}}">
<div class="position-absolute" style="bottom:0;left:0;">
<div class="fw-bold text-white" style="font-size:12px;padding:3px;border-top-right-radius:4px;background:rgba(0,0,0,0.55);">{{place.placeyear.value}}</div>
</div>
</div>
<div class="p-1">
<h5 class="mb-0" style="font-size:17px;text-overflow:ellipsis;">{{place.name}}</h5>
<div class="d-flex align-items-center">
<p style="margin:0;font-size:14px;" class="text-secondary"><i class="bi bi-people"></i> {{place.playingcount}} <span style="font-size:13px;">Playing</span></p>
</div>
<div class="w-100 votePercentageBackground">
<div class="votePercentageFill" style="width:{{place.likePercentage}}%;"></div>
<div><div class="segment" style="left:18%;"></div><div class="segment" style="left:38%;"></div><div class="segment" style="left:58%;"></div><div class="segment" style="left:78%;"></div></div>
</div>
</div>
</div>
</a>
{%endfor%}
</div>
<div class="d-flex align-items-center mt-3">
<h1 style="margin:0;">Featured</h1>
<a class="ms-3 text-decoration-none" href="/games/featured/view">View All</a>
</div>
<div class="p-2 w-100 place-card-container">
{% for place in FeaturedPlacesInfo: %}
<a class="text-decoration-none p-1" href="/games/{{place.id}}/{{place.slug}}">
<div class="overflow-hidden place-card w-100">
<div class="position-relative">
<img width="100%" style="aspect-ratio:1/1;" src="/Thumbs/PlaceIcon.ashx?assetId={{place.id}}&x=150&y=150" alt="{{place.name}}">
<div class="position-absolute" style="bottom:0;left:0;">
<div class="fw-bold text-white" style="font-size:12px;padding:3px;border-top-right-radius:4px;background:rgba(0,0,0,0.55);">{{place.placeyear.value}}</div>
</div>
</div>
<div class="p-1">
<h5 class="mb-0" style="font-size:17px;text-overflow:ellipsis;">{{place.name}}</h5>
<div class="d-flex align-items-center">
<p style="margin:0;font-size:14px;" class="text-secondary"><i class="bi bi-people"></i> {{place.playingcount}} <span style="font-size:13px;">Playing</span></p>
</div>
<div class="w-100 votePercentageBackground">
<div class="votePercentageFill" style="width:{{place.likePercentage}}%;"></div>
<div><div class="segment" style="left:18%;"></div><div class="segment" style="left:38%;"></div><div class="segment" style="left:58%;"></div><div class="segment" style="left:78%;"></div></div>
</div>
</div>
</div>
</a>
{%endfor%}
</div>
<div class="d-flex align-items-center mt-3">
<h1 style="margin:0;">Recently Updated</h1>
<a class="ms-3 text-decoration-none" href="/games/updated/view">View All</a>
</div>
<div class="p-2 w-100 place-card-container">
{% for place in RecentlyUpdatedPlaces: %}
<a class="text-decoration-none p-1" href="/games/{{place.id}}/{{place.slug}}">
<div class="overflow-hidden place-card w-100">
<div class="position-relative">
<img width="100%" style="aspect-ratio:1/1;" src="/Thumbs/PlaceIcon.ashx?assetId={{place.id}}&x=150&y=150" alt="{{place.name}}">
<div class="position-absolute" style="bottom:0;left:0;">
<div class="fw-bold text-white" style="font-size:12px;padding:3px;border-top-right-radius:4px;background:rgba(0,0,0,0.55);">{{place.placeyear.value}}</div>
</div>
</div>
<div class="p-1">
<h5 class="mb-0" style="font-size:17px;text-overflow:ellipsis;">{{place.name}}</h5>
<div class="d-flex align-items-center">
<p style="margin:0;font-size:14px;" class="text-secondary"><i class="bi bi-people"></i> {{place.playingcount}} <span style="font-size:13px;">Playing</span></p>
</div>
<div class="w-100 votePercentageBackground">
<div class="votePercentageFill" style="width:{{place.likePercentage}}%;"></div>
<div><div class="segment" style="left:18%;"></div><div class="segment" style="left:38%;"></div><div class="segment" style="left:58%;"></div><div class="segment" style="left:78%;"></div></div>
</div>
</div>
</div>
</a>
{%endfor%}
</div>
{% endif %}
</div>
{% endblock %}