diff --git a/frontend/src/components/TaskForm.vue b/frontend/src/components/TaskForm.vue index ce39336..afa2f8e 100644 --- a/frontend/src/components/TaskForm.vue +++ b/frontend/src/components/TaskForm.vue @@ -53,6 +53,10 @@ // Теги — имена (GnTagInput работает со строками); id резолвятся при сохранении const selectedTags = ref([]) +// «Дополнительно» (оценки + дедлайн): при создании свёрнуто, при правке раскрыто +const extraItems = [{ id: 'extra', label: t('stack.form.extra'), icon: 'ph-plus-circle' }] +const extraOpen = ref(props.task ? 'extra' : '') + // Дни недели для правила повторения (ISO: пн=1..вс=7) — имена через Intl const WEEKDAYS = [1, 2, 3, 4, 5, 6, 7].map((n) => ({ value: String(n), @@ -251,32 +255,37 @@ icon="ph-flag" :options="[{ value: '', label: t('common.none') }, ...priorityOptions()]" /> - -
- {{ t('stack.form.estimateLegend') }} - - -
+ + + +
{{ t('stack.recur.kind') }} @@ -361,6 +370,13 @@ font-size: 0.85em; color: var(--text-muted, #888); } +/* панель «Дополнительно»: группы (оценка, дедлайн) — столбцом с тем же шагом, + что и остальные блоки формы */ +.edit-form :deep(.accordion-panel) { + display: flex; + flex-direction: column; + gap: 0.75rem; +} .attachments { display: flex; flex-direction: column; diff --git a/frontend/src/locales/en.ts b/frontend/src/locales/en.ts index 32bb776..e241b48 100644 --- a/frontend/src/locales/en.ts +++ b/frontend/src/locales/en.ts @@ -190,6 +190,7 @@ budget: 'Budget (in settings currency)', cost: 'Cost estimate (in settings currency)', estimateLegend: 'Estimates', + extra: 'Additional', }, deadline: { legend: 'Deadline', diff --git a/frontend/src/locales/ru.ts b/frontend/src/locales/ru.ts index cd4f527..ec02d39 100644 --- a/frontend/src/locales/ru.ts +++ b/frontend/src/locales/ru.ts @@ -191,6 +191,7 @@ budget: 'Бюджет (в валюте настроек)', cost: 'Оценка затрат (в валюте настроек)', estimateLegend: 'Оценка', + extra: 'Дополнительно', }, deadline: { legend: 'Дедлайн', diff --git a/frontend/src/locales/uk.ts b/frontend/src/locales/uk.ts index 354abb3..64edc03 100644 --- a/frontend/src/locales/uk.ts +++ b/frontend/src/locales/uk.ts @@ -190,6 +190,7 @@ budget: 'Бюджет (у валюті налаштувань)', cost: 'Оцінка витрат (у валюті налаштувань)', estimateLegend: 'Оцінка', + extra: 'Додатково', }, deadline: { legend: 'Дедлайн', diff --git a/frontend/src/views/ProjectView.vue b/frontend/src/views/ProjectView.vue index 39f5f9f..f64d9a2 100644 --- a/frontend/src/views/ProjectView.vue +++ b/frontend/src/views/ProjectView.vue @@ -216,9 +216,11 @@ // Новая задача проекта: полная форма (TaskForm create + project_id по умолчанию) const newTaskOpen = ref(false) -function onTaskCreated() { +// После создания ведём пользователя на страницу задачи — детали заполняются там +function onTaskCreated(task: Task) { newTaskOpen.value = false void load() + void router.push(`/tasks/${task.id}`) } const statusOptionsWithAny = computed(() => [ diff --git a/frontend/src/views/StackView.vue b/frontend/src/views/StackView.vue index 2e1cfa8..f55aee5 100644 --- a/frontend/src/views/StackView.vue +++ b/frontend/src/views/StackView.vue @@ -1,6 +1,7 @@