Skip to content

Connect-iota

Latest

Choose a tag to compare

@SL1dee36 SL1dee36 released this 30 Sep 11:04
· 167 commits to main since this release
27b3c8f

connect

Функциональные изменения:

  1. Список чатов:

    • Добавлен список чатов на index.html.
    • Список включает друзей и пользователей, которым отправлен запрос в друзья.
    • Отображается последнее сообщение из каждого чата.
    • При клике на чат происходит переход на страницу диалога /im/<username>.
  2. Страница диалога (im.html):

    • Создана страница диалога для общения между пользователями.
    • Отображаются сообщения в чате (отправленные и полученные).
    • Есть поле для ввода и кнопка отправки сообщений.
    • Сообщения от отправителя отображаются справа, от получателя - слева.
    • Отображается время отправки сообщения.
    • Добавлена галочка "прочитано" (✓), которая меняет цвет с серого на #0084b2 после прочтения сообщения получателем.
  3. Пометка сообщений как прочитанных:

    • При открытии диалога сообщения от собеседника помечаются как прочитанные.
  4. Ограничение доступа к чату:

    • Общаться можно только с друзьями или пользователями, с которыми уже есть переписка.
  5. Запросы в друзья:

    • На index.html отображаются запросы в друзья.
    • Добавлены ссылки для принятия или отклонения запросов.

Изменения в шаблонах:

  • index.html:

    • Добавлены блоки для списка чатов и запросов в друзья.
    • Добавлены ссылки на страницу диалога (/im/<username>).
    • Используется current_user.friends + current_user.friended_by.all() для объединения списков друзей и запросов в друзья.
  • feed.html:

    • Создан новый шаблон для страницы ленты новостей.
  • im.html:

    • Создан новый шаблон для страницы диалога.
    • Добавлены элементы для отображения сообщений, поля ввода и кнопки отправки.
    • Используется message.timestamp.strftime('%H:%M') для форматирования времени отправки сообщения.
    • Добавлены классы sent и received для стилизации сообщений.
    • Добавлена галочка "прочитано" (read-mark).

Изменения в стилях:

  • im.css:

    • Добавлены стили для страницы диалога (контейнер сообщений, стили сообщений, штамп времени, галочка "прочитано").
  • default.css:

    • Добавлены стили для списка чатов (аватар, имя пользователя, последнее сообщение).

Изменения в app.py:

  • Новые маршруты:

    • /im/<username> для страницы диалога.
    • /send_message/<username> для отправки сообщений.
  • Новые функции:

    • im(username): обрабатывает страницу диалога.
    • send_message(username): обрабатывает отправку сообщений.
  • Изменения в функции profile:

    • Добавлены переменные is_friend и friend_request_sent для передачи в шаблон.
  • Изменения в модели Message:

    • Добавлено поле read (логическое) для пометки сообщений как прочитанных.

Изменения в models.py:

  • Новая таблица:

    • friends: ассоциативная таблица для связи "друзья".
  • Новые методы в модели User:

    • is_friend(user): проверяет, является ли указанный пользователь другом.
    • send_friend_request(user): отправляет запрос в друзья указанному пользователю.
    • accept_friend_request(user): принимает запрос в друзья от указанного пользователя.
    • reject_friend_request(user): отклоняет запрос в друзья от указанного пользователя.
  • Изменения в is_friend:

    • Исправлена ошибка, теперь используется self.friended_by.filter().

Общие изменения:

  • Добавлены новые статические файлы:

    • im.css для стилей страницы диалога.
    • feed.css для стилей страницы ленты новостей.
  • Обновлены шаблоны index.html и profile.html:

    • Добавлены новые элементы и ссылки.
  • Обновлен код Python (app.py и models.py):

    • Добавлены новые маршруты, функции и методы модели.
    • Исправлены ошибки.
  • Обновлена база данных:

    • Добавлена таблица friends и поле read в таблицу message.

    И т.д.