summaryrefslogtreecommitdiff
path: root/components/Sidebar/OrgImage.tsx
blob: 60bcdfb0314e76fc662a6c2c914423f55be7a033 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import React, { useEffect, useState } from 'react'
import Image from 'next/image'
import path from 'path'
//import '../../../public/placeholder.png'

export interface OrgImageProps {
  src: string
  file: string
}

export const OrgImage = (props: OrgImageProps) => {
  const { src, file } = props

  const [image, setImage] = useState<any>(null)

  /* )
*   .then((res) => res.blob())
*   .then((res) => setImage(res))
*   .catch((e) => {
*     setImage(null)
*     console.error(e)
*   })
}, [fullPath]) */

  const dumbLoader = ({ src, width, quality }: { [key: string]: string | number }) => {
    return `${src}`
  }
  const homeLoader = ({ src, width, quality }: { [key: string]: string | number }) => {
    return `http://localhost:35901/img/${src}`
  }

  if (src.replaceAll(/(http)?.*/g, '$1')) {
    console.log(src.replaceAll(/(http)?.*/g, '$1'))
    return (
      <Image layout="responsive" loader={dumbLoader} src={src} alt="" width="100%" height="100%" />
    )
  }

  const srcName = src.replaceAll(/file:/g, '')

  const dir = path.dirname(file)
  const fullPath =
    path.isAbsolute(srcName) || srcName.slice(0, 1) === '~' ? srcName : path.join(dir, srcName)
  const encodedPath = encodeURIComponent(encodeURIComponent(fullPath))

  return (
    <Image
      layout="responsive"
      loader={homeLoader}
      src={encodedPath}
      alt=""
      width="100%"
      height="100%"
    />
  )
}