diff --git a/src/components/CardItem.vue b/src/components/CardItem.vue deleted file mode 100644 index 108dd4a..0000000 --- a/src/components/CardItem.vue +++ /dev/null @@ -1,33 +0,0 @@ - - - - {{ item.name }} - - - - - - - \ No newline at end of file diff --git a/src/components/ChatComponent.vue b/src/components/ChatComponent.vue deleted file mode 100644 index 6b6394a..0000000 --- a/src/components/ChatComponent.vue +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - - - - - Chats - - - mdi-chat-plus-outline - - - - - - - - - - - - - - - - - - - - mdi-chat-plus-outline - - - mdi-menu - - {{ chatStore.chatList[chatStore.selectedChatIndex]?.name }} - - - - mdi-menu - - {{ chatStore.chatList[chatStore.selectedChatIndex]?.name }} - - - - - - - - - - - - - - - - {{ message.text }} - - - - - - - - - - {{ message.text }} - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/components/SideNav.vue b/src/components/SideNav.vue index 31f12eb..0488d7b 100644 --- a/src/components/SideNav.vue +++ b/src/components/SideNav.vue @@ -1,111 +1,105 @@ - + - - {{ item.icon }} - - - {{ item.title }} - + + {{ item.icon }} + + {{ item.title }} + \ No newline at end of file diff --git a/src/routes/router.js b/src/routes/router.js index 2d55633..405c7eb 100644 --- a/src/routes/router.js +++ b/src/routes/router.js @@ -8,17 +8,13 @@ import Settings from '../views/Settings.vue' import Users from '../views/Users.vue' import UserEditPage from '../views/UserEditPage.vue' import Train from '../views/Train.vue' -import DashboardView from '../views/DashboardView.vue' -import Chat from '../views/Chat.vue' import Home from '../views/Home.vue' -import Register from '../views/Register.vue' const routes = [ { path: '/', redirect: '/login' }, { path: '/login', component: Login }, - - { path: '/register', component: Register}, + { path: '/dashboard', @@ -29,10 +25,7 @@ const routes = [ { path: 'profile', name: 'profile', component: Profile }, { path: 'settings', name: 'settings', component: Settings }, { path: 'users', name: 'users', component: Users }, - { path: 'train', name: 'train', component: Train}, - { path: 'dashboardview', name: 'dashboard-view', component: DashboardView}, - { path: 'chat', name: 'chat', component: Chat }, - + { path: 'train', name: 'train', component: Train}, { path: 'users/edit/:id', // Removido `/` do início para alinhar ao filho de dashboard diff --git a/src/views/Chat.vue b/src/views/Chat.vue deleted file mode 100644 index c8adad1..0000000 --- a/src/views/Chat.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - diff --git a/src/views/DashboardView.vue b/src/views/DashboardView.vue deleted file mode 100644 index 3661306..0000000 --- a/src/views/DashboardView.vue +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/src/views/Home.vue b/src/views/Home.vue index 97f9994..f1c6d7d 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -54,7 +54,7 @@ export default { return { quickStats: [ { title: 'Câmeras Ativas', value: 0, icon: 'mdi-cctv', color: 'success' }, - { title: 'Modelos AI', value: 0, icon: 'mdi-brain', color: 'primary' }, + { title: 'Modelos', value: 0, icon: 'mdi-brain', color: 'primary' }, { title: 'Alertas 24h', value: 0, icon: 'mdi-bell', color: 'warning' }, { title: 'Usuários', value: 0, icon: 'mdi-account-group', color: 'info' } ], diff --git a/src/views/Login.vue b/src/views/Login.vue index b252ca0..8139abf 100644 --- a/src/views/Login.vue +++ b/src/views/Login.vue @@ -1,4 +1,3 @@ - @@ -11,26 +10,11 @@ /> - - - - - Sign in - - - Register - - - - - - Bem-vindo Faça login para continuar + + + + Bem-vindo + Faça login para continuar @@ -87,92 +71,6 @@ - - - - Criar Conta - Preencha os dados para se registrar - - - - - Nome - - - {{ nameError }} - - - - - - Email - - - {{ registerEmailError }} - - - - - - - - Senha - - - {{ registerPasswordError }} - - - - - - Confirmar Senha - - - {{ confirmPasswordError }} - - - - - - - - Registrar - - - - @@ -188,25 +86,12 @@ import { useAuthStore } from '../stores/auth' const router = useRouter() const authStore = useAuthStore() -// Current tab -const currentTab = ref('login') - // Login Form Fields const email = ref('') const password = ref('') const emailError = ref('') const passwordError = ref('') -// Register Form Fields -const name = ref('') -const registerEmail = ref('') -const registerPassword = ref('') -const confirmPassword = ref('') -const nameError = ref('') -const registerEmailError = ref('') -const registerPasswordError = ref('') -const confirmPasswordError = ref('') - // Validation Methods - Login const validateEmail = () => { const emailRegex = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$|^[a-zA-Z0-9_.-]+$/ @@ -233,80 +118,15 @@ const validatePassword = () => { } } -// Validation Methods - Register -const validateName = () => { - if (!name.value) { - nameError.value = 'Nome é obrigatório' - return false - } else if (name.value.length < 3) { - nameError.value = 'Nome deve ter pelo menos 3 caracteres' - return false - } else { - nameError.value = '' - return true - } -} - -const validateRegisterEmail = () => { - const emailRegex = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/ - - if (!registerEmail.value) { - registerEmailError.value = 'Email é obrigatório' - return false - } else if (!emailRegex.test(registerEmail.value)) { - registerEmailError.value = 'Formato de email inválido' - return false - } else { - registerEmailError.value = '' - return true - } -} - -const validateRegisterPassword = () => { - if (!registerPassword.value) { - registerPasswordError.value = 'Senha é obrigatória' - return false - } else if (registerPassword.value.length < 6) { - registerPasswordError.value = 'Senha deve ter pelo menos 6 caracteres' - return false - } else { - registerPasswordError.value = '' - return true - } -} - -const validateConfirmPassword = () => { - if (!confirmPassword.value) { - confirmPasswordError.value = 'Confirme sua senha' - return false - } else if (confirmPassword.value !== registerPassword.value) { - confirmPasswordError.value = 'As senhas não correspondem' - return false - } else { - confirmPasswordError.value = '' - return true - } -} - // Watch for changes to validate in real-time watch(email, () => { if (email.value) validateEmail() }) watch(password, () => { if (password.value) validatePassword() }) -watch(name, () => { if (name.value) validateName() }) -watch(registerEmail, () => { if (registerEmail.value) validateRegisterEmail() }) -watch(registerPassword, () => { if (registerPassword.value) validateRegisterPassword() }) -watch(confirmPassword, () => { if (confirmPassword.value) validateConfirmPassword() }) // Form Validation const isLoginFormValid = computed(() => { return email.value && password.value && !emailError.value && !passwordError.value }) -const isRegisterFormValid = computed(() => { - return name.value && registerEmail.value && registerPassword.value && - confirmPassword.value && !nameError.value && !registerEmailError.value && - !registerPasswordError.value && !confirmPasswordError.value -}) - // Login Handlers const handleLogin = async () => { if (isLoginFormValid.value) { @@ -329,29 +149,10 @@ const handleSSO = async () => { } } } - -const handleRegister = async () => { - if (isRegisterFormValid.value) { - try { - await authStore.register(name.value, registerEmail.value, registerPassword.value) - alert('Registro realizado com sucesso! Faça login para continuar.') - - // Clear register form - name.value = '' - registerEmail.value = '' - registerPassword.value = '' - confirmPassword.value = '' - - // Switch to login tab - currentTab.value = 'login' - } catch (error) { - alert('Falha no registro. Por favor, tente novamente.') - } - } -} \ No newline at end of file
Faça login para continuar
Preencha os dados para se registrar