diff --git a/client/src/pages/UserProfilePage.tsx b/client/src/pages/UserProfilePage.tsx
index 4cc1ac5..1262e4b 100644
--- a/client/src/pages/UserProfilePage.tsx
+++ b/client/src/pages/UserProfilePage.tsx
@@ -334,26 +334,33 @@ function HistoryTab({ auditLog }: { auditLog: AuditLogEntry[] }) {
// Поле history-number: обычный ввод значения + кнопка с графиком истории оценок.
// График доступен всегда (просмотр), редактирование значения — как у остальных полей.
+// readOnly (options.readOnly): ввод недоступен — только значение текстом и график.
function HistoryNumberFieldInput({
field,
value,
onChange,
userId,
+ readOnly,
}: {
field: UserProfileField;
value: any;
onChange: (val: any) => void;
userId: number;
+ readOnly?: boolean;
}) {
const [historyOpen, setHistoryOpen] = useState(false);
return (
- onChange(e.target.value)}
- placeholder={field.placeholder}
- required={field.isRequired}
- />
+ {readOnly ? (
+ {value ?? '—'}
+ ) : (
+ onChange(e.target.value)}
+ placeholder={field.placeholder}
+ required={field.isRequired}
+ />
+ )}
))}
- {canEdit && (
+ {canEdit && tabFields.some((f) => !f.options?.readOnly) && (