diff --git a/src/app/admin-panel/admin-panel.component.html b/src/app/admin-panel/admin-panel.component.html
new file mode 100644
index 0000000..aa306d4
--- /dev/null
+++ b/src/app/admin-panel/admin-panel.component.html
@@ -0,0 +1,4 @@
+
+
Painel Administrativo
+
+
\ No newline at end of file
diff --git a/src/app/admin-panel/admin-panel.component.ts b/src/app/admin-panel/admin-panel.component.ts
new file mode 100644
index 0000000..01537b9
--- /dev/null
+++ b/src/app/admin-panel/admin-panel.component.ts
@@ -0,0 +1,15 @@
+import { Component } from '@angular/core';
+import { AuthService } from '../services/auth.service';
+
+@Component({
+ selector: 'app-admin-panel',
+ templateUrl: './admin-panel.component.html',
+ styleUrls: ['./admin-panel.component.css']
+})
+export class AdminPanelComponent {
+ constructor(private authService: AuthService) {}
+
+ logout() {
+ this.authService.logout();
+ }
+}
diff --git a/src/app/login/login.component.html b/src/app/login/login.component.html
new file mode 100644
index 0000000..d7d9794
--- /dev/null
+++ b/src/app/login/login.component.html
@@ -0,0 +1,8 @@
+
+
Login
+
+
+
+
{{ errorMessage }}
+
+
\ No newline at end of file
diff --git a/src/app/login/login.component.ts b/src/app/login/login.component.ts
new file mode 100644
index 0000000..db5693b
--- /dev/null
+++ b/src/app/login/login.component.ts
@@ -0,0 +1,24 @@
+import { Component } from '@angular/core';
+import { Router } from '@angular/router';
+import { AuthService } from '../services/auth.service';
+
+@Component({
+ selector: 'app-login',
+ templateUrl: './login.component.html',
+ styleUrls: ['./login.component.css']
+})
+export class LoginComponent {
+ username: string = '';
+ password: string = '';
+ errorMessage: string = '';
+
+ constructor(private authService: AuthService, private router: Router) {}
+
+ login() {
+ if (this.authService.login(this.username, this.password)) {
+ this.router.navigate(['/admin']);
+ } else {
+ this.errorMessage = 'Usuário ou senha inválidos!';
+ }
+ }
+}
diff --git a/src/app/services/auth.service.ts b/src/app/services/auth.service.ts
new file mode 100644
index 0000000..7cb3927
--- /dev/null
+++ b/src/app/services/auth.service.ts
@@ -0,0 +1,26 @@
+import { Injectable } from '@angular/core';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class AuthService {
+ private isAuthenticated = false;
+
+ login(username: string, password: string): boolean {
+ if (username === 'admin' && password === 'admin123') {
+ this.isAuthenticated = true;
+ localStorage.setItem('user', JSON.stringify({ username }));
+ return true;
+ }
+ return false;
+ }
+
+ logout(): void {
+ this.isAuthenticated = false;
+ localStorage.removeItem('user');
+ }
+
+ isLoggedIn(): boolean {
+ return localStorage.getItem('user') !== null;
+ }
+}
diff --git a/src/app/services/theme.service.ts b/src/app/services/theme.service.ts
new file mode 100644
index 0000000..22f638d
--- /dev/null
+++ b/src/app/services/theme.service.ts
@@ -0,0 +1,17 @@
+import { Injectable } from '@angular/core';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class ThemeService {
+ private darkTheme = false;
+
+ toggleTheme(): void {
+ this.darkTheme = !this.darkTheme;
+ document.body.classList.toggle('dark-mode', this.darkTheme);
+ }
+
+ isDarkTheme(): boolean {
+ return this.darkTheme;
+ }
+}
diff --git a/src/styles.css b/src/styles.css
index 5cd27d9..130f011 100644
--- a/src/styles.css
+++ b/src/styles.css
@@ -10,3 +10,8 @@
body{
background-color: #1F1147;
}
+
+.dark-mode {
+ background-color: #121212;
+ color: white;
+}
\ No newline at end of file