diff --git a/HellionChat/Integrations/IntegrationLinks.cs b/HellionChat/Integrations/IntegrationLinks.cs
new file mode 100644
index 0000000..f9e467e
--- /dev/null
+++ b/HellionChat/Integrations/IntegrationLinks.cs
@@ -0,0 +1,12 @@
+namespace HellionChat.Integrations;
+
+// External URLs for the third-party plugins HellionChat integrates with.
+// Kept separate from BrandingLinks (which is for Hellion-owned URLs) so
+// future cycles can extend this file with maintainer attribution links
+// for Moodles, NotificationMaster, ExtraChat, etc. without polluting the
+// brand-links class.
+internal static class IntegrationLinks
+{
+ public const string Honorific_Repo = "https://github.com/Caraxi/Honorific";
+ public const string Honorific_Author = "https://github.com/Caraxi";
+}
diff --git a/HellionChat/Resources/HellionStrings.Designer.cs b/HellionChat/Resources/HellionStrings.Designer.cs
index 547a5b5..6cc0eec 100644
--- a/HellionChat/Resources/HellionStrings.Designer.cs
+++ b/HellionChat/Resources/HellionStrings.Designer.cs
@@ -368,6 +368,8 @@ internal class HellionStrings
internal static string Settings_Integrations_Honorific_Status_Incompatible => Get(nameof(Settings_Integrations_Honorific_Status_Incompatible));
internal static string Settings_Integrations_Honorific_Toggle => Get(nameof(Settings_Integrations_Honorific_Toggle));
internal static string Settings_Integrations_Honorific_ToggleHint => Get(nameof(Settings_Integrations_Honorific_ToggleHint));
+ internal static string Settings_Integrations_Honorific_LinkRepo => Get(nameof(Settings_Integrations_Honorific_LinkRepo));
+ internal static string Settings_Integrations_Honorific_LinkAuthor => Get(nameof(Settings_Integrations_Honorific_LinkAuthor));
internal static string Settings_Integrations_ComingSoon_SectionHeader => Get(nameof(Settings_Integrations_ComingSoon_SectionHeader));
internal static string Settings_Integrations_ComingSoon_Intro => Get(nameof(Settings_Integrations_ComingSoon_Intro));
internal static string Settings_Integrations_ComingSoon_ContextMenu_Title => Get(nameof(Settings_Integrations_ComingSoon_ContextMenu_Title));
diff --git a/HellionChat/Resources/HellionStrings.de.resx b/HellionChat/Resources/HellionStrings.de.resx
index 031615b..a94ec38 100644
--- a/HellionChat/Resources/HellionStrings.de.resx
+++ b/HellionChat/Resources/HellionStrings.de.resx
@@ -821,6 +821,12 @@
Zeigt deinen Custom-Titel aus Honorific im Header über dem Chat-Log an, in der von dir gewählten Farbe.
+
+ Honorific auf GitHub
+
+
+ von Caraxi
+
Demnächst
diff --git a/HellionChat/Resources/HellionStrings.resx b/HellionChat/Resources/HellionStrings.resx
index cb9857c..93dbc50 100644
--- a/HellionChat/Resources/HellionStrings.resx
+++ b/HellionChat/Resources/HellionStrings.resx
@@ -821,6 +821,12 @@
Displays your custom title from Honorific in the header above the chat log, in your chosen colour.
+
+ Honorific on GitHub
+
+
+ by Caraxi
+
Coming soon
diff --git a/HellionChat/Ui/SettingsTabs/Integrations.cs b/HellionChat/Ui/SettingsTabs/Integrations.cs
index fbe1419..40f47b8 100644
--- a/HellionChat/Ui/SettingsTabs/Integrations.cs
+++ b/HellionChat/Ui/SettingsTabs/Integrations.cs
@@ -2,6 +2,7 @@ using Dalamud.Bindings.ImGui;
using Dalamud.Interface;
using Dalamud.Interface.Utility.Raii;
using HellionChat.Branding;
+using HellionChat.Integrations;
using HellionChat.Resources;
using HellionChat.Util;
@@ -66,6 +67,22 @@ internal sealed class Integrations : ISettingsTab
ImGui.TextWrapped(HellionStrings.Settings_Integrations_Honorific_ToggleHint);
}
}
+
+ // Maintainer attribution. Honorific has no LICENSE in its repo so we
+ // can't bundle its assets, but linking to the upstream and the
+ // author's profile is the polite minimum. Plain ImGui buttons keep
+ // the visual weight modest, the FontAwesome Brands subset is not
+ // guaranteed in Dalamud's font set so we use text labels.
+ ImGui.Spacing();
+ if (ImGui.Button(HellionStrings.Settings_Integrations_Honorific_LinkRepo))
+ {
+ Dalamud.Utility.Util.OpenLink(IntegrationLinks.Honorific_Repo);
+ }
+ ImGui.SameLine();
+ if (ImGui.Button(HellionStrings.Settings_Integrations_Honorific_LinkAuthor))
+ {
+ Dalamud.Utility.Util.OpenLink(IntegrationLinks.Honorific_Author);
+ }
}
private void DrawHonorificStatus()