feat(appstore): показывать рабочий порт приложения в каталоге и на карточке
All checks were successful
Deploy to Production / Trigger production update (push) Successful in 8s

Порт (CatalogApp.port) уже был в API и типах, но не выводился в UI. Добавлен вывод в шапку страницы приложения и бейджем в карточке каталога (ключ appstore.port уже в локалях).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
markmorado
2026-07-08 00:51:58 +05:00
parent e497ae541f
commit c87a13953e
2 changed files with 4 additions and 0 deletions

View File

@@ -47,6 +47,7 @@ export default function AppDetailPage() {
<p className="text-sm text-muted-foreground">{app.short_desc}</p>
<div className="mt-1 flex flex-wrap items-center gap-2 text-xs text-muted-foreground">
{app.version && <span>{t('appstore.version')}: {app.version}</span>}
{app.port && <span>{t('appstore.port')}: {app.port}</span>}
{app.author && <span>{t('appstore.by')} {app.author}</span>}
{(app.categories ?? []).map((c) => <Badge key={c} variant="outline" className="text-2xs">{t(`appstore.categories.${c}`, c)}</Badge>)}
</div>

View File

@@ -127,6 +127,9 @@ export default function AppStorePage() {
{(app.categories ?? []).slice(0, 2).map((c) => (
<Badge key={c} variant="outline" className="text-2xs">{t(`appstore.categories.${c}`, c)}</Badge>
))}
{app.port && (
<Badge variant="outline" className="text-2xs">{t('appstore.port')}: {app.port}</Badge>
)}
{!app.available && (
<Badge variant="destructive" className="text-2xs">{t('appstore.unavailable')}</Badge>
)}