215 lines
6.9 KiB
Markdown
215 lines
6.9 KiB
Markdown
# ✅ Финальные исправления NakamaSpace
|
||
|
||
## Исправленные проблемы:
|
||
|
||
### 1. ✅ Окно комментариев теперь работает правильно
|
||
**Проблема**: При нажатии на поле ввода весь блок "упрыгивал" вверх
|
||
|
||
**Решение**:
|
||
- Модальное окно теперь `position: fixed` на весь экран
|
||
- Форма ввода закреплена внизу с `position: fixed`
|
||
- Добавлен правильный z-index для работы поверх всего
|
||
- Список комментариев имеет отступ снизу для формы ввода
|
||
|
||
**Файлы**: `frontend/src/components/CommentsModal.css`
|
||
|
||
### 2. ✅ Репосты полностью удалены
|
||
**Удалено**:
|
||
- Кнопка репоста из карточки поста
|
||
- Backend endpoint `/posts/:id/repost`
|
||
- Поле `reposts` из модели Post
|
||
- Тип уведомления 'repost'
|
||
- Весь связанный код
|
||
|
||
**Файлы**:
|
||
- `frontend/src/components/PostCard.jsx`
|
||
- `backend/routes/posts.js`
|
||
- `backend/models/Post.js`
|
||
- `backend/models/Notification.js`
|
||
- `frontend/src/pages/Notifications.jsx`
|
||
- `backend/utils/statistics.js`
|
||
|
||
### 3. ✅ Улучшена видимость в тёмной теме
|
||
**Исправлено**:
|
||
- Все иконки теперь видны (используют `currentColor` или явный `stroke`)
|
||
- Кнопки имеют правильный цвет текста
|
||
- Навигация внизу видна
|
||
- Кнопка "Создать пост" теперь синяя (более заметная)
|
||
- Кнопка меню (три точки) видна
|
||
- Хедеры страниц имеют правильный фон
|
||
|
||
**Файлы**:
|
||
- `frontend/src/styles/index.css`
|
||
- `frontend/src/components/PostCard.css`
|
||
- `frontend/src/components/PostCard.jsx`
|
||
- `frontend/src/components/Navigation.css`
|
||
- `frontend/src/pages/Feed.css`
|
||
|
||
---
|
||
|
||
## 📋 Что нужно сделать на сервере:
|
||
|
||
### Вариант 1: Автоматический (используйте скрипт)
|
||
|
||
```bash
|
||
# На вашем компьютере
|
||
cd /Users/glpshchn/Desktop
|
||
tar -czf nakama-fixed.tar.gz nakama \
|
||
--exclude='nakama/node_modules' \
|
||
--exclude='nakama/frontend/node_modules' \
|
||
--exclude='nakama/frontend/dist' \
|
||
--exclude='nakama/backend/uploads'
|
||
|
||
# Загрузите на сервер
|
||
scp nakama-fixed.tar.gz root@ваш_IP:/tmp/
|
||
|
||
# На сервере
|
||
ssh root@ваш_IP
|
||
|
||
# Бэкап текущей версии
|
||
cd /var/www
|
||
sudo tar -czf ~/nakama-backup-$(date +%Y%m%d_%H%M%S).tar.gz nakama
|
||
|
||
# Распаковать новую версию
|
||
cd /var/www
|
||
sudo rm -rf nakama
|
||
sudo tar -xzf /tmp/nakama-fixed.tar.gz
|
||
sudo chown -R $USER:$USER nakama
|
||
|
||
# Перейти в проект
|
||
cd nakama
|
||
|
||
# Установить зависимости
|
||
npm install --production
|
||
|
||
# Собрать frontend
|
||
cd frontend
|
||
npm install
|
||
npm run build
|
||
cd ..
|
||
|
||
# Обновить MongoDB (удалить поле reposts)
|
||
mongosh nakama --eval '
|
||
db.posts.updateMany({}, { $unset: { reposts: "" } });
|
||
db.notifications.deleteMany({ type: "repost" });
|
||
'
|
||
|
||
# Перезапустить backend
|
||
pm2 restart nakama-backend
|
||
|
||
# Проверить
|
||
pm2 logs nakama-backend --lines 30
|
||
curl https://nakama.glpshchn.ru/health
|
||
```
|
||
|
||
### Вариант 2: Через Git
|
||
|
||
```bash
|
||
# На вашем компьютере
|
||
cd /Users/glpshchn/Desktop/nakama
|
||
git add .
|
||
git commit -m "Fix: comments modal, remove reposts, improve dark theme visibility"
|
||
git push
|
||
|
||
# На сервере
|
||
ssh root@ваш_IP
|
||
cd /var/www/nakama
|
||
|
||
git pull
|
||
npm install --production
|
||
cd frontend && npm install && npm run build && cd ..
|
||
|
||
# Обновить MongoDB
|
||
mongosh nakama --eval '
|
||
db.posts.updateMany({}, { $unset: { reposts: "" } });
|
||
db.notifications.deleteMany({ type: "repost" });
|
||
'
|
||
|
||
pm2 restart nakama-backend
|
||
pm2 logs nakama-backend
|
||
```
|
||
|
||
---
|
||
|
||
## 🎯 Изменённые файлы:
|
||
|
||
### Frontend:
|
||
1. `src/components/PostCard.jsx` - убраны репосты, улучшены иконки
|
||
2. `src/components/PostCard.css` - цвет кнопок
|
||
3. `src/components/CommentsModal.css` - fixed модальное окно
|
||
4. `src/components/Navigation.css` - видимость иконок навигации
|
||
5. `src/pages/Feed.css` - синяя кнопка создания
|
||
6. `src/pages/Notifications.jsx` - убран repost
|
||
7. `src/styles/index.css` - улучшена тёмная тема
|
||
|
||
### Backend:
|
||
1. `models/Post.js` - убрано поле reposts
|
||
2. `models/Notification.js` - убран тип repost
|
||
3. `routes/posts.js` - удалён endpoint репостов
|
||
4. `utils/statistics.js` - убраны репосты из статистики
|
||
|
||
---
|
||
|
||
## ✅ После обновления:
|
||
|
||
### Проверьте в приложении:
|
||
|
||
1. **Комментарии**:
|
||
- ✅ Откройте пост → нажмите комментарии
|
||
- ✅ Окно должно открыться на весь экран
|
||
- ✅ Поле ввода внизу должно быть активным
|
||
- ✅ При фокусе на поле ничего не "прыгает"
|
||
|
||
2. **Репосты**:
|
||
- ✅ Кнопка репоста должна исчезнуть
|
||
- ✅ Остаются только: ❤️ Лайк и 💬 Комментарий
|
||
|
||
3. **Тёмная тема**:
|
||
- ✅ Переключите на тёмную тему в профиле
|
||
- ✅ Все иконки должны быть видны (белые/серые)
|
||
- ✅ Кнопки видны
|
||
- ✅ Навигация внизу видна
|
||
- ✅ Кнопка "+" видна (синяя)
|
||
- ✅ Три точки (меню) видны
|
||
|
||
4. **Фильтр NSFW**:
|
||
- ✅ Профиль → "Скрыть контент 18+"
|
||
- ✅ При включении NSFW посты скрываются
|
||
- ✅ При выключении все посты показываются
|
||
|
||
---
|
||
|
||
## 🔄 Команды для быстрой проверки на сервере:
|
||
|
||
```bash
|
||
# Статус
|
||
pm2 status
|
||
|
||
# Логи (последние 50 строк)
|
||
pm2 logs nakama-backend --lines 50
|
||
|
||
# Проверка API
|
||
curl https://nakama.glpshchn.ru/health
|
||
|
||
# Проверка количества постов в базе
|
||
mongosh nakama --eval 'db.posts.countDocuments({})'
|
||
|
||
# Проверка что reposts удалены
|
||
mongosh nakama --eval 'db.posts.findOne({}, {reposts: 1})'
|
||
# Должно вернуть: null для reposts
|
||
```
|
||
|
||
---
|
||
|
||
## 🎉 Готово!
|
||
|
||
Все проблемы исправлены:
|
||
- ✅ Окно комментариев работает с клавиатурой
|
||
- ✅ Репосты удалены полностью
|
||
- ✅ Иконки и текст видны в тёмной теме
|
||
- ✅ Улучшена общая видимость элементов
|
||
|
||
После обновления на сервере всё должно работать идеально! 🚀
|
||
|
||
|