소스 검색

增加首页和登录模板

DIR\baoyu.zhang 2 달 전
부모
커밋
df2dd40e67
2개의 변경된 파일240개의 추가작업 그리고 0개의 파일을 삭제
  1. 131 0
      src/assets/templates/dashboard.vue
  2. 109 0
      src/assets/templates/login.vue

+ 131 - 0
src/assets/templates/dashboard.vue

@@ -0,0 +1,131 @@
+<template>
+  <div class="min-h-screen bg-[#1A103C] text-white flex">
+    <!-- Sidebar -->
+    <nav class="w-64 bg-[#231849] p-4 space-y-4">
+      <div class="flex items-center gap-2 mb-8">
+        <div class="w-8 h-8 bg-purple-600 rounded-lg"></div>
+        <h1 class="text-xl font-semibold">GEN <span class="text-purple-500">LTEX</span></h1>
+      </div>
+
+      <!-- Navigation Items -->
+      <div class="space-y-2">
+        <a href="#" class="flex items-center gap-3 p-3 rounded-lg bg-[#2A1F53] text-white/90 hover:bg-[#2A1F53]/80">
+          <HomeIcon class="w-5 h-5" />
+          <span>Home</span>
+        </a>
+
+        <div class="mt-8 mb-4 text-xs text-white/50 px-3">MANAGER YOUR CONTEXT</div>
+
+        <template v-for="item in navItems" :key="item.name">
+          <a href="#" class="flex items-center gap-3 p-3 rounded-lg text-white/70 hover:bg-[#2A1F53]/80">
+            <component :is="item.icon" class="w-5 h-5" />
+            <span>{{ item.name }}</span>
+            <span v-if="item.badge" class="ml-auto bg-purple-500 text-white text-xs px-2 py-0.5 rounded-full">
+              {{ item.badge }}
+            </span>
+          </a>
+        </template>
+      </div>
+
+      <!-- User Profile -->
+      <div class="absolute bottom-4 flex items-center gap-3 p-3 text-white/70">
+        <div class="w-8 h-8 bg-gray-600 rounded-full"></div>
+        <div>
+          <div class="text-sm">zbytest003</div>
+          <div class="text-xs text-white/50">platform admin</div>
+        </div>
+      </div>
+    </nav>
+
+    <!-- Main Content -->
+    <main class="flex-1 p-6 space-y-6">
+      <!-- Hero Section -->
+      <section class="p-8 rounded-2xl bg-[#231849]">
+        <h1 class="text-4xl font-bold mb-4">
+          <span class="text-purple-500">Empowering</span><br />
+          Your Future with<br />
+          GenAI Solutions<br />
+          for <span class="text-purple-500">TDLC</span>
+        </h1>
+        <p class="text-white/70 max-w-md">
+          Explore Our Innovative Features and Unlock the Full Potential of GenAI for Your Project's Success
+        </p>
+      </section>
+
+      <!-- Cards Grid -->
+      <div class="grid md:grid-cols-2 gap-6">
+        <!-- TDLC Card -->
+        <div class="p-6 rounded-2xl bg-[#231849]">
+          <div class="w-12 h-12 mb-4 bg-purple-500/20 rounded-lg flex items-center justify-center">
+            <LayoutIcon class="w-6 h-6 text-purple-500" />
+          </div>
+          <h2 class="text-2xl font-semibold mb-2">
+            TDLC for <span class="text-purple-500">System Integration</span> project
+          </h2>
+          <p class="text-white/70 mb-6">
+            Get comprehensive guidance for your new projects, from the initial concept all the way through detailed design and implementation.
+          </p>
+          <button class="px-4 py-2 bg-purple-500 rounded-lg hover:bg-purple-600 transition-colors">
+            Begin Your Journey
+          </button>
+        </div>
+
+        <!-- Analysis Card -->
+        <div class="p-6 rounded-2xl bg-[#231849]">
+          <div class="w-12 h-12 mb-4 bg-purple-500/20 rounded-lg flex items-center justify-center">
+            <ActivityIcon class="w-6 h-6 text-purple-500" />
+          </div>
+          <h2 class="text-2xl font-semibold mb-2">
+            Intelligent <span class="text-purple-500">Project Analysis</span>
+          </h2>
+          <p class="text-white/70 mb-6">
+            Upload a ZIP file containing your existing project files and let GenAI analyze it for you.
+          </p>
+          <button class="px-4 py-2 bg-purple-500 rounded-lg hover:bg-purple-600 transition-colors">
+            Gain New Insights
+          </button>
+        </div>
+
+        <!-- Workspace Card -->
+        <div class="md:col-span-2 p-6 rounded-2xl bg-[#231849]">
+          <div class="w-12 h-12 mb-4 bg-purple-500/20 rounded-lg flex items-center justify-center">
+            <MessageSquareIcon class="w-6 h-6 text-purple-500" />
+          </div>
+          <h2 class="text-2xl font-semibold mb-2">
+            Let's <span class="text-purple-500">Talk</span> To Your Workspace Knowledge
+          </h2>
+          <p class="text-white/70">
+            A smart chatbot designed to interact with and retrieve information from your workspace.
+          </p>
+        </div>
+      </div>
+    </main>
+  </div>
+</template>
+
+<script setup>
+import {
+  Home as HomeIcon,
+  Layout as LayoutIcon,
+  Activity as ActivityIcon,
+  MessageSquare as MessageSquareIcon,
+  FileText as FileTextIcon,
+  Link as LinkIcon,
+  User as UserIcon,
+  Bell as BellIcon,
+  Briefcase as BriefcaseIcon
+} from 'lucide-vue-next'
+
+const navItems = [
+  { name: 'Workspace', icon: BriefcaseIcon },
+  { name: 'Knowledge', icon: FileTextIcon },
+  { name: 'Prompt', icon: MessageSquareIcon },
+  { name: 'Link', icon: LinkIcon },
+  { name: 'User', icon: UserIcon },
+  { name: 'Notifications', icon: BellIcon, badge: '0' },
+]
+</script>
+
+<style>
+
+</style>

