|
@@ -0,0 +1,116 @@
|
|
|
+<template>
|
|
|
+ <div class="flex h-screen bg-gradient-to-br from-white to-purple-600">
|
|
|
+ <!-- Sidebar -->
|
|
|
+ <aside class="w-64 bg-[#08002E] text-white flex flex-col">
|
|
|
+ <!-- Logo -->
|
|
|
+ <div class="p-6">
|
|
|
+ <div class="flex items-center gap-2">
|
|
|
+ <div class="w-8 h-8 bg-purple-600 rounded-lg flex items-center justify-center">
|
|
|
+ <MessageSquareIcon class="w-5 h-5" />
|
|
|
+ </div>
|
|
|
+ <span class="text-xl font-semibold">GenLiteX</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- Navigation -->
|
|
|
+ <nav class="flex-1 px-4">
|
|
|
+ <div class="mb-8">
|
|
|
+ <div class="flex items-center justify-between mb-4">
|
|
|
+ <span class="text-sm">Chat History</span>
|
|
|
+ </div>
|
|
|
+ <div class="space-y-2">
|
|
|
+ <a href="#" class="flex items-center gap-3 px-3 py-2 text-gray-300 rounded-lg hover:bg-purple-600/20">
|
|
|
+ <MessageCircleIcon class="w-5 h-5" />
|
|
|
+ Chat Session 1
|
|
|
+ </a>
|
|
|
+ <a href="#" class="flex items-center gap-3 px-3 py-2 text-gray-300 rounded-lg hover:bg-purple-600/20">
|
|
|
+ <MessageCircleIcon class="w-5 h-5" />
|
|
|
+ Chat Session 2
|
|
|
+ </a>
|
|
|
+ <!-- Add more chat sessions as needed -->
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </nav>
|
|
|
+
|
|
|
+ <!-- User Profile -->
|
|
|
+ <div class="p-4 border-t border-gray-700">
|
|
|
+ <div class="flex items-center gap-3">
|
|
|
+ <div class="w-10 h-10 bg-gray-600 rounded-full"></div>
|
|
|
+ <div>
|
|
|
+ <div class="text-sm font-medium">zbytest003</div>
|
|
|
+ <div class="text-xs text-gray-400">platform admin</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </aside>
|
|
|
+
|
|
|
+ <!-- Main Content -->
|
|
|
+ <main class="flex-1 overflow-auto p-8">
|
|
|
+ <div class="max-w-4xl mx-auto">
|
|
|
+ <!-- Header -->
|
|
|
+ <div class="flex justify-between items-center mb-8">
|
|
|
+ <div>
|
|
|
+ <h1 class="text-2xl font-semibold mb-2">User Story Generation</h1>
|
|
|
+ <p class="text-gray-600">I am GenLiteX User Story generator, I'm here to help.</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- Chat Interface -->
|
|
|
+ <div class="bg-white p-6 rounded-lg shadow-sm mb-6">
|
|
|
+ <div class="space-y-4">
|
|
|
+ <!-- User Message -->
|
|
|
+ <div class="flex justify-end">
|
|
|
+ <div class="bg-purple-500 text-white p-3 rounded-lg max-w-sm">
|
|
|
+ How can I generate user stories?
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- System Reply -->
|
|
|
+ <div class="flex justify-start">
|
|
|
+ <div class="bg-gray-200 p-3 rounded-lg max-w-sm">
|
|
|
+ How can I generate user stories? Here's a simple way to start: Define the problem, identify the users, and describe the solution.
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- Add more messages as needed -->
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- Chat Input -->
|
|
|
+ <div class="flex gap-2">
|
|
|
+ <div class="flex-1 relative">
|
|
|
+ <input
|
|
|
+ type="text"
|
|
|
+ v-model="userInput"
|
|
|
+ placeholder="Type your message..."
|
|
|
+ @keyup.enter="sendMessage"
|
|
|
+ class="w-full p-3 pr-12 border rounded-lg"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <button @click="sendMessage" class="p-3 bg-purple-500 text-white rounded-lg hover:bg-purple-600">
|
|
|
+ <SendIcon class="w-5 h-5" />
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </main>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup>
|
|
|
+import { ref } from 'vue'
|
|
|
+import {
|
|
|
+ MessageSquare as MessageSquareIcon,
|
|
|
+ MessageCircle as MessageCircleIcon,
|
|
|
+ Send as SendIcon
|
|
|
+} from 'lucide-vue-next'
|
|
|
+
|
|
|
+const userInput = ref('')
|
|
|
+
|
|
|
+const sendMessage = () => {
|
|
|
+ if (userInput.value.trim()) {
|
|
|
+ // Add user message to chat
|
|
|
+ // For demonstration, we'll just log it
|
|
|
+ console.log('User:', userInput.value)
|
|
|
+ // Clear input
|
|
|
+ userInput.value = ''
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|