diff --git a/src/designs.css b/src/designs.css index d97f4f3..ed874e4 100644 --- a/src/designs.css +++ b/src/designs.css @@ -73,7 +73,7 @@ :root:is([data-design="aero"],[data-design="lila"]) .tbtn:active{background:var(--surface2)} :root:is([data-design="aero"],[data-design="lila"]) .tbtn svg, :root:is([data-design="aero"],[data-design="lila"]) #btn-new svg,:root:is([data-design="aero"],[data-design="lila"]) #btn-import svg,:root:is([data-design="aero"],[data-design="lila"]) #btn-open-dir svg, -:root:is([data-design="aero"],[data-design="lila"]) #btn-console svg,:root:is([data-design="aero"],[data-design="lila"]) #btn-account svg,:root:is([data-design="aero"],[data-design="lila"]) #btn-settings svg, +:root:is([data-design="aero"],[data-design="lila"]) #btn-search svg,:root:is([data-design="aero"],[data-design="lila"]) #btn-console svg,:root:is([data-design="aero"],[data-design="lila"]) #btn-account svg,:root:is([data-design="aero"],[data-design="lila"]) #btn-settings svg, :root:is([data-design="aero"],[data-design="lila"]) .acct-av svg{color:var(--cyan-soft)} :root:is([data-design="aero"],[data-design="lila"]) .tbsep{background:var(--border)} :root:is([data-design="aero"],[data-design="lila"]) .search-wrap input{border-radius:999px;padding:5px 12px;width:150px} @@ -270,7 +270,7 @@ :root[data-design="minecraft"] .tbtn{color:#fff;border-radius:0;text-shadow:1px 1px 0 #1a1a1a;image-rendering:auto} :root[data-design="minecraft"] .tbtn:hover{background:rgba(0,0,0,.35);border-color:#fff} :root[data-design="minecraft"] .tbtn:active{background:rgba(0,0,0,.5)} -:root[data-design="minecraft"] .tbtn svg,:root[data-design="minecraft"] #btn-console svg,:root[data-design="minecraft"] .acct-av svg{color:#e6e6e6} +:root[data-design="minecraft"] #btn-search svg,:root[data-design="minecraft"] .tbtn svg,:root[data-design="minecraft"] #btn-console svg,:root[data-design="minecraft"] .acct-av svg{color:#e6e6e6} :root[data-design="minecraft"] #btn-new svg,:root[data-design="minecraft"] #btn-account svg{color:#7fd858} :root[data-design="minecraft"] #btn-import svg{color:#6db8ff} :root[data-design="minecraft"] #btn-open-dir svg{color:#f2c94c} diff --git a/src/friends.js b/src/friends.js index c29e487..4864349 100644 --- a/src/friends.js +++ b/src/friends.js @@ -200,7 +200,32 @@ async function sendReport(daten) { } } +// ---------- AeroMC-Umhänge ---------- +// Hochladen/Entfernen nur angemeldet; Abrufen ist öffentlich (auch für den Mod) +function uploadCape(uuid, image) { + return anfrage('/cape', { method: 'POST', body: { uuid, image } }); +} + +function removeCape(uuid) { + return anfrage('/cape/remove', { method: 'POST', body: { uuid } }); +} + +async function getCapes(uuids) { + try { + const liste = [...new Set((uuids || []).map((u) => String(u).replace(/-/g, '').toLowerCase()))].filter(Boolean); + if (!liste.length) return { ok: true, capes: {} }; + const { res, daten } = await roheAnfrage('/capes', { method: 'GET', body: { uuids: liste.join(',') } }); + // ältere Plugin-Fassung ohne Umhänge + if (res.status === 404) return { ok: false, fehlt: true, message: 'Der Server kennt noch keine Umhänge (Plugin „AeroMC Freunde“ 1.5.0 nötig).' }; + if (!res.ok) return { ok: false, message: (daten && daten.message) || `Fehler ${res.status}` }; + return { ok: true, capes: (daten && daten.capes) || {} }; + } catch (err) { + return { ok: false, message: 'Umhang-Server nicht erreichbar: ' + err.message }; + } +} + module.exports = { + BASIS_URL, uploadCape, removeCape, getCapes, heartbeat, getFriends, getRequests, getSentRequests, sendRequest, respond, cancelRequest, removeFriend, sendInvite, getInvites, dismissInvite, createShare, getShare, setzeZugangsHelfer, sendMessage, getMessages, getUnreadMessages, markMessagesRead, sendReport, diff --git a/src/index.html b/src/index.html index a3208fe..233b100 100644 --- a/src/index.html +++ b/src/index.html @@ -27,8 +27,9 @@ -
Umhang von ' . esc_html($r->username) . ' gelöscht.
' . esc_html($r->username) . ' gesperrt – der Umhang ist entfernt, neue Uploads werden abgelehnt.
Sperre für ' . esc_html($r->username) . ' aufgehoben.
Eigene Umhänge, die Spieler im AeroMC-Skin-Editor hochgeladen haben. „Sperren“ entfernt den Umhang und verhindert neue Uploads dieses Spielers.
'; + if (!$rows) { + echo 'Noch keine Umhänge hochgeladen.
| Umhang | Spieler | Größe | Geändert (UTC) | Status | |
|---|---|---|---|---|---|
| ' . $bild . ' | ' . esc_html($r->username) . ' ' . esc_html($r->uuid) . ' | '
+ . '' . esc_html($r->breite . '×' . $r->hoehe) . ' | ' . esc_html($r->updated_at) . ' | ' . esc_html($r->status) . ' | '; + echo ' |