+ 109 - 0
src/assets/templates/login.vue

@@ -0,0 +1,109 @@
+<template>
+  <div class="min-h-screen flex bg-gradient-to-br from-purple-950 to-black">
+    <!-- Left side - Logo & Description -->
+    <div class="hidden lg:flex lg:w-1/2 flex-col items-center justify-center p-12">
+      <h1 class="text-7xl font-bold bg-gradient-to-r from-purple-600 to-violet-400 bg-clip-text text-transparent">
+        GenLiteX
+      </h1>
+      <p class="mt-6 text-2xl text-center text-gray-300 max-w-xl">
+        Generative Artificial Intelligent for Technology Development Lifecycle Platform
+      </p>
+    </div>
+
+    <!-- Right side - Login Form -->
+    <div class="w-full lg:w-1/2 flex flex-col justify-between p-8 lg:p-12">
+      <div class="max-w-md w-full mx-auto mt-8">
+        <div class="mb-8">
+          <h2 class="text-3xl font-semibold text-white mb-2">Login</h2>
+          <p class="text-gray-400">Glad you're back!</p>
+        </div>
+
+        <form @submit.prevent="handleLogin" class="space-y-6">
+          <div>
+            <input
+                type="text"
+                v-model="username"
+                placeholder="Username"
+                class="w-full px-4 py-3 rounded-lg bg-gray-900/50 border border-gray-700 text-white placeholder-gray-400 focus:outline-none focus:border-purple-500"
+            />
+          </div>
+
+          <div>
+            <input
+                type="password"
+                v-model="password"
+                placeholder="Password"
+                class="w-full px-4 py-3 rounded-lg bg-gray-900/50 border border-gray-700 text-white placeholder-gray-400 focus:outline-none focus:border-purple-500"
+            />
+          </div>
+
+          <div class="flex items-center">
+            <input
+                type="checkbox"
+                id="remember"
+                v-model="rememberMe"
+                class="w-4 h-4 rounded border-gray-700 bg-gray-900/50 text-purple-500 focus:ring-purple-500"
+            />
+            <label for="remember" class="ml-2 text-gray-400">Remember me</label>
+          </div>
+
+          <button
+              type="submit"
+              class="w-full py-3 rounded-lg bg-purple-500 hover:bg-purple-600 text-white font-medium transition-colors"
+          >
+            Login
+          </button>
+
+          <div class="text-center">
+            <a href="#" class="text-purple-400 hover:text-purple-300">Forgot password ?</a>
+          </div>
+
+          <div class="text-center text-gray-400">
+            Don't have an account ?
+            <a href="#" class="text-purple-400 hover:text-purple-300">Signup</a>
+          </div>
+        </form>
+
+        <!-- Language Selector -->
+        <div class="mt-8 flex items-center justify-center gap-2">
+          <span class="text-gray-400">Language:</span>
+          <select
+              v-model="language"
+              class="px-3 py-1.5 rounded bg-gray-900/50 border border-gray-700 text-gray-300 focus:outline-none focus:border-purple-500"
+          >
+            <option value="en">English</option>
+            <option value="es">Español</option>
+            <option value="fr">Français</option>
+          </select>
+        </div>
+      </div>
+
+      <!-- Footer -->
+      <div class="mt-auto pt-8">
+        <div class="flex justify-center gap-6 text-sm text-gray-400">
+          <a href="#" class="hover:text-purple-400">Terms & Conditions</a>
+          <a href="#" class="hover:text-purple-400">Support</a>
+          <a href="#" class="hover:text-purple-400">Customer Care</a>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script setup>
+import { ref } from 'vue'
+
+const username = ref('')
+const password = ref('')
+const rememberMe = ref(false)
+const language = ref('en')
+
+const handleLogin = () => {
+  // Handle login logic here
+  console.log({
+    username: username.value,
+    password: password.value,
+    rememberMe: rememberMe.value
+  })
+}
+</script>