docs: unify documentation and streamline code comments
- Translated project documentation (LEARNING-JOURNEY, CONTRIBUTORS, AI_DISCLOSURE) to English for better accessibility. - Standardized internal code documentation by converting XML-doc blocks to standard comment format. - Cleaned up inline comments and removed redundant versioning metadata across the codebase. - Refactored non-functional text elements to improve readability and maintain a consistent style.
This commit is contained in:
@@ -2,31 +2,14 @@ using Dalamud.Interface;
|
||||
|
||||
namespace HellionChat.Ui;
|
||||
|
||||
/// <summary>
|
||||
/// Default-Icon-Mapping für Tabs. v1.2.0 Layout-Refresh nutzt das
|
||||
/// in Top-Tabs (Icon-Prefix) und Sidebar (Icon-only mit Tooltip).
|
||||
/// User können in Settings → Tabs per Tab.Icon-Override eigene
|
||||
/// FontAwesome-Glyphen setzen.
|
||||
///
|
||||
/// Diese Klasse ist Dalamud-abhängig (FontAwesomeIcon-Enum). Die
|
||||
/// reine String-Resolver-Logik liegt bewusst in
|
||||
/// <see cref="TabIconGlyphResolver"/> (eigene Datei, ohne
|
||||
/// Dalamud-Imports), damit Tests sie ohne Dalamud-Reference aufrufen
|
||||
/// können.
|
||||
/// </summary>
|
||||
// Default icon mapping for tabs, used in top-tabs (icon prefix) and sidebar (icon-only with tooltip).
|
||||
// Users can override per tab via Settings -> Tabs -> Tab.Icon.
|
||||
// Pure string resolver logic lives in TabIconGlyphResolver (no Dalamud dependency) for testability.
|
||||
internal static class TabIconMapping
|
||||
{
|
||||
/// <summary>
|
||||
/// FontAwesome-Glyph-Name → Icon-Enum-Lookup. Wird für die
|
||||
/// Production-Resolve-API benötigt.
|
||||
///
|
||||
/// INVARIANTE: Jeder Key in <see cref="GlyphLookup"/> muss auch in
|
||||
/// <see cref="TabIconGlyphResolver.PickerOptions"/> stehen. Wird
|
||||
/// ein Glyph zu PickerOptions hinzugefügt, aber nicht hier, fällt
|
||||
/// die Override-Auflösung still auf <see cref="FontAwesomeIcon.Hashtag"/>
|
||||
/// zurück (degraded, kein Crash). Build-Time-Enforcement ist nicht
|
||||
/// möglich, weil PickerOptions ohne Dalamud-Reference auskommt.
|
||||
/// </summary>
|
||||
// Glyph name -> FontAwesomeIcon lookup for production resolve.
|
||||
// Every key must also exist in TabIconGlyphResolver.PickerOptions.
|
||||
// A missing key silently falls back to FontAwesomeIcon.Hashtag (degraded, no crash).
|
||||
private static readonly Dictionary<string, FontAwesomeIcon> GlyphLookup = new(
|
||||
StringComparer.OrdinalIgnoreCase
|
||||
)
|
||||
@@ -48,23 +31,13 @@ internal static class TabIconMapping
|
||||
["fire"] = FontAwesomeIcon.Fire,
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Production-Surface: liefert das Icon für einen Tab. Wrapper um
|
||||
/// <see cref="TabIconGlyphResolver.ResolveGlyphName(Tab)"/> plus
|
||||
/// Enum-Lookup. Wird von Render-Code (T3, T5) verwendet.
|
||||
/// </summary>
|
||||
// Resolves the icon for a tab. Auto-tell tabs get a per-partner hashed icon
|
||||
// from the tell pool so parallel tells differ by glyph shape, not just colour.
|
||||
public static FontAwesomeIcon Resolve(Tab tab)
|
||||
{
|
||||
// v1.2.0 — Auto-Tell-Tabs bekommen ein per-Partner gehashtes
|
||||
// Icon aus dem Tell-Pool. Damit unterscheiden sich parallele
|
||||
// Tells nicht nur über die Color (For), sondern auch über die
|
||||
// Glyph-Form. Berechnung bleibt hier (Dalamud-bound), weil
|
||||
// TellTarget Dalamud-Imports hat.
|
||||
string? autoTellGlyph = null;
|
||||
if (tab.IsTempTab && tab.TellTarget != null && tab.TellTarget.IsSet())
|
||||
{
|
||||
autoTellGlyph = TabTintCache.GetIcon(tab);
|
||||
}
|
||||
|
||||
var glyph = TabIconGlyphResolver.ResolveGlyphName(tab, autoTellGlyph);
|
||||
return GlyphLookup.TryGetValue(glyph, out var icon) ? icon : FontAwesomeIcon.Hashtag;
|
||||
|
||||
Reference in New Issue
Block a user