diff --git a/client/src/api/User.js b/client/src/api/User.js
index 296dd486..803f9805 100644
--- a/client/src/api/User.js
+++ b/client/src/api/User.js
@@ -21,7 +21,8 @@ export const handleLogin = () => {
window.location.href = "http://localhost:8080/api/auth/login"
};
export const AddNewCourseAPI = async (code, name) => {
- const resp = await axios.post(`${serverRoot}/api/user/course`, { code, name });
+ // const resp = await axios.post(`${serverRoot}/api/user/course`, { code, name });
+ const resp = await axios.post(`${serverRoot}/api/user/readonly`, { code, name });
// console.log(resp);
return resp;
};
diff --git a/client/src/screens/browse/components/browsefolder/index.jsx b/client/src/screens/browse/components/browsefolder/index.jsx
index 93094956..95cdbb2a 100644
--- a/client/src/screens/browse/components/browsefolder/index.jsx
+++ b/client/src/screens/browse/components/browsefolder/index.jsx
@@ -13,6 +13,12 @@ const BrowseFolder = ({ type = "file", color, path, name, subject, folderData, p
const currYear = useSelector((state) => state.fileBrowser.currentYear);
const isBR = useSelector((state) => state.user.user.isBR);
const [showConfirm, setShowConfirm] = useState(false);
+ const user = useSelector((state) => state.user.user);
+ const courseCode = subject || folderData?.course;
+ const isReadOnlyCourse = user?.readOnly?.some(
+ (c) => c.code.toLowerCase() === courseCode?.toLowerCase()
+ );
+
const onClick = (folderData) => {
// return;
dispatch(ChangeFolder(folderData));
@@ -121,14 +127,16 @@ const BrowseFolder = ({ type = "file", color, path, name, subject, folderData, p
{""}
{name ? name : "Name"}
- {isBR &&
{
- e.stopPropagation();
- setShowConfirm(true);
- }}
- title="Delete folder"
- >}
+ {isBR && !isReadOnlyCourse && (
+
{
+ e.stopPropagation();
+ setShowConfirm(true);
+ }}
+ title="Delete folder"
+ >
+ )}
@@ -137,12 +145,14 @@ const BrowseFolder = ({ type = "file", color, path, name, subject, folderData, p
- {isBR &&}
+ {isBR && !isReadOnlyCourse && (
+
+ )}
>
);
};
diff --git a/client/src/screens/browse/components/file-display/index.jsx b/client/src/screens/browse/components/file-display/index.jsx
index 09fe0d5b..7ca3c3dd 100644
--- a/client/src/screens/browse/components/file-display/index.jsx
+++ b/client/src/screens/browse/components/file-display/index.jsx
@@ -44,6 +44,9 @@ const FileDisplay = ({ file, path, code }) => {
const currCourseCode = useSelector((state) => state.fileBrowser?.currentCourseCode);
const currFolderId = useSelector((state) => state.fileBrowser?.currentFolder?._id);
const currentUser = useSelector((state) => state.user.user);
+ const isReadOnlyCourse = currentUser?.readOnly?.some(
+ (c) => c.code.toLowerCase() === currCourseCode?.toLowerCase()
+ );
if (!file.isVerified && !currentUser?.isBR) {
return null;
@@ -180,7 +183,7 @@ const FileDisplay = ({ file, path, code }) => {
}}
>
- {user?.isBR && (
+ {user?.isBR && !isReadOnlyCourse && (
<>
{!(file.isVerified)? : <>>}
diff --git a/client/src/screens/browse/components/folder-info/index.jsx b/client/src/screens/browse/components/folder-info/index.jsx
index a401a4b3..13d2dd45 100644
--- a/client/src/screens/browse/components/folder-info/index.jsx
+++ b/client/src/screens/browse/components/folder-info/index.jsx
@@ -27,6 +27,11 @@ const FolderInfo = ({
const [newFolderName, setNewFolderName] = useState("");
const [childType, setChildType] = useState("File");
+ const user = useSelector((state) => state.user.user);
+ const isReadOnlyCourse = user?.readOnly?.some(
+ (c) => c.code.toLowerCase() === courseCode?.toLowerCase()
+ );
+
const handleShare = () => {
const sectionShare = document.getElementById("share");
sectionShare.classList.add("show");
@@ -97,7 +102,7 @@ const FolderInfo = ({
- {canDownload ? (
+ {!isReadOnlyCourse && canDownload ? (
{/*