You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.2 KiB
39 lines
1.2 KiB
import { React, StrictMode, useState } from "react"
|
|
import ReactDOM from "react-dom/client"
|
|
import "./index.css"
|
|
import TimelineAreaChart from "./components/TimelineAreaChart"
|
|
import TotalPieChart from "./components/TotalPieChart"
|
|
import SingleFileUploader from "./components/SingleFileUpload"
|
|
import { GeistProvider, CssBaseline, Tabs } from "@geist-ui/core"
|
|
|
|
export default function App() {
|
|
const [fileUploaded, setFileUploaded] = useState(false)
|
|
|
|
const handleUploadedFile = function () {
|
|
setFileUploaded(true)
|
|
}
|
|
|
|
return (
|
|
<GeistProvider>
|
|
<CssBaseline />
|
|
<Tabs initialValue="1">
|
|
<Tabs.Item label="Upload File" value="1">
|
|
<SingleFileUploader onFileUploaded={handleUploadedFile} />
|
|
</Tabs.Item>
|
|
<Tabs.Item label="Project timeline" value="2" disabled={!fileUploaded}>
|
|
<TimelineAreaChart />
|
|
</Tabs.Item>
|
|
<Tabs.Item label="Total time spent" value="3" disabled={!fileUploaded}>
|
|
<TotalPieChart />
|
|
</Tabs.Item>
|
|
</Tabs>
|
|
</GeistProvider>
|
|
)
|
|
}
|
|
|
|
const root = ReactDOM.createRoot(document.getElementById("root"))
|
|
root.render(
|
|
<StrictMode>
|
|
<App />
|
|
</StrictMode>,
|
|
)
|