diff --git a/src/app/(student)/dashboard/page.tsx b/src/app/(student)/dashboard/page.tsx
index 528e5ed..045511a 100644
--- a/src/app/(student)/dashboard/page.tsx
+++ b/src/app/(student)/dashboard/page.tsx
@@ -14,7 +14,7 @@ export default async function StudentDashboard() {
const dbUser = await prisma.user.findUnique({
where: { id: session.user.id },
- select: { archetype: true },
+ select: { archetype: true, phone: true },
});
const enrollments = await prisma.courseEnrollment.findMany({
@@ -168,7 +168,7 @@ export default async function StudentDashboard() {
{locked.length > 0 && (
)}
diff --git a/src/components/student/store-checkout-modal.tsx b/src/components/student/store-checkout-modal.tsx
index 9b1fa9f..0c9c5c0 100644
--- a/src/components/student/store-checkout-modal.tsx
+++ b/src/components/student/store-checkout-modal.tsx
@@ -30,7 +30,7 @@ interface PayMethod {
interface Props {
course: LockedCourse;
entry: StoreCatalogEntry;
- buyer: { name: string; email: string };
+ buyer: { name: string; email: string; phone?: string | null };
onClose: () => void;
}
@@ -257,6 +257,34 @@ export function StoreCheckoutModal({ course, entry, buyer, onClose }: Props) {
)}
+ {/* Phone — required by payment-router since 20261111 (owner messages buyers in Telegram) */}
+
+
+
(e.currentTarget.style.borderColor = "var(--foreground)")}
+ onBlur={(e) => (e.currentTarget.style.borderColor = "var(--border)")}
+ />
+
+ Напишу в Telegram, если с оплатой что-то пойдёт не так.
+
+
+
{/* Promo code */}