diff --git a/src/pages/tasks/TaskFormPage.tsx b/src/pages/tasks/TaskFormPage.tsx
index bf5fba2..43684ae 100644
--- a/src/pages/tasks/TaskFormPage.tsx
+++ b/src/pages/tasks/TaskFormPage.tsx
@@ -26,6 +26,20 @@ import { LoadingSpinner } from '../../components/LoadingSpinner'
import { ErrorAlert } from '../../components/ErrorAlert'
import { toaster } from '../../components/ui/toaster'
+// Функция для разбиения текста на блоки по 30 строк
+const splitTextIntoBlocks = (text: string, linesPerBlock: number = 30): string[] => {
+ if (!text) return []
+ const lines = text.split('\n')
+ const blocks: string[] = []
+
+ for (let i = 0; i < lines.length; i += linesPerBlock) {
+ const block = lines.slice(i, i + linesPerBlock).join('\n')
+ blocks.push(block)
+ }
+
+ return blocks
+}
+
export const TaskFormPage: React.FC = () => {
const { id } = useParams<{ id: string }>()
const navigate = useNavigate()
@@ -394,21 +408,46 @@ export const TaskFormPage: React.FC = () => {
overflowY="auto"
>
{learningMaterial ? (
-
- {learningMaterial}
-
+
+ {splitTextIntoBlocks(learningMaterial, 30).map((block, index) => (
+
+
+ Блок {index + 1} (30 строк)
+
+ {block}
+
+ ))}
+
) : (
{t('challenge.admin.tasks.preview.empty')}
@@ -455,21 +494,46 @@ export const TaskFormPage: React.FC = () => {
height="100%"
>
{learningMaterial ? (
-
- {learningMaterial}
-
+
+ {splitTextIntoBlocks(learningMaterial, 30).map((block, index) => (
+
+
+ Блок {index + 1} (30 строк)
+
+ {block}
+
+ ))}
+
) : (
{t('challenge.admin.tasks.preview.empty')}