[backend/federation] Prettier displayUri for profile fields that are links

This commit is contained in:
Laura Hausmann 2024-04-28 02:09:31 +02:00
parent ec6a3f5e73
commit f6bfaa72ad
No known key found for this signature in database
GPG key ID: D044E84C5BE01605

View file

@ -100,8 +100,10 @@ public class UserRenderer(IOptions<Config.InstanceSection> config, DatabaseConte
private static string RenderFieldValue(string value) private static string RenderFieldValue(string value)
{ {
if (!value.StartsWith("http://") && !value.StartsWith("https://")) return value; if (!value.StartsWith("http://") && !value.StartsWith("https://")) return value;
return !Uri.TryCreate(value, UriKind.Absolute, out var result) if (!Uri.TryCreate(value, UriKind.Absolute, out var uri))
? value return value;
: $"<a href=\"{result.ToString()}\" rel=\"me nofollow noopener\" target=\"_blank\">{value}</a>";
var displayUri = uri.Host + uri.PathAndQuery + uri.Fragment;
return $"<a href=\"{uri.ToString()}\" rel=\"me nofollow noopener\" target=\"_blank\">{displayUri}</a>";
} }
} }