import { WithStyles } from '@material-ui/core/styles';
import withStyles from '@material-ui/core/styles/withStyles';
import { VisibilityLevelSelect } from './visibility-level-select';
+import { VisibilityLevel } from '~/store/sharing-dialog/sharing-dialog-types';
const sharingPublicAccessStyles: StyleRulesCallback<'root'> = theme => ({
root: {
});
const SharingPublicAccessForm = withStyles(sharingPublicAccessStyles)(
- ({ classes }: WithStyles<'root'>) =>
+ ({ classes, visibility }: WithStyles<'root'> & { visibility: VisibilityLevel }) =>
<>
<Divider />
<Grid container alignItems='center' spacing={8} className={classes.root}>
<Grid item xs={8}>
- <Typography variant='subheading'>Public visibility</Typography>
+ <Typography variant='subtitle1'>
+ {renderVisibilityInfo(visibility)}
+ </Typography>
</Grid>
<Grid item xs={4} container wrap='nowrap'>
<Field name='visibility' component={VisibilityLevelSelectComponent} />
</>
);
-export default () => <SharingPublicAccessForm />;
+const renderVisibilityInfo = (visibility: VisibilityLevel) => {
+ switch (visibility) {
+ case VisibilityLevel.PUBLIC:
+ return 'Anyone can access';
+ case VisibilityLevel.SHARED:
+ return 'Specific people can access';
+ case VisibilityLevel.PRIVATE:
+ return 'Only you can access';
+ default:
+ return '';
+ }
+};
+
+export default ({ visibility }: { visibility: VisibilityLevel }) =>
+ <SharingPublicAccessForm {...{ visibility }} />;
const VisibilityLevelSelectComponent = ({ input }: WrappedFieldProps) =>
<VisibilityLevelSelect fullWidth disableUnderline {...input} />;