Skip to content
Snippets Groups Projects
Commit 3287ceb1 authored by Balaji D's avatar Balaji D :blush:
Browse files

Create Assg

parent 907c499d
No related branches found
No related tags found
No related merge requests found
Source diff could not be displayed: it is too large. Options to address this: view the blob.
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
"react-loader-spinner": "^4.0.0", "react-loader-spinner": "^4.0.0",
"react-router-bootstrap": "^0.25.0", "react-router-bootstrap": "^0.25.0",
"react-router-dom": "^5.2.0", "react-router-dom": "^5.2.0",
"react-scripts": "4.0.2", "react-scripts": "^4.0.2",
"react-tooltip": "^4.2.17", "react-tooltip": "^4.2.17",
"sweetalert": "^2.1.2", "sweetalert": "^2.1.2",
"web-vitals": "^1.1.0" "web-vitals": "^1.1.0"
......
...@@ -13,6 +13,7 @@ import fire from './fire' ...@@ -13,6 +13,7 @@ import fire from './fire'
import ForgotPassword from './user/ForgotPassword' import ForgotPassword from './user/ForgotPassword'
import { LinkContainer } from 'react-router-bootstrap' import { LinkContainer } from 'react-router-bootstrap'
import UserProfile from './userprofie' import UserProfile from './userprofie'
import CreateAssignment from './user/createassignment'
const Routes = () => { const Routes = () => {
const [user, setUser] = useState('') const [user, setUser] = useState('')
...@@ -40,6 +41,7 @@ const Routes = () => { ...@@ -40,6 +41,7 @@ const Routes = () => {
<h2>Course File System</h2> <h2>Course File System</h2>
</Navbar.Brand> </Navbar.Brand>
{user && (<UserProfile></UserProfile>)} {user && (<UserProfile></UserProfile>)}
{user && (<CreateAssignment></CreateAssignment>)}
{user && ( {user && (
<Link to='/signin'> <Link to='/signin'>
<button <button
......
...@@ -22,6 +22,8 @@ import "firebase/storage" ...@@ -22,6 +22,8 @@ import "firebase/storage"
export const database = { export const database = {
folders : firestore.collection('folders'), folders : firestore.collection('folders'),
files : firestore.collection('files'), files : firestore.collection('files'),
a_folders : firestore.collection('a_folders'),
a_files : firestore.collection('a_files'),
getTime : firebase.firestore.FieldValue.serverTimestamp, getTime : firebase.firestore.FieldValue.serverTimestamp,
formatDoc : doc => { return {id : doc.id, ...doc.data()} }, formatDoc : doc => { return {id : doc.id, ...doc.data()} },
} }
......
import { React, useState, Fragment } from 'react'
import { Button, Modal, Form } from 'react-bootstrap'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { faFilePdf } 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'
export default function CreateAssignment({ currentFolder }) {
const [open, setOpen] = useState(false)
const [name, setName] = useState('')
const [date, setDate] = useState('')
const [desp, setDesp] = useState('')
function openModal() {
setOpen(true)
}
function closeModal() {
setOpen(false)
}
function handleSubmit(e) {
e.preventDefault()
database.a_folders.add({
name: name,
userId: firebase.auth().currentUser.uid,
date: date,
createdAt: database.getTime(),
desp: desp,
})
setName('')
setDate('')
setDesp('')
closeModal()
}
return (
<Fragment>
<button
data-tip
data-for='assg'
className='logoutbutton'
name='assg'
onClick={openModal}
// style={divStyle}
>
<FontAwesomeIcon icon={faFilePdf} />
</button>
<Modal show={open} onHide={closeModal}>
<Form onSubmit={handleSubmit}>
<Modal.Body>
<Form.Group>
<Form.Label>Assignment Name</Form.Label>
<Form.Control
type='text'
required
value={name}
onChange={(e) => setName(e.target.value)}
/>
<Form.Label>Due Date</Form.Label>
<Form.Control
type='text'
required
value={date}
onChange={(e) => setDate(e.target.value)}
/>
<Form.Label>Desp</Form.Label>
<Form.Control
type='textarea'
required
value={desp}
onChange={(e) => setDesp(e.target.value)}
/>
</Form.Group>
</Modal.Body>
<Modal.Footer>
<Button name='create_assignment' variant='success' type='submit'>
Create Assignment
</Button>
<Button variant='danger' onClick={closeModal}>
Cancel
</Button>
</Modal.Footer>
</Form>
</Modal>
<ReactTooltip id='createassignment' type='success' place='bottom' effect='solid'>
<span>Create Assignment</span>
</ReactTooltip>
</Fragment>
)
}
...@@ -10,9 +10,6 @@ export default function UserProfile({ currentFolder }) { ...@@ -10,9 +10,6 @@ export default function UserProfile({ currentFolder }) {
const [open, setOpen] = useState(false) const [open, setOpen] = useState(false)
const [uid, setuid] = useState('') const [uid, setuid] = useState('')
const [time, settime] = useState('') const [time, settime] = useState('')
const divStyle = {
marginLeft: '60%',
}
function openModal() { function openModal() {
setOpen(true) setOpen(true)
setuid(firebase.auth().currentUser.email) setuid(firebase.auth().currentUser.email)
...@@ -31,7 +28,7 @@ export default function UserProfile({ currentFolder }) { ...@@ -31,7 +28,7 @@ export default function UserProfile({ currentFolder }) {
className='logoutbutton' className='logoutbutton'
name='myprofile' name='myprofile'
onClick={openModal} onClick={openModal}
style={divStyle} // style={divStyle}
> >
<FontAwesomeIcon icon={faUser} /> <FontAwesomeIcon icon={faUser} />
</button> </button>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment