Добавь на каждое сообщения авто ответ пользователям  "ожидайте ответ"<?php
// Включение буферизации вывода
ob_start();

// Подключение к базе данных
$host = 'localhost';
$db = 'u2812027_books';
$charset = 'utf8mb4';
$user = 'u2812027_mazhar';
$pass = 'strongPasswordReg$@';

$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::ATTR_EMULATE_PREPARES   => false,
];

try {
    $pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
    http_response_code(500);
    echo 'Ошибка подключения к базе данных: ' . htmlspecialchars($e->getMessage());
    exit();
}

// Функции для работы с диалогами и сообщениями
function getAllDialogs($pdo) {
    $stmt = $pdo->query('SELECT dialogs.id, dialogs.topic, clients.email FROM dialogs JOIN clients ON dialogs.client_id = clients.id');
    return $stmt->fetchAll();
}

function getDialogMessages($pdo, $dialogId) {
    $stmt = $pdo->prepare('SELECT * FROM messages WHERE dialog_id = ? ORDER BY created_at ASC');
    $stmt->execute([$dialogId]);
    return $stmt->fetchAll();
}

function markMessagesAsRead($pdo, $dialogId) {
    $stmt = $pdo->prepare('UPDATE messages SET is_read = 1 WHERE dialog_id = ? AND sender = "client"');
    $stmt->execute([$dialogId]);
}

// Обработка отправки сообщения от администратора
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_GET['dialog_id'], $_POST['message'])) {
    $dialogId = $_GET['dialog_id'];
    $message = $_POST['message'];

    $stmt = $pdo->prepare('INSERT INTO messages (dialog_id, message, sender, is_read) VALUES (?, ?, ?, 0)');
    $stmt->execute([$dialogId, $message, 'admin']);

    // Перенаправление для предотвращения повторной отправки формы
    header('Location: chat.php?dialog_id=' . htmlspecialchars($dialogId));
    exit();
}

// Получение всех диалогов
$dialogs = getAllDialogs($pdo);

?>
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Чат поддержки - Администратор</title>
    <!-- Подключение Google Fonts -->
    <link href="https://fonts.googleapis.com/css?family=Roboto:400,500&display=swap" rel="stylesheet">
    <!-- Подключение иконок Font Awesome -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
    <!-- Стили CSS -->
    <style>
        body {
            font-family: 'Roboto', sans-serif;
            background-color: #f0f2f5;
            margin: 0;
            padding: 0;
            overflow: hidden;
        }
        /* Стиль для контейнера */
        .container {
            display: flex;
            height: 100vh;
        }
        /* Сайдбар с диалогами */
        .sidebar {
            width: 300px;
            background-color: #fff;
            border-right: 1px solid #ddd;
            overflow-y: auto;
            transition: width 0.3s;
        }
        .sidebar:hover {
            width: 320px;
        }
        .sidebar h2 {
            padding: 20px;
            margin: 0;
            background-color: #3498db;
            color: #fff;
            font-size: 20px;
            text-align: center;
        }
        .dialog-list {
            list-style: none;
            margin: 0;
            padding: 0;
        }
        .dialog-list li {
            padding: 15px 20px;
            border-bottom: 1px solid #ddd;
            cursor: pointer;
            transition: background-color 0.2s;
        }
        .dialog-list li:hover {
            background-color: #f5f5f5;
        }
        .dialog-list li.active {
            background-color: #e9e9e9;
        }
        .dialog-list li .email {
            font-weight: bold;
            color: #333;
        }
        .dialog-list li .topic {
            font-size: 14px;
            color: #666;
        }
        /* Чат */
        .chat {
            flex: 1;
            display: flex;
            flex-direction: column;
            background-color: #fff;
        }
        .chat-header {
            background-color: #3498db;
            color: #fff;
            padding: 15px 20px;
            font-size: 18px;
        }
        .chat-messages {
            flex: 1;
            padding: 20px;
            overflow-y: auto;
            background-color: #f0f2f5;
        }
        .message {
            display: flex;
            margin-bottom: 15px;
            animation: fadeIn 0.5s;
        }
        .message.admin {
            flex-direction: row-reverse;
        }
        .message .content {
            max-width: 60%;
            padding: 10px 15px;
            border-radius: 20px;
            background-color: #fff;
            position: relative;
        }
        .message.client .content {
            background-color: #d1e7dd;
        }
        .message.admin .content {
            background-color: #f8d7da;
        }
        .message .content::after {
            content: '';
            position: absolute;
            top: 10px;
            width: 0;
            height: 0;
        }
        .message.client .content::after {
            left: -10px;
            border-right: 10px solid #d1e7dd;
            border-top: 10px solid transparent;
            border-bottom: 10px solid transparent;
        }
        .message.admin .content::after {
            right: -10px;
            border-left: 10px solid #f8d7da;
            border-top: 10px solid transparent;
            border-bottom: 10px solid transparent;
        }
        /* Форма отправки сообщения */
        .chat-form {
            padding: 10px 20px;
            background-color: #fff;
            border-top: 1px solid #ddd;
            display: flex;
            align-items: center;
        }
        .chat-form textarea {
            flex: 1;
            resize: none;
            padding: 10px;
            border-radius: 20px;
            border: 1px solid #ccc;
            font-size: 16px;
            outline: none;
            transition: border-color 0.2s;
        }
        .chat-form textarea:focus {
            border-color: #3498db;
        }
        .chat-form button {
            margin-left: 10px;
            padding: 10px 15px;
            border: none;
            border-radius: 20px;
            background-color: #3498db;
            color: #fff;
            font-size: 16px;
            cursor: pointer;
            transition: background-color 0.2s;
        }
        .chat-form button:hover {
            background-color: #2980b9;
        }
        /* Анимация появления сообщения */
        @keyframes fadeIn {
            from {opacity: 0; transform: translateY(10px);}
            to {opacity: 1; transform: translateY(0);}
        }
        /* Скрытие чата по умолчанию */
        .chat.hidden {
            display: none;
        }
    </style>
    <!-- Скрипт для автоматической прокрутки чата вниз -->
    <script>
        window.addEventListener('DOMContentLoaded', (event) => {
            const chatMessages = document.querySelector('.chat-messages');
            if(chatMessages) {
                chatMessages.scrollTop = chatMessages.scrollHeight;
            }

            // Добавление анимации при отправке формы
            const form = document.querySelector('.chat-form');
            if(form){
                form.addEventListener('submit', () => {
                    const button = form.querySelector('button');
                    button.innerHTML = '<i class="fas fa-spinner fa-spin"></i>';
                });
            }

            // Обработка клика по диалогу
            const dialogItems = document.querySelectorAll('.dialog-list li');
            dialogItems.forEach(item => {
                item.addEventListener('click', () => {
                    const dialogId = item.getAttribute('data-dialog-id');
                    window.location.href = 'chat.php?dialog_id=' + dialogId;
                });
            });

        });
    </script>
