|
|
<!DOCTYPE html> |
|
|
<html lang="en"> |
|
|
<head> |
|
|
<meta charset="UTF-8"> |
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
|
<title>DeepSeek Chatbot</title> |
|
|
<script src="https://cdn.tailwindcss.com"></script> |
|
|
<script src="https://unpkg.com/feather-icons"></script> |
|
|
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script> |
|
|
<script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.waves.min.js"></script> |
|
|
<style> |
|
|
.chat-container { |
|
|
height: calc(100vh - 160px); |
|
|
} |
|
|
.message-bubble { |
|
|
max-width: 80%; |
|
|
word-wrap: break-word; |
|
|
} |
|
|
.typing-indicator span { |
|
|
display: inline-block; |
|
|
width: 8px; |
|
|
height: 8px; |
|
|
border-radius: 50%; |
|
|
background-color: #4b5563; |
|
|
animation: bounce 1.5s infinite ease-in-out; |
|
|
} |
|
|
.typing-indicator span:nth-child(2) { |
|
|
animation-delay: 0.2s; |
|
|
} |
|
|
.typing-indicator span:nth-child(3) { |
|
|
animation-delay: 0.4s; |
|
|
} |
|
|
@keyframes bounce { |
|
|
0%, 100% { transform: translateY(0); } |
|
|
50% { transform: translateY(-5px); } |
|
|
} |
|
|
#vanta-bg { |
|
|
position: fixed; |
|
|
top: 0; |
|
|
left: 0; |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
z-index: -1; |
|
|
opacity: 0.1; |
|
|
} |
|
|
</style> |
|
|
</head> |
|
|
<body class="bg-gray-900 text-gray-100"> |
|
|
<div id="vanta-bg"></div> |
|
|
|
|
|
<div class="container mx-auto px-4 py-8 max-w-4xl"> |
|
|
|
|
|
<header class="flex items-center justify-between mb-8"> |
|
|
<div class="flex items-center space-x-3"> |
|
|
<div class="w-10 h-10 rounded-full bg-indigo-600 flex items-center justify-center"> |
|
|
<i data-feather="cpu" class="text-white"></i> |
|
|
</div> |
|
|
<h1 class="text-2xl font-bold text-indigo-400">DeepSeek</h1> |
|
|
</div> |
|
|
<button class="p-2 rounded-full hover:bg-gray-800 transition"> |
|
|
<i data-feather="settings" class="text-gray-400"></i> |
|
|
</button> |
|
|
</header> |
|
|
|
|
|
|
|
|
<div class="chat-container overflow-y-auto mb-4 rounded-lg bg-gray-800 bg-opacity-50 p-4 shadow-lg border border-gray-700"> |
|
|
|
|
|
<div class="flex justify-start mb-4"> |
|
|
<div class="flex items-start space-x-2"> |
|
|
<div class="w-8 h-8 rounded-full bg-indigo-600 flex items-center justify-center flex-shrink-0"> |
|
|
<i data-feather="cpu" class="text-white w-4 h-4"></i> |
|
|
</div> |
|
|
<div class="message-bubble bg-gray-700 px-4 py-3 rounded-lg rounded-tl-none"> |
|
|
<p class="text-gray-100">Hello! I'm DeepSeek, your AI assistant. How can I help you today?</p> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="flex justify-end mb-4"> |
|
|
<div class="message-bubble bg-indigo-600 px-4 py-3 rounded-lg rounded-tr-none max-w-xs"> |
|
|
<p class="text-white">What's the weather like today?</p> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="flex justify-start mb-4"> |
|
|
<div class="flex items-start space-x-2"> |
|
|
<div class="w-8 h-8 rounded-full bg-indigo-600 flex items-center justify-center flex-shrink-0"> |
|
|
<i data-feather="cpu" class="text-white w-4 h-4"></i> |
|
|
</div> |
|
|
<div class="typing-indicator bg-gray-700 px-4 py-3 rounded-lg rounded-tl-none"> |
|
|
<span></span> |
|
|
<span></span> |
|
|
<span></span> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="flex items-center space-x-2 bg-gray-800 rounded-lg p-2 border border-gray-700"> |
|
|
<button class="p-2 rounded-full hover:bg-gray-700 transition"> |
|
|
<i data-feather="plus" class="text-gray-400"></i> |
|
|
</button> |
|
|
<input |
|
|
type="text" |
|
|
placeholder="Type your message..." |
|
|
class="flex-1 bg-transparent border-none focus:outline-none text-gray-100 px-3 py-2" |
|
|
autofocus |
|
|
> |
|
|
<button class="p-2 rounded-full bg-indigo-600 hover:bg-indigo-700 transition"> |
|
|
<i data-feather="send" class="text-white"></i> |
|
|
</button> |
|
|
</div> |
|
|
|
|
|
|
|
|
<footer class="mt-4 text-center text-gray-500 text-sm"> |
|
|
<p>DeepSeek v1.0 - AI-powered assistant</p> |
|
|
</footer> |
|
|
</div> |
|
|
|
|
|
<script> |
|
|
feather.replace(); |
|
|
|
|
|
|
|
|
VANTA.WAVES({ |
|
|
el: "#vanta-bg", |
|
|
mouseControls: true, |
|
|
touchControls: true, |
|
|
gyroControls: false, |
|
|
minHeight: 200.00, |
|
|
minWidth: 200.00, |
|
|
scale: 1.00, |
|
|
scaleMobile: 1.00, |
|
|
color: 0x4f46e5, |
|
|
shininess: 52.00, |
|
|
waveHeight: 20.00, |
|
|
waveSpeed: 0.50, |
|
|
zoom: 0.65 |
|
|
}); |
|
|
|
|
|
|
|
|
document.querySelectorAll('.message-bubble').forEach((bubble, index) => { |
|
|
setTimeout(() => { |
|
|
bubble.classList.add('animate-fade-in'); |
|
|
}, index * 200); |
|
|
}); |
|
|
|
|
|
|
|
|
document.querySelector('input').addEventListener('keypress', function(e) { |
|
|
if (e.key === 'Enter') { |
|
|
const sendBtn = document.querySelector('button[aria-label="Send"]'); |
|
|
sendBtn.click(); |
|
|
} |
|
|
}); |
|
|
</script> |
|
|
</body> |
|
|
</html> |
|
|
|