]> Untitled Git - lemmy-ui.git/blobdiff - src/shared/components/common/pictrs-image.tsx
component classes v2
[lemmy-ui.git] / src / shared / components / common / pictrs-image.tsx
index 4f3ddc05f9ae80a4f4b3763bbfe65f2ec8794403..7443749094970cd427bf9ea8cc30a07349d413cc 100644 (file)
@@ -22,13 +22,14 @@ export class PictrsImage extends Component<PictrsImageProps, any> {
 
   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,
@@ -38,8 +39,9 @@ export class PictrsImage extends Component<PictrsImageProps, any> {
             "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,
           })}
         />
@@ -51,17 +53,17 @@ export class PictrsImage extends Component<PictrsImageProps, any> {
     // 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;
@@ -69,8 +71,8 @@ export class PictrsImage extends Component<PictrsImageProps, any> {
       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;
   }