prasunsrivastava
Added the app files with the fist version.
bd9a582
raw
history blame
1.52 kB
import React, { useState } from "react";
import ChatInterface from "./components/ChatInterface";
const API_BASE_URL = process.env.REACT_APP_API_BASE_URL || "";
console.log("API_BASE_URL:", API_BASE_URL);
const App: React.FC = () => {
const [pipelineId, setPipelineId] = useState<string | null>(null);
const handleFileUpload = async (file: File) => {
const formData = new FormData();
formData.append("file", file);
const url = `${API_BASE_URL}/api/upload`;
console.log("Uploading file to:", url);
try {
const response = await fetch(url, {
method: "POST",
body: formData,
});
if (!response.ok) {
const errorData = await response.json().catch(() => ({}));
throw new Error(errorData.detail || "Upload failed");
}
const data = await response.json();
console.log("Upload response:", data);
setPipelineId(data.pipeline_id);
} catch (error) {
console.error("Error uploading file:", error);
throw error;
}
};
return (
<div className="min-h-screen bg-gray-900">
<header className="bg-gray-800 border-b border-gray-700">
<div className="max-w-7xl mx-auto py-4 px-4">
<h1 className="text-2xl font-bold text-white">Document Q&A Chat</h1>
</div>
</header>
<main className="max-w-7xl mx-auto">
<ChatInterface
pipelineId={pipelineId}
onFileUpload={handleFileUpload}
/>
</main>
</div>
);
};
export default App;