export const useGetFileType = async (file: File | null): Promise<string> => {
  const fileReader = new FileReader();
  // let type = "";
  const type1 = await new Promise<string>((resolve, reject) => {
    fileReader.onloadend = function (p) {
      // type="something"
      let arr = new Uint8Array(p.target?.result as ArrayBuffer).subarray(0, 4);
      let header = "";
      for (let i = 0; i < arr.length; i++) {
        header += arr[i].toString(16);
      }
      let type = "";
      console.log(header);
      switch (header) {
        case "89504e47":
        case "47494638":
        case "ffd8ffe0":
        case "ffd8ffe1":
        case "ffd8ffe2":
        case "ffd8ffe3":
        case "ffd8ffe8":
          type = "image";
          break;
        case "25504446":
          type = "application/pdf";
          break;
        case "504b34":
          type = "application/docx";
          break;
        default:
          type = "unknown";
          break;
      }
      resolve(type);
      // console.log("actual type>>", type);
      // Check the file signature against known types
    };
    if (file !== null) {
      fileReader?.readAsArrayBuffer(new Blob([file]));
    }
  });
  return type1;
};
