warpengine-client.png

This commit is contained in:
2026-08-18 18:34:11 +02:00
parent f8c9cfe996
commit bf10aa87e8
4 changed files with 44 additions and 21 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 684 KiB

+1
View File
@@ -205,6 +205,7 @@ export default {
clientTitle: 'Get WarpEngine Store',
clientDesc: 'A small desktop application: the catalog as a grid of cards, one click to install a game into your own application menu, one to play it, one to remove it. Nothing to set up first — it downloads the store itself on first run — and on Windows it is the way in, because `curl … | sh` does not exist there.',
clientPlatforms: 'Linux, macOS and Windows',
clientShotAlt: 'The WarpEngine Store window: the store picker and category filters on the left, and the catalog as a grid of game cards with install and play buttons.',
clientPointSetup: 'Sets the store up itself on first run — nothing to install beforehand.',
clientPointBrowse: 'Filter by platform, by what is installed, or by what has an update.',
clientPointSame: 'The same store underneath, so the command line keeps working on the same games.',
+1
View File
@@ -205,6 +205,7 @@ export default {
clientTitle: 'Töltsd le a WarpEngine Store-t',
clientDesc: 'Egy kis asztali alkalmazás: a katalógus kártyákban, egy kattintás a telepítés a saját alkalmazásmenüdbe, egy az indítás, egy az eltávolítás. Előre semmit nem kell beállítani — első indításkor magát a store-t is letölti —, Windowson pedig ez az út, mert ott a `curl … | sh` nem létezik.',
clientPlatforms: 'Linux, macOS és Windows',
clientShotAlt: 'A WarpEngine Store ablaka: balra a store-választó és a kategóriaszűrők, jobbra a katalógus játékkártyákban, telepítés és indítás gombokkal.',
clientPointSetup: 'Első indításkor magát a store-t is beállítja — előre semmit nem kell telepíteni.',
clientPointBrowse: 'Szűrhetsz platformra, a telepítettekre vagy arra, amihez frissítés van.',
clientPointSame: 'Alatta ugyanaz a store, tehát a parancssor ugyanazokon a játékokon dolgozik tovább.',
@@ -19,28 +19,39 @@
<h2 class="st-app-title">
<i class="fa-solid fa-window-maximize st-app-icon"></i> {{ t('stores.clientTitle') }}
</h2>
<p class="st-app-lead">{{ t('stores.clientDesc') }}</p>
<ul class="st-client-points">
<li><i class="fa-solid fa-check"></i> {{ t('stores.clientPointSetup') }}</li>
<li><i class="fa-solid fa-check"></i> {{ t('stores.clientPointBrowse') }}</li>
<li><i class="fa-solid fa-check"></i> {{ t('stores.clientPointSame') }}</li>
</ul>
<div class="st-links">
<a :href="client.releasesUrl" target="_blank" rel="noopener noreferrer"
class="st-link st-link-cta">
<i class="fa-solid fa-download"></i> {{ t('stores.clientDownload') }}
</a>
<a :href="client.repoUrl" target="_blank" rel="noopener noreferrer" class="st-link st-link-dark">
<i class="fa-solid fa-code-branch"></i> {{ t('stores.repo') }}
</a>
<a :href="client.wikiUrl" target="_blank" rel="noopener noreferrer" class="st-link st-link-indigo">
<i class="fa-solid fa-book"></i> {{ t('stores.docs') }}
</a>
<div class="st-app-grid">
<div>
<p class="st-app-lead">{{ t('stores.clientDesc') }}</p>
<ul class="st-client-points">
<li><i class="fa-solid fa-check"></i> {{ t('stores.clientPointSetup') }}</li>
<li><i class="fa-solid fa-check"></i> {{ t('stores.clientPointBrowse') }}</li>
<li><i class="fa-solid fa-check"></i> {{ t('stores.clientPointSame') }}</li>
</ul>
<div class="st-links">
<a :href="client.releasesUrl" target="_blank" rel="noopener noreferrer"
class="st-link st-link-cta">
<i class="fa-solid fa-download"></i> {{ t('stores.clientDownload') }}
</a>
<a :href="client.repoUrl" target="_blank" rel="noopener noreferrer" class="st-link st-link-dark">
<i class="fa-solid fa-code-branch"></i> {{ t('stores.repo') }}
</a>
<a :href="client.wikiUrl" target="_blank" rel="noopener noreferrer" class="st-link st-link-indigo">
<i class="fa-solid fa-book"></i> {{ t('stores.docs') }}
</a>
</div>
<p class="st-app-platforms">
<i class="fa-brands fa-linux"></i> <i class="fa-brands fa-apple"></i>
<i class="fa-brands fa-windows"></i> {{ t('stores.clientPlatforms') }}
</p>
</div>
<!-- The window itself, because a store is a thing you look at. Eager, with its
dimensions given: it sits in the first screen, so lazy-loading it would only
buy a reflow. -->
<figure class="st-app-shot">
<img :src="clientScreenshot" :alt="t('stores.clientShotAlt')" width="2304" height="1664">
</figure>
</div>
<p class="st-app-platforms">
<i class="fa-brands fa-linux"></i> <i class="fa-brands fa-apple"></i>
<i class="fa-brands fa-windows"></i> {{ t('stores.clientPlatforms') }}
</p>
<p class="st-note">{{ t('stores.clientNote') }}</p>
</section>
@@ -149,6 +160,7 @@ import { RouterLink, useRoute, useRouter } from 'vue-router'
import { useI18n } from 'vue-i18n'
import { CONFIG } from '../../lib/config'
import CommandBlock from './CommandBlock.vue'
import clientScreenshot from '../../assets/warpengine-client.png'
const { t } = useI18n()
const route = useRoute()
@@ -328,6 +340,15 @@ const engines = [
.st-app-platforms {
@apply flex items-center gap-2 text-sm text-gray-500 mt-4;
}
.st-app-grid {
@apply grid gap-6 items-start lg:grid-cols-2;
}
.st-app-shot {
@apply rounded-xl overflow-hidden border border-emerald-200/70 shadow-lg bg-gray-900;
}
.st-app-shot img {
@apply block w-full h-auto;
}
.st-link-cta {
@apply bg-emerald-600 text-white hover:bg-emerald-700 text-base px-5 py-2.5 font-semibold;
}