From fffaf38e6bb3ab31429d0f43c9edbcdfc127a772 Mon Sep 17 00:00:00 2001
From: Nidharshan A <cb.en.u4cse18036@cb.students.amrita.edu>
Date: Wed, 3 Mar 2021 13:55:16 +0000
Subject: [PATCH] Upload New File

---
 digital-course-file/src/user/AddFolder.js | 74 +++++++++++++++++++++++
 1 file changed, 74 insertions(+)
 create mode 100644 digital-course-file/src/user/AddFolder.js

diff --git a/digital-course-file/src/user/AddFolder.js b/digital-course-file/src/user/AddFolder.js
new file mode 100644
index 0000000..0cb0b09
--- /dev/null
+++ b/digital-course-file/src/user/AddFolder.js
@@ -0,0 +1,74 @@
+import { React , useState } from "react";
+import { Button,Modal,Form} from 'react-bootstrap';
+import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import { faFolderPlus } from "@fortawesome/free-solid-svg-icons";
+import { database } from '../fire.js'
+import firebase from 'firebase'
+import { ROOT_FOLDER } from '.././hooks/useFolder'
+
+// {currentFolder}
+export default function AddFolder( {currentFolder} ){
+    const [open, setOpen] = useState(false);
+    const [name, setName] = useState("");
+
+    function openModal(){
+        setOpen(true);
+    }
+
+    function closeModal(){
+        setOpen(false);
+    }
+
+    function handleSubmit(e){
+
+      if(currentFolder == null) return;
+
+      const path =  [...currentFolder.path];
+      if(currentFolder !== ROOT_FOLDER){
+          path.push( { name : currentFolder.name , id : currentFolder.id} )
+      }
+
+      e.preventDefault();
+      database.folders.add({
+        name : name,
+        parentId : currentFolder.id,
+        userId: firebase.auth().currentUser.uid,
+        path : path,
+        createdAt : database.getTime()
+      })
+      setName("");
+      closeModal();
+    }
+
+
+    return (
+        <>
+          <Button style={{maxWidth : "80px"}} onClick={openModal} variant="primary" size="lg">
+            <FontAwesomeIcon icon={faFolderPlus} />
+          </Button>
+          <Modal show={open} onHide={closeModal} >
+            <Form onSubmit={handleSubmit}>
+              <Modal.Body>
+                <Form.Group>
+                  <Form.Label>Folder Name</Form.Label>
+                  <Form.Control
+                    type="text"
+                    required
+                    value={name}
+                    onChange={e => setName(e.target.value)}
+                  />
+                </Form.Group>
+              </Modal.Body>
+              <Modal.Footer>
+              <Button variant="success" type="submit">
+                  Add Folder
+                </Button>
+                <Button variant="danger" onClick={closeModal}>
+                  Cancel
+                </Button>
+              </Modal.Footer>
+            </Form>
+          </Modal>
+        </>
+      );
+}
-- 
GitLab