feat: add short description for team carousel cards

- Add shortDescription field to TeamMember type
- DB migration #11: add short_description column to team_members
- Admin editor: separate "Краткое описание (для карточки)" and "Полное описание"
- Carousel shows shortDescription with line-clamp-3, falls back to description
- Full description shown in "Подробнее" profile view

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-20 14:08:50 +03:00
parent 1acda847b7
commit 650f8dc719
4 changed files with 31 additions and 5 deletions

View File

@@ -20,6 +20,7 @@ interface MemberForm {
role: string;
image: string;
instagram: string;
shortDescription: string;
description: string;
experience: string[];
victories: VictoryItem[];
@@ -36,6 +37,7 @@ export default function TeamMemberEditorPage() {
role: "",
image: "/images/team/placeholder.webp",
instagram: "",
shortDescription: "",
description: "",
experience: [],
victories: [],
@@ -116,6 +118,7 @@ export default function TeamMemberEditorPage() {
role: member.role,
image: member.image,
instagram: username,
shortDescription: member.shortDescription || "",
description: member.description || "",
experience: member.experience || [],
victories: member.victories || [],
@@ -302,7 +305,14 @@ export default function TeamMemberEditorPage() {
)}
</div>
<TextareaField
label="Описание"
label="Краткое описание (для карточки)"
value={data.shortDescription}
onChange={(v) => setData({ ...data, shortDescription: v })}
rows={2}
placeholder="1-2 предложения для карусели"
/>
<TextareaField
label="Полное описание (для страницы тренера)"
value={data.description}
onChange={(v) => setData({ ...data, description: v })}
rows={6}