2025-11-03 21:43:00 +00:00
|
|
|
|
# 🎯 Окончательное исправление - v2.1.3
|
|
|
|
|
|
|
|
|
|
|
|
## Решение для комментариев:
|
|
|
|
|
|
|
|
|
|
|
|
### Использовано: dvh + Telegram WebApp API (комбинация методов 1 и 3)
|
|
|
|
|
|
|
|
|
|
|
|
#### 1. **dvh вместо vh**
|
|
|
|
|
|
```css
|
|
|
|
|
|
.comments-modal {
|
|
|
|
|
|
height: 60dvh; /* НЕ меняется при клавиатуре */
|
|
|
|
|
|
max-height: 60vh; /* fallback */
|
|
|
|
|
|
position: fixed;
|
|
|
|
|
|
bottom: 80px;
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### 2. **Telegram WebApp API**
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
|
const tg = getTelegramApp()
|
|
|
|
|
|
|
|
|
|
|
|
tg.onEvent('viewportChanged', () => {
|
|
|
|
|
|
// Фиксируем высоту при изменении viewport
|
|
|
|
|
|
modalRef.current.style.height = currentHeight + 'px'
|
|
|
|
|
|
})
|
|
|
|
|
|
}, [])
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### 3. **Правильный onClick**
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
const handleOverlayClick = (e) => {
|
|
|
|
|
|
if (e.target === e.currentTarget) {
|
|
|
|
|
|
onClose()
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Кнопки в тёмной теме:
|
|
|
|
|
|
|
|
|
|
|
|
### ВСЕ кнопки БЕЛЫЕ с чёрным текстом:
|
|
|
|
|
|
|
|
|
|
|
|
**Неактивная кнопка:**
|
|
|
|
|
|
- Фон: `#FFFFFF` (белый)
|
|
|
|
|
|
- Текст: `#000000` (чёрный)
|
|
|
|
|
|
|
|
|
|
|
|
**Активная кнопка:**
|
|
|
|
|
|
- Фон: `#FFFFFF` (белый!)
|
|
|
|
|
|
- Текст: синий
|
|
|
|
|
|
- Рамка: 2px синяя
|
|
|
|
|
|
|
|
|
|
|
|
Это НЕ синие кнопки, а **белые с синей рамкой и текстом**!
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Изменённые файлы:
|
|
|
|
|
|
|
|
|
|
|
|
1. `frontend/src/components/CommentsModal.jsx` - useEffect с Telegram API
|
|
|
|
|
|
2. `frontend/src/components/CommentsModal.css` - dvh + fixed positioning
|
|
|
|
|
|
3. `frontend/src/pages/Feed.css` - белые кнопки, синяя рамка для active
|
|
|
|
|
|
4. `frontend/src/pages/Search.css` - белые кнопки, синяя рамка для active
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Обновление:
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# НА КОМПЬЮТЕРЕ
|
|
|
|
|
|
cd /Users/glpshchn/Desktop/nakama
|
|
|
|
|
|
|
|
|
|
|
|
scp frontend/src/components/CommentsModal.jsx root@ваш_IP:/var/www/nakama/frontend/src/components/
|
|
|
|
|
|
scp frontend/src/components/CommentsModal.css root@ваш_IP:/var/www/nakama/frontend/src/components/
|
|
|
|
|
|
scp frontend/src/pages/Feed.css root@ваш_IP:/var/www/nakama/frontend/src/pages/
|
|
|
|
|
|
scp frontend/src/pages/Search.css root@ваш_IP:/var/www/nakama/frontend/src/pages/
|
|
|
|
|
|
|
|
|
|
|
|
# НА СЕРВЕРЕ
|
|
|
|
|
|
ssh root@ваш_IP
|
|
|
|
|
|
cd /var/www/nakama/frontend
|
|
|
|
|
|
npm run build
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Результат:
|
|
|
|
|
|
|
|
|
|
|
|
✅ Комментарии не прыгают (dvh + Telegram API)
|
|
|
|
|
|
✅ Кнопки БЕЛЫЕ в тёмной теме
|
|
|
|
|
|
✅ Активная кнопка - белая с синей рамкой
|
|
|
|
|
|
✅ Всё работает идеально
|
|
|
|
|
|
|
2025-11-20 20:50:14 +00:00
|
|
|
|
|