diff --git a/package.json b/package.json index c8b93d5..4ab33f1 100644 --- a/package.json +++ b/package.json @@ -14,9 +14,9 @@ "react": "^16.13.1", "react-ace": "^9.1.4", "react-dom": "^16.13.1", - "react-iframe": "^1.8.0", "react-router-dom": "^5.2.0", - "react-scripts": "3.4.3" + "react-scripts": "3.4.3", + "sweetalert2": "^10.5.1" }, "scripts": { "start": "react-scripts start", diff --git a/src/App.css b/src/App.css index 79d2c27..7235b23 100644 --- a/src/App.css +++ b/src/App.css @@ -37,4 +37,24 @@ #htmlEditor { display: block; +} + +.swal2-popup{ + background-color: #2E3440 !important; +} +.swal2-title { + color: #A3F7BF !important; + font-family: 'Comfortaa', sans-serif; +} +.swal2-html-container{ + color: #fff !important; + font-family: 'Comfortaa', sans-serif; +} +.swal2-styled.swal2-confirm { + background-color: #A3F7BF !important;color: #2E3440 !important; + font-family: 'Comfortaa', sans-serif; +} +.swal2-styled.swal2-cancel{ + background-color: #FF6D6D !important;color: #fff !important; + font-family: 'Comfortaa', sans-serif; } \ No newline at end of file diff --git a/src/pages/projectspage.jsx b/src/pages/projectspage.jsx index d3b32b9..b2dcf1d 100644 --- a/src/pages/projectspage.jsx +++ b/src/pages/projectspage.jsx @@ -3,6 +3,9 @@ import { Link, useHistory } from 'react-router-dom'; import firebase from '../components/firebase'; +import Swal from 'sweetalert2'; +// import 'sweetalert2/src/sweetalert2.scss'; + import { makeStyles } from '@material-ui/core/styles'; import Fab from '@material-ui/core/Fab'; import IconButton from '@material-ui/core/IconButton'; @@ -177,17 +180,51 @@ function Projectspage() { setDisplayName(firebaseUser.displayName); myUID.current = firebaseUser.uid; firebaseRef.current = firebase.database().ref("WebDev/" + firebaseUser.uid) - firebaseRef.current.on("child_added", snap => { - const key = snap.key; - const project = { ...snap.val(), key: key }; - setProjects(prevProjects => [...prevProjects, project]); - }) - startBackdrop(false); + loadProjects(); } else history.push("/auth"); }); }, []); + function loadProjects() { + firebaseRef.current.once("value").then(snap => { + startBackdrop(false); + // const key = snap.key; + // const project = { ...snap.val(), key: key }; + // setProjects(prevProjects => [...prevProjects, project]); + console.log(snap.val()) + let tempProjects = []; + for (let i in snap.val()) { + const key = i; + const project = { ...snap.val()[i], key: key }; + tempProjects.push(project); + } + setProjects(tempProjects); + + }) + } + + function deleteProject(projectToBeDeleted) { + Swal.fire({ + title: 'Are you sure?', + text: "You won't be able to revert this!", + icon: 'warning', + showCancelButton: true, + confirmButtonColor: '#3085d6', + cancelButtonColor: '#d33', + confirmButtonText: 'Yes, delete it!' + }).then((result) => { + if (result.isConfirmed) { + firebaseRef.current.child(projectToBeDeleted).remove(); loadProjects(); + Swal.fire( + 'Deleted!', + 'Your file has been deleted.', + 'success' + ) + } + }) + } + return (