From 16699ef2e22fa65d93e344bb1abb5570821e70b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B8=D0=BC=D1=83=D1=80=20=D0=93=D0=BE=D1=80=D0=BE?= =?UTF-8?q?=D0=B4=D0=B5=D1=86=D0=BA=D0=B8=D0=B9?= Date: Thu, 29 Oct 2026 10:59:13 +0500 Subject: [PATCH] =?UTF-8?q?refactor:=20LeaveNotice=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=B8=D0=BC=D0=B5=D0=BD=D0=BE=D0=B2=D0=B0=D0=BD=20=D0=B2?= =?UTF-8?q?=20=D0=BE=D0=B1=D1=89=D0=B8=D0=B9=20FormNotice?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Плашка «Примечание» с правилами нужна не только заявлениям на отпуск — следующей её получает увольнение. Имя LeaveNotice вводило бы в заблуждение, поэтому компонент стал нейтральным FormNotice; поведение не меняется. Co-Authored-By: Claude Opus 5.5 (1M context) --- .../requestPortal/forms/UnpaidLeave/UnpaidLeaveForm.tsx | 4 ++-- .../requestPortal/forms/UnpaidLeave/UnpaidLeaveView.tsx | 4 ++-- src/webparts/requestPortal/forms/UnpaidLeave/model.ts | 2 +- .../requestPortal/forms/Vacation/VacationForm.tsx | 4 ++-- .../requestPortal/forms/Vacation/VacationView.tsx | 4 ++-- src/webparts/requestPortal/forms/Vacation/model.ts | 2 +- .../FormNotice.module.scss} | 0 .../LeaveNotice.tsx => FormNotice/FormNotice.tsx} | 9 +++++---- src/webparts/requestPortal/shared/ui/index.ts | 2 +- 9 files changed, 16 insertions(+), 15 deletions(-) rename src/webparts/requestPortal/shared/ui/{LeaveNotice/LeaveNotice.module.scss => FormNotice/FormNotice.module.scss} (100%) rename src/webparts/requestPortal/shared/ui/{LeaveNotice/LeaveNotice.tsx => FormNotice/FormNotice.tsx} (69%) diff --git a/src/webparts/requestPortal/forms/UnpaidLeave/UnpaidLeaveForm.tsx b/src/webparts/requestPortal/forms/UnpaidLeave/UnpaidLeaveForm.tsx index 62b9cbf..c46091c 100644 --- a/src/webparts/requestPortal/forms/UnpaidLeave/UnpaidLeaveForm.tsx +++ b/src/webparts/requestPortal/forms/UnpaidLeave/UnpaidLeaveForm.tsx @@ -13,7 +13,7 @@ import { SubmitActions, getDraftDeleteHandler, useRequestSubmit, - LeaveNotice + FormNotice } from '../../shared/ui'; import { composeRemoveRowRule, @@ -335,7 +335,7 @@ const UnpaidLeaveForm: React.FC = ({ )} {submit.error && {submit.error}} - + diff --git a/src/webparts/requestPortal/forms/UnpaidLeave/UnpaidLeaveView.tsx b/src/webparts/requestPortal/forms/UnpaidLeave/UnpaidLeaveView.tsx index 57bc3d9..3e8af71 100644 --- a/src/webparts/requestPortal/forms/UnpaidLeave/UnpaidLeaveView.tsx +++ b/src/webparts/requestPortal/forms/UnpaidLeave/UnpaidLeaveView.tsx @@ -9,7 +9,7 @@ import { FormModeProvider, PrintSplitButton, OrgLetterhead, - LeaveNotice, + FormNotice, PrintSignature } from '../../shared/ui'; import { @@ -170,7 +170,7 @@ const UnpaidLeaveView: React.FC = ({ context, itemId, for } > - + diff --git a/src/webparts/requestPortal/forms/UnpaidLeave/model.ts b/src/webparts/requestPortal/forms/UnpaidLeave/model.ts index bd0a321..baca43f 100644 --- a/src/webparts/requestPortal/forms/UnpaidLeave/model.ts +++ b/src/webparts/requestPortal/forms/UnpaidLeave/model.ts @@ -95,7 +95,7 @@ export const SUBSTITUTE_PLACEHOLDER = 'Начните вводить Ф.И.О. */ export const MIN_NOTICE_DAYS = 14; -/** Памятка вверху формы и просмотра (см. shared/ui/LeaveNotice). Текст — по просьбе HR. */ +/** Памятка вверху формы и просмотра (см. shared/ui/FormNotice). Текст — по просьбе HR. */ export const NOTICE_TITLE = 'Памятка'; export const NOTICE_ITEMS: string[] = [ 'После согласования заявления его необходимо распечатать с портала (кнопка «Печать» на странице заявки), ' + diff --git a/src/webparts/requestPortal/forms/Vacation/VacationForm.tsx b/src/webparts/requestPortal/forms/Vacation/VacationForm.tsx index dda7528..a23479c 100644 --- a/src/webparts/requestPortal/forms/Vacation/VacationForm.tsx +++ b/src/webparts/requestPortal/forms/Vacation/VacationForm.tsx @@ -13,7 +13,7 @@ import { SubmitActions, getDraftDeleteHandler, useRequestSubmit, - LeaveNotice + FormNotice } from '../../shared/ui'; import { composeRemoveRowRule, @@ -354,7 +354,7 @@ const VacationForm: React.FC = ({ )} {submit.error && {submit.error}} - + diff --git a/src/webparts/requestPortal/forms/Vacation/VacationView.tsx b/src/webparts/requestPortal/forms/Vacation/VacationView.tsx index 164bad1..39f468b 100644 --- a/src/webparts/requestPortal/forms/Vacation/VacationView.tsx +++ b/src/webparts/requestPortal/forms/Vacation/VacationView.tsx @@ -10,7 +10,7 @@ import { FormModeProvider, PrintSplitButton, OrgLetterhead, - LeaveNotice, + FormNotice, PrintSignature } from '../../shared/ui'; import { @@ -229,7 +229,7 @@ const VacationView: React.FC = ({ context, itemId, formKey, } > - + diff --git a/src/webparts/requestPortal/forms/Vacation/model.ts b/src/webparts/requestPortal/forms/Vacation/model.ts index 523027c..11b49c5 100644 --- a/src/webparts/requestPortal/forms/Vacation/model.ts +++ b/src/webparts/requestPortal/forms/Vacation/model.ts @@ -87,7 +87,7 @@ export const MIN_NOTICE_DAYS = 7; export const MAX_DAYS = 24; /** - * Примечание вверху формы и просмотра (см. shared/ui/LeaveNotice). Текст — от HR, + * Примечание вверху формы и просмотра (см. shared/ui/FormNotice). Текст — от HR, * дословно. «Одну календарную неделю» — это MIN_NOTICE_DAYS: поменяли срок — поправьте и текст. * Правило про часть не менее 14 дней только показываем, а не проверяем: форма не знает, * брал ли сотрудник уже часть отпуска. diff --git a/src/webparts/requestPortal/shared/ui/LeaveNotice/LeaveNotice.module.scss b/src/webparts/requestPortal/shared/ui/FormNotice/FormNotice.module.scss similarity index 100% rename from src/webparts/requestPortal/shared/ui/LeaveNotice/LeaveNotice.module.scss rename to src/webparts/requestPortal/shared/ui/FormNotice/FormNotice.module.scss diff --git a/src/webparts/requestPortal/shared/ui/LeaveNotice/LeaveNotice.tsx b/src/webparts/requestPortal/shared/ui/FormNotice/FormNotice.tsx similarity index 69% rename from src/webparts/requestPortal/shared/ui/LeaveNotice/LeaveNotice.tsx rename to src/webparts/requestPortal/shared/ui/FormNotice/FormNotice.tsx index 7c44c7b..d92c8a2 100644 --- a/src/webparts/requestPortal/shared/ui/LeaveNotice/LeaveNotice.tsx +++ b/src/webparts/requestPortal/shared/ui/FormNotice/FormNotice.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { Alert } from '@tnsu/ui-kit'; -import styles from './LeaveNotice.module.scss'; +import styles from './FormNotice.module.scss'; interface Props { /** Заголовок плашки, например «Примечание» или «Памятка». */ @@ -10,12 +10,13 @@ interface Props { } /** - * Плашка с правилами для заявлений на отпуск (трудовой и без содержания). - * Тексты у форм разные, поэтому приходят из model.ts каждой формы. + * Плашка с правилами вверху формы и её просмотра — «Примечание», «Памятка» + * (отпуск, отпуск без содержания, увольнение). Тексты у форм разные — от + * кадров, дословно, — поэтому приходят из model.ts каждой формы. * Вариант warn, а не info: нейтральная плашка терялась на фоне формы. * На печать не выводится — это подсказка для сотрудника, а не часть заявления. */ -export const LeaveNotice: React.FC = ({ title, items }) => { +export const FormNotice: React.FC = ({ title, items }) => { if (items.length === 0) return null; return ( diff --git a/src/webparts/requestPortal/shared/ui/index.ts b/src/webparts/requestPortal/shared/ui/index.ts index d90c0af..69e151e 100644 --- a/src/webparts/requestPortal/shared/ui/index.ts +++ b/src/webparts/requestPortal/shared/ui/index.ts @@ -60,6 +60,6 @@ export { issueLabels } from './FieldIssues/fieldIssues'; export { getDraftDeleteHandler } from './SubmitActions/getDraftDeleteHandler'; export { InitiatorLine } from './InitiatorLine/InitiatorLine'; export type { IInitiatorLineProps } from './InitiatorLine/InitiatorLine'; -export { LeaveNotice } from './LeaveNotice/LeaveNotice'; +export { FormNotice } from './FormNotice/FormNotice'; export { useRequestSubmit } from './useRequestSubmit'; export type { IRequestSubmit, SubmitKind } from './useRequestSubmit';