From da2a03dd0ba1c6cebea967ae1ff962ea56054c22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20L=C3=A1szl=C3=B3?= <rlacko99@gmail.com> Date: Tue, 1 Dec 2020 12:05:41 +0100 Subject: [PATCH] group admin sites --- client/src/components/Content.tsx | 10 ++++++++++ client/src/components/admin/GroupAdmin.tsx | 19 +++++++++++++++++-- .../src/components/admin/GroupDocuments.tsx | 11 +++++++++++ client/src/components/admin/GroupItems.tsx | 4 ++++ client/src/components/admin/GroupMembers.tsx | 11 +++++++++++ client/src/components/admin/GroupRentals.tsx | 11 +++++++++++ client/src/components/admin/GroupStorages.tsx | 5 +++++ 7 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 client/src/components/admin/GroupDocuments.tsx create mode 100644 client/src/components/admin/GroupItems.tsx create mode 100644 client/src/components/admin/GroupMembers.tsx create mode 100644 client/src/components/admin/GroupRentals.tsx create mode 100644 client/src/components/admin/GroupStorages.tsx diff --git a/client/src/components/Content.tsx b/client/src/components/Content.tsx index c04f6a4..1b0a23b 100644 --- a/client/src/components/Content.tsx +++ b/client/src/components/Content.tsx @@ -2,7 +2,12 @@ import { Box, Container } from '@material-ui/core'; import { Redirect, Route, Switch } from 'react-router-dom'; import { GroupAdmin } from './admin/GroupAdmin'; +import { GroupDocuments } from './admin/GroupDocuments'; import { GroupInfo } from './group/GroupInfo'; +import { GroupItems } from './admin/GroupItems'; +import { GroupMembers } from './admin/GroupMembers'; +import { GroupRentals } from './admin/GroupRentals'; +import { GroupStorages } from './admin/GroupStorages'; import { LoggedInHome } from './home/LoggedInHome'; import { LoggedOutHome } from './home/LoggedOutHome'; import { NotAuthorized } from './utils/NotAuthorized'; @@ -23,6 +28,11 @@ export const Content: React.FC = () => { <SwitchComponentByAuth isLoggedIn={<OwnProfile />} notLoggedIn={<NotAuthorized />} /> </Route> <Route path="/group/:id/info" component={GroupInfo} /> + <Route path="/group/:id/admin/members" component={GroupMembers} /> + <Route path="/group/:id/admin/rentals" component={GroupRentals} /> + <Route path="/group/:id/admin/documents" component={GroupDocuments} /> + <Route path="/group/:id/admin/storages" component={GroupStorages} /> + <Route path="/group/:id/admin/items" component={GroupItems} /> <Route path="/group/:id/admin" component={GroupAdmin} /> <Route exact path="/"> <SwitchComponentByAuth isLoggedIn={<LoggedInHome />} notLoggedIn={<LoggedOutHome />} /> diff --git a/client/src/components/admin/GroupAdmin.tsx b/client/src/components/admin/GroupAdmin.tsx index 35c707c..c215195 100644 --- a/client/src/components/admin/GroupAdmin.tsx +++ b/client/src/components/admin/GroupAdmin.tsx @@ -30,7 +30,10 @@ export const GroupAdmin: React.FC = () => { </Typography> <Typography align="center" variant="subtitle1"> {/* TODO link to actual group */} - <StyledLink to={`/group/1/admin/members/unaccepted`} style={{ color: theme.palette.primary.dark }}> + <StyledLink + to={`/group/1/admin/members?role=applicant`} + style={{ color: theme.palette.primary.dark }} + > Bírálás </StyledLink> </Typography> @@ -45,7 +48,7 @@ export const GroupAdmin: React.FC = () => { </Typography> <Typography align="center" variant="subtitle1"> {/* TODO link to actual group */} - <StyledLink to={`/group/1/admin/rentals/active`} style={{ color: theme.palette.primary.dark }}> + <StyledLink to={`/group/1/admin/rentals?state=active`} style={{ color: theme.palette.primary.dark }}> Kezelés </StyledLink> </Typography> @@ -122,6 +125,18 @@ export const GroupAdmin: React.FC = () => { </Card> </StyledLink> </Grid> + <Grid item xs={12}> + {/* TODO link to actual group */} + <StyledLink to="/group/1/admin/rentals"> + <Card> + <CardContent> + <Typography align="center" variant="subtitle1"> + Kölcsönzések + </Typography> + </CardContent> + </Card> + </StyledLink> + </Grid> </Grid> </Grid> </Grid> diff --git a/client/src/components/admin/GroupDocuments.tsx b/client/src/components/admin/GroupDocuments.tsx new file mode 100644 index 0000000..92f2889 --- /dev/null +++ b/client/src/components/admin/GroupDocuments.tsx @@ -0,0 +1,11 @@ +import React from 'react'; +import { useLocation } from 'react-router-dom'; + +function useQuery() { + return new URLSearchParams(useLocation().search); +} + +export const GroupDocuments: React.FC = () => { + const query = useQuery(); + return <>ordered by = {query.get('order_by') || 'none'}</>; +}; diff --git a/client/src/components/admin/GroupItems.tsx b/client/src/components/admin/GroupItems.tsx new file mode 100644 index 0000000..e990b13 --- /dev/null +++ b/client/src/components/admin/GroupItems.tsx @@ -0,0 +1,4 @@ +import React from 'react'; +export const GroupItems: React.FC = () => { + return <>items</>; +}; diff --git a/client/src/components/admin/GroupMembers.tsx b/client/src/components/admin/GroupMembers.tsx new file mode 100644 index 0000000..9efab89 --- /dev/null +++ b/client/src/components/admin/GroupMembers.tsx @@ -0,0 +1,11 @@ +import React from 'react'; +import { useLocation } from 'react-router-dom'; + +function useQuery() { + return new URLSearchParams(useLocation().search); +} + +export const GroupMembers: React.FC = () => { + const query = useQuery(); + return <>filtered role = {query.get('role') || 'none'}</>; +}; diff --git a/client/src/components/admin/GroupRentals.tsx b/client/src/components/admin/GroupRentals.tsx new file mode 100644 index 0000000..824d737 --- /dev/null +++ b/client/src/components/admin/GroupRentals.tsx @@ -0,0 +1,11 @@ +import React from 'react'; +import { useLocation } from 'react-router-dom'; + +function useQuery() { + return new URLSearchParams(useLocation().search); +} + +export const GroupRentals: React.FC = () => { + const query = useQuery(); + return <>filtered state = {query.get('state') || 'none'}</>; +}; diff --git a/client/src/components/admin/GroupStorages.tsx b/client/src/components/admin/GroupStorages.tsx new file mode 100644 index 0000000..f926adb --- /dev/null +++ b/client/src/components/admin/GroupStorages.tsx @@ -0,0 +1,5 @@ +import React from 'react'; + +export const GroupStorages: React.FC = () => { + return <>storages</>; +}; -- GitLab