diff --git a/osu.Game.Rulesets.OvkTab/API/VkModelsExtensions.cs b/osu.Game.Rulesets.OvkTab/API/VkModelsExtensions.cs index 2d0a885..568347d 100644 --- a/osu.Game.Rulesets.OvkTab/API/VkModelsExtensions.cs +++ b/osu.Game.Rulesets.OvkTab/API/VkModelsExtensions.cs @@ -122,19 +122,32 @@ public static IEnumerable ParseAttachments(this IEnumerable { - new SimpleAttachment.IconAttachmentAction(FontAwesome.Solid.Link, b => + game.HandleLink(new LinkDetails(LinkAction.External, x.Uri.AbsoluteUri)); + }); + SimpleAttachment.AttachmentAction[] linkBtns; + IconUsage linkIcon; + if (x.Uri.Host == "osu.ppy.sh") + { + linkBtns = new[] { new SimpleAttachment.IconAttachmentAction(FontAwesome.Solid.AngleDoubleRight, b => { - game.HandleLink(new LinkDetails(LinkAction.External, x.Uri.AbsoluteUri)); - }), - })); + string url = x.Uri.AbsoluteUri; + game.HandleLink(url); + }), globalLinkBtn }; + linkIcon = FontAwesome.Solid.Hashtag; + } + else + { + linkIcon = FontAwesome.Solid.ExternalLinkAlt; + linkBtns = new[] { globalLinkBtn }; + } + result.Add(new SimpleAttachment(linkIcon, x.Title, x.Uri.AbsoluteUri, null, linkBtns)); break; case Sticker x: result.Add(new Sprite { - Width = 150, - Height = 150, + Size = new(150), Texture = lts?.Get(x.Images.Skip(1).First().Url.AbsoluteUri) }); break;