</head>
<body>
    <div class="container">
        <!-- Сайдбар с диалогами -->
        <div class="sidebar">
            <h2>Диалоги</h2>
            <ul class="dialog-list">
                <?php foreach ($dialogs as $dialog): ?>
                    <li data-dialog-id="<?php echo htmlspecialchars($dialog['id']); ?>" class="<?php echo (isset($_GET['dialog_id']) && $_GET['dialog_id'] == $dialog['id']) ? 'active' : ''; ?>">
                        <div class="email"><?php echo htmlspecialchars($dialog['email']); ?></div>
                        <div class="topic"><?php echo htmlspecialchars($dialog['topic']); ?></div>
                    </li>
                <?php endforeach; ?>
            </ul>
        </div>
        <!-- Окно чата -->
        <div class="chat <?php echo isset($_GET['dialog_id']) ? '' : 'hidden'; ?>">
            <?php if (isset($_GET['dialog_id'])):
                $dialogId = $_GET['dialog_id'];
                $messages = getDialogMessages($pdo, $dialogId);
                markMessagesAsRead($pdo, $dialogId);
                $currentDialog = array_filter($dialogs, function($d) use ($dialogId) {
                    return $d['id'] == $dialogId;
                });
                $currentDialog = reset($currentDialog);
            ?>
            <div class="chat-header">
                Чат с клиентом - Тема: <?php echo htmlspecialchars($currentDialog['topic']); ?>
            </div>
            <div class="chat-messages">
                <?php foreach ($messages as $message):
                    $senderClass = $message['sender'] === 'client' ? 'client' : 'admin';
                ?>
                    <div class="message <?php echo htmlspecialchars($senderClass); ?>">
                        <div class="content">
                            <?php echo nl2br(htmlspecialchars($message['message'])); ?>
                        </div>
                    </div>
                <?php endforeach; ?>
            </div>
            <form method="POST" action="chat.php?dialog_id=<?php echo htmlspecialchars($dialogId); ?>" class="chat-form">
                <textarea name="message" placeholder="Ваше сообщение" required></textarea>
                <button type="submit"><i class="fas fa-paper-plane"></i></button>
            </form>
            <?php else: ?>
            <div class="chat-header">
                Выберите диалог для начала общения
            </div>
            <?php endif; ?>
        </div>
    </div>
</body>
</html>
<?php
// Завершение буферизации вывода
ob_end_flush();
?>