Parcourir la source

Authentication and layouts

Ranghetti il y a 6 mois
Parent
commit
42025f4adb

+ 16 - 0
src/main/java/com/platform2easy/genesis/web/controller/BeginController.java

@@ -0,0 +1,16 @@
+package com.platform2easy.genesis.web.controller;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.GetMapping;
+
+@Controller
+public class BeginController {
+
+
+    @GetMapping("/")
+    public String beginer(Model model){
+        model.addAttribute("titulo", "Too Easy");
+        return "index";
+    }
+}

+ 13 - 7
src/main/java/com/platform2easy/genesis/web/controller/CompraController.java

@@ -22,7 +22,7 @@ public class CompraController {
 
     @GetMapping()
     public String iniciar(Compra compra, Model model) {
-        return "compra/formulario";
+        return abrirFormulario(compra, "Comprar", model);
     }
 
     @PostMapping()
@@ -41,6 +41,17 @@ public class CompraController {
         return iniciar(compra, model);
     }
 
+    @GetMapping("editar/{id}")
+    public String alterar(@PathVariable Long id, Model model) {
+        return abrirFormulario(service.buscarPorId(id), "Editar Compra", model);
+    }
+
+    private String abrirFormulario(Compra compra, String titulo, Model model) {
+        model.addAttribute("titulo", titulo);
+        model.addAttribute("compra", compra);
+        return "compra/formulario";
+    }
+
     @PostMapping("salvar")
     public String salvar(Compra compra, Model model) {
         service.salvar(compra);
@@ -49,16 +60,11 @@ public class CompraController {
 
     @GetMapping("listar")
     public String listar(Model model) {
+        model.addAttribute("titulo", "Compras");
         model.addAttribute("compras", service.listarTodos());
         return "compra/lista";
     }
 
-    @GetMapping("editar/{id}")
-    public String alterar(@PathVariable Long id, Model model) {
-        model.addAttribute("compra", service.buscarPorId(id));
-        return "compra/formulario";
-    }
-
     @GetMapping("remover/{id}")
     public String remover(@PathVariable Long id, Model model) {
         service.deletarPorId(id);

+ 7 - 2
src/main/resources/static/css/estilo.css

@@ -26,14 +26,19 @@ body {
   background-color: #343a40;
 }
 
+.sidebar .collapse a {
+    padding-left: 1.5rem;
+    font-size: 0.95rem;
+}
+
 .content-area {
   padding: 2rem;
   overflow-y: auto;
 }
 
 footer {
-  height: 60px;
-  line-height: 60px;
+  height: 50px;
+  line-height: 50px;
   background-color: #212529;
   color: white;
   text-align: center;

+ 23 - 23
src/main/resources/templates/Index.html

@@ -1,6 +1,5 @@
 <!DOCTYPE html>
-<html lang="en"
-      xmlns:th="http://www.thymeleaf.org"
+<html lang="en" xmlns:th="http://www.thymeleaf.org"
       xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
       layout:decorate="~{layout}">
 <head>
@@ -8,33 +7,34 @@
     <title>Too Easy</title>
 </head>
 <body>
-<section layout:fragment="main-content" >
-    <h1 class="mb-4">Bem-vindo, Administrador!</h1>
-
-    <div class="row">
-        <div class="col-md-4 mb-4">
-            <div class="card shadow-sm">
-                <div class="card-body">
-                    <h5 class="card-title">Total de Usuários</h5>
-                    <p class="card-text fs-4">1.245</p>
+<section layout:fragment="main-content">
+    <div class="container">
+        <h1 class="mb-4" th:text="${titulo}"></h1>
+        <div class="row">
+            <div class="col-md-4 mb-4">
+                <div class="card shadow-sm">
+                    <div class="card-body">
+                        <h5 class="card-title">Total de Usuários</h5>
+                        <p class="card-text fs-4">1.245</p>
+                    </div>
                 </div>
             </div>
-        </div>
 
-        <div class="col-md-4 mb-4">
-            <div class="card shadow-sm bg-success text-white">
-                <div class="card-body">
-                    <h5 class="card-title">Vendas do Mês</h5>
-                    <p class="card-text fs-4">R$ 87.000,00</p>
+            <div class="col-md-4 mb-4">
+                <div class="card shadow-sm bg-success text-white">
+                    <div class="card-body">
+                        <h5 class="card-title">Vendas do Mês</h5>
+                        <p class="card-text fs-4">R$ 87.000,00</p>
+                    </div>
                 </div>
             </div>
-        </div>
 
-        <div class="col-md-4 mb-4">
-            <div class="card shadow-sm bg-warning text-dark">
-                <div class="card-body">
-                    <h5 class="card-title">Pendências</h5>
-                    <p class="card-text fs-4">32 tickets abertos</p>
+            <div class="col-md-4 mb-4">
+                <div class="card shadow-sm bg-warning text-dark">
+                    <div class="card-body">
+                        <h5 class="card-title">Pendências</h5>
+                        <p class="card-text fs-4">32 tickets abertos</p>
+                    </div>
                 </div>
             </div>
         </div>

+ 1 - 0
src/main/resources/templates/compra/formulario.html

@@ -9,6 +9,7 @@
 <body>
 <section layout:fragment="main-content">
     <div class="container">
+        <h1 class="mb-4" th:text="${titulo}"></h1>
         <form>
             <div class="mb-3">
                 <input hidden="true" name="id" th:value="${compra.id}" type="text">

+ 1 - 4
src/main/resources/templates/compra/lista.html

@@ -9,10 +9,7 @@
 <body>
 <section layout:fragment="main-content">
     <div class="container">
-        <a th:href="@{/compra}" type="button" class="btn btn-outline-dark"
-           title="Cadastrar">
-            <i class="bi bi-pencil-square"></i>
-        </a>
+        <h1 class="mb-4" th:text="${titulo}"></h1>
         <table class="table table-hover">
             <thead>
             <tr>

+ 19 - 2
src/main/resources/templates/layout.html

@@ -29,8 +29,25 @@
         <nav class="col-md-2 bg-dark sidebar collapse d-md-block" id="mobileMenu">
             <a th:href="@{/}">🏠 Início</a>
             <a href="#">👥 Usuários</a>
-            <a th:href="@{/compra/listar}">🏷️ Compras</a>
-            <a href="#">📊 Relatórios</a>
+
+            <a class="dropdown-toggle d-block text-white" data-bs-toggle="collapse" href="#compras-submenu"
+               role="button" aria-expanded="false" aria-controls="compras-submenu">
+                🏷️ Compras
+            </a>
+            <div class="collapse ms-2" id="compras-submenu">
+                <a th:href="@{/compra/listar}" class="d-block text-white">📋 Listar</a>
+                <a th:href="@{/compra}" class="d-block text-white">➕ Cadastrar</a>
+            </div>
+
+            <a class="dropdown-toggle d-block text-white" data-bs-toggle="collapse" href="#relatoriosSubmenu"
+               role="button" aria-expanded="false" aria-controls="relatoriosSubmenu">
+                📊 Relatórios
+            </a>
+            <div class="collapse ms-2" id="relatoriosSubmenu">
+                <a href="#" class="d-block text-white">➤ Vendas</a>
+                <a href="#" class="d-block text-white">➤ Estoque</a>
+            </div>
+
             <a href="#">⚙️ Configurações</a>
             <a th:href="@{/logout}">🚪 Sair</a>
         </nav>