Emojis zum Anklicken, und Wuensche als Forums-Beitraege mit Tags
Ueberall, wo ein Emoji nach Discord geht — Rollen-Menues, Ticket-Anliegen,
Wunsch-Bereiche, Portal-Kacheln — stand ein leeres Textfeld, in das man mit
Win+. hineintippen musste. Jetzt sitzt daneben ein Knopf mit einer Tafel:
sieben Gruppen, deutsche Suchbegriffe ("auto", "geld", "warnung"), ein Klick
schreibt ins Feld. Das Feld bleibt daneben stehen, denn Server-Emojis
(<:name:123>) kennt nur Discord.
Bewusst eine eigene Liste statt einer Bibliothek: die vollstaendige
Unicode-Tabelle waere ein halbes Megabyte fuer eine Handvoll Symbole, und die
Suchbegriffe duerfen deutsch sein.
## Forum-Tags
Ist der Voting-Kanal ein Forum, wird jeder Wunsch jetzt ein Forums-Beitrag
statt Nachricht-plus-Thread — und bekommt Tags fuer Bereich und Stand. Damit
laesst sich auch in Discord filtern, wofuer Tags ja da sind. Beim Wechsel des
Stands zieht das Tag mit: der alte fliegt raus, der neue kommt rein, der
Bereich bleibt stehen.
Zugeordnet wird ueber den Namen. Wer im Forum ein Tag "Fahrzeuge" anlegt,
bekommt es automatisch gesetzt; wer keines anlegt, verliert nichts. Bewusst
keine ID-Zuordnung im Panel — das waere eine zweite Liste, die man pflegen
muss und die beim ersten Umbenennen auseinanderlaeuft.
Dabei aufgefallen und mitgefixt: im Forum liegt die Startnachricht im Beitrag
selbst und nicht im Kanal. Der Status-Aktualisierer hat sie vorher im Kanal
gesucht und nicht gefunden — die Begruendung waere im Forum also nie im Post
gelandet. Und der Titel wird jetzt nur um den Stand ergaenzt statt
ueberschrieben, damit "🚗 Fahrzeuge" stehen bleibt.
Geprueft: tagsFuer gegen 20 Faelle — kein Forum, Medien-Kanal, fehlende Tags,
Gross/Kleinschreibung, Deckel bei fuenf (mehr nimmt Discord nicht), und alle
fuenf Staende einzeln. Im Browser die Emoji-Tafel an allen vier Stellen:
Suche, Escape, Klick daneben, Leeren, Uebernehmen.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1963,6 +1963,55 @@ label.toggle {
|
||||
border-left: 2px solid var(--border); padding-left: .6rem;
|
||||
}
|
||||
|
||||
/* ── EMOJI-AUSWAHL ─────────────────────────────────── */
|
||||
.ep-wrap { position: relative; display: inline-block; min-width: 0; }
|
||||
.ep-feld { display: flex; align-items: stretch; gap: .3rem; }
|
||||
.ep-knopf {
|
||||
flex: 0 0 auto; width: 2.4rem;
|
||||
background: var(--bg3); border: 1px solid var(--border); color: var(--text);
|
||||
font-size: 1.05rem; line-height: 1; cursor: pointer;
|
||||
display: grid; place-items: center;
|
||||
}
|
||||
.ep-knopf:hover { border-color: var(--neon); }
|
||||
.ep-leer { opacity: .35; }
|
||||
.ep-eingabe { width: 5.5rem; }
|
||||
.ep-weg {
|
||||
flex: 0 0 auto; background: none; border: none; color: var(--muted2);
|
||||
cursor: pointer; padding: 0 .2rem;
|
||||
}
|
||||
.ep-weg:hover { color: #f23f43; }
|
||||
|
||||
.ep-tafel {
|
||||
position: absolute; z-index: 60; top: calc(100% + .35rem); left: 0;
|
||||
width: min(21rem, 78vw);
|
||||
background: var(--bg2); border: 1px solid var(--border); border-radius: 6px;
|
||||
box-shadow: 0 12px 30px rgba(0, 0, 0, .55);
|
||||
animation: riseIn .15s ease both;
|
||||
}
|
||||
.ep-suche {
|
||||
display: flex; align-items: center; gap: .45rem;
|
||||
padding: .5rem .7rem; border-bottom: 1px solid var(--border); color: var(--muted2);
|
||||
}
|
||||
.ep-suche input {
|
||||
flex: 1; min-width: 0; background: none; border: none; padding: 0;
|
||||
color: var(--text); font: inherit; font-size: .84rem;
|
||||
}
|
||||
.ep-suche input:focus { outline: none; }
|
||||
.ep-liste { max-height: 17rem; overflow-y: auto; padding: .5rem .7rem .7rem; }
|
||||
.ep-gruppe {
|
||||
font-family: var(--mono); font-size: .58rem; letter-spacing: .12em;
|
||||
text-transform: uppercase; color: var(--muted2); margin: .5rem 0 .3rem;
|
||||
}
|
||||
.ep-raster { display: grid; grid-template-columns: repeat(auto-fill, 2rem); gap: .15rem; }
|
||||
.ep-zelle {
|
||||
width: 2rem; height: 2rem; display: grid; place-items: center;
|
||||
background: none; border: 1px solid transparent; border-radius: 4px;
|
||||
font-size: 1.05rem; line-height: 1; cursor: pointer;
|
||||
}
|
||||
.ep-zelle:hover { background: var(--bg3); border-color: var(--neon); }
|
||||
.ep-zelle.aktiv { border-color: var(--neon); background: color-mix(in srgb, var(--neon) 12%, transparent); }
|
||||
.ep-nix { color: var(--muted); font-size: .84rem; margin: .6rem 0; }
|
||||
|
||||
/* ── DIALOG ────────────────────────────────────────── */
|
||||
.dlg-backdrop {
|
||||
position: fixed; inset: 0; z-index: 1200;
|
||||
|
||||
Reference in New Issue
Block a user