* Sanitize url before fetching favicon and display letter avatar if it can't be retrieved Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> * Priorotise www for apple.com domain Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> * Add requested changes Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> * Fix the tests Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> * Change avatar generation strategy Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com> --------- Co-authored-by: v1b3m <vibenjamin6@gmail.com> Co-authored-by: RubensRafael <rubensrafael2@live.com>
25 lines
655 B
TypeScript
25 lines
655 B
TypeScript
import { parseDate } from './date-utils';
|
|
|
|
export function formatToHumanReadableDate(date: Date | string) {
|
|
const parsedJSDate = parseDate(date).toJSDate();
|
|
|
|
return new Intl.DateTimeFormat(undefined, {
|
|
month: 'short',
|
|
day: 'numeric',
|
|
year: 'numeric',
|
|
}).format(parsedJSDate);
|
|
}
|
|
|
|
export function sanitizeURL(link: string | null | undefined) {
|
|
return link
|
|
? link.replace(/(https?:\/\/)|(www\.)/g, '').replace(/\/$/, '')
|
|
: '';
|
|
}
|
|
|
|
export function getLogoUrlFromDomainName(
|
|
domainName?: string,
|
|
): string | undefined {
|
|
const sanitizedDomain = sanitizeURL(domainName);
|
|
return `https://favicon.twenty.com/${sanitizedDomain}`;
|
|
}
|