Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 23ec02e29a | |||
| 1291519cda | |||
| d2783d01c9 | |||
| e29242accf |
@@ -23,6 +23,7 @@ module.exports = {
|
||||
features: {
|
||||
'challenge': {
|
||||
// add your features here in the format [featureName]: { value: string }
|
||||
'task.skip.enabled': { value: 'true' }, // Включить кнопку пропуска задания
|
||||
},
|
||||
},
|
||||
config: {
|
||||
|
||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "challenge",
|
||||
"version": "1.3.0",
|
||||
"version": "1.4.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "challenge",
|
||||
"version": "1.3.0",
|
||||
"version": "1.4.1",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@brojs/cli": "^1.9.4",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "challenge",
|
||||
"version": "1.3.0",
|
||||
"version": "1.4.1",
|
||||
"description": "",
|
||||
"main": "./src/index.tsx",
|
||||
"scripts": {
|
||||
|
||||
@@ -9,6 +9,7 @@ import {
|
||||
} from '@chakra-ui/react'
|
||||
import ReactMarkdown from 'react-markdown'
|
||||
import remarkGfm from 'remark-gfm'
|
||||
import { getFeatureValue } from '@brojs/cli'
|
||||
|
||||
import type { ChallengeTask } from '../../__data__/types'
|
||||
import { useChallenge } from '../../context/ChallengeContext'
|
||||
@@ -27,6 +28,9 @@ export const TaskWorkspace = ({ task, onTaskComplete, onTaskSkip }: TaskWorkspac
|
||||
taskId: task.id,
|
||||
})
|
||||
|
||||
// Проверяем, включена ли кнопка пропуска через feature flag
|
||||
const skipEnabled = getFeatureValue('challenge', 'task.skip.enabled', 'false').value === 'true'
|
||||
|
||||
// Сохраняем последний результат, чтобы блок не исчезал
|
||||
const [lastResult, setLastResult] = useState<typeof finalSubmission>(null)
|
||||
// Состояние для показа дополнительного материала
|
||||
@@ -397,16 +401,18 @@ export const TaskWorkspace = ({ task, onTaskComplete, onTaskSkip }: TaskWorkspac
|
||||
<HStack justify="space-between" gap={2}>
|
||||
{!isAccepted && (
|
||||
<>
|
||||
<Button
|
||||
onClick={onTaskSkip}
|
||||
variant="outline"
|
||||
size="sm"
|
||||
colorScheme="gray"
|
||||
// @ts-expect-error Chakra UI v2 uses isDisabled
|
||||
isDisabled={isChecking}
|
||||
>
|
||||
Пропустить
|
||||
</Button>
|
||||
{skipEnabled && (
|
||||
<Button
|
||||
onClick={onTaskSkip}
|
||||
variant="outline"
|
||||
size="sm"
|
||||
colorScheme="gray"
|
||||
// @ts-expect-error Chakra UI v2 uses isDisabled
|
||||
isDisabled={isChecking}
|
||||
>
|
||||
Пропустить
|
||||
</Button>
|
||||
)}
|
||||
{/* @ts-expect-error Chakra UI v2 uses isLoading/isDisabled */}
|
||||
<Button onClick={submit} colorScheme="teal" size="sm" isLoading={isChecking} isDisabled={!result.trim() || isChecking}>
|
||||
{needsRevision ? 'Отправить снова' : 'Отправить на проверку'}
|
||||
|
||||
Reference in New Issue
Block a user