diff --git a/.eslintrc.js b/.eslintrc.js
new file mode 100644
index 0000000..30646b6
--- /dev/null
+++ b/.eslintrc.js
@@ -0,0 +1,9 @@
+module.exports = {
+ globals: {
+ __PATH_PREFIX__: true,
+ },
+ extends: `react-app`,
+ rules: {
+ "jsx-a11y/anchor-is-valid": 0,
+ },
+};
\ No newline at end of file
diff --git a/.eslintrc.json b/.eslintrc.json
index e8183db..19bd1c0 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -1,30 +1,21 @@
{
- "env": {
- "browser": true,
- "es6": true
+ "env": {
+ "browser": true,
+ "es6": true
+ },
+ "extends": ["plugin:react/recommended", "standard"],
+ "parser": "babel-eslint",
+ "parserOptions": {
+ "ecmaFeatures": {
+ "jsx": true
},
- "extends": [
- "plugin:react/recommended",
- "standard"
- ],
- "parser": "babel-eslint",
- "parserOptions": {
- "ecmaFeatures": {
- "jsx": true
- },
- "ecmaVersion": 11,
- "sourceType": "module"
- },
- "plugins": [
- "react",
- "babel"
- ],
- "rules": {
- "quotes": [
- "off",
- "double"
- ],
- "react/prop-types": 0,
- "semi": "always"
- }
+ "ecmaVersion": 11,
+ "sourceType": "module"
+ },
+ "plugins": ["react", "babel"],
+ "rules": {
+ "quotes": ["off", "double"],
+ "react/prop-types": 0,
+ "semi": "always"
+ }
}
diff --git a/.firebaserc b/.firebaserc
deleted file mode 100644
index 8fc70dc..0000000
--- a/.firebaserc
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "projects": {
- "default": "upe-website-fa07a"
- }
-}
diff --git a/firebase.json b/firebase.json
deleted file mode 100644
index 3047637..0000000
--- a/firebase.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "firestore": {
- "rules": "firestore.rules",
- "indexes": "firestore.indexes.json"
- },
- "functions": {},
- "storage": {
- "rules": "storage.rules"
- },
- "emulators": {
- "functions": {
- "port": 5001
- },
- "firestore": {
- "port": 8080
- }
- }
-}
diff --git a/firestore.indexes.json b/firestore.indexes.json
deleted file mode 100644
index cae3f17..0000000
--- a/firestore.indexes.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "indexes": [
- {
- "collectionGroup": "events",
- "queryScope": "COLLECTION",
- "fields": [
- {
- "fieldPath": "index",
- "order": "ASCENDING"
- },
- {
- "fieldPath": "title",
- "order": "ASCENDING"
- }
- ]
- },
- {
- "collectionGroup": "users",
- "queryScope": "COLLECTION",
- "fields": [
- {
- "fieldPath": "class",
- "order": "ASCENDING"
- },
- {
- "fieldPath": "name",
- "order": "ASCENDING"
- }
- ]
- },
- {
- "collectionGroup": "users",
- "queryScope": "COLLECTION",
- "fields": [
- {
- "fieldPath": "eboard",
- "order": "ASCENDING"
- },
- {
- "fieldPath": "positionRank",
- "order": "ASCENDING"
- }
- ]
- },
- {
- "collectionGroup": "users",
- "queryScope": "COLLECTION",
- "fields": [
- {
- "fieldPath": "email",
- "order": "ASCENDING"
- },
- {
- "fieldPath": "name",
- "order": "ASCENDING"
- }
- ]
- }
- ],
- "fieldOverrides": []
-}
diff --git a/firestore.rules b/firestore.rules
deleted file mode 100644
index 8d700cd..0000000
--- a/firestore.rules
+++ /dev/null
@@ -1,8 +0,0 @@
-rules_version = '2';
-service cloud.firestore {
- match /databases/{database}/documents {
- match /{document=**} {
- allow read, write: if true;
- }
- }
-}
\ No newline at end of file
diff --git a/package.json b/package.json
index 4717a34..8694d1e 100644
--- a/package.json
+++ b/package.json
@@ -22,6 +22,7 @@
"firebase-functions": "^3.7.0",
"firebase-tools": "^8.4.3",
"generate-password": "^1.5.1",
+ "husky": "^6.0.0",
"moment": "^2.24.0",
"pg": "^7.18.2",
"react": "^16.13.0",
@@ -33,6 +34,33 @@
"reactstrap": "^8.4.1",
"recompose": "^0.30.0"
},
+ "devDependencies": {
+ "@babel/core": "^7.11.6",
+ "@babel/plugin-proposal-class-properties": "^7.10.4",
+ "@babel/preset-env": "^7.11.5",
+ "@babel/preset-react": "^7.10.4",
+ "eslint-config-standard": "^14.1.1",
+ "eslint-plugin-babel": "^5.3.1",
+ "eslint-plugin-import": "^2.22.1",
+ "eslint-plugin-node": "^11.1.0",
+ "eslint-plugin-promise": "^4.2.1",
+ "eslint-plugin-react": "^7.21.2",
+ "eslint-plugin-standard": "^4.0.1",
+ "prettier": "^2.3.0"
+ },
+ "lint-staged": {
+ "src/**/*.{js,jsx}": [
+ "eslint --max-warnings=0"
+ ],
+ "src/**/*.{js,jsx,json,md}": [
+ "prettier --write"
+ ]
+ },
+ "husky": {
+ "hooks": {
+ "pre-commit": "lint-staged"
+ }
+ },
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
@@ -53,19 +81,5 @@
"last 1 firefox version",
"last 1 safari version"
]
- },
- "devDependencies": {
- "@babel/core": "^7.11.6",
- "@babel/plugin-proposal-class-properties": "^7.10.4",
- "@babel/preset-env": "^7.11.5",
- "@babel/preset-react": "^7.10.4",
- "eslint-config-standard": "^14.1.1",
- "eslint-plugin-babel": "^5.3.1",
- "eslint-plugin-import": "^2.22.1",
- "eslint-plugin-node": "^11.1.0",
- "eslint-plugin-promise": "^4.2.1",
- "eslint-plugin-react": "^7.21.2",
- "eslint-plugin-standard": "^4.0.1",
- "prettier": "^2.0.5"
}
-}
\ No newline at end of file
+}
diff --git a/src/App.js b/src/App.js
index 9c5dccd..352ab0f 100644
--- a/src/App.js
+++ b/src/App.js
@@ -6,18 +6,22 @@ import { compose } from "recompose";
import * as ROUTES from "./constants/routes";
-import MainLanding from "./pages/main-site/Landing";
-import Panel from "./pages/main-site/Panel";
-import About from "./pages/main-site/About";
-import Contact from "./pages/main-site/Contact";
-import Members from "./pages/main-site/Members";
-import EboardM from "./pages/main-site/EboardM";
-import EboardU from "./pages/main-site/EboardU";
-import EboardE from "./pages/main-site/EboardE";
-import Events from "./pages/main-site/Events";
-import NotFound from "./pages/main-site/404";
-import Login from "./pages/main-site/Login";
-import Logout from "./pages/main-site/Logout";
+import MainLanding from "./pages/Landing";
+import Panel from "./pages/Panel";
+import About from "./pages/About";
+import Contact from "./pages/Contact";
+import Members from "./pages/Members";
+import EboardM from "./pages/EboardM";
+import EboardU from "./pages/EboardU";
+import EboardE from "./pages/EboardE";
+import Events from "./pages/Events";
+import NotFound from "./pages/404";
+import Login from "./pages/Login";
+import Logout from "./pages/Logout";
+
+
+
+
import { withAuthentication } from "./api/Session";
@@ -35,7 +39,7 @@ const AppBase = () => (
-
+
diff --git a/src/api/Firebase/firebase.js b/src/api/Firebase/firebase.js
index 2b15754..1a658a9 100644
--- a/src/api/Firebase/firebase.js
+++ b/src/api/Firebase/firebase.js
@@ -24,12 +24,12 @@ class Firebase {
this.storage = app.storage();
this.functions = app.functions();
}
-
+
getConfig = () => this.firestore.doc("config/general").get();
-
+
configDoc = () => this.firestore.doc("config/general");
-
- generalSettings = () => this.firestore.doc("website/generalSettings");
+
+ generalSettings = () => this.firestore.doc("website/generalSettings");
// *** Auth API ***
@@ -147,7 +147,7 @@ class Firebase {
uploadImage = (className, fileName) =>
this.storage.ref("profiles").child(className).child(fileName);
delImage = (className, fileName) =>
- this.storage.ref("profiles").child(className).child(fileName).delete();
+ this.storage.ref("profiles").child(className).child(fileName).delete();
// *** Events API ***
diff --git a/src/api/Session/withAuthorization.js b/src/api/Session/withAuthorization.js
index 62b8755..4a2bb74 100644
--- a/src/api/Session/withAuthorization.js
+++ b/src/api/Session/withAuthorization.js
@@ -2,7 +2,7 @@ import React from "react";
import AuthUserContext from "./context";
import { withFirebase } from "../Firebase";
-import NotEboard from "../../components/main-site/NotEboard";
+import NotEboard from "../../components/NotEboard";
const withAuthorization = (condition) => (Component) => {
class WithAuthorization extends React.Component {
@@ -21,13 +21,13 @@ const withAuthorization = (condition) => (Component) => {
this.listener = this.props.firebase.onAuthUserListener(
(authUser) => {
if (!authUser) {
- console.log("no auth user found")
+ console.log("no auth user found");
this.savePathname();
window.location.href = "/login";
}
},
() => {
- console.log("authorization fallback")
+ console.log("authorization fallback");
this.savePathname();
window.location.href = "/login";
}
diff --git a/src/assets/img/UPEclass.jpg b/src/assets/img/UPEclass.jpg
new file mode 100644
index 0000000..cac7fd8
Binary files /dev/null and b/src/assets/img/UPEclass.jpg differ
diff --git a/src/assets/img/logo_resized.png b/src/assets/img/logo_resized.png
new file mode 100644
index 0000000..b6bf92d
Binary files /dev/null and b/src/assets/img/logo_resized.png differ
diff --git a/src/assets/img/projects.jpg b/src/assets/img/projects.jpg
deleted file mode 100644
index 510d825..0000000
Binary files a/src/assets/img/projects.jpg and /dev/null differ
diff --git a/src/components/main-site/AddClass.js b/src/components/AddClass.js
similarity index 84%
rename from src/components/main-site/AddClass.js
rename to src/components/AddClass.js
index 44c3678..84e1a8b 100644
--- a/src/components/main-site/AddClass.js
+++ b/src/components/AddClass.js
@@ -9,10 +9,9 @@ import Col from "react-bootstrap/Col";
import "bootstrap/dist/css/bootstrap.min.css";
-import { withFirebase } from "../../api/Firebase";
+import { withFirebase } from "../api/Firebase";
import { compose } from "recompose";
-
const styles = {
card: {
width: "400px",
@@ -83,16 +82,18 @@ const INITIAL_STATE = {
class AddClassesBase extends Component {
state = { ...INITIAL_STATE };
-
+
componentDidMount() {
this.getClasses();
}
-
+
getClasses() {
this.props.firebase.getConfig().then((doc) => {
- const indexes = Object.entries(doc.data().classes).sort((a,b) => b[1] > a[1] ? 1 : -1).map(c => c[1]);
+ const indexes = Object.entries(doc.data().classes)
+ .sort((a, b) => (b[1] > a[1] ? 1 : -1))
+ .map((c) => c[1]);
this.setState({ index: indexes[0] });
- const memberClasses = doc.data().classes;
+ const memberClasses = doc.data().classes;
this.setState({ memberClasses });
});
}
@@ -102,33 +103,29 @@ class AddClassesBase extends Component {
};
onSubmit = (event) => {
- const {
- name,
- index,
- memberClasses,
- } = this.state;
-
- const i = index + 1;
- const data = { ...memberClasses, [name]: i};
-
- this.props.firebase.configDoc().update({'classes': data}).then(() => {
- console.log("Success");
- this.props.updateFunc();
- }).catch(err => {
- console.log(err);
- });
+ const { name, index, memberClasses } = this.state;
+
+ const i = index + 1;
+ const data = { ...memberClasses, [name]: i };
+
+ this.props.firebase
+ .configDoc()
+ .update({ classes: data })
+ .then(() => {
+ console.log("Success");
+ this.props.updateFunc();
+ })
+ .catch((err) => {
+ console.log(err);
+ });
event.preventDefault();
};
render() {
const { classes } = this.props;
- const {
- name,
- error,
- } = this.state;
- const isInvalid =
- name === "";
+ const { name, error } = this.state;
+ const isInvalid = name === "";
return (
diff --git a/src/components/main-site/AddEvent.js b/src/components/AddEvent.js
similarity index 99%
rename from src/components/main-site/AddEvent.js
rename to src/components/AddEvent.js
index 1e7ac9b..3266b96 100644
--- a/src/components/main-site/AddEvent.js
+++ b/src/components/AddEvent.js
@@ -9,7 +9,7 @@ import Col from "react-bootstrap/Col";
import "bootstrap/dist/css/bootstrap.min.css";
-import { withFirebase } from "../../api/Firebase";
+import { withFirebase } from "../api/Firebase";
import { compose } from "recompose";
const styles = {
diff --git a/src/components/main-site/AddMember.js b/src/components/AddMember.js
similarity index 95%
rename from src/components/main-site/AddMember.js
rename to src/components/AddMember.js
index 00a1a86..0524499 100644
--- a/src/components/main-site/AddMember.js
+++ b/src/components/AddMember.js
@@ -9,7 +9,7 @@ import Col from "react-bootstrap/Col";
import "bootstrap/dist/css/bootstrap.min.css";
-import { withFirebase } from "../../api/Firebase";
+import { withFirebase } from "../api/Firebase";
import { compose } from "recompose";
const axios = require("axios");
@@ -98,14 +98,16 @@ const INITIAL_STATE = {
class AddMemberBase extends Component {
state = { ...INITIAL_STATE };
-
+
componentDidMount() {
this.getClasses();
}
-
+
getClasses() {
this.props.firebase.getConfig().then((doc) => {
- const memberClasses = Object.entries(doc.data().classes).sort((a,b) => b[1] > a[1] ? 1 : -1).map(c => c[0]);
+ const memberClasses = Object.entries(doc.data().classes)
+ .sort((a, b) => (b[1] > a[1] ? 1 : -1))
+ .map((c) => c[0]);
this.setState({ memberClasses });
});
}
@@ -121,8 +123,8 @@ class AddMemberBase extends Component {
console.log("Invalid file type");
f = null;
} else {
- var fileExtension = "jpg";
- if (f.type.split("/")[1] === "png") fileExtension = "png";
+ var fileExtension = "jpg";
+ if (f.type.split("/")[1] === "png") fileExtension = "png";
this.setState({ fileExtension: fileExtension });
}
@@ -188,8 +190,8 @@ class AddMemberBase extends Component {
position: position,
positionRank: positionRank,
class: className,
- rp: 0,
- bp: 0
+ rp: 0,
+ bp: 0,
},
socials: {
facebook: facebook,
@@ -200,7 +202,7 @@ class AddMemberBase extends Component {
roles: {
eboard: eboard,
upemember: true,
- nonmember: false,
+ nonmember: false,
},
};
@@ -245,7 +247,7 @@ class AddMemberBase extends Component {
res.data[0].uid
);
this.props.updateFunc();
- this.setState({ ...INITIAL_STATE }, this.getClasses());
+ this.setState({ ...INITIAL_STATE }, this.getClasses());
})
.catch((error) => {
console.log(error);
@@ -270,7 +272,11 @@ class AddMemberBase extends Component {
error,
} = this.state;
const isInvalid =
- name === "" || email === "" || className === "" || gradYear === 0 || position === "";
+ name === "" ||
+ email === "" ||
+ className === "" ||
+ gradYear === 0 ||
+ position === "";
const year = new Date().getFullYear();
const years = [];
diff --git a/src/components/main-site/BPEdit.js b/src/components/BPEdit.js
similarity index 92%
rename from src/components/main-site/BPEdit.js
rename to src/components/BPEdit.js
index 1ea9291..902b32c 100644
--- a/src/components/main-site/BPEdit.js
+++ b/src/components/BPEdit.js
@@ -6,7 +6,7 @@ import InputGroup from "react-bootstrap/InputGroup";
import Row from "react-bootstrap/Row";
import Col from "react-bootstrap/Col";
-import { withFirebase } from "../../api/Firebase";
+import { withFirebase } from "../api/Firebase";
import { compose } from "recompose";
import { withStyles } from "@material-ui/styles";
@@ -65,7 +65,7 @@ const INITIAL_STATE = {
class BPEditBase extends Component {
state = { ...INITIAL_STATE };
-
+
componentDidMount() {
this.props.firebase.getUID(this.props.value.email).then((snapshot) => {
this.setState({ uid: snapshot.data().value });
@@ -77,15 +77,12 @@ class BPEditBase extends Component {
};
onSubmit = (event) => {
- const {
- rp,
- bp,
- } = this.state;
-
+ const { rp, bp } = this.state;
+
const data = {
upe: {
bp: parseInt(this.props.value.upe.bp) + parseInt(bp) + parseInt(rp),
- rp: parseInt(this.props.value.upe.rp) + parseInt(rp),
+ rp: parseInt(this.props.value.upe.rp) + parseInt(rp),
},
};
@@ -102,19 +99,12 @@ class BPEditBase extends Component {
render() {
const { classes } = this.props;
- const {
- bp,
- rp,
- error,
- } = this.state;
-
- const isInvalid =
- bp === "" &&
- rp === "";
+ const { bp, rp, error } = this.state;
+
+ const isInvalid = bp === "" && rp === "";
return (
);
}
diff --git a/src/components/main-site/EventsManagement.js b/src/components/EventsManagement.js
similarity index 91%
rename from src/components/main-site/EventsManagement.js
rename to src/components/EventsManagement.js
index 28f8bad..ac4836b 100644
--- a/src/components/main-site/EventsManagement.js
+++ b/src/components/EventsManagement.js
@@ -8,9 +8,9 @@ import EventMngCard from "./EventMngCard.js";
import AddEvent from "./AddEvent.js";
import "bootstrap/dist/css/bootstrap.min.css";
-import "../../styles/main-site/main.css";
+import "../styles/main.css";
-import { withFirebase } from "../../api/Firebase";
+import { withFirebase } from "../api/Firebase";
import { compose } from "recompose";
const styles = {
@@ -50,7 +50,7 @@ class MemberListBase extends Component {
};
this.handleToggleAdd = this.handleToggleAdd.bind(this);
- this.getEvents = this.getEvents.bind(this);
+ this.getEvents = this.getEvents.bind(this);
}
componentDidMount() {
@@ -73,8 +73,8 @@ class MemberListBase extends Component {
.catch((error) => {
console.error("Error getting documents: ", error);
});
-
- this.setState({addEvent: false});
+
+ this.setState({ addEvent: false });
}
render() {
@@ -102,7 +102,7 @@ class MemberListBase extends Component {
-
+
diff --git a/src/components/main-site/Footer.js b/src/components/Footer.js
similarity index 84%
rename from src/components/main-site/Footer.js
rename to src/components/Footer.js
index eaea98c..41df601 100644
--- a/src/components/main-site/Footer.js
+++ b/src/components/Footer.js
@@ -7,6 +7,7 @@ import {
faGithub,
faFacebook,
faTwitterSquare,
+ faYoutubeSquare,
} from "@fortawesome/free-brands-svg-icons";
import { withStyles } from "@material-ui/styles";
@@ -16,7 +17,7 @@ const styles = {
},
footer: {
backgroundColor: "#333",
- borderBottom: "3px solid #f21131",
+ borderBottom: "3px solid #871a13",
textAlign: "center",
},
footerIcon: {
@@ -66,7 +67,7 @@ const Footer = ({ classes }) => (
/>
- {""}
+
(
/>
- {""}
+
- {""}
+
+
+
+
+
+
diff --git a/src/components/main-site/Header.js b/src/components/Header.js
similarity index 85%
rename from src/components/main-site/Header.js
rename to src/components/Header.js
index 6f313fb..603916e 100644
--- a/src/components/main-site/Header.js
+++ b/src/components/Header.js
@@ -9,34 +9,37 @@ import { withStyles } from "@material-ui/styles";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faUserCircle } from "@fortawesome/free-solid-svg-icons";
-import * as ROUTES from "../../constants/routes";
+import * as ROUTES from "../constants/routes";
-import img from "../../assets/img/header.jpg";
+import img from "../assets/img/header.jpg";
+import logo from "../assets/img/logo_resized.png";
+import UPEclass from "../assets/img/UPEclass.jpg";
const styles = {
mainNav: {
paddingTop: "10px",
+ paddingLeft: "200px",
paddingBottom: "10px",
- fontfamily: "Andale Mono, monospace",
- borderTop: "3px solid #f21131",
+ fontfamily: "Recursive",
+ borderTop: "3px solid #871a13",
backgroundColor: "#333",
},
mainNavBrand: {
"& span": {
- fontFamily: "Gruppo",
fontSize: "36px",
+ color: "#fff",
margin: 0,
lineHeight: 1,
fontWeight: 800,
letterSpacing: "3px",
textTransform: "uppercase",
- color: "#f21131",
transition: "all .3s",
+ paddingLeft: "0px",
"@media only screen and (max-width:992px)": {
paddingLeft: "20px",
},
"@media only screen and (min-width:992px)": {
- paddingLeft: "300px",
+ paddingLeft: "50px",
},
"&:hover": {
color: "#C30000",
@@ -53,14 +56,14 @@ const styles = {
paddingLeft: "20px",
color: "#fff",
"&:hover": {
- color: "#f21131",
+ color: "#871a13",
textDecoration: "none",
},
"& span": {
paddingLeft: "30px",
color: "#fff",
"&:hover": {
- color: "#f21131",
+ color: "#871a13",
textDecoration: "none",
},
},
@@ -78,7 +81,7 @@ const styles = {
textDecoration: "none",
"&:hover": {
textDecoration: "none",
- color: "#f21131",
+ color: "#871a13",
},
},
masthead: {
@@ -88,13 +91,13 @@ const styles = {
backgroundAttachment: "scroll",
position: "relative",
backgroundSize: "cover",
- backgroundImage: `url(${img})`,
+ backgroundImage: `url(${UPEclass})`,
},
mastheadSiteHeading: {
- padding: "200px 0 150px",
+ padding: "350px 0 150px",
color: "#fff",
"@media only screen and (min-width:768px)": {
- padding: "200px 0!important",
+ padding: "325px 0!important",
},
},
loginIcon: {
@@ -102,7 +105,7 @@ const styles = {
fontSize: "30px",
transition: "all .3s linear",
"&:hover": {
- color: "#f21131",
+ color: "#f871a13",
"-webkit-transform": "translateY(-2px)",
transform: "translateY(-2px)",
transition: "all .3s linear",
@@ -116,6 +119,7 @@ const Header = ({ classes }) => (
+
BU UPE
@@ -172,17 +176,7 @@ const Header = ({ classes }) => (
-
-
);
-export default withStyles(styles)(Header);
+export default withStyles(styles)(Header);
\ No newline at end of file
diff --git a/src/components/main-site/Header2.js b/src/components/Header2.js
similarity index 97%
rename from src/components/main-site/Header2.js
rename to src/components/Header2.js
index b3a9ea3..c72bb5f 100644
--- a/src/components/main-site/Header2.js
+++ b/src/components/Header2.js
@@ -7,9 +7,9 @@ import "bootstrap/dist/css/bootstrap.min.css";
import { compose } from "recompose";
import { withStyles } from "@material-ui/styles";
-import * as ROUTES from "../../constants/routes";
+import * as ROUTES from "../constants/routes";
-import img from "../../assets/img/header.jpg";
+import img from "../assets/img/header.jpg";
const styles = {
mainNav: {
diff --git a/src/components/main-site/Header3.js b/src/components/Header3.js
similarity index 97%
rename from src/components/main-site/Header3.js
rename to src/components/Header3.js
index b9cdadf..ea8592f 100644
--- a/src/components/main-site/Header3.js
+++ b/src/components/Header3.js
@@ -8,9 +8,9 @@ import "bootstrap/dist/css/bootstrap.min.css";
import { compose } from "recompose";
import { withStyles } from "@material-ui/styles";
-import * as ROUTES from "../../constants/routes";
+import * as ROUTES from "../constants/routes";
-import img from "../../assets/img/header.jpg";
+import img from "../assets/img/header.jpg";
const styles = {
mainNav: {
@@ -155,7 +155,7 @@ class Header3Base extends Component {
Event Management
-
+
(
+
+);
+
+export default withStyles(styles)(HeaderPhoto);
diff --git a/src/components/main-site/LoginForm.js b/src/components/LoginForm.js
similarity index 90%
rename from src/components/main-site/LoginForm.js
rename to src/components/LoginForm.js
index d4f923a..bed3eba 100644
--- a/src/components/main-site/LoginForm.js
+++ b/src/components/LoginForm.js
@@ -4,11 +4,11 @@ import Form from "react-bootstrap/Form";
import Container from "react-bootstrap/Container";
import { withStyles } from "@material-ui/styles";
-import logo from "../../assets/img/logo.png";
+import logo from "../assets/img/logo.png";
import "bootstrap/dist/css/bootstrap.min.css";
-import { withFirebase } from "../../api/Firebase";
+import { withFirebase } from "../api/Firebase";
import { compose } from "recompose";
const styles = {
@@ -41,7 +41,7 @@ const styles = {
class LoginFormBase extends Component {
componentDidMount = () => {
- console.log("login form mounted")
+ console.log("login form mounted");
if (this.props.firebase) {
const urlParams = new URLSearchParams(window.location.search);
const token = urlParams.get("token");
@@ -51,7 +51,7 @@ class LoginFormBase extends Component {
window.localStorage.removeItem("pathname");
this.props.firebase
.doSignInWithToken(token)
- .then(() => (this.props.history.push(pathname ? pathname : "/panel")))
+ .then(() => this.props.history.push(pathname ? pathname : "/panel"))
.catch(console.error);
} else {
window.location.href = "https://upe-authenticator.herokuapp.com/";
diff --git a/src/components/main-site/MemberCard.js b/src/components/MemberCard.js
similarity index 95%
rename from src/components/main-site/MemberCard.js
rename to src/components/MemberCard.js
index fb953eb..f9f260a 100644
--- a/src/components/main-site/MemberCard.js
+++ b/src/components/MemberCard.js
@@ -8,7 +8,7 @@ import {
faLinkedin,
} from "@fortawesome/free-brands-svg-icons";
import { withStyles } from "@material-ui/styles";
-import { withFirebase } from "../../api/Firebase";
+import { withFirebase } from "../api/Firebase";
import { compose } from "recompose";
import "bootstrap/dist/css/bootstrap.min.css";
@@ -20,7 +20,7 @@ const styles = {
borderRadius: "150px",
},
cardImgTopAlum: {
- opacity: '0.5',
+ opacity: "0.5",
width: "75%",
margin: "10% auto",
borderRadius: "150px",
@@ -39,12 +39,12 @@ const styles = {
},
cardTitle: {
fontSize: "30px",
- fontFamily: "Gruppo",
+ fontFamily: "Montserrat",
fontWeight: 1000,
},
cardSubtitle: {
fontSize: "25px",
- fontFamily: "Gruppo",
+ fontFamily: "Montserrat",
fontWeight: 1000,
color: "#f21131",
},
@@ -102,8 +102,8 @@ class MemberCardBase extends Component {
const { classes } = this.props;
var item = this.props.data;
-
- var alum = (item.roles && !!item.roles.alum);
+
+ var alum = item.roles && !!item.roles.alum;
var defaultIMG =
"https://firebasestorage.googleapis.com/v0/b/upe-website-fa07a.appspot.com/o/default.png?alt=media&token=6cced97e-fb1e-4604-8b5b-81318a52fcc2";
@@ -158,9 +158,7 @@ class MemberCardBase extends Component {
{item.upe.position}
-
- Alumni
-
+ Alumni
diff --git a/src/components/main-site/MemberList.js b/src/components/MemberList.js
similarity index 87%
rename from src/components/main-site/MemberList.js
rename to src/components/MemberList.js
index ee4bd92..872e6ec 100644
--- a/src/components/main-site/MemberList.js
+++ b/src/components/MemberList.js
@@ -7,7 +7,7 @@ import MemberCard from "./MemberCard.js";
import "bootstrap/dist/css/bootstrap.min.css";
-import { withFirebase } from "../../api/Firebase";
+import { withFirebase } from "../api/Firebase";
import { compose } from "recompose";
const styles = {
@@ -33,7 +33,9 @@ class MemberListBase extends Component {
getClasses() {
this.props.firebase.getConfig().then((doc) => {
- const memberClasses = Object.entries(doc.data().classes).sort((a,b) => b[1] > a[1] ? 1 : -1).map(c => c[0]);
+ const memberClasses = Object.entries(doc.data().classes)
+ .sort((a, b) => (b[1] > a[1] ? 1 : -1))
+ .map((c) => c[0]);
this.setState({ memberClasses }, this.getMembers);
});
}
@@ -49,10 +51,10 @@ class MemberListBase extends Component {
console.error("Error getting documents: ", error);
});
}
-
+
getMembers() {
- const { classes } = this.props;
-
+ const { classes } = this.props;
+
const members = this.state.memberClasses.map(async (className) => {
const classMembers = await this.props.firebase
.getClass(className)
@@ -77,10 +79,10 @@ class MemberListBase extends Component {
);
});
-
- Promise.all(members).then(values => {
- this.setState({members: values});
- });
+
+ Promise.all(members).then((values) => {
+ this.setState({ members: values });
+ });
}
render() {
@@ -89,7 +91,7 @@ class MemberListBase extends Component {
const eboard = this.state.eboard.map((item, index) => (
));
-
+
return (
@@ -99,9 +101,9 @@ class MemberListBase extends Component {
{eboard}
-
- {this.state.members}
-
+
+ {this.state.members}
+
);
}
diff --git a/src/components/main-site/MemberManagement.js b/src/components/MemberManagement.js
similarity index 76%
rename from src/components/main-site/MemberManagement.js
rename to src/components/MemberManagement.js
index 2754cfe..f7aa937 100644
--- a/src/components/main-site/MemberManagement.js
+++ b/src/components/MemberManagement.js
@@ -9,9 +9,9 @@ import AddMember from "./AddMember.js";
import ClassList from "./ClassesManagement.js";
import "bootstrap/dist/css/bootstrap.min.css";
-import "../../styles/main-site/main.css";
+import "../styles/main.css";
-import { withFirebase } from "../../api/Firebase";
+import { withFirebase } from "../api/Firebase";
import { compose } from "recompose";
const styles = {
@@ -52,12 +52,12 @@ class MemberListBase extends Component {
this.state = {
members: [],
addMember: false,
- manageClasses: false,
+ manageClasses: false,
};
this.handleToggleAdd = this.handleToggleAdd.bind(this);
- this.handleToggleClasses = this.handleToggleClasses.bind(this);
- this.getMembers = this.getMembers.bind(this);
+ this.handleToggleClasses = this.handleToggleClasses.bind(this);
+ this.getMembers = this.getMembers.bind(this);
}
componentDidMount() {
@@ -86,16 +86,20 @@ class MemberListBase extends Component {
.catch((error) => {
console.error("Error getting documents: ", error);
});
- this.setState({addMember: false});
+ this.setState({ addMember: false });
}
render() {
const { classes } = this.props;
const members = this.state.members.map((item, index) => (
-
+
));
-
return (
@@ -106,8 +110,11 @@ class MemberListBase extends Component {
-
-
+
+
Manage Classes
@@ -118,18 +125,22 @@ class MemberListBase extends Component {
-
-
+
+
-
+
-
- {members}
-
+ {members}
);
diff --git a/src/components/main-site/MemberMngCard.js b/src/components/MemberMngCard.js
similarity index 72%
rename from src/components/main-site/MemberMngCard.js
rename to src/components/MemberMngCard.js
index eeda133..d4cb7ec 100644
--- a/src/components/main-site/MemberMngCard.js
+++ b/src/components/MemberMngCard.js
@@ -2,7 +2,7 @@ import React, { Component } from "react";
import Col from "react-bootstrap/Col";
import Button from "react-bootstrap/Button";
import { withStyles } from "@material-ui/styles";
-import { withFirebase } from "../../api/Firebase";
+import { withFirebase } from "../api/Firebase";
import { compose } from "recompose";
import DataEdit from "./DataEdit.js";
@@ -81,22 +81,22 @@ class MemberMngCardBase extends Component {
this.state = {
uid: "",
editData: false,
- editBP: false,
+ editBP: false,
demote: false,
deleteData: false,
- toggleAdmin: false,
- admin: (this.props.data.roles && !!this.props.data.roles.admin)
+ toggleAdmin: false,
+ admin: this.props.data.roles && !!this.props.data.roles.admin,
};
this.handleToggleData = this.handleToggleData.bind(this);
- this.handleToggleBP = this.handleToggleBP.bind(this);
+ this.handleToggleBP = this.handleToggleBP.bind(this);
this.handleToggleDelete = this.handleToggleDelete.bind(this);
this.deleteData = this.deleteData.bind(this);
this.handleToggleDemote = this.handleToggleDemote.bind(this);
this.demote = this.demote.bind(this);
- this.handleToggleAdmin = this.handleToggleAdmin.bind(this);
+ this.handleToggleAdmin = this.handleToggleAdmin.bind(this);
this.adminSwitch = this.adminSwitch.bind(this);
- this.updateSubFun = this.updateSubFun.bind(this);
+ this.updateSubFun = this.updateSubFun.bind(this);
}
componentDidMount() {
@@ -110,7 +110,7 @@ class MemberMngCardBase extends Component {
editData: !this.state.editData,
});
};
-
+
handleToggleBP = () => {
this.setState({
editBP: !this.state.editBP,
@@ -122,11 +122,18 @@ class MemberMngCardBase extends Component {
deleteData: !this.state.deleteData,
});
};
-
+
updateSubFun = () => {
- this.props.updateFunc();
-
- this.setState({editBP: false, editData: false, deleteData: false, demote: false, toggleAdmin: false, admin: (!this.state.admin)});
+ this.props.updateFunc();
+
+ this.setState({
+ editBP: false,
+ editData: false,
+ deleteData: false,
+ demote: false,
+ toggleAdmin: false,
+ admin: !this.state.admin,
+ });
};
deleteData = () => {
@@ -154,7 +161,7 @@ class MemberMngCardBase extends Component {
const data = {
roles: {
upemember: false,
- nonmember: true,
+ nonmember: true,
},
};
@@ -167,7 +174,7 @@ class MemberMngCardBase extends Component {
this.setState({ error });
});
};
-
+
handleToggleAdmin = () => {
this.setState({
toggleAdmin: !this.state.toggleAdmin,
@@ -177,7 +184,7 @@ class MemberMngCardBase extends Component {
adminSwitch = () => {
const data = {
roles: {
- admin: (!this.state.admin),
+ admin: !this.state.admin,
},
};
@@ -194,10 +201,9 @@ class MemberMngCardBase extends Component {
render() {
const { classes } = this.props;
- var adminButton = "Make Admin";
- if (this.state.admin)
- adminButton = "Remove Adminship";
-
+ var adminButton = "Make Admin";
+ if (this.state.admin) adminButton = "Remove Adminship";
+
var item = this.props.data;
return (
@@ -206,7 +212,9 @@ class MemberMngCardBase extends Component {
{item.name}
{item.email}
-
BP: {item.upe.bp} | RP: {item.upe.rp}
+
+ BP: {item.upe.bp} | RP: {item.upe.rp}
+
@@ -218,42 +226,45 @@ class MemberMngCardBase extends Component {
Edit Data
-
-
-
+
+
+
Edit Points
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
- {adminButton}
+ {adminButton}
@@ -265,30 +276,34 @@ class MemberMngCardBase extends Component {
Remove Membership
-
-
-
-
-
- Are you Sure??
-
+
+
+
+
+
+ Are you Sure??
+
+
-
-
-
-
-
-
- Are you Sure??
-
+
+
+
+
+
+ Are you Sure??
+
+
-
-
-
+
+
-
diff --git a/src/components/main-site/NotEboard.js b/src/components/NotEboard.js
similarity index 100%
rename from src/components/main-site/NotEboard.js
rename to src/components/NotEboard.js
diff --git a/src/components/main-site/PanelInfo.js b/src/components/PanelInfo.js
similarity index 81%
rename from src/components/main-site/PanelInfo.js
rename to src/components/PanelInfo.js
index 73c8a61..2ef012b 100644
--- a/src/components/main-site/PanelInfo.js
+++ b/src/components/PanelInfo.js
@@ -3,8 +3,8 @@ import React, { Component } from "react";
import Spacer from "./Spacer";
import UserPanel from "./UserPanel";
-import { withFirebase } from "../../api/Firebase";
-import { AuthUserContext } from "../../api/Session";
+import { withFirebase } from "../api/Firebase";
+import { AuthUserContext } from "../api/Session";
import "bootstrap/dist/css/bootstrap.min.css";
diff --git a/src/components/main-site/PromoteUser.js b/src/components/PromoteUser.js
similarity index 51%
rename from src/components/main-site/PromoteUser.js
rename to src/components/PromoteUser.js
index 9be1ec9..08a1f63 100644
--- a/src/components/main-site/PromoteUser.js
+++ b/src/components/PromoteUser.js
@@ -8,7 +8,7 @@ import Col from "react-bootstrap/Col";
import "bootstrap/dist/css/bootstrap.min.css";
-import { withFirebase } from "../../api/Firebase";
+import { withFirebase } from "../api/Firebase";
import { compose } from "recompose";
const styles = {
@@ -68,17 +68,19 @@ const INITIAL_STATE = {
class AddMemberBase extends Component {
state = { ...INITIAL_STATE };
-
+
componentDidMount() {
this.props.firebase.getUID(this.props.value.email).then((snapshot) => {
this.setState({ uid: snapshot.data().value });
});
this.getClasses();
}
-
+
getClasses() {
this.props.firebase.getConfig().then((doc) => {
- const memberClasses = Object.entries(doc.data().classes).sort((a,b) => b[1] > a[1] ? 1 : -1).map(c => c[0]);
+ const memberClasses = Object.entries(doc.data().classes)
+ .sort((a, b) => (b[1] > a[1] ? 1 : -1))
+ .map((c) => c[0]);
this.setState({ memberClasses });
});
}
@@ -94,8 +96,8 @@ class AddMemberBase extends Component {
console.log("Invalid file type");
f = null;
} else {
- var fileExtension = "jpg";
- if (f.type.split("/")[1] === "png") fileExtension = "png";
+ var fileExtension = "jpg";
+ if (f.type.split("/")[1] === "png") fileExtension = "png";
this.setState({ fileExtension: fileExtension });
}
@@ -147,8 +149,8 @@ class AddMemberBase extends Component {
linkedin,
fileExtension,
} = this.state;
-
- event.preventDefault();
+
+ event.preventDefault();
var im = this.props.value.name.split(" ")[0] + "." + fileExtension;
@@ -159,8 +161,8 @@ class AddMemberBase extends Component {
position: position,
positionRank: positionRank,
class: className,
- rp: 0,
- bp: 0
+ rp: 0,
+ bp: 0,
},
socials: {
facebook: facebook,
@@ -171,7 +173,7 @@ class AddMemberBase extends Component {
roles: {
eboard: eboard,
upemember: true,
- nonmember: false,
+ nonmember: false,
},
};
@@ -193,19 +195,19 @@ class AddMemberBase extends Component {
}
);
}
- this.props.firebase
- .editUser(this.state.uid, data)
- .then(() => {
- console.log(
- "Successfully created database entry for user ",
- this.state.uid
- );
- this.props.updateFunc();
- this.setState({ ...INITIAL_STATE }, this.getClasses());
- })
- .catch((error) => {
- console.log(error);
- });
+ this.props.firebase
+ .editUser(this.state.uid, data)
+ .then(() => {
+ console.log(
+ "Successfully created database entry for user ",
+ this.state.uid
+ );
+ this.props.updateFunc();
+ this.setState({ ...INITIAL_STATE }, this.getClasses());
+ })
+ .catch((error) => {
+ console.log(error);
+ });
};
render() {
@@ -242,136 +244,135 @@ class AddMemberBase extends Component {
];
return (
-
+
);
}
}
diff --git a/src/components/main-site/Spacer.js b/src/components/Spacer.js
similarity index 100%
rename from src/components/main-site/Spacer.js
rename to src/components/Spacer.js
diff --git a/src/components/main-site/UserManagement.js b/src/components/UserManagement.js
similarity index 83%
rename from src/components/main-site/UserManagement.js
rename to src/components/UserManagement.js
index 4f6d405..2da2f01 100644
--- a/src/components/main-site/UserManagement.js
+++ b/src/components/UserManagement.js
@@ -6,9 +6,9 @@ import { withStyles } from "@material-ui/styles";
import UserMngCard from "./UserMngCard.js";
import "bootstrap/dist/css/bootstrap.min.css";
-import "../../styles/main-site/main.css";
+import "../styles/main.css";
-import { withFirebase } from "../../api/Firebase";
+import { withFirebase } from "../api/Firebase";
import { compose } from "recompose";
const styles = {
@@ -49,8 +49,8 @@ class UserManagementBase extends Component {
this.state = {
members: [],
};
-
- this.getMembers = this.getMembers.bind(this);
+
+ this.getMembers = this.getMembers.bind(this);
}
componentDidMount() {
@@ -73,9 +73,13 @@ class UserManagementBase extends Component {
const { classes } = this.props;
const members = this.state.members.map((item, index) => (
-
+
));
-
return (
@@ -87,14 +91,15 @@ class UserManagementBase extends Component {
-
- {members}
-
+ {members}
);
}
}
-const UserManagement = compose(withFirebase, withStyles(styles))(UserManagementBase);
+const UserManagement = compose(
+ withFirebase,
+ withStyles(styles)
+)(UserManagementBase);
export default UserManagement;
diff --git a/src/components/main-site/UserMngCard.js b/src/components/UserMngCard.js
similarity index 92%
rename from src/components/main-site/UserMngCard.js
rename to src/components/UserMngCard.js
index 848a88f..c61c441 100644
--- a/src/components/main-site/UserMngCard.js
+++ b/src/components/UserMngCard.js
@@ -2,7 +2,7 @@ import React, { Component } from "react";
import Col from "react-bootstrap/Col";
import Button from "react-bootstrap/Button";
import { withStyles } from "@material-ui/styles";
-import { withFirebase } from "../../api/Firebase";
+import { withFirebase } from "../api/Firebase";
import { compose } from "recompose";
import PromoteUser from "./PromoteUser.js";
@@ -86,7 +86,7 @@ class UserMngCardBase extends Component {
this.handleToggleDelete = this.handleToggleDelete.bind(this);
this.deleteData = this.deleteData.bind(this);
this.handleTogglePromote = this.handleTogglePromote.bind(this);
- this.updateSubFun = this.updateSubFun.bind(this);
+ this.updateSubFun = this.updateSubFun.bind(this);
}
componentDidMount() {
@@ -106,10 +106,10 @@ class UserMngCardBase extends Component {
deleteData: !this.state.deleteData,
});
};
-
+
updateSubFun = () => {
- this.props.updateFunc();
- this.setState({deleteData: false, promote: false});
+ this.props.updateFunc();
+ this.setState({ deleteData: false, promote: false });
};
deleteData = () => {
@@ -166,14 +166,17 @@ class UserMngCardBase extends Component {
-
+
-
@@ -197,9 +199,6 @@ class UserMngCardBase extends Component {
}
}
-const UserMngCard = compose(
- withFirebase,
- withStyles(styles)
-)(UserMngCardBase);
+const UserMngCard = compose(withFirebase, withStyles(styles))(UserMngCardBase);
export default UserMngCard;
diff --git a/src/components/main-site/UserPanel.js b/src/components/UserPanel.js
similarity index 81%
rename from src/components/main-site/UserPanel.js
rename to src/components/UserPanel.js
index 372deac..eb54a65 100644
--- a/src/components/main-site/UserPanel.js
+++ b/src/components/UserPanel.js
@@ -7,7 +7,7 @@ import Button from "react-bootstrap/Button";
import { withStyles } from "@material-ui/styles";
import "bootstrap/dist/css/bootstrap.min.css";
-import { withFirebase } from "../../api/Firebase";
+import { withFirebase } from "../api/Firebase";
import { compose } from "recompose";
import DataForm from "./DataForm";
@@ -70,24 +70,24 @@ class UserPanelBase extends Component {
this.state = {
url: "",
editInfo: false,
- name: "",
- eboardS: "",
- pos: "",
- git: "",
- face: "",
- tw: "",
- lin: "",
+ name: "",
+ eboardS: "",
+ pos: "",
+ git: "",
+ face: "",
+ tw: "",
+ lin: "",
};
this.handleToggleInfo = this.handleToggleInfo.bind(this);
- this.getData = this.getData.bind(this);
+ this.getData = this.getData.bind(this);
}
getData = () => {
- this.getUrl();
- this.getUser();
- }
-
+ this.getUrl();
+ this.getUser();
+ };
+
componentDidMount() {
this.getData();
}
@@ -99,19 +99,22 @@ class UserPanelBase extends Component {
this.setState({ url });
});
}
-
+
getUser() {
- this.props.firebase.user(this.props.value.uid).get().then((snapshot) => {
- const item = snapshot.data();
-
- var eboardS = "Not EBoard";
- var pos = "Not Listed";
- var git = "Not Listed";
- var face = "Not Listed";
- var tw = "Not Listed";
- var lin = "Not Listed";
- var name = item.name;
-
+ this.props.firebase
+ .user(this.props.value.uid)
+ .get()
+ .then((snapshot) => {
+ const item = snapshot.data();
+
+ var eboardS = "Not EBoard";
+ var pos = "Not Listed";
+ var git = "Not Listed";
+ var face = "Not Listed";
+ var tw = "Not Listed";
+ var lin = "Not Listed";
+ var name = item.name;
+
if (item.roles && !!item.roles.eboard) {
eboardS = "On EBoard";
}
@@ -130,8 +133,17 @@ class UserPanelBase extends Component {
if (item.socials && !!item.socials.linkedin) {
lin = item.socials.linkedin;
}
- this.setState({name: name, eboardS: eboardS, pos: pos, git: git, tw: tw, face: face, lin: lin, editInfo: false,});
- });
+ this.setState({
+ name: name,
+ eboardS: eboardS,
+ pos: pos,
+ git: git,
+ tw: tw,
+ face: face,
+ lin: lin,
+ editInfo: false,
+ });
+ });
}
handleToggleInfo = () => {
@@ -142,8 +154,8 @@ class UserPanelBase extends Component {
render() {
const { classes } = this.props;
- const { eboardS, pos, git, tw, face, lin, name } = this.state;
-
+ const { eboardS, pos, git, tw, face, lin, name } = this.state;
+
var defaultIMG =
"https://firebasestorage.googleapis.com/v0/b/upe-website-fa07a.appspot.com/o/default.png?alt=media&token=6cced97e-fb1e-4604-8b5b-81318a52fcc2";
@@ -164,7 +176,8 @@ class UserPanelBase extends Component {
{" "}
- Class : {this.props.value.upe.class}{" "}
+ Class :{" "}
+ {this.props.value.upe.class}{" "}
{" "}
@@ -176,7 +189,8 @@ class UserPanelBase extends Component {
{" "}
- Email : {this.props.value.email}{" "}
+ Email :{" "}
+ {this.props.value.email}{" "}
{" "}
@@ -204,11 +218,13 @@ class UserPanelBase extends Component {
{" "}
- Brownie Points : {this.props.value.upe.bp}{" "}
+ Brownie Points :{" "}
+ {this.props.value.upe.bp}{" "}
{" "}
- Recruitment Points : {this.props.value.upe.rp}{" "}
+ Recruitment Points :{" "}
+ {this.props.value.upe.rp}{" "}
diff --git a/src/pages/main-site/404.js b/src/pages/404.js
similarity index 89%
rename from src/pages/main-site/404.js
rename to src/pages/404.js
index 934d47b..6322206 100644
--- a/src/pages/main-site/404.js
+++ b/src/pages/404.js
@@ -4,8 +4,8 @@ import Container from "react-bootstrap/Container";
import Row from "react-bootstrap/Row";
import Col from "react-bootstrap/Col";
-import "../../styles/main-site/main.css";
-import logo from "../../assets/img/logo.png";
+import "../styles/main.css";
+import logo from "../assets/img/logo.png";
const NotFound = () => (
diff --git a/src/pages/main-site/About.js b/src/pages/About.js
similarity index 94%
rename from src/pages/main-site/About.js
rename to src/pages/About.js
index 33246f7..a7697b9 100644
--- a/src/pages/main-site/About.js
+++ b/src/pages/About.js
@@ -1,10 +1,10 @@
import React from "react";
import { withRouter } from "react-router-dom";
-import Header from "../../components/main-site/Header";
-import Footer from "../../components/main-site/Footer";
+import Header from "../components/Header";
+import Footer from "../components/Footer";
-import * as ROUTES from "../../constants/routes";
+import * as ROUTES from "../constants/routes";
import { Link } from "react-router-dom";
import Container from "react-bootstrap/Container";
@@ -16,8 +16,7 @@ const About = () => {
return (
-
-
+
@@ -34,7 +33,7 @@ const About = () => {
UPE BU Members are both undergraduate & graduate students from
Boston University who are either actively studying information
- techniologies and computing disciplines or have shown exceeding
+ technologies and computing disciplines or have shown exceeding
interest and/or talent in them.
diff --git a/src/pages/main-site/Contact.js b/src/pages/Contact.js
similarity index 71%
rename from src/pages/main-site/Contact.js
rename to src/pages/Contact.js
index 0d7afd1..b85bba8 100644
--- a/src/pages/main-site/Contact.js
+++ b/src/pages/Contact.js
@@ -1,11 +1,11 @@
import React from "react";
import { withRouter } from "react-router-dom";
-import "../../styles/main-site/main.css";
+import "../styles/main.css";
-import Header from "../../components/main-site/Header";
-import Footer from "../../components/main-site/Footer";
-import ContactForm from "../../components/main-site/ContactForm";
+import Header from "../components/Header";
+import Footer from "../components/Footer";
+import ContactForm from "../components/ContactForm";
import Container from "react-bootstrap/Container";
import Row from "react-bootstrap/Row";
@@ -15,8 +15,7 @@ const About = () => {
return (
-
-
+
diff --git a/src/pages/main-site/EboardE.js b/src/pages/EboardE.js
similarity index 55%
rename from src/pages/main-site/EboardE.js
rename to src/pages/EboardE.js
index 187284d..c19a8d4 100644
--- a/src/pages/main-site/EboardE.js
+++ b/src/pages/EboardE.js
@@ -1,18 +1,18 @@
import React, { Component } from "react";
-import Header2 from "../../components/main-site/Header2";
-import Header3 from "../../components/main-site/Header3";
-import Footer from "../../components/main-site/Footer";
+import Header2 from "../components/Header2";
+import Header3 from "../components/Header3";
+import Footer from "../components/Footer";
-import "../../styles/main-site/main.css";
-import { withAuthorization, AuthUserContext } from "../../api/Session";
+import "../styles/main.css";
+import { withAuthorization, AuthUserContext } from "../api/Session";
import { compose } from "recompose";
-import { withFirebase } from "../../api/Firebase";
+import { withFirebase } from "../api/Firebase";
-import NotEboard from "../../components/main-site/NotEboard";
-import Spacer from "../../components/main-site/Spacer";
-import EventsManagement from "../../components/main-site/EventsManagement";
+import NotEboard from "../components/NotEboard";
+import Spacer from "../components/Spacer";
+import EventsManagement from "../components/EventsManagement";
class EboardMBase extends Component {
static contextType = AuthUserContext;
diff --git a/src/pages/main-site/EboardM.js b/src/pages/EboardM.js
similarity index 55%
rename from src/pages/main-site/EboardM.js
rename to src/pages/EboardM.js
index 0473369..0a71aad 100644
--- a/src/pages/main-site/EboardM.js
+++ b/src/pages/EboardM.js
@@ -1,18 +1,18 @@
import React, { Component } from "react";
-import Header2 from "../../components/main-site/Header2";
-import Header3 from "../../components/main-site/Header3";
-import Footer from "../../components/main-site/Footer";
+import Header2 from "../components/Header2";
+import Header3 from "../components/Header3";
+import Footer from "../components/Footer";
-import "../../styles/main-site/main.css";
-import { withAuthorization, AuthUserContext } from "../../api/Session";
+import "../styles/main.css";
+import { withAuthorization, AuthUserContext } from "../api/Session";
import { compose } from "recompose";
-import { withFirebase } from "../../api/Firebase";
+import { withFirebase } from "../api/Firebase";
-import NotEboard from "../../components/main-site/NotEboard";
-import Spacer from "../../components/main-site/Spacer";
-import MemberManagement from "../../components/main-site/MemberManagement";
+import NotEboard from "../components/NotEboard";
+import Spacer from "../components/Spacer";
+import MemberManagement from "../components/MemberManagement";
class EboardMBase extends Component {
static contextType = AuthUserContext;
diff --git a/src/pages/main-site/EboardU.js b/src/pages/EboardU.js
similarity index 55%
rename from src/pages/main-site/EboardU.js
rename to src/pages/EboardU.js
index b0dc378..ae8a526 100644
--- a/src/pages/main-site/EboardU.js
+++ b/src/pages/EboardU.js
@@ -1,18 +1,18 @@
import React, { Component } from "react";
-import Header2 from "../../components/main-site/Header2";
-import Header3 from "../../components/main-site/Header3";
-import Footer from "../../components/main-site/Footer";
+import Header2 from "../components/Header2";
+import Header3 from "../components/Header3";
+import Footer from "../components/Footer";
-import "../../styles/main-site/main.css";
-import { withAuthorization, AuthUserContext } from "../../api/Session";
+import "../styles/main.css";
+import { withAuthorization, AuthUserContext } from "../api/Session";
import { compose } from "recompose";
-import { withFirebase } from "../../api/Firebase";
+import { withFirebase } from "../api/Firebase";
-import NotEboard from "../../components/main-site/NotEboard";
-import Spacer from "../../components/main-site/Spacer";
-import UserManagement from "../../components/main-site/UserManagement";
+import NotEboard from "../components/NotEboard";
+import Spacer from "../components/Spacer";
+import UserManagement from "../components/UserManagement";
class EboardUBase extends Component {
static contextType = AuthUserContext;
diff --git a/src/pages/Events.js b/src/pages/Events.js
new file mode 100644
index 0000000..3bef8be
--- /dev/null
+++ b/src/pages/Events.js
@@ -0,0 +1,25 @@
+import React from "react";
+import { withRouter } from "react-router-dom";
+
+import Header from "../components/Header";
+import Footer from "../components/Footer";
+import EventsCalendar from "../components/EventsCalendar";
+
+import Container from "react-bootstrap/Container";
+
+import "../styles/main.css";
+
+const Members = () => {
+ return (
+
+
+
+
+
+
+
+
+ );
+};
+
+export default withRouter(Members);
diff --git a/src/pages/Landing.js b/src/pages/Landing.js
new file mode 100644
index 0000000..8071a2b
--- /dev/null
+++ b/src/pages/Landing.js
@@ -0,0 +1,224 @@
+import React, { Component } from "react";
+import { Link } from "react-router-dom";
+import { withRouter } from "react-router-dom";
+
+import Header from "../components/Header";
+import Footer from "../components/Footer";
+
+import * as ROUTES from "../constants/routes";
+import { withFirebase } from "../api/Firebase";
+import "../styles/main.css";
+import { compose } from "recompose";
+import { withStyles } from "@material-ui/styles";
+
+import Container from "react-bootstrap/Container";
+import Row from "react-bootstrap/Row";
+import Col from "react-bootstrap/Col";
+import Button from "react-bootstrap/Button";
+import HeaderPhoto from "../components/HeaderPhoto";
+
+const styles = {
+ bobble: {
+ backgroundColor: "#e8e88c",
+ fontWeight: "600",
+ fontSize: "20px",
+ borderRadius: "10px",
+ textAlign: "center",
+ paddingBottom: "1px",
+ paddingTop: "15px",
+ },
+ container: {
+ maxWidth: "1000px",
+ },
+ col1: {
+ position: "relative",
+ left: "-100px",
+ },
+ col2: {
+ position: "relative",
+ left: "+40px",
+ },
+};
+
+class MainLandingBase extends Component {
+ constructor(props) {
+ super(props);
+
+ this.state = {
+ displayApplyPage: false,
+ displayInterestForm: false,
+ ytEmbed: "https://www.youtube.com/embed/NTuI2b9hZGM",
+ };
+ }
+
+ getData = () => {
+ this.props.firebase
+ .generalSettings()
+ .get()
+ .then((querySnapshot) => {
+ const data = querySnapshot.data();
+
+ this.setState({
+ displayApplyPage: data.displayApplyPage,
+ displayInterestForm: data.displayInterestForm,
+ ytEmbed: data.ytEmbed,
+ });
+ })
+ .catch((err) => {
+ console.log(err);
+ });
+ };
+
+ componentDidMount() {
+ this.getData();
+ }
+
+ render() {
+ const { classes } = this.props;
+ const { displayApplyPage, displayInterestForm, ytEmbed } = this.state;
+
+ const BobbleForm = () => {
+ return (
+
+
+ Interested in joining UPE? Click
+ here .
+
+
+ );
+ };
+
+ const BobbleApply = () => {
+ return (
+
+
+ We are now accepting applications! Click
+ here to apply.
+
+
+ );
+ };
+
+ const DisplayBobble = () => {
+ if (displayApplyPage) {
+ return (
+
+
+
+
+
+
+ );
+ } else if (displayInterestForm) {
+ return (
+
+
+
+
+
+
+ );
+ } else {
+ return <> >;
+ }
+ };
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
About Us
+
+
+
+
+
+
+
+
Our Projects
+
+
+
+
+
+
+
+
+
+
+ Upsilon Pi Epsilon (UPE) at BU is an honor society dedicated
+ to promoting excellence in technical and computing
+ disciplines. UPE's chapter at BU has as it's main focus the
+ improvement of it's member's technical skills, as to
+ complement the school's great theoretical teaching.
+
+
+
+
+
+
+ Learn More
+
+
+
+
+
+
+
+
+ Both UPE as an organization, and each of our dedicated members
+ are constantly working on amazing projects both related to the
+ org. or otherwise!
+
+
+
+
+
+ Learn More
+
+
+
+
+
+
+
+
+
+ Check out the latest episode of our podcast!
+
+
+
+
+
+
+
+
+ );
+ }
+}
+
+const MainLanding = compose(
+ withFirebase,
+ withStyles(styles),
+ withRouter
+)(MainLandingBase);
+
+export default MainLanding;
diff --git a/src/pages/main-site/Login.js b/src/pages/Login.js
similarity index 53%
rename from src/pages/main-site/Login.js
rename to src/pages/Login.js
index 0a40405..87283a7 100644
--- a/src/pages/main-site/Login.js
+++ b/src/pages/Login.js
@@ -1,9 +1,9 @@
import React from "react";
-import "../../styles/main-site/main.css";
-import LoginForm from "../../components/main-site/LoginForm";
-import { AuthUserContext } from "../../api/Session";
-import * as ROUTES from "../../constants/routes";
+import "../styles/main.css";
+import LoginForm from "../components/LoginForm";
+import { AuthUserContext } from "../api/Session";
+import * as ROUTES from "../constants/routes";
class Login extends React.Component {
static contextType = AuthUserContext;
@@ -16,7 +16,7 @@ class Login extends React.Component {
if (this.context) {
return null;
} else {
- return
;
+ return ;
}
}
}
diff --git a/src/pages/main-site/Logout.js b/src/pages/Logout.js
similarity index 86%
rename from src/pages/main-site/Logout.js
rename to src/pages/Logout.js
index 979cf37..1ac9d7a 100644
--- a/src/pages/main-site/Logout.js
+++ b/src/pages/Logout.js
@@ -1,11 +1,11 @@
import Container from "react-bootstrap/Container";
import React, { Component } from "react";
-import * as ROUTES from "../../constants/routes";
+import * as ROUTES from "../constants/routes";
-import "../../styles/main-site/main.css";
+import "../styles/main.css";
-import { withFirebase } from "../../api/Firebase";
+import { withFirebase } from "../api/Firebase";
import { compose } from "recompose";
import { withStyles } from "@material-ui/styles";
diff --git a/src/pages/Members.js b/src/pages/Members.js
new file mode 100644
index 0000000..1f047f7
--- /dev/null
+++ b/src/pages/Members.js
@@ -0,0 +1,27 @@
+import React from "react";
+import { withRouter } from "react-router-dom";
+
+import Header from "../components/Header";
+import Footer from "../components/Footer";
+import MemberList from "../components/MemberList";
+
+import Container from "react-bootstrap/Container";
+
+import "../styles/main.css";
+
+const Members = () => {
+ return (
+
+ );
+};
+
+export default withRouter(Members);
diff --git a/src/pages/main-site/Panel.js b/src/pages/Panel.js
similarity index 54%
rename from src/pages/main-site/Panel.js
rename to src/pages/Panel.js
index e57d6b0..c0eed44 100644
--- a/src/pages/main-site/Panel.js
+++ b/src/pages/Panel.js
@@ -1,13 +1,13 @@
import React, { useContext } from "react";
-import Footer from "../../components/main-site/Footer";
-import Header2 from "../../components/main-site/Header2";
-import Header3 from "../../components/main-site/Header3";
+import Footer from "../components/Footer";
+import Header2 from "../components/Header2";
+import Header3 from "../components/Header3";
-import "../../styles/main-site/main.css";
-import { withAuthorization, AuthUserContext } from "../../api/Session";
+import "../styles/main.css";
+import { withAuthorization, AuthUserContext } from "../api/Session";
-import UserPanel from "../../components/main-site/UserPanel";
+import UserPanel from "../components/UserPanel";
const Panel = () => {
const authUser = useContext(AuthUserContext);
@@ -19,7 +19,7 @@ const Panel = () => {
>
);
-}
+};
// TODO: move conditions into component library
const condition = (authUser) => !!authUser?.roles?.upemember;
diff --git a/src/pages/main-site/Events.js b/src/pages/main-site/Events.js
deleted file mode 100644
index f06da9f..0000000
--- a/src/pages/main-site/Events.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import React from "react";
-import { withRouter } from "react-router-dom";
-
-import Header from "../../components/main-site/Header";
-import Footer from "../../components/main-site/Footer";
-import EventsCalendar from "../../components/main-site/EventsCalendar";
-
-import "../../styles/main-site/main.css";
-
-const Members = () => {
- return (
-
-
-
-
-
-
-
- );
-};
-
-export default withRouter(Members);
diff --git a/src/pages/main-site/Landing.js b/src/pages/main-site/Landing.js
deleted file mode 100644
index b920085..0000000
--- a/src/pages/main-site/Landing.js
+++ /dev/null
@@ -1,194 +0,0 @@
-import React, { Component }from "react";
-import { Link } from "react-router-dom";
-import { withRouter } from "react-router-dom";
-
-import Header from "../../components/main-site/Header";
-import Footer from "../../components/main-site/Footer";
-import projectsIMG from "../../assets/img/projects.jpg";
-
-import * as ROUTES from "../../constants/routes";
-import { withFirebase } from "../../api/Firebase";
-import "../../styles/main-site/main.css";
-import { compose } from "recompose";
-import { withStyles } from "@material-ui/styles";
-
-import Container from "react-bootstrap/Container";
-import Row from "react-bootstrap/Row";
-import Col from "react-bootstrap/Col";
-import Button from "react-bootstrap/Button";
-
-const styles = {
- bobble: {
- backgroundColor: "#e8e88c",
- fontWeight: "600",
- fontSize: "20px",
- borderRadius: "10px",
- textAlign: "center",
- paddingBottom: "1px",
- paddingTop: "15px",
- },
-};
-
-class MainLandingBase extends Component {
- constructor(props){
- super(props);
-
- this.state = {
- displayApplyPage: false,
- displayInterestForm: false,
- }
- }
-
- getData = () => {
- this.props.firebase.generalSettings().get().then((querySnapshot) => {
- const data = querySnapshot.data();
-
- this.setState({displayApplyPage: data.displayApplyPage, displayInterestForm: data.displayInterestForm});
- }).catch((err) => {
- console.log(err);
- });
- }
-
- componentDidMount() {
- this.getData();
- }
-
- render() {
- const { classes } = this.props;
- const { displayApplyPage, displayInterestForm } = this.state;
-
- const BobbleForm = () => {
- return (
-
- Interested in joining UPE? Click here .
-
- );
- };
-
- const BobbleApply = () => {
- return (
-
- We are now accepting applications! Click here to apply.
-
- );
- };
-
- const DisplayBobble = () => {
- if (displayApplyPage) {
- return (
-
-
-
-
-
-
- );
- } else if (displayInterestForm) {
- return (
-
-
-
-
-
-
- );
- } else {
- return (<> >);
- }
- };
-
- return (
-
-
-
-
-
-
-
-
-
-
-
About Us
-
-
-
-
-
-
-
-
-
-
- Upsilon Pi Epsilon (UPE) at BU is an honor society dedicated to
- promoting excellence in technical and computing disciplines.
- UPE's chapter at BU has as it's main focus the improvement of
- it's member's technical skills, as to complement the school's
- great theoretical teaching.
-
-
-
-
-
-
- About Us
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Our Projects
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Both UPE as an organization, and each of our dedicated members
- are constantly working on amazing projects both related to the
- org. or otherwise!
-
-
-
-
-
- Learn More
-
-
-
-
-
-
-
-
-
-
- );
- }
-};
-
-const MainLanding = compose(
- withFirebase,
- withStyles(styles),
- withRouter
-)(MainLandingBase);
-
-export default MainLanding;
diff --git a/src/pages/main-site/Members.js b/src/pages/main-site/Members.js
deleted file mode 100644
index 052b968..0000000
--- a/src/pages/main-site/Members.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import React from "react";
-import { withRouter } from "react-router-dom";
-
-import Header from "../../components/main-site/Header";
-import Footer from "../../components/main-site/Footer";
-import MemberList from "../../components/main-site/MemberList";
-
-import "../../styles/main-site/main.css";
-
-const Members = () => {
- return (
-
-
-
-
-
-
-
- );
-};
-
-export default withRouter(Members);
diff --git a/src/styles/main-site/calendar.css b/src/styles/calendar.css
similarity index 100%
rename from src/styles/main-site/calendar.css
rename to src/styles/calendar.css
diff --git a/src/styles/main-site/login.css b/src/styles/login.css
similarity index 100%
rename from src/styles/main-site/login.css
rename to src/styles/login.css
diff --git a/src/styles/main-site/main.css b/src/styles/main-site/main.css
deleted file mode 100644
index 418c386..0000000
--- a/src/styles/main-site/main.css
+++ /dev/null
@@ -1,93 +0,0 @@
-@import url("https://fonts.googleapis.com/css?family=Gruppo");
-
-.logo {
- padding-top: 100px;
- padding-bottom: 50px;
-}
-
-.title h1 {
- font-family: 'Gruppo';
- font-weight: 1000;
- font-size: 50px;
-}
-
-.title {
- padding-bottom: 30px;
-}
-
-.title-centered {
- font-family: 'Gruppo';
- font-weight: 8000;
- font-size: 35px;
- text-align: center;
- padding-bottom: 30px;
- color: #f21131;
-}
-
-.bodyText h2 {
- font-family: 'Gruppo';
- font-weight: 1000;
- font-size: 35px;
- padding-top: 15px;
-}
-
-.bodyText li {
- font-family: 'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
- font-size: 15px;
- padding-bottom:5px;
-}
-
-.bodyText p {
- font-family:'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif;
- font-size: 18px;
-}
-
-.bodyText {
- padding-bottom: 20px;
-}
-
-.bodyText Link {
- font-family: 'Gruppo';
- font-weight: 800;
- font-size: 20px;
- color: #f21131;
- text-transform: uppercase;
-}
-.bodyText Link:hover {
- color: #C30000;
- text-transform: uppercase;
- text-decoration: none;
-}
-
-.white-text {
- color: #fff;
-}
-.white-text:hover {
- color: #fff;
- text-decoration: none;
-}
-
-.buttonBlock .btn {
- background-color: #f21131;
- color: #fff;
- border-color: #f21131;
- font-family: 'Gruppo';
- font-weight: 800;
- font-size: 20px;
- text-transform: uppercase;
-}
-
-.buttonBlock .btn:hover {
- background-color: #C30000;
- border-color: #C30000;
- color: #fff;
- font-family: 'Gruppo';
- font-weight: 800;
- font-size: 20px;
- text-transform: uppercase;
-}
-
-.buttonBlock {
- padding-bottom: 40px;
-}
-
diff --git a/src/styles/main.css b/src/styles/main.css
new file mode 100644
index 0000000..ec15d85
--- /dev/null
+++ b/src/styles/main.css
@@ -0,0 +1,101 @@
+@import url("https://fonts.googleapis.com/css?family=Gruppo");
+@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300&display=swap");
+@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300&family=Open+Sans:wght@300&display=swap");
+@import url("https://fonts.googleapis.com/css2?family=Recursive:wght@600&display=swap");
+
+.logo {
+ padding-top: 100px;
+ padding-bottom: 50px;
+}
+
+.title h1 {
+ font-family: "Montserrat";
+ font-weight: 1000;
+ font-size: 40px;
+}
+
+.title {
+ padding-bottom: 30px;
+}
+
+.title-centered {
+ font-family: "Gruppo";
+ font-weight: 8000;
+ font-size: 35px;
+ text-align: center;
+ padding-bottom: 30px;
+ color: #f21131;
+}
+.bodyText h1 {
+ font-family: "Montserrat";
+ font-weight: 1000;
+ text-align: center;
+ margin-left: 105px;
+ margin-bottom: 50px;
+}
+.bodyText h2 {
+ font-family: "Montserrat";
+ font-weight: 1000;
+ font-size: 35px;
+ padding-top: 15px;
+}
+
+.bodyText li {
+ font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 15px;
+ padding-bottom: 5px;
+}
+
+.bodyText p {
+ font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 18px;
+}
+
+.bodyText {
+ padding-bottom: 20px;
+}
+
+.bodyText Link {
+ font-family: "Gruppo";
+ font-weight: 800;
+ font-size: 20px;
+ color: #f21131;
+ text-transform: uppercase;
+}
+.bodyText Link:hover {
+ color: #c30000;
+ text-transform: uppercase;
+ text-decoration: none;
+}
+
+.white-text {
+ color: #fff;
+}
+.white-text:hover {
+ color: #fff;
+ text-decoration: none;
+}
+
+.buttonBlock .btn {
+ background-color: #f21131;
+ color: #fff;
+ border-color: #f21131;
+ font-family: "Montserrat";
+ font-weight: 800;
+ font-size: 15px;
+ text-transform: uppercase;
+}
+
+.buttonBlock .btn:hover {
+ background-color: #c30000;
+ border-color: #c30000;
+ color: #fff;
+ font-family: "Montserrat";
+ font-weight: 800;
+ font-size: 15px;
+ text-transform: uppercase;
+}
+
+.buttonBlock {
+ padding-bottom: 40px;
+}
diff --git a/storage.rules b/storage.rules
deleted file mode 100644
index d494542..0000000
--- a/storage.rules
+++ /dev/null
@@ -1,7 +0,0 @@
-service firebase.storage {
- match /b/{bucket}/o {
- match /{allPaths=**} {
- allow read, write: if request.auth!=null;
- }
- }
-}
diff --git a/yarn.lock b/yarn.lock
index 72f4fac..aeb1edb 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -7111,9 +7111,9 @@ home-dir@^1.0.0:
integrity sha1-KRfrRL3JByztqUJXlUOEfjAX/k4=
hosted-git-info@^2.1.4:
- version "2.8.8"
- resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
- integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==
+ version "2.8.9"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
+ integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
hpack.js@^2.1.6:
version "2.1.6"
@@ -7291,6 +7291,11 @@ https-proxy-agent@^5.0.0:
agent-base "6"
debug "4"
+husky@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/husky/-/husky-6.0.0.tgz#810f11869adf51604c32ea577edbc377d7f9319e"
+ integrity sha512-SQS2gDTB7tBN486QSoKPKQItZw97BMOd+Kdb6ghfpBc0yXyzrddI0oDV5MkDAbuB4X2mO3/nj60TRMcYxwzZeQ==
+
hyphenate-style-name@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d"
@@ -11405,10 +11410,10 @@ prepend-http@^2.0.0:
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
-prettier@^2.0.5:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5"
- integrity sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==
+prettier@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.0.tgz#b6a5bf1284026ae640f17f7ff5658a7567fc0d18"
+ integrity sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==
pretty-bytes@^5.1.0:
version "5.4.1"
@@ -13859,9 +13864,9 @@ typedarray@^0.0.6:
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
ua-parser-js@^0.7.18:
- version "0.7.22"
- resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.22.tgz#960df60a5f911ea8f1c818f3747b99c6e177eae3"
- integrity sha512-YUxzMjJ5T71w6a8WWVcMGM6YWOTX27rCoIQgLXiWaxqXSx9D7DNjiGWn1aJIRSQ5qr0xuhra77bSIh6voR/46Q==
+ version "0.7.28"
+ resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.28.tgz#8ba04e653f35ce210239c64661685bf9121dec31"
+ integrity sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==
uncontrollable@^7.0.0:
version "7.1.1"
@@ -14043,9 +14048,9 @@ url-parse-lax@^3.0.0:
prepend-http "^2.0.0"
url-parse@^1.4.3:
- version "1.4.7"
- resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278"
- integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b"
+ integrity sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==
dependencies:
querystringify "^2.1.1"
requires-port "^1.0.0"