56 lines
2.5 KiB
YAML
56 lines
2.5 KiB
YAML
- type: custom-api
|
|||
|
|
title: 🎮 Steam Friends
|
||
|
|
cache: 1m
|
||
|
|
url: https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=${STEAM_API_KEY}&steamids=${STEAM_FRIENDS}
|
||
|
|
template: |
|
||
|
|
<ul class="list list-gap-10 collapsible-container" data-collapse-after="5">
|
||
|
|
{{ $players := .JSON.Array "response.players" }}
|
||
|
|
{{ if gt (len $players) 0 }}
|
||
|
|
{{ range $players }}
|
||
|
|
{{ $status := .Int "personastate" }}
|
||
|
|
{{ $colorClass := "color-subdue" }}
|
||
|
|
{{ $statusText := "Offline" }}
|
||
|
|
{{ if eq $status 1 }}
|
||
|
|
{{ $colorClass = "color-positive" }}
|
||
|
|
{{ $statusText = "Online" }}
|
||
|
|
{{ else if eq $status 2 }}
|
||
|
|
{{ $colorClass = "color-highlight" }}
|
||
|
|
{{ $statusText = "Busy" }}
|
||
|
|
{{ else if eq $status 3 }}
|
||
|
|
{{ $colorClass = "color-primary" }}
|
||
|
|
{{ $statusText = "Away" }}
|
||
|
|
{{ else if eq $status 4 }}
|
||
|
|
{{ $colorClass = "color-primary" }}
|
||
|
|
{{ $statusText = "Snooze" }}
|
||
|
|
{{ else if eq $status 5 }}
|
||
|
|
{{ $colorClass = "color-primary" }}
|
||
|
|
{{ $statusText = "Looking to Trade" }}
|
||
|
|
{{ else if eq $status 6 }}
|
||
|
|
{{ $colorClass = "color-primary" }}
|
||
|
|
{{ $statusText = "Looking to Play" }}
|
||
|
|
{{ end }}
|
||
|
|
<li class="flex gap-10 items-start thumbnail-parent">
|
||
|
|
<a href="{{ .String "profileurl" }}" style="width: 4.4rem;height: 4.4rem;border: 2px solid var(--color-text-subdue);padding: 2px;border-radius: 50%;position: relative;flex-shrink: 0;">
|
||
|
|
<img class="thumbnail" style="aspect-ratio: 1; border-radius: 50%;" src="{{ .String "avatarmedium" }}" alt="Avatar" loading="lazy">
|
||
|
|
</a>
|
||
|
|
<div class="items-start">
|
||
|
|
<a href="{{.String "profileurl"}}" title="{{.String "personname"}}" class="size-h3 block">{{ .String "personaname" }}</a>
|
||
|
|
<span class="{{ $colorClass }}">
|
||
|
|
{{ if .Exists "gameextrainfo" }}
|
||
|
|
{{ .String "gameextrainfo" }}
|
||
|
|
{{ else }}
|
||
|
|
{{ $statusText }}
|
||
|
|
{{ if eq $status 0 }}
|
||
|
|
{{ if .Exists "lastlogoff" }}
|
||
|
|
for <span data-dynamic-relative-time="{{ .Int "lastlogoff" }}"></span>
|
||
|
|
{{ end }}
|
||
|
|
{{ end }}
|
||
|
|
{{ end }}
|
||
|
|
</span>
|
||
|
|
</div>
|
||
|
|
</li>
|
||
|
|
{{ end }}
|
||
|
|
{{ else }}
|
||
|
|
<p class="color-negative">No player data found.</p>
|
||
|
|
{{ end }}
|
||
|
|
</ul>
|