Skip to content

Commit 3ee495d

Browse files
committed
Combined CbShare and CbRoot and fixed loadFiles
Temporary file loading upload fix. Now reloads page correctly when uploading from home page
1 parent 2c2a0d1 commit 3ee495d

File tree

3 files changed

+56
-70
lines changed

3 files changed

+56
-70
lines changed

web/src/App.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ import Col from 'react-bootstrap/Col';
55
import {
66
createBrowserRouter,
77
RouterProvider,
8+
useNavigate,
89
} from "react-router-dom";
910

1011
// Local imports
1112
import CbRoot from './routes/CbRoot';
1213
import ErrorPage from './routes/error-page';
13-
import CbShare from './routes/CbShare';
1414

1515
import CbVersion from './components/CbVersion';
1616
import { NotificationProvider } from './components/CbToastsContext';
@@ -20,12 +20,12 @@ import CbToastsContainer from './components/CbToastsContainer';
2020
const router = createBrowserRouter([
2121
{
2222
path: "/",
23-
element: <CbRoot />,
23+
element: <CbRoot isHome={true} />,
2424
errorElement: <ErrorPage />,
2525
},
2626
{
2727
path: "/share/:shareId",
28-
element: <CbShare />,
28+
element: <CbRoot isHome={false} />,
2929
}
3030
]);
3131

web/src/routes/CbRoot.js

Lines changed: 53 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,26 @@
11
// System imports
22
import React, { useState } from "react";
3-
import { useNavigate } from "react-router-dom";
3+
import { useNavigate, useParams } from "react-router-dom";
4+
import { useEffect } from "react";
45
import Form from "react-bootstrap/Form";
56

67
// Local imports
78
import CbUpload from "../components/CbUpload";
89
import CbHeader from "../components/CbHeader";
10+
import CbShareNav from "../components/CbShareNav";
11+
import CbFiles from "../components/CbFiles";
912

1013
// Root Component
11-
export function CbRoot() {
14+
export function CbRoot( { isHome } ) {
1215

1316
// Useful hooks
14-
const [shareId, setShareId] = useState("");
17+
const [shareId, setShareId] = useState(useParams().shareId);
18+
console.log(shareId)
19+
console.log(isHome)
1520
const navigate = useNavigate();
21+
// Hooks if in share
22+
const [viewMode, setViewMode] = useState("list");
23+
const [fileInfo, setFileInfo] = useState([]);
1624

1725
// Evaluate entered shareId
1826
function handleChange(e) {
@@ -24,18 +32,52 @@ export function CbRoot() {
2432
navigate(`/share/${encodeURIComponent(shareId)}`);
2533
}
2634

27-
// Load files placeholder to quiet warnings
28-
function loadFilesPlaceHolder() {}
35+
function loadFiles() {
36+
const shareId_forLoad = window.location.pathname.split('/')[2]; // Use useRef instead?
37+
console.log("loadFiles")
38+
var request = new XMLHttpRequest();
39+
request.open('GET', `/api/search?shareId=${shareId_forLoad}`, true);
40+
request.onload = function () {
41+
if (request.status >= 200 && request.status < 400) {
42+
var data = JSON.parse(this.response);
43+
if (data.exists) {
44+
setFileInfo(data.files);
45+
} else {
46+
// Put a warning toast here
47+
navigate('/')
48+
}
49+
} else {
50+
// Put a warning toast here
51+
navigate('/')
52+
}
53+
}
54+
request.send();
55+
}
56+
57+
useEffect(() => {
58+
if (!isHome) {
59+
setFileInfo([]);
60+
loadFiles();
61+
}
62+
console.log("useEffect")
63+
}, [isHome]);
2964

3065
return (
3166
<div>
3267
<CbHeader />
33-
<CbUpload loadFiles={loadFilesPlaceHolder}/>
34-
<Form className="mt-3" onChange={handleChange} onSubmit={handleRedirect}>
35-
<Form.Group>
36-
<Form.Control type="text" placeholder="Enter Share ID to Retrieve an Existing Share" />
37-
</Form.Group>
38-
</Form>
68+
<CbUpload loadFiles={loadFiles} />
69+
{isHome ?
70+
<Form className="mt-3" onChange={handleChange} onSubmit={handleRedirect}>
71+
<Form.Group>
72+
<Form.Control type="text" placeholder="Enter Share ID to Retrieve an Existing Share" />
73+
</Form.Group>
74+
</Form>
75+
:
76+
<div>
77+
<CbShareNav changeViewMode={setViewMode} viewMode={viewMode} />
78+
<CbFiles fileInfo={fileInfo} viewMode={viewMode} loadFiles={loadFiles} />
79+
</div>
80+
}
3981
</div>
4082
);
4183
}

web/src/routes/CbShare.js

Lines changed: 0 additions & 56 deletions
This file was deleted.

0 commit comments

Comments
 (0)