client/components/UnsplashImage.jsx
import { h, Component } from 'preact';
/* eslint-disable react/style-prop-object */
export default class UnsplashImage extends Component {
render() {
return (
<div>
<img src={this.props.src} alt={this.props.alt} />
<a
style="background-color:black;color:white;text-decoration:none;padding:4px 6px;font-family:-apple-system, BlinkMacSystemFont, "San Francisco", "Helvetica Neue", Helvetica, Ubuntu, Roboto, Noto, "Segoe UI", Arial, sans-serif;font-size:12px;font-weight:bold;line-height:1.2;display:inline-block;border-radius:3px;"
href={`https://unsplash.com/@${this.props.username}?utm_medium=referral&utm_campaign=photographer-credit&utm_content=creditBadge`}
target="_blank"
rel="noopener noreferrer"
title={`Download free do whatever you want high-resolution photos from ${this.props.author}`}
>
<span style="display:inline-block;padding:2px 3px;">
<svg xmlns="http://www.w3.org/2000/svg" style="height:12px;width:auto;position:relative;vertical-align:middle;top:-1px;fill:white;" viewBox="0 0 32 32">
<title />
<path d="M20.8 18.1c0 2.7-2.2 4.8-4.8 4.8s-4.8-2.1-4.8-4.8c0-2.7 2.2-4.8 4.8-4.8 2.7.1 4.8 2.2 4.8 4.8zm11.2-7.4v14.9c0 2.3-1.9 4.3-4.3 4.3h-23.4c-2.4 0-4.3-1.9-4.3-4.3v-15c0-2.3 1.9-4.3 4.3-4.3h3.7l.8-2.3c.4-1.1 1.7-2 2.9-2h8.6c1.2 0 2.5.9 2.9 2l.8 2.4h3.7c2.4 0 4.3 1.9 4.3 4.3zm-8.6 7.5c0-4.1-3.3-7.5-7.5-7.5-4.1 0-7.5 3.4-7.5 7.5s3.3 7.5 7.5 7.5c4.2-.1 7.5-3.4 7.5-7.5z" />
</svg>
</span>
<span style="display:inline-block;padding:2px 3px;">{this.props.author}</span>
</a>
</div>
);
}
}