Files
Saxonite/SaxoniteCoreWebOnline/Online/Helpers/SaxContactMethodHelper_Online.cs
T
2023-10-16 16:22:45 +01:00

64 lines
3.4 KiB
C#

using Sarand.Net.Standard.Base.Helpers;
using Sarand.Net.Standard.Base.Utils;
using Saxonite.Net.Core.Web.Base.App;
using Saxonite.Net.Standard.Base.App;
using Saxonite.Net.Standard.Base.Helpers;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Saxonite.Net.Core.Web.Online.Helpers
{
//=======================================================================
public static class SaxContactMethodHelper_Online
{
//-------------------------------------------------------------------
public static String GetContactMethodHtml(Sax.ContactMethod method, String value, SaxLocaliser localiser)
{
// Qualify any URL value to ensure that it can be used as the href attribute in an anchor tag.
String url = (SaxContactMethodHelper.GetContactMethodType(method) == Sax.ContactMethodType.WebUrl) ? SacsDataValidationHelper.QualifyAbsoluteUrl(value) : value;
switch (method)
{
// Phone numbers.
case Sax.ContactMethod.PhoneMain:
return ConstructImageElement("icon/contact/phone-24.png") + localiser["label.main"] + ": " + value;
case Sax.ContactMethod.PhoneMobile:
return ConstructImageElement("icon/contact/mobile-24.png") + localiser["label.mobile"] + ": " + value;
case Sax.ContactMethod.PhoneHome:
return ConstructImageElement("icon/contact/phone-24.png") + localiser["label.home"] + ": " + value;
case Sax.ContactMethod.PhoneOffice:
return ConstructImageElement("icon/contact/phone-24.png") + localiser["label.office"] + ": " + value;
// Online.
case Sax.ContactMethod.Email:
return "<a href='mailto:" + value + "'>" + ConstructImageElement("action/mail24.png") + value + " </a>";
case Sax.ContactMethod.Website:
return "<a href='" + url + "' target='" + Sax.Config.Links.Targets.Website + "'>" + ConstructImageElement("icon/contact/www-24.png") + value + " </a>";
case Sax.ContactMethod.Wikipedia:
return "<a href='" + url + "' target='" + Sax.Config.Links.Targets.Wikipedia + "'>" + ConstructImageElement("icon/contact/wikipedia-24.png") + value + " </a>";
// Social media.
case Sax.ContactMethod.LinkedIn:
return "<a href='" + url + "' target='" + Sax.Config.Links.Targets.LinkedIn + "'>" + ConstructImageElement("icon/contact/linkedin-24.png") + value + " </a>";
case Sax.ContactMethod.Twitter:
return "<a href='" + url + "' target='" + Sax.Config.Links.Targets.Twitter + "'>" + ConstructImageElement("icon/contact/x-24.png") + value + " </a>";
case Sax.ContactMethod.Facebook:
return "<a href='" + url + "' target='" + Sax.Config.Links.Targets.Facebook + "'>" + ConstructImageElement("icon/contact/facebook-24.png") + value + " </a>";
case Sax.ContactMethod.Instagram:
return "<a href='" + url + "' target='" + Sax.Config.Links.Targets.Instagram + "'>" + ConstructImageElement("icon/contact/instagram-24.png") + value + " </a>";
}
return method.ToString() + ": " + value;
}
//-------------------------------------------------------------------
// Utilities.
public static String ConstructImageElement(String imageFilepath, String alt = "", String title = "")
{
return "<img src='../img/" + imageFilepath + "' alt='" + StringUtil.EmptyOnNull(alt) + "' title='" + StringUtil.EmptyOnNull(title) + "' />";
}
//-------------------------------------------------------------------
}
//=======================================================================
}