CVElytics / templates /index.html
Surajkumaar
Upload 5 files
1e4df75 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CVElytics - Cybersecurity Vulnerability Assistant</title>
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
<script src="{{ url_for('static', filename='background.js') }}"></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div class="chat-container">
<header>
CVElytics <span style="font-size: 14px; opacity: 0.7;">Vulnerability Intelligence</span>
<a href="/clear" class="clear-btn">Clear</a>
</header>
<div class="chat-box" id="chat-box">
{% for msg in chat_history %}
{% if msg.role == 'user' %}
<div class="user-message">
<div class="bubble user">{{ msg.text }}</div>
<span class="time">Now</span>
</div>
{% else %}
<div class="bot-message">
<div class="bubble bot">
<div class="answer-content">{{ msg.text|safe }}</div>
<button class="copy-btn" onclick="copyToClipboard(this)">πŸ“‹</button>
</div>
<span class="time">Now</span>
</div>
{% endif %}
{% endfor %}
<!-- Typing animation inside the chat flow -->
<div class="bot-message typing-indicator" id="typing" style="display: none;">
<div class="bubble bot">
<div class="dots">
<span>.</span><span>.</span><span>.</span>
</div>
</div>
</div>
</div>
<form method="POST" class="input-area" onsubmit="showTyping()">
<input type="text" name="question" placeholder="Ask about cybersecurity vulnerabilities..." required>
<button type="submit">Send</button>
</form>
</div>
<script>
// Scroll to bottom of chat on page load
document.addEventListener('DOMContentLoaded', function() {
scrollToBottom();
});
function copyToClipboard(btn) {
const content = btn.previousElementSibling.innerText;
navigator.clipboard.writeText(content).then(() => {
btn.innerText = 'βœ…';
setTimeout(() => { btn.innerText = 'πŸ“‹'; }, 2000);
});
}
function showTyping() {
const typingIndicator = document.getElementById("typing");
typingIndicator.style.display = "flex";
scrollToBottom();
}
function scrollToBottom() {
const chatBox = document.getElementById("chat-box");
chatBox.scrollTop = chatBox.scrollHeight;
}
</script>
</body>
</html>