Discord presence overhaul: game profiles, Spotify bar, Lanyard WS
Build & Push / Lint & Build (push) Successful in 1m19s
Build & Push / Build & Push Image (push) Successful in 31s

- Spotify: drop album line, normalize ";" separators to ",", add open-in-Spotify link and live progress bar
- Games: resolve missing artwork via public Discord RPC app icons with placeholder fallback; add in-site game profile modal (IGDB + Steam + ITAD: artwork, details, reviews, prices)
- Proxy game data through same-origin /api/game and /api/discord-app routes, CORS-locked to https://fristy.net
- Lanyard: SSR REST first paint, then live WebSocket with heartbeat, reconnect backoff and polling fallback
- Localize presence UI (tr/en/de): elapsed times, dates, numbers, currency, review labels, game descriptions
- Sort projects by last update, descending
- Slim dark scrollbars, compact Spotify progress bar
This commit is contained in:
fristy committed 2026-09-10 14:36:14 +03:00
1 parent ad943fff8c
commit bcc5662a44
16 files changed
+1888 -43

No files matched your search

+38 -1
View File
@@ -25,7 +25,44 @@
"listening": "Dinliyor",
"customStatus": "Durum",
"noActivity": "Şu an sessizlik... Ortalıkta bir şey yok gibi.",
"profile": "Profile Git"
"profile": "Profile Git",
"openOnSpotify": "Spotify'da Aç",
"gameProfile": "Oyun Profili",
"gameModal": {
"close": "Kapat",
"developers": "Geliştiriciler",
"publishers": "Yayıncılar",
"releaseDate": "Çıkış Tarihi",
"platforms": "Platformlar",
"links": "Bağlantılar",
"reviews": "İncelemeler",
"prices": "Fiyatlar",
"bestPrice": "En İyi Fiyat",
"historyLow": "Tarihi En Düşük",
"allPrices": "ITAD",
"openOnDiscord": "Discord Profili",
"openOnSteam": "Steam",
"openOnSteamDb": "SteamDB",
"loading": "Oyun bilgileri yükleniyor...",
"loadError": "Oyun bilgileri yüklenemedi.",
"screenshots": "Görseller",
"reviewsUnit": "değerlendirme",
"scrollBack": "Geri",
"scrollForward": "İleri",
"totalReviews": "Toplam Değerlendirme",
"steamdbRating": "SteamDB Puanı",
"reviewScores": {
"overwhelminglyPositive": "Son Derece Olumlu",
"veryPositive": "Çok Olumlu",
"positive": "Olumlu",
"mostlyPositive": "Çoğunlukla Olumlu",
"mixed": "Karışık",
"mostlyNegative": "Çoğunlukla Olumsuz",
"negative": "Olumsuz",
"veryNegative": "Çok Olumsuz",
"overwhelminglyNegative": "Son Derece Olumsuz"
}
}
},
"projects": {
"title": "Projeler",