extraction func is added
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Dental Management</title>
|
||||
</head>
|
||||
|
||||
6
apps/Frontend/public/favicon.svg
Normal file
6
apps/Frontend/public/favicon.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
||||
<path d="M12 14c-1.65 0-3-1.35-3-3V5c0-1.65 1.35-3 3-3s3 1.35 3 3v6c0 1.65-1.35 3-3 3Z"></path>
|
||||
<path d="M19 14v-4a7 7 0 0 0-14 0v4"></path>
|
||||
<path d="M12 19c-5 0-8-2-9-5.5m18 0c-1 3.5-4 5.5-9 5.5Z"></path>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 379 B |
@@ -16,17 +16,10 @@ export default function useExtractPdfData() {
|
||||
const formData = new FormData();
|
||||
formData.append("pdf", pdfFile);
|
||||
|
||||
const res = await apiRequest("POST", "/api/pdfExtraction/", formData);
|
||||
const res = await apiRequest("POST", "/api/pdfExtraction/extract", formData);
|
||||
if (!res.ok) throw new Error("Failed to extract PDF");
|
||||
return res.json();
|
||||
},
|
||||
onSuccess: () => {
|
||||
toast({
|
||||
title: "Success",
|
||||
description: "PDF data extracted!",
|
||||
variant: "default",
|
||||
});
|
||||
},
|
||||
onError: (error) => {
|
||||
toast({
|
||||
title: "Error",
|
||||
@@ -34,5 +27,5 @@ export default function useExtractPdfData() {
|
||||
variant: "destructive",
|
||||
});
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -16,14 +16,18 @@ export async function apiRequest(
|
||||
): Promise<Response> {
|
||||
const token = localStorage.getItem("token");
|
||||
|
||||
const isFormData = typeof FormData !== "undefined" && data instanceof FormData;
|
||||
|
||||
const headers: Record<string, string> = {
|
||||
...(token ? { Authorization: `Bearer ${token}` } : {}),
|
||||
// Only set Content-Type if not using FormData
|
||||
...(isFormData ? {} : { "Content-Type": "application/json" }),
|
||||
};
|
||||
|
||||
const res = await fetch(`${API_BASE_URL}${url}`, {
|
||||
method,
|
||||
// headers: data ? { "Content-Type": "application/json" } : {},
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
...(token ? { Authorization: `Bearer ${token}` } : {}), // Include JWT token if available
|
||||
},
|
||||
body: data ? JSON.stringify(data) : undefined,
|
||||
headers,
|
||||
body: isFormData ? data as FormData : JSON.stringify(data),
|
||||
credentials: "include",
|
||||
});
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ export default function PatientsPage() {
|
||||
const [isUploading, setIsUploading] = useState(false);
|
||||
const [isExtracting, setIsExtracting] = useState(false);
|
||||
const [formData, setFormData] = useState({ PatientName: "", PatientMemberId: "", PatientDob:"" });
|
||||
const { mutate: extractPdf, isPending } = useExtractPdfData();
|
||||
const { mutate: extractPdf} = useExtractPdfData();
|
||||
|
||||
|
||||
// Fetch patients
|
||||
@@ -294,21 +294,39 @@ export default function PatientsPage() {
|
||||
|
||||
// File upload handling
|
||||
const handleFileUpload = (file: File) => {
|
||||
setIsUploading(true);
|
||||
setUploadedFile(file);
|
||||
setIsUploading(false); // In a real implementation, this would be set to true during upload
|
||||
|
||||
toast({
|
||||
title: "File Selected",
|
||||
description: `${file.name} is ready for processing.`,
|
||||
variant: "default",
|
||||
});
|
||||
|
||||
setIsUploading(false);
|
||||
};
|
||||
|
||||
// data extraction
|
||||
const handleExtract = () => {
|
||||
if (!uploadedFile) return alert("Please upload a PDF.");
|
||||
const handleExtract = () =>{
|
||||
setIsExtracting(true);
|
||||
|
||||
if (!uploadedFile){
|
||||
return toast({
|
||||
title: "Error",
|
||||
description:"Please upload a PDF",
|
||||
variant: "destructive",
|
||||
});
|
||||
}
|
||||
extractPdf(uploadedFile, {
|
||||
onSuccess: (data) => {
|
||||
setIsExtracting(false);
|
||||
|
||||
toast({
|
||||
title: "Success Pdf Data Extracted",
|
||||
description: `Name: ${data.name}, Member ID: ${data.memberId}, DOB: ${data.dob}`,
|
||||
variant: "default",
|
||||
});
|
||||
|
||||
setFormData({ PatientName: data.name || "", PatientMemberId: data.memberId || "", PatientDob: data.dob || ""});
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user