From f7256b1dbbe67088c879bfa71553db6a5106f95f Mon Sep 17 00:00:00 2001 From: glpshchn <464976@niuitmo.ru> Date: Fri, 5 Dec 2025 00:56:22 +0300 Subject: [PATCH] Update files --- frontend/src/pages/Profile.jsx | 95 +++++++++++++++++++++++++++++++--- 1 file changed, 89 insertions(+), 6 deletions(-) diff --git a/frontend/src/pages/Profile.jsx b/frontend/src/pages/Profile.jsx index ab4c6c2..54d0300 100644 --- a/frontend/src/pages/Profile.jsx +++ b/frontend/src/pages/Profile.jsx @@ -1,8 +1,11 @@ import { useState } from 'react' -import { Settings, Heart, Edit2, Shield } from 'lucide-react' +import { Settings, Heart, Edit2, Shield, UserPlus, Copy } from 'lucide-react' +import { createPortal } from 'react-dom' import { updateProfile } from '../utils/api' import { hapticFeedback } from '../utils/telegram' import ThemeToggle from '../components/ThemeToggle' +import FollowListModal from '../components/FollowListModal' +import { decodeHtmlEntities } from '../utils/htmlEntities' import './Profile.css' const DONATION_URL = 'https://donatepay.ru/don/1435720' @@ -40,6 +43,8 @@ export default function Profile({ user, setUser }) { const [bio, setBio] = useState(user.bio || '') const [settings, setSettings] = useState(normalizeSettings(user.settings)) const [saving, setSaving] = useState(false) + const [showFollowers, setShowFollowers] = useState(false) + const [showFollowing, setShowFollowing] = useState(false) const handleSaveBio = async () => { try { @@ -110,6 +115,19 @@ export default function Profile({ user, setUser }) { setSettings(updatedSettings) } + const handleCopyReferral = () => { + const botUsername = import.meta.env.VITE_BOT_USERNAME || 'NakamaSpaceBot' + const referralLink = `https://t.me/${botUsername}?startapp=ref_${user.referralCode || user.id}` + + navigator.clipboard.writeText(referralLink).then(() => { + hapticFeedback('success') + alert('Реферальная ссылка скопирована!') + }).catch(() => { + hapticFeedback('error') + alert('Не удалось скопировать ссылку') + }) + } + return (
{user.bio}
+{decodeHtmlEntities(user.bio)}
@@ -154,18 +172,63 @@ export default function Profile({ user, setUser }) {Приглашайте друзей и получайте бонусы за каждого приглашенного пользователя!
+{`https://t.me/${import.meta.env.VITE_BOT_USERNAME || 'NakamaSpaceBot'}?startapp=ref_${user.referralCode}`}
+