render() {
return (
- <picture>
+ <picture className="pictrs-image d-inline-block overflow-hidden">
<source srcSet={this.src("webp")} type="image/webp" />
<source srcSet={this.props.src} />
<source srcSet={this.src("jpg")} type="image/jpeg" />
<img
src={this.props.src}
alt={this.alt()}
+ title={this.alt()}
loading="lazy"
className={classNames({
"img-fluid": !this.props.icon && !this.props.iconOverlay,
- "banner": this.props.banner,
- "thumbnail rounded": this.props.thumbnail && !this.props.icon && !this.props.banner,
+ banner: this.props.banner,
+ "thumbnail rounded":
+ this.props.thumbnail && !this.props.icon && !this.props.banner,
"img-expanded slight-radius":
!this.props.thumbnail && !this.props.icon,
"img-blur": this.props.thumbnail && this.props.nsfw,
- "rounded-circle img-icon mr-2": this.props.icon,
- "ml-2 mb-0 rounded-circle avatar-overlay": this.props.iconOverlay,
+ "rounded-circle img-cover img-icon me-2": this.props.icon,
+ "ms-2 mb-0 rounded-circle img-cover avatar-overlay":
+ this.props.iconOverlay,
"avatar-pushup": this.props.pushup,
})}
/>
// sample url:
// http://localhost:8535/pictrs/image/file.png?thumbnail=256&format=jpg
- let split = this.props.src.split("/pictrs/image/");
+ const split = this.props.src.split("/pictrs/image/");
// If theres not multiple, then its not a pictrs image
if (split.length == 1) {
return this.props.src;
}
- let host = split[0];
- let path = split[1];
+ const host = split[0];
+ const path = split[1];
- let params = { format };
+ const params = { format };
if (this.props.thumbnail) {
params["thumbnail"] = thumbnailSize;
params["thumbnail"] = iconThumbnailSize;
}
- let paramsStr = new URLSearchParams(params).toString();
- let out = `${host}/pictrs/image/${path}?${paramsStr}`;
+ const paramsStr = new URLSearchParams(params).toString();
+ const out = `${host}/pictrs/image/${path}?${paramsStr}`;
return out;
}