{"version":3,"names":["KEY","STUFEN","MITMACHEN","plakette","text","gruen","s","document","createElement","className","textContent","PROFIL_FREI","MITARBEITER","PROFIL","wessen","name","test","zeile","el","post","wert","user_custom_fields","querySelector","n","parseInt","platz","exec","isNaN","stufe","filter","x","String","username","profil","d","oben","href","encodeURIComponent","toLowerCase","setAttribute","werte","wer","appendChild","hinweis","unter","createTextNode","a","versuche","los","pa","site","window","require","getOwnerWithFallback","lookup","e","user_fields","setTimeout","withPluginApi","api","f","id","ich","getCurrentUser","staff","decorateCookedElement","helper","getModel","t","container","strom","model","postStream","querySelectorAll","forEach","closest","getAttribute","findLoadedPost","readyState","addEventListener"],"sources":["theme-1-inline-common-head_tag-3.js"],"sourcesContent":["\n// SIGNATUR (30.10.2026, Leserkonto 0.9.53, Karim: „Ich glaube schöner wäre es in der Signatur. Außerdem ist ja oben nun\n// Team SmarthomeAssistent verschwunden“). Wer in Mein SmarthomeAssistent „im Forum zeigen“ einschaltet, bekommt die Zahl\n// seiner Geräte und seinen Platz der Bestenliste ins Benutzerfeld „Smarthome“ (für Mitglieder nicht änderbar, gesetzt von\n// SHA Leserkonto). Die Einstellung public_user_custom_fields liefert es mit jedem Beitrag aus; hier wird daraus eine Zeile\n// unter dem Beitragstext. Über Discourses Schnittstelle (decorateCookedElement), nicht per Eingriff in fremdes Markup.\n// ⚠️ Fehlt das Feld oder die Schnittstelle, passiert nichts; der Beitrag bleibt, wie er ist.\n(function () {\n\tvar KEY = null;\n\t// Plaketten C1 (Karim 30.10.2026: „C gefällt mir am besten“, Stufen 0, 5, 10, 25, 50, 100+, Entwurf\n\t// Leserkonto/mockups/entwurf-signatur-stufen.html): Geräte, Platz, Stufe, dazu der Mitmach-Link. Der Feldwert kommt vom\n\t// Leserkonto als „23 Geräte · Platz 14“; Zahl und Platz werden daraus gelesen, die Stufe ergibt sich aus der Zahl.\n\t// 250 und 500 seit 01.11.2026 (Karim: „Ich habe bereits die höchste Stufe erreicht. wir müssen weiter richtung 250 und 500“).\n\tvar STUFEN = [[500, \"👑\", \"Smarthome-Legende\"], [250, \"🌟\", \"Smarthome-Ikone\"], [100, \"💎\", \"Smarthome-Titan\"], [50, \"🏆\", \"Smarthome-Meister\"], [25, \"⚙️\", \"Smarthome-Profi\"],\n\t\t[10, \"💡\", \"Smarthome-Fan\"], [5, \"🔌\", \"Einsteiger\"], [0, \"🌱\", \"Smarthome-Neuling\"]];\n\tvar MITMACHEN = \"https://www.smarthomeassistent.de/mein-smarthomeassistent/#lk-bl-konto\"; // zu den drei Schritten „Dein Smarthome zeigen“ (Leserkonto 0.9.130)\n\tfunction plakette(text, gruen) {\n\t\tvar s = document.createElement(\"span\");\n\t\ts.className = \"sha-pl\" + (gruen ? \" is-gruen\" : \"\");\n\t\ts.textContent = text;\n\t\treturn s;\n\t}\n\t// Signatur als Box (01.11.2026, Karim: „Florians Smarthome: 50 Geräte Platz 1 Smarthome-Meister und dann darunter die Frage\n\t// wie groß dein Smarthome ist“, „Platz 1 soll nur nach rechts von Smarthome Meister wandern“, „in die Signatur auch zu Florians\n\t// Smarthome verlinken“). Oben der Name mit Geräten, Stufe und Platz; führt zum Profil, wenn das Leserkonto „Profil“ in den\n\t// Feldwert schreibt (offengelegte Geräte). Solange Profile nur fürs Team freigeschaltet sind (PROFIL_FREI), sehen den Link\n\t// nur Mitarbeiter, sonst landeten Leser auf einer 404.\n\tvar PROFIL_FREI = true, MITARBEITER = false;\n\tvar PROFIL = \"https://www.smarthomeassistent.de/smarthome/\";\n\tfunction wessen(name) {\n\t\treturn /[sßxz]$/i.test(name) ? name + \"’\" : name + \"s\";\n\t}\n\tfunction zeile(el, post) {\n\t\tvar wert = post && post.user_custom_fields && post.user_custom_fields[KEY];\n\t\tif (!wert || el.querySelector(\".sha-signatur\")) { return; }\n\t\tvar n = parseInt(wert, 10), platz = (/Platz (\\d+)/.exec(wert) || [])[1];\n\t\tif (isNaN(n)) { return; }\n\t\tvar stufe = STUFEN.filter(function (x) { return n >= x[0]; })[0];\n\t\tvar name = String(post.username || \"\"), profil = /Profil/.test(wert) && name && (PROFIL_FREI || MITARBEITER);\n\t\t// Variante B (01.11.2026, Karim: „Signatur Box B“): mit Profil ist die ganze Box der Link (Pfeil per CSS), darunter\n\t\t// außerhalb die Einladung. Ohne Profil bleibt die Box ein ruhiger Kasten ohne Pfeil.\n\t\tvar d = document.createElement(\"div\");\n\t\td.className = \"sha-signatur\";\n\t\tvar oben = document.createElement(profil ? \"a\" : \"div\");\n\t\toben.className = \"sha-signatur-oben\";\n\t\tif (profil) {\n\t\t\toben.href = PROFIL + encodeURIComponent(name.toLowerCase()) + \"/\";\n\t\t\toben.setAttribute(\"aria-label\", (name ? wessen(name) + \" Smarthome\" : \"Smarthome\") + \" ansehen\");\n\t\t}\n\t\tvar werte = document.createElement(\"span\");\n\t\twerte.className = \"sha-signatur-werte\";\n\t\tvar wer = document.createElement(\"b\");\n\t\twer.className = \"sha-signatur-wer\";\n\t\twer.textContent = name ? wessen(name) + \" Smarthome\" : \"Smarthome\";\n\t\twerte.appendChild(wer);\n\t\t// Reihenfolge Platz, Stufe, Geräte (03.11.2026, Karim: „den Platz 2 an erster Stelle, dann den Smarthome Meister, also\n\t\t// den Rang, und dann die Anzahl der Geräte an 3. Stelle“).\n\t\tif (platz) { werte.appendChild(plakette(\"Platz \" + platz, true)); }\n\t\twerte.appendChild(plakette(stufe[1] + \" \" + stufe[2]));\n\t\twerte.appendChild(plakette(\"🏠 \" + n + (n === 1 ? \" Gerät\" : \" Geräte\")));\n\t\toben.appendChild(werte);\n\t\t// Kennzeichnung (Leserkonto 0.9.101): der Link führt auf eine Seite mit Provisionslinks. Den Link schaltet der Leser\n\t\t// selbst ein („In der Signatur auf mein Smarthome verlinken“); ohne ihn fehlt „Profil“ im Feldwert und damit auch das hier.\n\t\tif (profil) {\n\t\t\tvar hinweis = document.createElement(\"small\");\n\t\t\thinweis.className = \"sha-signatur-hinweis\";\n\t\t\thinweis.textContent = \"Anzeige · Seite mit Provisionslinks\"; // „Anzeige“ seit 02.11.2026 (Karim, Gesamtprüfung)\n\t\t\toben.appendChild(hinweis);\n\t\t}\n\t\td.appendChild(oben);\n\t\tvar unter = document.createElement(\"div\");\n\t\tunter.className = \"sha-signatur-unter\";\n\t\tunter.appendChild(document.createTextNode(\"Wie smart wohnst du? \"));\n\t\tvar a = document.createElement(\"a\");\n\t\ta.className = \"sha-signatur-frage\";\n\t\ta.href = MITMACHEN;\n\t\ta.textContent = \"Zeig dein Smarthome\";\n\t\tunter.appendChild(a);\n\t\td.appendChild(unter);\n\t\tel.appendChild(d);\n\t}\n\t// ⚠️ Das Theme-Skript läuft, bevor Discourse seine Module und den Dienst `site` bereit hat (gemessen 30.10.2026: beim\n\t//    ersten Laden kam keine Zeile, eine später angemeldete wirkte). Deshalb wird bis zu 20 Sekunden alle 200 ms erneut\n\t//    versucht, erst dann gibt es still auf.\n\tvar versuche = 0;\n\tfunction los() {\n\t\tvar pa, site;\n\t\ttry {\n\t\t\tpa = window.require(\"discourse/lib/plugin-api\");\n\t\t\tsite = window.require(\"discourse/lib/get-owner\").getOwnerWithFallback().lookup(\"service:site\");\n\t\t} catch (e) { pa = null; }\n\t\tif (!pa || !site || !site.user_fields) {\n\t\t\tif (++versuche < 100) { setTimeout(los, 200); }\n\t\t\treturn;\n\t\t}\n\t\tpa.withPluginApi(\"1.0\", function (api) {\n\t\t\tvar f = (site.user_fields || []).filter(function (x) { return x.name === \"Smarthome\"; })[0];\n\t\t\tif (!f) { return; }\n\t\t\tKEY = \"user_field_\" + f.id;\n\t\t\tvar ich = api.getCurrentUser ? api.getCurrentUser() : null;\n\t\t\tMITARBEITER = !!(ich && ich.staff);\n\t\t\tapi.decorateCookedElement(function (el, helper) {\n\t\t\t\tif (helper && helper.getModel) { zeile(el, helper.getModel()); }\n\t\t\t}, { id: \"sha-signatur\" });\n\t\t\t// Schon gezeichnete Beiträge (das Skript läuft mit `defer`, ein Thema kann vor ihm stehen).\n\t\t\tvar t = api.container.lookup(\"controller:topic\");\n\t\t\tvar strom = t && t.model && t.model.postStream;\n\t\t\tdocument.querySelectorAll(\"article[data-post-id] .cooked\").forEach(function (el) {\n\t\t\t\tvar id = parseInt(el.closest(\"article\").getAttribute(\"data-post-id\"), 10);\n\t\t\t\tvar post = strom && strom.findLoadedPost ? strom.findLoadedPost(id) : null;\n\t\t\t\tif (post) { zeile(el, post); }\n\t\t\t});\n\t\t});\n\t}\n\tif (document.readyState === \"loading\") { document.addEventListener(\"DOMContentLoaded\", los); } else { los(); }\n})();\n"],"mappings":"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","ignoreList":[]}