From e25b88d06282a944d7c6c9680d4b454bc009a507 Mon Sep 17 00:00:00 2001 From: Nuwan Date: Fri, 3 Feb 2023 00:24:26 +0530 Subject: [PATCH] wip jam-ui session --- jam-ui/src/components/common/JKTooltip.js | 5 +++++ jam-ui/src/components/dashboard/JKDashboardMain.js | 5 +++++ jam-ui/src/components/page/JKMusicSessions.js | 9 +++++++++ jam-ui/src/components/page/JKNewMusicSession.js | 9 +++++++++ jam-ui/src/components/page/JKPeopleFilter.js | 1 + jam-ui/src/components/page/JKPeopleList.js | 5 ++++- jam-ui/src/components/page/JKPeopleSwiper.js | 3 ++- jam-ui/src/routes.js | 14 ++++++++++++++ 8 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 jam-ui/src/components/page/JKMusicSessions.js create mode 100644 jam-ui/src/components/page/JKNewMusicSession.js diff --git a/jam-ui/src/components/common/JKTooltip.js b/jam-ui/src/components/common/JKTooltip.js index 19480bd7c..6cfedf28f 100644 --- a/jam-ui/src/components/common/JKTooltip.js +++ b/jam-ui/src/components/common/JKTooltip.js @@ -1,4 +1,5 @@ import React, { useState, useRef } from 'react'; +import PropTypes from 'prop-types'; import { Tooltip } from 'reactstrap'; const JKTooltip = props => { @@ -26,4 +27,8 @@ const JKTooltip = props => { ); }; +JKTooltip.propTypes = { + title: PropTypes.string.isRequired +} + export default JKTooltip; diff --git a/jam-ui/src/components/dashboard/JKDashboardMain.js b/jam-ui/src/components/dashboard/JKDashboardMain.js index 057eda861..3cd7eec1f 100644 --- a/jam-ui/src/components/dashboard/JKDashboardMain.js +++ b/jam-ui/src/components/dashboard/JKDashboardMain.js @@ -27,6 +27,9 @@ import JKPeopleFilter from '../page/JKPeopleFilter'; import JKNotifications from '../page/JKNotifications'; import JKMessageModal from '../profile/JKMessageModal'; +import JKMusicSessions from '../page/JKMusicSessions'; +import JKNewMusicSession from '../page/JKNewMusicSession'; + //import loadable from '@loadable/component'; //const DashboardRoutes = loadable(() => import('../../layouts/JKDashboardRoutes')); //const PublicRoutes = loadable(() => import('../../layouts/JKPublicRoutes')) @@ -175,6 +178,8 @@ function JKDashboardMain() { + + {/*Redirect*/} diff --git a/jam-ui/src/components/page/JKMusicSessions.js b/jam-ui/src/components/page/JKMusicSessions.js new file mode 100644 index 000000000..756e1120a --- /dev/null +++ b/jam-ui/src/components/page/JKMusicSessions.js @@ -0,0 +1,9 @@ +import React from 'react' + +function JKMusicSessions() { + return ( +
JKMusicSessions
+ ) +} + +export default JKMusicSessions \ No newline at end of file diff --git a/jam-ui/src/components/page/JKNewMusicSession.js b/jam-ui/src/components/page/JKNewMusicSession.js new file mode 100644 index 000000000..ddceda12e --- /dev/null +++ b/jam-ui/src/components/page/JKNewMusicSession.js @@ -0,0 +1,9 @@ +import React from 'react' + +function JKNewMusicSession() { + return ( +
JK New Music Session
+ ) +} + +export default JKNewMusicSession \ No newline at end of file diff --git a/jam-ui/src/components/page/JKPeopleFilter.js b/jam-ui/src/components/page/JKPeopleFilter.js index 06d649ba4..be5bacc44 100644 --- a/jam-ui/src/components/page/JKPeopleFilter.js +++ b/jam-ui/src/components/page/JKPeopleFilter.js @@ -6,6 +6,7 @@ import { isIterableArray } from '../../helpers/utils'; import { useResponsive } from '@farfetch/react-context-responsive'; import { useTranslation } from 'react-i18next'; import Select from 'react-select'; + import JKTooltip from '../common/JKTooltip'; import JKPeopleList from './JKPeopleList'; import JKPeopleSwiper from './JKPeopleSwiper'; diff --git a/jam-ui/src/components/page/JKPeopleList.js b/jam-ui/src/components/page/JKPeopleList.js index 2ffc8f940..9f03c2494 100644 --- a/jam-ui/src/components/page/JKPeopleList.js +++ b/jam-ui/src/components/page/JKPeopleList.js @@ -39,7 +39,10 @@ const JKPeopleList = ({ people, goNextPage, hasNext, isLoading }) => { }; JKPeopleList.propTypes = { - people: PropTypes.arrayOf(PropTypes.instanceOf(Object)) + people: PropTypes.arrayOf(PropTypes.instanceOf(Object)), + goNextPage: PropTypes.func.isRequired, + hasNext: PropTypes.bool.isRequired, + isLoading: PropTypes.bool.isRequired }; export default JKPeopleList; diff --git a/jam-ui/src/components/page/JKPeopleSwiper.js b/jam-ui/src/components/page/JKPeopleSwiper.js index 5377de029..c5e691831 100644 --- a/jam-ui/src/components/page/JKPeopleSwiper.js +++ b/jam-ui/src/components/page/JKPeopleSwiper.js @@ -68,7 +68,8 @@ const JKPeopleSwiper = ({ people, goNextPage }) => { }; JKPeopleSwiper.propTypes = { - people: PropTypes.arrayOf(PropTypes.instanceOf(Object)) + people: PropTypes.arrayOf(PropTypes.instanceOf(Object)), + goNextPage: PropTypes.func }; export default JKPeopleSwiper; diff --git a/jam-ui/src/routes.js b/jam-ui/src/routes.js index 6663a0f51..ce9453a27 100644 --- a/jam-ui/src/routes.js +++ b/jam-ui/src/routes.js @@ -14,6 +14,19 @@ export const friendsRoute = { icon: 'users', } +export const musicSessionRoutes = { + name: 'Sessions', + to: '/sessions', + exact: true, + icon: 'stream', + children: [ + { to: '/sessions/new', name: 'Create Session' }, + { to: '/sessions', name: 'Browse Sessions' }, + { to: '/sessions/lobby', name: 'Lobby' }, + { to: '/sessions/history', name: 'Session History' }, + ] +} + export const helpRoute = { name: 'Help', to: '/help', @@ -347,6 +360,7 @@ export const utilityRoutes = { export default [ homeRoute, friendsRoute, + musicSessionRoutes, helpRoute, //legacyRoute, //homeRoutes,