Commit Graph

8 Commits

Author SHA1 Message Date
JonKazama-Hellion c955f30422 refactor(di): migrate UI Window-Layer to ILogger<T> (DI-4 Slice C)
Six UI files shift from Plugin.LogProxy to ILogger<T> via
constructor injection.

Container singletons (each takes a typed ILogger plus, where it owns
nested allocations, an ILoggerFactory to spawn child loggers):
- Ui/ChatLogWindow (15 sites, plus an ILoggerFactory for the
  Popout new-call at Ui/ChatLogWindow.cs:2417)
- Ui/Settings (SettingsWindow): no own sites, but takes an
  ILoggerFactory so it can hand typed loggers to its three migrated
  settings tabs (General, the other six tabs stay unchanged)
- Ui/DbViewer (3 sites)

Nested instances allocated by parent containers:
- Ui/Popout (7 sites, ILogger<Popout> as the new 4th ctor arg passed
  from ChatLogWindow)
- Ui/SettingsTabs/ThemeAndLayout (1 site)
- Ui/SettingsTabs/FontsAndColours (1 site)
- Ui/SettingsTabs/DataManagement (15 sites)

PluginHostFactory factory lambdas updated for ChatLogWindow,
SettingsWindow and DbViewer to resolve the new logger args.
2026-05-17 10:26:47 +02:00
JonKazama-Hellion 80b48ac3ad feat(sidebar): pinned section, dimmed pin glyph, configurable width
Smoke-test round 3 feedback from Jin:

- Sidebar now groups tabs into three sections rendered in this order:
  persistent → pinned TempTabs → unpinned TempTabs. Each TempTab
  section carries its own divider header ("Angepinnt (n)" / "Aktive
  Tells (n)"). Plugin.Config.Tabs order is untouched — only the
  display order changes, so tabI still mirrors the real index and
  LastTab/WantedTab stay consistent.

- The thumbtack glyph overlay on a pinned tab dropped from accent
  colour at full alpha to TextMuted at ~47% alpha. The section header
  is now the primary discoverability cue; the glyph is just a per-tab
  confirmation hint.

- Sidebar width is now a Config field (default 44, range 44-160).
  Slider lives in Theme & Layout under the existing Sidebar-Tab-View
  toggle. The icon button inside each row stretches with the width so
  a widened sidebar doesn't leave the icon floating in dead space.
2026-05-13 10:16:53 +02:00
JonKazama-Hellion 63cad62c89 refactor(ui): route logging through IPluginLogProxy
F12.2 step 5a — UI cluster (~40 sites in 6 files):
ChatLogWindow, DbViewer, Popout, SettingsTabs/{DataManagement,
FontsAndColours, ThemeAndLayout}. Plugin.Log.X(...) → Plugin.LogProxy.X(...).
No behaviour change; the proxy delegates 1:1 to the original IPluginLog.
2026-05-13 08:22:12 +02:00
JonKazama-Hellion 28e4b30cd6 refactor(ui): route OpenLink call-sites through Plugin.PlatformUtil (F12.1)
Ten Util.OpenLink call-sites across five files now go through the
IPlatformUtil indirection: WrapperUtil.TryOpenUri, the Settings Ko-Fi
buttons (x2), the Information tab (issues link plus media/upstream
links, x3), the Integrations tab (Honorific repo/author plus forge
discord, x3), and the ThemeAndLayout 'open themes folder' button.

A future addition to this pattern only needs to plug into IPlatformUtil
instead of touching Dalamud.Utility.Util directly.
2026-05-12 20:32:17 +02:00
JonKazama-Hellion 3a7f9b3adb refactor(strings): replace ResourceManager.GetString with direct HellionStrings properties
Security / scan (push) Successful in 13s
- SettingsOverview: replace dynamic key lookup via ResourceManager with
  direct HellionStrings property access; switch static readonly array to
  BuildCardDefs() method to ensure correct initialization order
- ThemeAndLayout: replace all ResourceManager.GetString calls with direct
  HellionStrings/Language property access throughout DrawThemeSection()
  and DrawChatColorsApplyBanner()

Also rework DE/EN string copy for a more natural, less formal tone in the German localization, and to better match the English source text. This includes
2026-05-11 20:11:53 +02:00
JonKazama-Hellion c4c85cf4b8 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.
2026-05-11 00:52:15 +02:00
JonKazama-Hellion 699d4ede1d chore: housekeeping — linter & formatter setup
Add .prettierrc.json, .markdownlint.json, .yamllint.yaml, .gitattributes
Run CSharpier, Prettier and markdownlint across the entire codebase.
No logic changes — formatting, using order and line endings only.
2026-05-10 13:01:00 +02:00
JonKazama-Hellion ebc0999a8e refactor: re-sort settings cards thematically for v1.2.1
- Split Appearance into ThemeAndLayout (theme + window-style + timestamps)
  and FontsAndColours (fonts + per-channel colours)
- Merge Database into DataManagement together with Retention/Cleanup/Export
  from Privacy
- Move HistoryPreload from Privacy to Chat → Auto-Tell-Tabs
- Move KeybindMode from General/Language to General/Input
- Drop OverrideStyle, ChosenStyle, WindowAlpha, ShowThemeQuickPicker
- Migration v15 → v16 maps WindowAlpha → WindowOpacity if Opacity at default
- Add card-subtext per overview card so users do not have to guess where
  a setting lives
2026-05-06 08:43:54 +02:00