Anfragen fuer Modi: ein Fragebogen, vier Wege, eine Bruecke
Filipe, mit dem Bildschirmfoto des Bretts "Mitmachen": "ich will dass die leute sich da anonym bei mir melden koennen ... wie ein fragebogen wieso die person modi werden will warum sie sollte, positiv negative sachen ... und dan soll ich annehmen ablehnen, in warteschlange stellen oder sofort kommunizieren koennen. und wenn ich annehme dan soll diese person automatisch zu talente kategorie weiter geleitet werden." Seine zwei Entscheidungen auf Rueckfrage: "Vertraulich, aber nicht namenlos" und "Du und die rechte Hand". WAS ES GIBT 15 Fragen in 6 Gruppen, 9 davon Pflicht. Vier davon standen nicht auf seinem Zettel und kommen aus der Recherche zu Moderator-Bewerbungen: Alter, frühere Sperren, "ein Freund bricht die Regeln - was machst du?" und "was kannst du nicht so gut?". Die letzte ist die aussagekraeftigste: Wer darauf "nichts" schreibt, hat sich gerade selbst beantwortet. Vier Wege: Reden - Warteschlange - Annehmen - Ablehnen. "Reden" steht vorne, weil die haeufigste richtige Antwort auf eine Bewerbung eine Rueckfrage ist und keine Entscheidung; stuende "Annehmen" oben, wuerde es geklickt. "Sofort kommunizieren" ist ein Satz, den sie liest. Kein Chat: Ein Zugang aus der Community steht ausdruecklich in keiner Chatliste (AUSSEN_ROLLEN). Der Satz ist damit der einzige Weg, dieser Person etwas zu sagen -- deshalb ist er bei "Reden" und "Ablehnen" Pflicht, und WELCHE Wege ihn verlangen, steht im Katalog und nicht zweimal. Nach "Annehmen" entsteht ein Talent auf der Stufe "Angesprochen". Die ersten beiden Stufen fragen, ob ueberhaupt Interesse besteht; wer sich selbst meldet, hat das beantwortet. WAS DABEI HERAUSKAM, DAS NICHT GESUCHT WAR aufgaben.js entschied mit `p.rolle === 'modi' || p.rolle === 'hand'`, wer eine Katalogaufgabe bekommen kann. Diese Datei ist ohne Anmeldung aus dem offenen Netz lesbar -- damit stand der verborgene Zugang darin nachzulesen. Jetzt entscheidet es der Server und schickt ein Ja/Nein. Gefunden von der Wortleck-Pruefung, nicht vom Auge. pruef-struktur meldete teilen.html seit heute frueh als "von nirgendwo verlinkt" -- und lag falsch: Auf sie zeigt `share_target.action` im Manifest. Die Manifeste sind jetzt Verweisquelle, nicht die eine Seite eine Ausnahme. Und im Bildschirmfoto stand der Schriftzug der Buehne mitten im Text einer Anfrage: `color-mix(..., transparent)` mischt mit DURCHSICHTIG. Deckend ist `#ffffff 6%`, so wie es .t-karte macht. Dieselbe Stelle hat mich heute schon einmal erwischt. GEPRUEFT pruef-bewerbung 77, davon 14 im Browser. Vier Gegenproben, jede trifft genau ihr Ziel: Bruecke ohne "genau einmal" -> 2 rot, Vertraulichkeit weg -> 5 rot, Nachricht-Pflicht weg -> 2 rot, Knopf ohne Rollenfrage -> 1 rot. Dazu unveraendert gruen: rollen 315, modi-verborgen 80, modi-katalog 49, entwicklung 43, treff, bereiche-lesend, haus-seiten, alle-wege, rechtetafel, css-klassen, struktur, deutsche-texte, start-ansicht, sicht, aufgabenbrett, womit, kanaele.
This commit is contained in:
@@ -646,7 +646,61 @@
|
||||
} catch { /* umgeleitet */ }
|
||||
}
|
||||
|
||||
/* DIE ANFRAGEN -- nur die Zahl, nicht der Inhalt (17.09.2026).
|
||||
|
||||
Eine eigene, winzige Auskunft. Den vollen Eingang zu laden hiesse,
|
||||
vertrauliche Saetze in eine Seite zu holen, die sie gar nicht
|
||||
anzeigt -- im Zwischenspeicher des Browsers landen sie trotzdem.
|
||||
|
||||
SCHWEIGT BEI 404. Wer diese Seite sieht, darf die Anfragen zwar in
|
||||
aller Regel auch sehen; aber die Rechtetafel ist umstellbar, und
|
||||
ein Kasten, der dann ins Leere fuehrt, ist schlechter als keiner. */
|
||||
async function anfragenZeigen() {
|
||||
const kasten = $('anfragen-tor');
|
||||
if (!kasten) return;
|
||||
let d;
|
||||
try {
|
||||
const a = await hole('/workspace/api/bewerbungen-zahl');
|
||||
if (!a.ok) return;
|
||||
d = await a.json();
|
||||
} catch { return; }
|
||||
|
||||
kasten.textContent = '';
|
||||
kasten.hidden = false;
|
||||
if (d.neu > 0) kasten.dataset.neu = 'ja'; else delete kasten.dataset.neu;
|
||||
|
||||
const text = document.createElement('div');
|
||||
const wort = document.createElement('p');
|
||||
wort.className = 'bw-tor__wort';
|
||||
/* DIE ZAHL STEHT IM SATZ, nicht als nackte Ziffer daneben. „2 neue
|
||||
Anfragen" sagt, was zu tun ist; eine 2 in einem Kreis sagt es
|
||||
nicht. */
|
||||
wort.textContent = d.neu > 0
|
||||
? (d.neu === 1 ? 'Eine neue Anfrage wartet.' : d.neu + ' neue Anfragen warten.')
|
||||
: (d.offen > 0
|
||||
? (d.offen === 1 ? 'Eine Anfrage ist noch offen.' : d.offen + ' Anfragen sind noch offen.')
|
||||
: 'Keine offenen Anfragen.');
|
||||
text.append(wort);
|
||||
|
||||
const leise = document.createElement('p');
|
||||
leise.className = 'leise';
|
||||
leise.textContent = 'Wer sich selbst gemeldet hat. Nimmst du an, '
|
||||
+ 'entsteht daraus hier ein Talent auf der Stufe „Angesprochen“.';
|
||||
text.append(leise);
|
||||
|
||||
const hin = document.createElement('a');
|
||||
hin.className = d.neu > 0 ? 'knopf' : 'schritt';
|
||||
hin.href = 'bewerbungen.html';
|
||||
hin.textContent = d.neu > 0 ? 'Ansehen' : 'Anfragen öffnen';
|
||||
|
||||
kasten.append(text, hin);
|
||||
}
|
||||
|
||||
(async () => {
|
||||
try { await ichHolen(); await laden(); } catch { /* umgeleitet */ }
|
||||
try {
|
||||
await ichHolen();
|
||||
await laden();
|
||||
await anfragenZeigen();
|
||||
} catch { /* umgeleitet */ }
|
||||
})();
|
||||
})();
|
||||
|
||||
Reference in New Issue
Block a user