diff --git a/Client/package-lock.json b/Client/package-lock.json index 2b506d6e..eab99421 100644 --- a/Client/package-lock.json +++ b/Client/package-lock.json @@ -3550,6 +3550,11 @@ } } }, + "classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + }, "clean-css": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", @@ -11056,6 +11061,15 @@ "workbox-webpack-plugin": "4.3.1" } }, + "react-star-rating-component": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/react-star-rating-component/-/react-star-rating-component-1.4.1.tgz", + "integrity": "sha512-i0YEvQzToS0s0GDkxn01Jy4EeLpVEyh023NXJTJ+/1+xkvhpACyD4d1YeBhYWZab53ppUnUxs5gmp75gJr3khA==", + "requires": { + "classnames": "^2.2.5", + "prop-types": "^15.6.1" + } + }, "react-transition-group": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-1.2.1.tgz", diff --git a/Client/src/App.js b/Client/src/App.js index cc42d18b..abd0f7b5 100644 --- a/Client/src/App.js +++ b/Client/src/App.js @@ -1,5 +1,5 @@ -import React from "react"; -import { BrowserRouter, Route, Switch } from "react-router-dom"; +import React, { useContext } from "react"; +import { BrowserRouter, Route, Switch, Redirect } from "react-router-dom"; import "./stylesheet/styles.css"; import "./stylesheet/sidebar.css"; import "./stylesheet/playlist.css"; @@ -10,39 +10,80 @@ import "./stylesheet/profilepage.css"; import "./stylesheet/search.css"; import "./stylesheet/loginpage.css"; import "./stylesheet/signuppage.css"; +import "./stylesheet/moderatorpage.css"; +import AddSong from "./components/AddSong"; +import ModeratorPage from "./components/ModeratorPage"; +import Home from "./components/home"; +import "./stylesheet/addsong.css"; import Sidebar from "./components/Sidebar"; import Navbar from "./components/Navbar"; import PlaylistPage from "./components/PlaylistPage"; import SongPage from "./components/SongPage"; import ProfilePage from "./components/ProfilePage"; -import Search from "./components/search"; import LoginPage from "./components/LoginPage"; import SignupPage from "./components/SignupPage"; +import { UserProvider, UserContext } from "./userContext"; +import { SongProvider } from "./songContext"; + +const renderPlaylistPage = ({ match }) => { + const id = match.params.id; + return ; +}; +const renderSongPage = ({ match }) => { + const id = match.params.id; + return ; +}; + +const RenderUser = () => { + const [user, setUser] = useContext(UserContext); + if (user) + return ( + <> + +
+ + + + + + + +
+ + ); + + return ; +}; + +const RenderAuth = () => { + const [user, setUser] = useContext(UserContext); + if (!user) + return ( + <> + + + + + ); + + return ; +}; -import { UserProvider } from "./userContext"; const App = () => { return ( - - - -
- - -
- - - - - - - - + + + + +
+ +
+
+
-
- ); }; diff --git a/Client/src/components/AddSong.js b/Client/src/components/AddSong.js new file mode 100644 index 00000000..593f7f96 --- /dev/null +++ b/Client/src/components/AddSong.js @@ -0,0 +1,49 @@ +import React from 'react'; +import Upload from "./Upload"; +import '../stylesheet/upload.css'; + +const AddSong = () => { + + return( +
+

New Song

+
+

Song Cover

+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+