瀏覽代碼

better the login system and fix the sidebar errors

gdias 5 月之前
父節點
當前提交
ac6a7cdbec
共有 5 個文件被更改,包括 38 次插入20 次删除
  1. 9 9
      package-lock.json
  2. 4 2
      src/lib/component/DashBoardGuard.svelte
  3. 10 8
      src/lib/layout/SideBar.svelte
  4. 3 0
      src/lib/utils/store.js
  5. 12 1
      src/routes/login/+page.svelte

+ 9 - 9
package-lock.json

@@ -836,9 +836,9 @@
 			}
 		},
 		"node_modules/@sveltejs/kit": {
-			"version": "2.24.0",
-			"resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.24.0.tgz",
-			"integrity": "sha512-6aCsU6PwxB4CQBJEvLnOoSv8hoviZWDVTKDTzQoERG6vpIHeXJufVWQlyaOXrdSlqBiwknHm0nQT/S/Nn3518A==",
+			"version": "2.25.0",
+			"resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.25.0.tgz",
+			"integrity": "sha512-Yc/WUMqYjYIZp2JsFUajw+cx7hIIqL1Z4uuhVl/yess65bGITbmG1aRIVOrlHg4oxmZqMluUJaVTLMLZZ9sNlg==",
 			"dev": true,
 			"license": "MIT",
 			"dependencies": {
@@ -2036,9 +2036,9 @@
 			}
 		},
 		"node_modules/svelte": {
-			"version": "5.36.3",
-			"resolved": "https://registry.npmjs.org/svelte/-/svelte-5.36.3.tgz",
-			"integrity": "sha512-0NsgzxP60BXZ0SDAJzFb4CEIuHK5Qtubx69bVSDSORvS053+IZqA+wKK1b742US4eCuKo1KJOu7sAB+vRpK9JQ==",
+			"version": "5.36.5",
+			"resolved": "https://registry.npmjs.org/svelte/-/svelte-5.36.5.tgz",
+			"integrity": "sha512-K91ug+LuQLxjW20iMzodF5haVWsWkmXk7wx5jNvlU8QuKtxThUBILbkCCFs3kAzXrYN3QSVdiaP1b4yJGeCSog==",
 			"dev": true,
 			"license": "MIT",
 			"dependencies": {
@@ -2124,9 +2124,9 @@
 			}
 		},
 		"node_modules/vite": {
-			"version": "7.0.4",
-			"resolved": "https://registry.npmjs.org/vite/-/vite-7.0.4.tgz",
-			"integrity": "sha512-SkaSguuS7nnmV7mfJ8l81JGBFV7Gvzp8IzgE8A8t23+AxuNX61Q5H1Tpz5efduSN7NHC8nQXD3sKQKZAu5mNEA==",
+			"version": "7.0.5",
+			"resolved": "https://registry.npmjs.org/vite/-/vite-7.0.5.tgz",
+			"integrity": "sha512-1mncVwJxy2C9ThLwz0+2GKZyEXuC3MyWtAAlNftlZZXZDP3AJt5FmwcMit/IGGaNZ8ZOB2BNO/HFUB+CpN0NQw==",
 			"dev": true,
 			"license": "MIT",
 			"dependencies": {

+ 4 - 2
src/lib/component/DashBoardGuard.svelte

@@ -1,11 +1,13 @@
 <script>
 	import { onMount } from 'svelte';
 	import { goto } from '$app/navigation';
-	import user from '$lib/utils/data.json';
+	import { userFlag } from '$lib/utils/store';
 	let autorizado = false;
 
+	$: flag = $userFlag;
+
 	onMount(async () => {
-		if (user.flag === 'b' || user.flag === '') {
+		if (flag === 'b' || flag === '') {
 			goto('/login');
 		} else {
 			autorizado = true;

+ 10 - 8
src/lib/layout/SideBar.svelte

@@ -7,15 +7,17 @@
 	import logout_icon from '$lib/assets/logout_icon.svg';
 	import close_icon from '$lib/assets/close_icon.svg';
 	import menu_icon from '$lib/assets/menu_icon.svg';
+	import { userFlag } from '$lib/utils/store';
 	//import { logout } from '../lib/auth'; // Você precisa criar esse arquivo
+	$: flag = $userFlag;
+	$: navItems = [];
 
-	let flagUser = 'admin';
 	let isMobileMenuOpen = false;
-	$: navItems = [];
 	onMount(() => {
-		if (flagUser == 'waiter') {
-			navItems = [{ name: 'Mesas', path: '/dashboard/tables' }];
-		} else if (flagUser == 'admin') {
+		console.log(flag);
+		if (flag == 'waiter') {
+			navItems = [{ name: 'Mesas', path: '/dashboard/tables', icon: 'table_bar' }];
+		} else if (flag == 'admin') {
 			navItems = [
 				{ name: 'Mesas', path: '/dashboard/tables', icon: 'table_bar' },
 				{ name: 'Produtos', path: '/dashboard/products', icon: 'product_sell' },
@@ -23,8 +25,8 @@
 				{ name: 'Cozinha', path: '/dashboard/cozinha', icon: 'kitchen_icon' },
 				{ name: 'Gerenciar Usuários', path: '/dashboard/control', icon: 'mananger' }
 			];
-		} else if (flagUser == 'kitchen') {
-			navItems = [{ name: 'Cozinha', path: '/dashboard/cozinha' }];
+		} else if (flag == 'kitchen') {
+			navItems = [{ name: 'Cozinha', path: '/dashboard/cozinha', icon: 'kitchen_icon' }];
 		}
 	});
 
@@ -51,7 +53,7 @@
 			<nav class="flex-1 space-y-2 px-2 py-4">
 				{#each navItems as item}
 					<button
-						class={`flex items-center rounded-lg px-4 py-3 text-sm transition-colors ${
+						class={`flex cursor-pointer items-center rounded-lg px-4 py-3 text-sm transition-colors ${
 							currentPath === item.path
 								? 'bg-gray-700 text-white'
 								: 'text-gray-300 hover:bg-gray-700'

+ 3 - 0
src/lib/utils/store.js

@@ -0,0 +1,3 @@
+import { writable } from 'svelte/store';
+
+export const userFlag = writable('');

+ 12 - 1
src/routes/login/+page.svelte

@@ -1,7 +1,7 @@
 <script lang="ts">
 	import { onMount } from 'svelte';
 	import { goto } from '$app/navigation';
-	import { get } from 'svelte/store';
+	import { userFlag } from '$lib/utils/store';
 	import beer_icon from '$lib/assets/beer_icon.svg';
 
 	let username = '';
@@ -13,6 +13,7 @@
 
 	onMount(() => {
 		if (currentUser) {
+			//need check this and tested
 			goto('/tables');
 		}
 	});
@@ -29,7 +30,17 @@
 		}
 
 		if (username == 'admin' && password == 'admin') {
+			userFlag.set('admin');
 			goto('/dashboard/tables');
+		} else if (username == 'waiter' && password == 'waiter') {
+			userFlag.set('waiter');
+			goto('/dashboard/tables');
+		} else if (username == 'kitchen' && password == 'kitchen') {
+			userFlag.set('kitchen');
+			goto('/dashboard/tables');
+		} else {
+			error = 'Usuário ou senha inválidos';
+			return;
 		}
 
 		// try {