diff --git a/backend/communications/urls.py b/backend/communications/urls.py index 6caffdc2..adca8746 100644 --- a/backend/communications/urls.py +++ b/backend/communications/urls.py @@ -22,6 +22,11 @@ urlpatterns = [ name="start_private_chat" ), + # Messenger Views + path("messengers/whatsapp/", views.whatsapp_view, name="whatsapp"), + path("messengers/telegram/", views.telegram_view, name="telegram"), + path("messengers/wechat/", views.wechat_view, name="wechat"), + # API Endpoints # Chat management path("api/chat/create/", api_views.create_chat, name="api_create_chat"), diff --git a/backend/communications/views.py b/backend/communications/views.py index 7910d148..dfe24906 100644 --- a/backend/communications/views.py +++ b/backend/communications/views.py @@ -452,3 +452,38 @@ def chat_mark_read(request, pk: int): return JsonResponse( {"ok": True, "last_read_at": int(ts.timestamp() * 1000)} ) + + +# ===== Messenger Views ===== + +@login_required +def whatsapp_view(request): + """WhatsApp интеграция""" + from django.shortcuts import render + return render(request, 'communications/messengers/whatsapp.html', { + 'messenger_name': 'WhatsApp', + 'messenger_icon': 'bi-whatsapp', + 'messenger_color': '#25D366' + }) + + +@login_required +def telegram_view(request): + """Telegram интеграция""" + from django.shortcuts import render + return render(request, 'communications/messengers/telegram.html', { + 'messenger_name': 'Telegram', + 'messenger_icon': 'bi-telegram', + 'messenger_color': '#0088cc' + }) + + +@login_required +def wechat_view(request): + """WeChat интеграция""" + from django.shortcuts import render + return render(request, 'communications/messengers/wechat.html', { + 'messenger_name': 'WeChat', + 'messenger_icon': 'bi-wechat', + 'messenger_color': '#09B83E' + }) diff --git a/backend/static/css/components/chat-list-enhanced.css b/backend/static/css/components/chat-list-enhanced.css index e892b86f..1ed2c66c 100644 --- a/backend/static/css/components/chat-list-enhanced.css +++ b/backend/static/css/components/chat-list-enhanced.css @@ -187,7 +187,39 @@ color: white; } -.chat-type-btn .badge { +/* Мессенджеры - ссылки */ +.chat-type-btn[data-messenger] { + text-decoration: none; + transition: background-color 0.2s ease, transform 0.2s ease; +} + +.chat-type-btn[data-messenger]:hover { + background-color: var(--bs-light) !important; + transform: scale(1.05); +} + +.chat-type-btn[data-messenger] i { + transition: transform 0.2s ease; +} + +.chat-type-btn[data-messenger]:hover i { + transform: scale(1.1); +} + +/* Цвета иконок мессенджеров */ +.chat-type-btn[data-messenger="whatsapp"] i { + color: #25D366 !important; +} + +.chat-type-btn[data-messenger="telegram"] i { + color: #0088cc !important; +} + +.chat-type-btn[data-messenger="wechat"] i { + color: #09B83E !important; +} + +.chat-type-badge { position: absolute; top: 0.25rem; right: 0.25rem; diff --git a/backend/templates/communications/chat_list.html b/backend/templates/communications/chat_list.html index cf01099e..dab7239e 100644 --- a/backend/templates/communications/chat_list.html +++ b/backend/templates/communications/chat_list.html @@ -61,6 +61,23 @@ 0 + + {# Разделитель #} +
+ + {# Мессенджеры #} + + + + + + + + + diff --git a/backend/templates/communications/messengers/telegram.html b/backend/templates/communications/messengers/telegram.html new file mode 100644 index 00000000..dd5dd798 --- /dev/null +++ b/backend/templates/communications/messengers/telegram.html @@ -0,0 +1,102 @@ +{# backend/templates/communications/messengers/telegram.html #} +{% extends "base.html" %} +{% load static %} + +{% block title %}{{ messenger_name }}{% endblock %} + +{% block extra_css %} + + +{% endblock %} + +{% block content %} ++ Здесь будет отображаться интеграция с {{ messenger_name }}. + Функционал находится в разработке. +
+ ++ Здесь будет отображаться интеграция с {{ messenger_name }}. + Функционал находится в разработке. +
+ ++ Здесь будет отображаться интеграция с {{ messenger_name }}. + Функционал находится в разработке. +
+ +