diff --git a/digital-course-file/package-lock.json b/digital-course-file/package-lock.json index 3733eefb2da293859f3d202f309313f4ebd85081..e4cf5d9275a478d0c6c3bf3159e507c5bddaf984 100644 --- a/digital-course-file/package-lock.json +++ b/digital-course-file/package-lock.json @@ -33,6 +33,7 @@ "react-router-bootstrap": "^0.25.0", "react-router-dom": "^5.2.0", "react-scripts": "4.0.2", + "react-tooltip": "^4.2.17", "web-vitals": "^1.1.0" } }, @@ -1962,7 +1963,6 @@ "jest-resolve": "^26.6.2", "jest-util": "^26.6.2", "jest-worker": "^26.6.2", - "node-notifier": "^8.0.0", "slash": "^3.0.0", "source-map": "^0.6.0", "string-length": "^4.0.1", @@ -6943,8 +6943,7 @@ "esprima": "^4.0.1", "estraverse": "^4.2.0", "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "optionator": "^0.8.1" }, "bin": { "escodegen": "bin/escodegen.js", @@ -10749,7 +10748,6 @@ "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", "graceful-fs": "^4.2.4", "jest-regex-util": "^26.0.0", "jest-serializer": "^26.6.2", @@ -15885,7 +15883,6 @@ "eslint-webpack-plugin": "^2.1.0", "file-loader": "6.1.1", "fs-extra": "^9.0.1", - "fsevents": "^2.1.3", "html-webpack-plugin": "4.5.0", "identity-obj-proxy": "3.0.0", "jest": "26.6.0", @@ -15927,6 +15924,30 @@ "fsevents": "^2.1.3" } }, + "node_modules/react-tooltip": { + "version": "4.2.17", + "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-4.2.17.tgz", + "integrity": "sha512-LzwUbQYzeRyrjbuuCbYUB0dlJpFPGPwigWS052umr1QulcF5N4czabDiWJ+Y585Q7ijvMFuBbeOvnI/azoTusw==", + "dependencies": { + "prop-types": "^15.7.2", + "uuid": "^7.0.3" + }, + "engines": { + "npm": ">=6.13" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/react-tooltip/node_modules/uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/react-transition-group": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.1.tgz", @@ -19234,10 +19255,8 @@ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dependencies": { - "chokidar": "^3.4.1", "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" + "neo-async": "^2.5.0" }, "optionalDependencies": { "chokidar": "^3.4.1", @@ -19734,7 +19753,6 @@ "anymatch": "^2.0.0", "async-each": "^1.0.1", "braces": "^2.3.2", - "fsevents": "^1.2.7", "glob-parent": "^3.1.0", "inherits": "^2.0.3", "is-binary-path": "^1.0.0", @@ -34454,6 +34472,22 @@ "workbox-webpack-plugin": "5.1.4" } }, + "react-tooltip": { + "version": "4.2.17", + "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-4.2.17.tgz", + "integrity": "sha512-LzwUbQYzeRyrjbuuCbYUB0dlJpFPGPwigWS052umr1QulcF5N4czabDiWJ+Y585Q7ijvMFuBbeOvnI/azoTusw==", + "requires": { + "prop-types": "^15.7.2", + "uuid": "^7.0.3" + }, + "dependencies": { + "uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" + } + } + }, "react-transition-group": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.1.tgz", diff --git a/digital-course-file/package.json b/digital-course-file/package.json index 987d348d91c1bc6e31fbf36f63e23b2013b04e77..a4d06731aae15d6b2b0e2671906f17b5eb3ee22a 100644 --- a/digital-course-file/package.json +++ b/digital-course-file/package.json @@ -29,6 +29,7 @@ "react-router-bootstrap": "^0.25.0", "react-router-dom": "^5.2.0", "react-scripts": "4.0.2", + "react-tooltip": "^4.2.17", "web-vitals": "^1.1.0" }, "scripts": { diff --git a/digital-course-file/src/test/AddFile.test.js b/digital-course-file/src/test/AddFile.test.js new file mode 100644 index 0000000000000000000000000000000000000000..08b753c7483eed02e5aba5d9d86710cbb621fbd1 --- /dev/null +++ b/digital-course-file/src/test/AddFile.test.js @@ -0,0 +1,9 @@ +import {React,Fragment} from 'react'; +import ReactDOM from 'react-dom'; +import AddFile from '../user/AddFile'; + +it("Unit testing for add file", () =>{ + const fragment = document.createElement("Fragment"); + ReactDOM.render(<AddFile></AddFile>,fragment) +}) + diff --git a/digital-course-file/src/test/AddFolder.test.js b/digital-course-file/src/test/AddFolder.test.js new file mode 100644 index 0000000000000000000000000000000000000000..20e38d1dad91ef8982242eaa15126e6f3153f8c4 --- /dev/null +++ b/digital-course-file/src/test/AddFolder.test.js @@ -0,0 +1,10 @@ +import {React,Fragment} from 'react'; +import ReactDOM from 'react-dom'; +import AddFolder from '../user/AddFolder'; + +it("Unit testing for add folder", () =>{ + const folder = {id: '123',name:'asaasds'} + + const fragment = document.createElement("Fragment"); + ReactDOM.render(<AddFolder></AddFolder>,fragment) +}) diff --git a/digital-course-file/src/test/Deffolders.test.js b/digital-course-file/src/test/Deffolders.test.js new file mode 100644 index 0000000000000000000000000000000000000000..3138c5050f9f456730bfcf75412e04f0879eeaa8 --- /dev/null +++ b/digital-course-file/src/test/Deffolders.test.js @@ -0,0 +1,9 @@ +import {React,Fragment} from 'react'; +import ReactDOM from 'react-dom'; +import Deffolders from '../user/Deffolders'; + +it("Unit testing for Default folders", () =>{ + const fragment = document.createElement("Fragment"); + ReactDOM.render(<Deffolders></Deffolders>,fragment) +}) + diff --git a/digital-course-file/src/test/Dropzone.test.js b/digital-course-file/src/test/Dropzone.test.js new file mode 100644 index 0000000000000000000000000000000000000000..a586006c4706a150856541172f64c5a98b5eeae4 --- /dev/null +++ b/digital-course-file/src/test/Dropzone.test.js @@ -0,0 +1,10 @@ +import {React,Fragment} from 'react'; +import ReactDOM from 'react-dom'; +import Dropzone from '../user/Dropzone'; + +it("Unit testing for Drag N Drop", () =>{ + const folder = {id: '1255',name: 'grefd',parentId:'nmhsd'} + const fragment = document.createElement("Fragment"); + ReactDOM.render(<Dropzone currentFolder={folder}></Dropzone>,fragment) +}) + diff --git a/digital-course-file/src/test/File.test.js b/digital-course-file/src/test/File.test.js new file mode 100644 index 0000000000000000000000000000000000000000..54abc252a1f617faf59488d6d3a22757d31e75f5 --- /dev/null +++ b/digital-course-file/src/test/File.test.js @@ -0,0 +1,10 @@ +import {React,Fragment} from 'react'; +import ReactDOM from 'react-dom'; +import File from '../user/File'; + +it("Unit testing for File", () =>{ + const file = {name:'afgfvf'} + const fragment = document.createElement("Fragment"); + ReactDOM.render(<File file={file}></File>,fragment) +}) + diff --git a/digital-course-file/src/test/Folder.test.js b/digital-course-file/src/test/Folder.test.js new file mode 100644 index 0000000000000000000000000000000000000000..f65422597209cd5a719c3155b71e0e9d3c54ac84 --- /dev/null +++ b/digital-course-file/src/test/Folder.test.js @@ -0,0 +1,10 @@ +import {React,Fragment} from 'react'; +import ReactDOM from 'react-dom'; +import Folder from '../user/Folder'; + +it("Unit testing Folder", () =>{ + const folder = {id:'12123',name:'abcs'} + const fragment = document.createElement("Fragment"); + ReactDOM.render(<Folder folder={folder}></Folder>,fragment) +}) + diff --git a/digital-course-file/src/test/FolderNav.test.js b/digital-course-file/src/test/FolderNav.test.js new file mode 100644 index 0000000000000000000000000000000000000000..9d314c76ed649f426d39fac56f487ea7f0667d83 --- /dev/null +++ b/digital-course-file/src/test/FolderNav.test.js @@ -0,0 +1,11 @@ +import {React,Fragment} from 'react'; +import ReactDOM from 'react-dom'; +import FolderNav from '../user/FolderNav'; + +it("Unit testing for Folder Navigation", () =>{ + const folder1 = {id:'f32fsd132',name:'fewwee'} + const folder2 = {id:'dsgsgr',name:'2edwg'} + const folder = {id:'12345',name:'qwqq',path:[folder1,folder2]} + const fragment = document.createElement("Fragment"); + ReactDOM.render(<FolderNav currentFolder={folder}></FolderNav>,fragment) +}) \ No newline at end of file diff --git a/digital-course-file/src/test/ForgotPassword.test.js b/digital-course-file/src/test/ForgotPassword.test.js new file mode 100644 index 0000000000000000000000000000000000000000..621f1461e19641fe945e22efe9d5f381f33d655c --- /dev/null +++ b/digital-course-file/src/test/ForgotPassword.test.js @@ -0,0 +1,9 @@ +import {React,Fragment} from 'react'; +import ReactDOM from 'react-dom'; +import ForgotPassword from '../user/ForgotPassword'; + +it("Unit testing for Forgot Password", () =>{ + const fragment = document.createElement("Fragment"); + ReactDOM.render(<ForgotPassword></ForgotPassword>,fragment) +}) + diff --git a/digital-course-file/src/test/Sharelink.test.js b/digital-course-file/src/test/Sharelink.test.js new file mode 100644 index 0000000000000000000000000000000000000000..129b67e26065954387572cc2ec5e2639c8ae17dd --- /dev/null +++ b/digital-course-file/src/test/Sharelink.test.js @@ -0,0 +1,10 @@ +import {React,Fragment} from 'react'; +import ReactDOM from 'react-dom'; +import Sharelink from '../user/Sharelink'; + +it("Unit testing for Shareable link", () =>{ + const folder = {id: '123',name:'asaasds'} + const fragment = document.createElement("Fragment"); + ReactDOM.render(<Sharelink currentFolder={folder}></Sharelink>,fragment) +}) + diff --git a/digital-course-file/src/user/AddFile.js b/digital-course-file/src/user/AddFile.js index 48a0c0d7a0864083ab3f1839093c14ae8f30294e..e60d994cc9576031ff95e5141a0848c703ea1025 100644 --- a/digital-course-file/src/user/AddFile.js +++ b/digital-course-file/src/user/AddFile.js @@ -1,4 +1,4 @@ -import React, { useState } from 'react' +import {React,useState,Fragment } from 'react' import ReactDOM from 'react-dom' import { faFileUpload } from '@fortawesome/free-solid-svg-icons' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' @@ -6,11 +6,15 @@ import { storage, database } from '../fire.js' import { ROOT_FOLDER } from '../hooks/useFolder' import { v4 as uuidV4 } from 'uuid' import { ProgressBar, Toast } from 'react-bootstrap' +import ReactTooltip from 'react-tooltip'; import firebase from 'firebase' export default function AddFile({ currentFolder }) { const [uploadingFiles, setUploadingFiles] = useState([]) - + const divStyle = { + fontWeight: 'bold', + color: 'black' + }; function handleUpload(e) { const file = e.target.files[0] if (currentFolder == null || file == null) return @@ -84,8 +88,8 @@ export default function AddFile({ currentFolder }) { } return ( - <> - <label className='btn btn-outline-success btn-sm m-0 mr-2'> + <Fragment> + <label className='btn btn-outline-success m-0 mr-2' data-tip data-for='uploadfile'> <FontAwesomeIcon icon={faFileUpload} /> <input name='upload' @@ -138,6 +142,10 @@ export default function AddFile({ currentFolder }) { </div>, document.body )} - </> + + <ReactTooltip id='uploadfile' type='success' place='bottom' effect='solid'> + <span style={divStyle}>Upload File</span> + </ReactTooltip> + </Fragment> ) } diff --git a/digital-course-file/src/user/AddFolder.js b/digital-course-file/src/user/AddFolder.js index 1842605a369a81510c864c16b98f1e13f448a191..9271adec51e83e3708a3db9543358b0e6397ec2f 100644 --- a/digital-course-file/src/user/AddFolder.js +++ b/digital-course-file/src/user/AddFolder.js @@ -1,13 +1,17 @@ -import { React , useState } from "react"; +import { React , useState, Fragment } 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' +import ReactTooltip from 'react-tooltip'; -// {currentFolder} export default function AddFolder( {currentFolder} ){ + const divStyle = { + fontWeight: 'bold', + color: 'black' + }; const [open, setOpen] = useState(false); const [name, setName] = useState(""); @@ -49,8 +53,8 @@ export default function AddFolder( {currentFolder} ){ return ( - <> - <Button name='nf' style={{maxWidth : "80px" }} className="mr-2" onClick={openModal} variant="primary" size="sm" > + <Fragment> + <Button data-tip data-for='addfolder' name='nf' style={{maxWidth : "80px" }} className="mr-2" onClick={openModal} variant="primary" size="sm" > <FontAwesomeIcon icon={faFolderPlus} /> </Button> <Modal show={open} onHide={closeModal} > @@ -76,7 +80,11 @@ export default function AddFolder( {currentFolder} ){ </Modal.Footer> </Form> </Modal> - </> + + <ReactTooltip id='addfolder' type='success' place='bottom' effect='solid'> + <span style={divStyle}>Add Folder</span> + </ReactTooltip> + </Fragment> ); } diff --git a/digital-course-file/src/user/Deffolders.js b/digital-course-file/src/user/Deffolders.js index fcfe3c8f3a1ad0e03c318c6f3697852aa0330ed3..c040bfe8294df6c1e6ec14efb582094ffc187e3a 100644 --- a/digital-course-file/src/user/Deffolders.js +++ b/digital-course-file/src/user/Deffolders.js @@ -1,11 +1,18 @@ -import { React , useState } from "react"; +import { React , useState,Fragment } from "react"; import { Button,Modal,Form} from 'react-bootstrap'; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faBolt } from "@fortawesome/free-solid-svg-icons"; import { database } from '../fire.js' import firebase from 'firebase' -import { ROOT_FOLDER } from '../hooks/useFolder' +import { ROOT_FOLDER } from '../hooks/useFolder'; +import ReactTooltip from 'react-tooltip'; + export default function Deffolders( {currentFolder} ){ + + const divStyle = { + fontWeight: 'bold', + color: 'black' + }; function createdef(){ if(currentFolder == null) return; const path = [...currentFolder.path]; @@ -29,10 +36,14 @@ export default function Deffolders( {currentFolder} ){ } } return ( - <> - <Button name='special_folders' style={{maxWidth : "80px"}} className="mr-2" onClick={createdef} variant="primary" size="sm"> + <Fragment> + <Button data-tip data-for='defaultfolder' name='special_folders' style={{maxWidth : "80px"}} className="mr-2" onClick={createdef} variant="primary" size="sm"> <FontAwesomeIcon icon={faBolt} /> </Button> - </> + + <ReactTooltip id='defaultfolder' type='success' place='bottom' effect='solid'> + <span style={divStyle}>Create Default Folders</span> + </ReactTooltip> + </Fragment> ); } diff --git a/digital-course-file/src/user/Deletefolder.js b/digital-course-file/src/user/Deletefolder.js index 3aa94ad81c1e3b72b4088eb13d36e6503d3ff1be..c28f2f79d3969c9412cc9bd6505260c6c5ffd337 100644 --- a/digital-course-file/src/user/Deletefolder.js +++ b/digital-course-file/src/user/Deletefolder.js @@ -1,4 +1,4 @@ -import { React , useState } from "react"; +import { React , useState,Fragment } from "react"; import { Button, Modal, ModalFooter} from 'react-bootstrap'; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faAlignCenter, faFolderMinus } from "@fortawesome/free-solid-svg-icons"; @@ -6,7 +6,8 @@ import { database } from '../fire.js' import firebase from 'firebase' import { Link } from "react-router-dom"; import "firebase/storage"; -// {currentFolder} +import ReactTooltip from 'react-tooltip'; + export default function AddFolder( {currentFolder} ){ const [open, setOpen] = useState(false); const temp_parent = ""+currentFolder.parentId; @@ -67,8 +68,8 @@ export default function AddFolder( {currentFolder} ){ } return ( - <> - <Button name='del_folder' style={{maxWidth : "80px" }} className="mr-2" onClick={openModal} variant="danger" size="sm" > + <Fragment> + <Button data-tip data-for='deletefolder' name='del_folder' style={{maxWidth : "80px" }} className="mr-2" onClick={openModal} variant="danger" size="sm" > <FontAwesomeIcon icon={faFolderMinus} /> </Button> <Modal show={open} onHide={closeModal} > @@ -87,6 +88,10 @@ export default function AddFolder( {currentFolder} ){ </Button> </ModalFooter> </Modal> - </> + + <ReactTooltip id='deletefolder' type='error' place='bottom' effect='solid'> + <span style={{fontWeight:'bold'}}>Delete Folder</span> + </ReactTooltip> + </Fragment> ); } \ No newline at end of file diff --git a/digital-course-file/src/user/Dropzone.js b/digital-course-file/src/user/Dropzone.js index 2224508f497003f0027e878778e4d68a6be45719..5c9ab5db26c758dd094e59d59b189591dca29263 100644 --- a/digital-course-file/src/user/Dropzone.js +++ b/digital-course-file/src/user/Dropzone.js @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from 'react' +import {React,useState,useEffect,Fragment } from 'react' import { Button, Modal, ModalFooter } from 'react-bootstrap' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { faHandRock } from '@fortawesome/free-solid-svg-icons' @@ -11,9 +11,13 @@ import { ProgressBar, Toast } from 'react-bootstrap' import { storage } from '../fire.js' import { ROOT_FOLDER } from '../hooks/useFolder' import ReactDOM from 'react-dom' +import ReactTooltip from 'react-tooltip'; -// {currentFolder} export default function Dropzone({ currentFolder }) { + const divStyle = { + fontWeight: 'bold', + color: 'black' + }; const [open, setOpen] = useState(false) const temp_parent = '' + currentFolder.parentId const [path, setpath] = useState(``) @@ -118,8 +122,9 @@ export default function Dropzone({ currentFolder }) { } return ( - <> + <Fragment> <Button + data-tip data-for='dragndrop' name='drag-and-drop' style={{ maxWidth: '80px' }} className='mr-2' @@ -217,6 +222,10 @@ export default function Dropzone({ currentFolder }) { </div>, document.body )} - </> + + <ReactTooltip id='dragndrop' type='success' place='bottom' effect='solid'> + <span style={divStyle}>Drag N Drop</span> + </ReactTooltip> + </Fragment> ) } diff --git a/digital-course-file/src/user/File.js b/digital-course-file/src/user/File.js index e01520ec1cec5292b89069e0db22d11558e8bbd9..0ddeac8187987a123b6dd6436199abfe858c066b 100644 --- a/digital-course-file/src/user/File.js +++ b/digital-course-file/src/user/File.js @@ -1,6 +1,6 @@ import { faFile } from '@fortawesome/free-solid-svg-icons' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' -import { React, useState } from 'react' +import { React, useState,Fragment } from 'react' import { storage, storageRef, firestore1, database } from '../fire.js' import Axios from 'axios' import fileDownload from 'js-file-download' @@ -98,6 +98,7 @@ export default function File({ file }) { } return ( + <Fragment> <div id='root'> <a onContextMenu={displayMenu} @@ -156,5 +157,6 @@ export default function File({ file }) { </Form> </Modal> </div> + </Fragment> ) } diff --git a/digital-course-file/src/user/Folder.js b/digital-course-file/src/user/Folder.js index 24366dfe345b60222b861e22924d58761f3f7ee5..e9f6ea9f032448fa40c6a558e1047ee44fad36c2 100644 --- a/digital-course-file/src/user/Folder.js +++ b/digital-course-file/src/user/Folder.js @@ -1,4 +1,4 @@ -import { React,useState } from "react"; +import { React,useState,Fragment } from "react"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faFolder } from "@fortawesome/free-solid-svg-icons" import { Button,Modal,Form } from "react-bootstrap"; @@ -82,6 +82,7 @@ export default function Folder ({folder}) { } return ( + <Fragment> <div> <Button onContextMenu={displayMenu} @@ -147,6 +148,7 @@ export default function Folder ({folder}) { </Modal> </div> + </Fragment> ); } \ No newline at end of file diff --git a/digital-course-file/src/user/FolderNav.js b/digital-course-file/src/user/FolderNav.js index 38fbdb58b757216e9166e67ef725dc9ba85b6aa4..eab3425996780d24e379f6b1bd730e7a60dde6bd 100644 --- a/digital-course-file/src/user/FolderNav.js +++ b/digital-course-file/src/user/FolderNav.js @@ -1,4 +1,4 @@ -import { react } from 'react' +import { react,Fragment } from 'react' import { Breadcrumb } from 'react-bootstrap' import { Link } from 'react-router-dom' import { ROOT_FOLDER } from '../hooks/useFolder' @@ -11,6 +11,7 @@ export default function FolderNav({ currentFolder }) { } return ( + <Fragment> <Breadcrumb className='flex-grow-1' listProps={{ className: 'bg-white pl-0 m-0' }} @@ -38,5 +39,6 @@ export default function FolderNav({ currentFolder }) { </Breadcrumb.Item> )} </Breadcrumb> + </Fragment> ) } \ No newline at end of file diff --git a/digital-course-file/src/user/ForgotPassword.js b/digital-course-file/src/user/ForgotPassword.js index 58ea8ae833eb323c0062f158b64695e9c34e8309..fa04881d26a9f509fd58d32dc25dea6eb5757be0 100644 --- a/digital-course-file/src/user/ForgotPassword.js +++ b/digital-course-file/src/user/ForgotPassword.js @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from 'react' +import {React,useState,useEffect,Fragment } from 'react' import { Link } from 'react-router-dom' import fire from '../fire' import firebase from 'firebase' @@ -22,6 +22,7 @@ export default function ForgotPassword() { setEmailError('Check your inbox for furthur instructions') } return ( + <Fragment> <section className='login'> <div className='loginContainer'> <p className='errorMsg'>{emailError}</p> @@ -44,5 +45,6 @@ export default function ForgotPassword() { </div> </div> </section> + </Fragment> ) } diff --git a/digital-course-file/src/user/Sharelink.js b/digital-course-file/src/user/Sharelink.js index ea30ba9c08b6fb11f749c6b34f69944bae0d2248..e6b06a9cd7b7202e241d75331279f5ce8914ca9f 100644 --- a/digital-course-file/src/user/Sharelink.js +++ b/digital-course-file/src/user/Sharelink.js @@ -1,10 +1,15 @@ -import { React, useState } from 'react' +import { React, useState,Fragment } from 'react' import { Button, Modal, Form } from 'react-bootstrap' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { faLink, faPaste } from '@fortawesome/free-solid-svg-icons' import { CopyToClipboard } from 'react-copy-to-clipboard' +import ReactTooltip from 'react-tooltip'; export default function Sharelink({ currentFolder }) { + const divStyle = { + fontWeight: 'bold', + color: 'black' + }; const [open, setOpen] = useState(false) const [clipBoard, setClipBoard] = useState(false) function openModal() { @@ -15,8 +20,9 @@ export default function Sharelink({ currentFolder }) { } return ( - <> + <Fragment> <Button + data-tip data-for='sharefolderlink' name='share_link' style={{ maxWidth: '80px' }} onClick={openModal} @@ -49,6 +55,10 @@ export default function Sharelink({ currentFolder }) { </Button> </Modal.Footer> </Modal> - </> + + <ReactTooltip id='sharefolderlink' type='success' place='bottom' effect='solid'> + <span style={divStyle}>Share Folder Link</span> + </ReactTooltip> + </Fragment> ) } diff --git a/digital-course-file/src/user/copyright.js b/digital-course-file/src/user/copyright.js index a7dc74b423cd0ea57dc92119cf1afb3c6c2e8de6..c41288e73478e4fb16ef4751d0b0cbbc1f16cb3a 100644 --- a/digital-course-file/src/user/copyright.js +++ b/digital-course-file/src/user/copyright.js @@ -23,6 +23,18 @@ export default function copyright() { <p>Github : @balajidass07</p> <p>From : India</p> <br/> + <h3>Nidharshan A</h3> + <p>Contact : nidharshan2001@gmail.com</p> + <p>Website : https://cbenu4cse18036.github.io/</p> + <p>Github : @cbenu4cse18036</p> + <p>From : India</p> + <br/> + <h3>Nishita Dash</h3> + <p>Contact : nishita73081@gmail.com</p> + <p>Website : https://nishitadash.github.io/</p> + <p>Github : @nishitadash</p> + <p>From : India</p> + <br/> <h2>THANKS</h2> <p>Mr. Dr. Venkataraman D (CSE) </p> <br/>