소스 검색

feat: implementação do botao e pagina de configurações

leonardo 3 달 전
부모
커밋
9a52f1303e
4개의 변경된 파일150개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 2
      dist/index.html
  2. 63 0
      src/layout/LayoutSistema.vue
  3. 2 0
      src/router/index.js
  4. 83 0
      src/views/configuracoes/ConfiguracoesView.vue

+ 2 - 2
dist/index.html

@@ -6,8 +6,8 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1" />
     <link rel="icon" type="image/x-icon" href="/favicon.ico?v=2" />
     <title>ORÁCULO</title>
-    <script type="module" crossorigin src="/assets/index-DRIqSdBF.js"></script>
-    <link rel="stylesheet" crossorigin href="/assets/index-B1uWbpcA.css">
+    <script type="module" crossorigin src="/assets/index-D4o7qFcq.js"></script>
+    <link rel="stylesheet" crossorigin href="/assets/index-CfNeBKOp.css">
   </head>
   <body class="bg-background">
     <noscript>

+ 63 - 0
src/layout/LayoutSistema.vue

@@ -74,6 +74,7 @@ const tituloPagina = computed(() => {
   if (nome === "home") return "Nova conversa";
   if (nome === "conversas-pesquisar") return "Pesquisar conversas";
   if (nome === "conversas-historico") return "Histórico";
+  if (nome === "configuracoes") return "Configurações";
   return "Oráculo";
 });
 
@@ -444,6 +445,68 @@ watch(
               </svg>
               <span :class="classeRotulo">Documentos</span>
             </button>
+
+            <button
+              type="button"
+              :class="classeItemSidebar(rotaAtiva === 'configuracoes')"
+              :title="sidebarRecolhida ? 'Configurações' : ''"
+              @click="irPara('configuracoes')"
+            >
+              <svg
+                :class="classeIcon(rotaAtiva === 'configuracoes')"
+                viewBox="0 0 24 24"
+                fill="none"
+                stroke="currentColor"
+                stroke-width="1.8"
+              >
+                <path
+                  stroke-linecap="round"
+                  stroke-linejoin="round"
+                  d="M4 21v-7"
+                />
+                <path
+                  stroke-linecap="round"
+                  stroke-linejoin="round"
+                  d="M4 10V3"
+                />
+                <path
+                  stroke-linecap="round"
+                  stroke-linejoin="round"
+                  d="M12 21v-9"
+                />
+                <path
+                  stroke-linecap="round"
+                  stroke-linejoin="round"
+                  d="M12 8V3"
+                />
+                <path
+                  stroke-linecap="round"
+                  stroke-linejoin="round"
+                  d="M20 21v-5"
+                />
+                <path
+                  stroke-linecap="round"
+                  stroke-linejoin="round"
+                  d="M20 12V3"
+                />
+                <path
+                  stroke-linecap="round"
+                  stroke-linejoin="round"
+                  d="M1 14h6"
+                />
+                <path
+                  stroke-linecap="round"
+                  stroke-linejoin="round"
+                  d="M9 8h6"
+                />
+                <path
+                  stroke-linecap="round"
+                  stroke-linejoin="round"
+                  d="M17 16h6"
+                />
+              </svg>
+              <span :class="classeRotulo">Configurações</span>
+            </button>
           </div>
         </div>
 

+ 2 - 0
src/router/index.js

@@ -2,6 +2,7 @@ import { createRouter, createWebHistory } from "vue-router";
 import PaginaInicialView from "../views/pagina-inicial/PaginaInicialView.vue";
 import ConversasHistoricoView from "../views/conversas/ConversasHistoricoView.vue";
 import ConversasPesquisarView from "../views/conversas/ConversasPesquisarView.vue";
+import ConfiguracoesView from "../views/configuracoes/ConfiguracoesView.vue";
 import LoginView from "../views/auth/LoginView.vue";
 import { useAuth } from "../composables/useAuth.js";
 
@@ -12,6 +13,7 @@ export const router = createRouter({
     { path: "/", name: "home", component: PaginaInicialView, meta: { requiresAuth: true } },
     { path: "/conversas/historico", name: "conversas-historico", component: ConversasHistoricoView, meta: { requiresAuth: true } },
     { path: "/conversas/pesquisar", name: "conversas-pesquisar", component: ConversasPesquisarView, meta: { requiresAuth: true } },
+    { path: "/configuracoes", name: "configuracoes", component: ConfiguracoesView, meta: { requiresAuth: true } },
     { path: "/:pathMatch(.*)*", redirect: "/" }
   ]
 });

+ 83 - 0
src/views/configuracoes/ConfiguracoesView.vue

@@ -0,0 +1,83 @@
+<script setup>
+import LayoutSistema from "../../layout/LayoutSistema.vue";
+</script>
+
+<template>
+  <LayoutSistema>
+    <div
+      class="min-h-[calc(100vh-var(--layout-header-height))] flex items-start pt-8 justify-center"
+    >
+      <section
+        class="w-full max-w-[980px] rounded-2xl border border-gray-200 bg-gray-100/50 p-6 shadow-sm backdrop-blur-md dark:border-gray-700 dark:bg-secondary/50"
+      >
+        <div class="flex items-start gap-4">
+          <div
+            class="flex h-12 w-12 items-center justify-center rounded-2xl bg-primary/10 text-primary dark:bg-primary/20"
+          >
+            <svg
+              class="h-6 w-6"
+              viewBox="0 0 24 24"
+              fill="none"
+              stroke="currentColor"
+              stroke-width="1.8"
+            >
+              <path
+                stroke-linecap="round"
+                stroke-linejoin="round"
+                d="M4 21v-7"
+              />
+              <path
+                stroke-linecap="round"
+                stroke-linejoin="round"
+                d="M4 10V3"
+              />
+              <path
+                stroke-linecap="round"
+                stroke-linejoin="round"
+                d="M12 21v-9"
+              />
+              <path
+                stroke-linecap="round"
+                stroke-linejoin="round"
+                d="M12 8V3"
+              />
+              <path
+                stroke-linecap="round"
+                stroke-linejoin="round"
+                d="M20 21v-5"
+              />
+              <path
+                stroke-linecap="round"
+                stroke-linejoin="round"
+                d="M20 12V3"
+              />
+              <path
+                stroke-linecap="round"
+                stroke-linejoin="round"
+                d="M1 14h6"
+              />
+              <path
+                stroke-linecap="round"
+                stroke-linejoin="round"
+                d="M9 8h6"
+              />
+              <path
+                stroke-linecap="round"
+                stroke-linejoin="round"
+                d="M17 16h6"
+              />
+            </svg>
+          </div>
+          <div class="min-w-0">
+            <h2 class="text-lg font-semibold text-gray-900 dark:text-gray-100">
+              Configurações do Sistema
+            </h2>
+            <p class="mt-1 text-sm text-gray-500 dark:text-gray-400">
+              Gerencie usuarios e algumas preferências da plataforma.
+            </p>
+          </div>
+        </div>
+      </section>
+    </div>
+  </LayoutSistema>
+</template>