HEX
Server: LiteSpeed
System: Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
User: swifizcd (1555)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //home/swifizcd/shopup.com.ng/wp-content/plugins/extendify/src/Agent/lib/markdown.js
import { external, Icon } from '@wordpress/icons';

const homeUrl = window.extSharedData?.homeUrl;

const isExternalUrl = (url) => {
	try {
		const homeUrlObject = new URL(homeUrl);
		const urlObject = new URL(url);

		return homeUrlObject.hostname !== urlObject.hostname;
	} catch {
		return false;
	}
};

export const customComponents = {
	a: ({ href, children }) => {
		const isExternal = isExternalUrl(href);

		return (
			<a
				href={href}
				{...(isExternal && {
					target: '_blank',
					rel: 'noopener noreferrer',
				})}
			>
				{children}
				{isExternal && (
					<Icon icon={external} size={18} className="ml-0.5 inline" />
				)}
			</a>
		);
	},
};