Browse Source

zbytest003-2025-02-20 13:41:37

genlitex 2 months ago
parent
commit
3023706c29

File diff suppressed because it is too large
+ 0 - 0
dist/assets/index-DWTIl_tx.css


File diff suppressed because it is too large
+ 4 - 0
dist/assets/index-DmOZSpoO.js


+ 14 - 0
dist/index.html

@@ -0,0 +1,14 @@
+<!doctype html>
+<html lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <link rel="icon" type="image/svg+xml" href="/vite.svg" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title>Vite + Vue</title>
+    <script type="module" crossorigin src="/ide/proxy/6004/assets/index-DmOZSpoO.js"></script>
+    <link rel="stylesheet" crossorigin href="/ide/proxy/6004/assets/index-DWTIl_tx.css">
+  </head>
+  <body>
+    <div id="app"></div>
+  </body>
+</html>

+ 7 - 1
src/router/index.js

@@ -1,11 +1,17 @@
 import { createRouter, createWebHashHistory } from 'vue-router'
 import { createRouter, createWebHashHistory } from 'vue-router'
 import HomeView from '../views/HomeView.vue'
 import HomeView from '../views/HomeView.vue'
+import LoginView from '../views/LoginView.vue'
 
 
 const routes = [
 const routes = [
   {
   {
     path: '/',
     path: '/',
-    name: 'home',
+    name: 'Home',
     component: HomeView
     component: HomeView
+  },
+  {
+    path: '/login',
+    name: 'Login',
+    component: LoginView
   }
   }
 ]
 ]
 
 

+ 59 - 0
src/views/LoginView.vue

@@ -0,0 +1,59 @@
+<template>
+  <div class="min-h-screen flex items-center justify-center bg-gray-100">
+    <div class="bg-gray-200 p-8 rounded-lg w-full max-w-md shadow-lg">
+      <h2 class="text-2xl font-bold text-gray-700 mb-6 text-center">Login</h2>
+      <form @submit.prevent="handleSubmit">
+        <div class="mb-4">
+          <label for="username" class="block text-gray-700 text-sm font-bold mb-2">Username</label>
+          <input v-model="username" id="username" type="text" class="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline" placeholder="Enter username" autofocus>
+        </div>
+        <div class="mb-4">
+          <label for="password" class="block text-gray-700 text-sm font-bold mb-2">Password</label>
+          <input v-model="password" id="password" :type="showPassword ? 'text' : 'password'" class="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline" placeholder="Enter password">
+          <button type="button" @click="toggleShowPassword" class="absolute right-0 top-0 mt-3 mr-3 text-gray-600">
+            {{ showPassword ? 'Hide' : 'Show' }}
+          </button>
+        </div>
+        <div class="mb-6">
+          <label class="inline-flex items-center">
+            <input v-model="rememberMe" type="checkbox" class="form-checkbox h-4 w-4 text-indigo-600 transition duration-150 ease-in-out">
+            <span class="ml-2 text-gray-700 text-sm">Remember Me</span>
+          </label>
+        </div>
+        <div class="flex items-center justify-between">
+          <button type="submit" class="bg-indigo-500 hover:bg-indigo-700 text-white font-bold py-2 px-4 rounded focus:outline-none focus:shadow-outline">
+            Login
+          </button>
+        </div>
+      </form>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      username: '',
+      password: '',
+      rememberMe: false,
+      showPassword: false,
+    };
+  },
+  methods: {
+    toggleShowPassword() {
+      this.showPassword = !this.showPassword;
+    },
+    handleSubmit() {
+      // Add login logic here
+      console.log('Username:', this.username);
+      console.log('Password:', this.password);
+      console.log('Remember Me:', this.rememberMe);
+    },
+  },
+};
+</script>
+
+<style scoped>
+/* Add any additional styles here if needed */
+</style>

Some files were not shown because too many files changed in this diff