@@ -68,6 +68,7 @@ interface ICourseExperimentalState {
6868export const CourseExperimental : FC < ICourseExperimentalProps > = ( props ) => {
6969 const [ hideDeferred , setHideDeferred ] = useState < boolean > ( false )
7070 const [ showOnlyGroupedTest , setShowOnlyGroupedTest ] = useState < string | undefined > ( undefined )
71+ const filterAdded = hideDeferred || showOnlyGroupedTest !== undefined
7172
7273 // Определяем разрешение экрана пользователя
7374 const theme = useTheme ( ) ;
@@ -281,9 +282,21 @@ export const CourseExperimental: FC<ICourseExperimentalProps> = (props) => {
281282 if ( groupingTag === undefined ) return null
282283
283284 const groupedHomeworks = homeworks . filter ( x => x . tags ! . includes ( TestTag ) && x . tags ! . includes ( groupingTag ) )
285+ if ( groupedHomeworks . length === 1 ) return null
284286
285287 const keys = new Set ( groupedHomeworks . map ( h => h . tasks ! . map ( t => t . maxRating ) . join ( ";" ) ) )
286- if ( keys . size === 1 ) return null
288+ if ( keys . size === 1 ) return < Alert severity = "success"
289+ action = {
290+ < Button
291+ fullWidth
292+ color = "inherit"
293+ size = "small"
294+ onClick = { ( ) => setShowOnlyGroupedTest ( groupingTag ) }
295+ >
296+ Задания
297+ </ Button > } >
298+ Работа сгруппирована по ключу '< b > { groupingTag } </ b > '.
299+ </ Alert >
287300
288301 return < Alert severity = "warning"
289302 action = {
@@ -293,7 +306,7 @@ export const CourseExperimental: FC<ICourseExperimentalProps> = (props) => {
293306 size = "small"
294307 onClick = { ( ) => setShowOnlyGroupedTest ( groupingTag ) }
295308 >
296- Задания с ' { groupingTag } '
309+ Задания
297310 </ Button > } >
298311 < AlertTitle > Группировка контрольных работ</ AlertTitle >
299312 Создано несколько контрольных работ, сгруппированных по ключу '< b > { groupingTag } </ b > ',
@@ -333,8 +346,6 @@ export const CourseExperimental: FC<ICourseExperimentalProps> = (props) => {
333346 } ,
334347 fileInfos : [ ]
335348 } )
336- setHideDeferred ( false )
337- setShowOnlyGroupedTest ( undefined )
338349 setState ( ( prevState ) => ( {
339350 ...prevState ,
340351 selectedItem : {
@@ -492,7 +503,15 @@ export const CourseExperimental: FC<ICourseExperimentalProps> = (props) => {
492503 borderRadius : 10
493504 }
494505 } } >
495- { props . isMentor && ( homeworks [ 0 ] ?. id || 1 ) > 0 && < Button
506+ { props . isMentor && filterAdded && < Button
507+ onClick = { ( ) => {
508+ setHideDeferred ( false )
509+ setShowOnlyGroupedTest ( undefined )
510+ } }
511+ style = { { borderRadius : 8 , marginBottom : 10 } } variant = { "contained" } size = { "medium" } >
512+ Показать все задания
513+ </ Button > }
514+ { props . isMentor && ! filterAdded && ( homeworks [ 0 ] ?. id || 1 ) > 0 && < Button
496515 onClick = { addNewHomework }
497516 style = { { borderRadius : 8 , marginBottom : 10 } } variant = { "text" } size = { "small" } >
498517 + Добавить задание
0 commit comments