Skip to content

Commit 9a8fcd5

Browse files
committed
Add admin button to encode all videos
1 parent 1e5046a commit 9a8fcd5

File tree

2 files changed

+25
-4
lines changed

2 files changed

+25
-4
lines changed

src/components/HumanAdmin/AdminLayout.js

+18-4
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { Typography, Link } from '@material-ui/core';
66
import { Notification } from 'react-admin';
77

88
import intersperse from '../intersperse';
9+
import api from 'modules/api';
910

1011
const useStyles = makeStyles(theme => ({
1112
content: {
@@ -23,6 +24,9 @@ const useStyles = makeStyles(theme => ({
2324
links: {
2425
marginLeft: theme.spacing(1),
2526
marginBottom: theme.spacing(2),
27+
'& a':{
28+
display: 'block'
29+
}
2630
},
2731
}));
2832

@@ -34,20 +38,30 @@ const ResourceLink = ({ name }) => (
3438

3539
const AdminLayout = props => {
3640
const { children, title } = props;
37-
const classes = useStyles();
41+
const classes = useStyles(props);
3842

3943
const admin = React.Children.only(children);
40-
const resources = React.Children.map(admin.props.children, child => {
41-
return <ResourceLink name={child.props.name} />;
44+
var resources = React.Children.map(admin.props.children, child => {
45+
return <ResourceLink name={child.props.name} key={child.props.name}/>;
4246
});
4347

48+
const adminVideoEncodeAll = () => {
49+
api.adminVideoEncodeAll();
50+
};
51+
52+
resources.push(
53+
<Link onClick={adminVideoEncodeAll} href="#" key="encodeAllVideos">encode all videos</Link>
54+
);
55+
4456
return (
4557
<React.Fragment>
4658
<div className={classes.content}>
4759
<Typography variant="h4" className={classes.title}>
4860
{title}
4961
</Typography>
50-
<div className={classes.links}>{intersperse(resources, ' | ')}</div>
62+
<div className={classes.links}>
63+
{resources}
64+
</div>
5165
{children}
5266
</div>
5367
<Notification />

src/modules/api.js

+7
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import requestDispatcher, { AUTH_API } from './requestDispatcher';
44
const CHALLENGE_API = '/challenges';
55
const RESPONSE_API = '/responses';
66
const AUTH_PASSWORD_API = `${AUTH_API}/password`;
7+
const ADMIN_VIDEO_ENCODE_ALL = '/admin/videos/encode';
78

89
class HumanApi {
910
constructor() {
@@ -117,6 +118,12 @@ class HumanApi {
117118
}
118119
return formData;
119120
}
121+
122+
async adminVideoEncodeAll() {
123+
const res = await requestDispatcher
124+
.postWithAuth(ADMIN_VIDEO_ENCODE_ALL);
125+
return res.data;
126+
}
120127
}
121128

122129
export default new HumanApi();

0 commit comments

Comments
 (0)