diff --git a/src/views/admin/AdminConversationDetail.vue b/src/views/admin/AdminConversationDetail.vue index e396908..cfff774 100644 --- a/src/views/admin/AdminConversationDetail.vue +++ b/src/views/admin/AdminConversationDetail.vue @@ -562,4 +562,183 @@ h3 { .pagination-info { color: #666; } + +/* Адаптивные стили для больших экранов (1200px+) */ +@media (min-width: 1200px) { + .admin-conversation-detail { + padding: 2rem; + } + + h2 { + font-size: 1.75rem; + } +} + +/* Адаптивные стили для средних экранов (992px - 1199px) */ +@media (min-width: 992px) and (max-width: 1199px) { + .admin-conversation-detail { + padding: 1.5rem; + } +} + +/* Адаптивные стили для планшетов (768px - 991px) */ +@media (min-width: 768px) and (max-width: 991px) { + .admin-conversation-detail { + padding: 1.25rem; + } + + .info-grid { + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + } + + .participants-list { + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + } +} + +/* Адаптивные стили для малых планшетов (576px - 767px) */ +@media (min-width: 576px) and (max-width: 767px) { + .admin-conversation-detail { + padding: 1rem; + /* Учитываем отступ внизу для нижней навигации на мобильных */ + padding-bottom: calc(1rem + 56px + env(safe-area-inset-bottom, 0px)); + } + + .message-item { + max-width: 85%; + } + + .participants-list { + grid-template-columns: 1fr; + } + + .pagination { + flex-wrap: wrap; + } +} + +/* Адаптивные стили для мобильных устройств (до 575px) */ +@media (max-width: 575px) { + .admin-conversation-detail { + padding: 0.75rem; + /* Учитываем отступ внизу для нижней навигации на мобильных */ + padding-bottom: calc(0.75rem + 56px + env(safe-area-inset-bottom, 0px)); + } + + h2 { + font-size: 1.3rem; + margin-bottom: 1rem; + } + + h3 { + font-size: 1.1rem; + margin-bottom: 0.75rem; + } + + .conversation-info, + .participants-section, + .messages-section { + padding: 1rem; + } + + .info-grid { + grid-template-columns: 1fr; + } + + .participants-list { + grid-template-columns: 1fr; + } + + .participant-card { + padding: 0.75rem; + } + + .participant-photo { + width: 50px; + height: 50px; + } + + .message-item { + max-width: 90%; + padding: 0.75rem; + } + + .pagination { + flex-direction: column; + gap: 0.5rem; + align-items: stretch; + } + + .pagination-btn { + width: 100%; + text-align: center; + } + + .pagination-info { + text-align: center; + } +} + +/* Специальные стили для очень маленьких экранов */ +@media (max-width: 360px) { + .admin-conversation-detail { + padding: 0.5rem; + padding-bottom: calc(0.5rem + 56px + env(safe-area-inset-bottom, 0px)); + } + + .conversation-info, + .participants-section, + .messages-section { + padding: 0.75rem; + } + + .message-time { + font-size: 0.7rem; + } + + .message-sender { + font-size: 0.8rem; + } + + .user-btn { + padding: 0.35rem 0.5rem; + font-size: 0.8rem; + } +} + +/* Ландшафтная ориентация на мобильных */ +@media (max-height: 450px) and (orientation: landscape) { + .admin-conversation-detail { + padding: 0.75rem; + padding-bottom: calc(0.75rem + 50px + env(safe-area-inset-bottom, 0px)); + } + + .conversation-container { + gap: 1rem; + } + + .header-controls { + margin-bottom: 0.75rem; + } + + h2 { + font-size: 1.2rem; + margin-bottom: 0.75rem; + } + + h3 { + font-size: 1rem; + margin-bottom: 0.5rem; + } + + .conversation-info, + .participants-section, + .messages-section { + padding: 0.75rem; + } + + .pagination { + margin-top: 0.75rem; + } +} \ No newline at end of file diff --git a/src/views/admin/AdminConversations.vue b/src/views/admin/AdminConversations.vue index 21df6c9..401358a 100644 --- a/src/views/admin/AdminConversations.vue +++ b/src/views/admin/AdminConversations.vue @@ -12,72 +12,113 @@
Загрузка диалогов...
ID диалога | -Участники | -Последнее сообщение | -Дата создания | -Последняя активность | -Действия | -||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
{{ shortenId(conversation._id) }} | -
-
- {{ participant.name }} ({{ participant.email }})
+
+
+
+
+
+
+
+
+
+
+
+ ID: {{ shortenId(conversation._id) }}
+ {{ formatDate(conversation.updatedAt) }}
+
+
+ Участники:
+
+
+ {{ participant.name }}
- |
- - {{ conversation.lastMessage ? truncateText(conversation.lastMessage.text, 30) : 'Нет сообщений' }} - | -{{ formatDate(conversation.createdAt) }} | -{{ formatDate(conversation.updatedAt) }} | -- - | -
Попробуйте изменить параметры поиска
+