using System.Text; namespace TweetDuck.Core.Bridge{ static class PropertyBridge{ public enum Environment{ Browser, Notification } public static string GenerateScript(Environment environment){ string Bool(bool value) => value ? "true;" : "false;"; string Str(string value) => '"'+value+"\";"; StringBuilder build = new StringBuilder().Append("(function(x){"); build.Append("x.expandLinksOnHover=").Append(Bool(Program.UserConfig.ExpandLinksOnHover)); if (environment == Environment.Browser){ build.Append("x.openSearchInFirstColumn=").Append(Bool(Program.UserConfig.OpenSearchInFirstColumn)); build.Append("x.keepLikeFollowDialogsOpen=").Append(Bool(Program.UserConfig.KeepLikeFollowDialogsOpen)); build.Append("x.muteNotifications=").Append(Bool(Program.UserConfig.MuteNotifications)); build.Append("x.notificationMediaPreviews=").Append(Bool(Program.UserConfig.NotificationMediaPreviews)); build.Append("x.translationTarget=").Append(Str(Program.UserConfig.TranslationTarget)); } if (environment == Environment.Notification){ build.Append("x.skipOnLinkClick=").Append(Bool(Program.UserConfig.NotificationSkipOnLinkClick)); } return build.Append("})(window.$TDX=window.$TDX||{})").ToString(); } } }