export const useBlobUrlFromB64 = (dataurl: string): string => {
  // data:image/jpeg;base64,/9j/...
  const arr = dataurl.split(',')
  if (arr.length < 2) {
    throw new Error('dataurl is not a valid base64 image')
  }
  const mimeMatches = arr[0].match(/:(.*?);/)
  if (mimeMatches === null) {
    throw new Error('dataurl is not a valid base64 image')
  }
  const mime = mimeMatches[1]  //image/png
  const b64data = atob(arr[1])
  let length = b64data.length
  const u8arr = new Uint8Array(length)
  while (length--) {
    u8arr[length] = b64data.charCodeAt(length)
  }
  const blob = new Blob([u8arr], {type: mime})
  return URL.createObjectURL(blob)
}