File size: 4,670 Bytes
c9f1afa |
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 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Chat - RepoRover</title>
<link href="https://www.svgrepo.com/show/530491/search-alt.svg" rel="icon" type="image/svg+xml">
<script src="https://cdn.tailwindcss.com?plugins=forms,container-queries"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Spline+Sans:wght@400;500;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="static/css/styles.css">
</head>
<body class="bg-gray-50 text-gray-900">
<div class="flex flex-col h-screen">
<header class="flex items-center justify-between px-6 py-4 border-b border-gray-200 bg-white">
<div class="flex items-center gap-3">
<img src="static/logo.svg" alt="RepoRover Logo" class="w-8 h-8">
<h1 class="text-xl font-bold text-gray-900">
<span class="font-normal text-gray-500">Repository:</span> <span id="chat-repo-name"></span>
</h1>
</div>
</header>
<main id="chat-messages" class="flex-1 overflow-y-auto p-6 space-y-8">
<div class="flex items-start gap-4">
<div class="flex-shrink-0 size-10 rounded-full bg-[var(--primary-color)] flex items-center justify-center text-white font-bold text-xl">
R
</div>
<div class="bg-white p-4 rounded-lg rounded-tl-none shadow-sm max-w-lg">
<p class="font-bold text-gray-900 mb-1">RepoRover</p>
<p class="text-gray-700" id="welcome-message">
Hello! I'm RepoRover, your AI assistant for understanding code repositories. How can I help you analyze the repository today?
</p>
</div>
</div>
</main>
<footer class="bg-white border-t border-gray-200 p-4">
<div class="max-w-4xl mx-auto">
<form id="chat-form" class="flex items-center gap-3">
<div class="flex-1 relative">
<textarea id="chat-input"
class="w-full min-h-12 max-h-32 p-3 pr-4 border border-gray-300 rounded-2xl resize-none focus:ring-2 focus:ring-[var(--primary-color)] focus:border-transparent transition-all duration-200 leading-relaxed scrollbar-none overflow-hidden"
placeholder="Ask a follow-up question about the repository..."
rows="1"
style="field-sizing: content;"></textarea>
</div>
<!-- Send button -->
<button type="submit"
id="send-btn"
class="flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-[var(--primary-color)] text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-[var(--primary-color)] transition-all duration-200 disabled:opacity-50 disabled:cursor-not-allowed transform hover:scale-105 active:scale-95"
disabled>
<svg class="w-5 h-5 transition-transform duration-200" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M5 12h14M12 5l7 7-7 7" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"></path>
</svg>
</button>
</form>
<!-- Typing indicator -->
<div id="typing-status" class="mt-2 px-1 opacity-0 transition-opacity duration-300">
<div class="flex items-center gap-2 text-sm text-gray-500">
<div class="flex items-center gap-1">
<div class="w-2 h-2 bg-gray-400 rounded-full animate-bounce" style="animation-delay: 0ms;"></div>
<div class="w-2 h-2 bg-gray-400 rounded-full animate-bounce" style="animation-delay: 150ms;"></div>
<div class="w-2 h-2 bg-gray-400 rounded-full animate-bounce" style="animation-delay: 300ms;"></div>
</div>
<span>RepoRover is thinking...</span>
</div>
</div>
</div>
</footer>
</div>
<script src="static/js/chat.js"></script>
</body>
</html> |