File size: 6,006 Bytes
6b5e408 383166f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
<!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 -->
<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>
<!-- Chat Container -->
<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">
<!-- Welcome Message -->
<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>
<!-- User Message Example -->
<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>
<!-- Bot Typing Indicator -->
<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>
<!-- Input Area -->
<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 -->
<footer class="mt-4 text-center text-gray-500 text-sm">
<p>DeepSeek v1.0 - AI-powered assistant</p>
</footer>
</div>
<script>
feather.replace();
// Initialize Vanta.js background
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
});
// Simple animation for messages
document.querySelectorAll('.message-bubble').forEach((bubble, index) => {
setTimeout(() => {
bubble.classList.add('animate-fade-in');
}, index * 200);
});
// Send message on Enter key
document.querySelector('input').addEventListener('keypress', function(e) {
if (e.key === 'Enter') {
const sendBtn = document.querySelector('button[aria-label="Send"]');
sendBtn.click();
}
});
</script>
</body>
</html>
|