mirror of
https://github.com/kremalicious/umami.git
synced 2024-12-24 02:06:19 +01:00
29 lines
650 B
JavaScript
29 lines
650 B
JavaScript
import React from 'react';
|
|
import PropTypes from 'prop-types';
|
|
import styles from './Favicon.module.css';
|
|
|
|
function getHostName(url) {
|
|
const match = url.match(/^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:/\n?=]+)/im);
|
|
return match && match.length > 1 ? match[1] : null;
|
|
}
|
|
|
|
function Favicon({ domain, ...props }) {
|
|
const hostName = domain ? getHostName(domain) : null;
|
|
|
|
return hostName ? (
|
|
<img
|
|
className={styles.favicon}
|
|
src={`https://icons.duckduckgo.com/ip3/${hostName}.ico`}
|
|
height="16"
|
|
alt=""
|
|
{...props}
|
|
/>
|
|
) : null;
|
|
}
|
|
|
|
Favicon.propTypes = {
|
|
domain: PropTypes.string,
|
|
};
|
|
|
|
export default Favicon;
|