diff --git a/data/files/txt/tree.txt b/data/files/txt/tree.txt
index 74e780c..117d44a 100644
--- a/data/files/txt/tree.txt
+++ b/data/files/txt/tree.txt
@@ -33,9 +33,11 @@ E:\Fitz_Studio
│ │ ├── 04
│ │ ├── 05
│ │ ├── 06
+│ │ ├── 08
│ │ ├── 0a
│ │ ├── 0b
│ │ ├── 0c
+│ │ ├── 0d
│ │ ├── 0e
│ │ ├── 10
│ │ ├── 11
@@ -46,23 +48,33 @@ E:\Fitz_Studio
│ │ ├── 1a
│ │ ├── 1b
│ │ ├── 1d
+│ │ ├── 1e
│ │ ├── 1f
│ │ ├── 20
+│ │ ├── 21
+│ │ ├── 22
│ │ ├── 23
+│ │ ├── 24
│ │ ├── 26
│ │ ├── 27
+│ │ ├── 28
│ │ ├── 2c
│ │ ├── 2d
+│ │ ├── 2f
│ │ ├── 31
+│ │ ├── 32
│ │ ├── 33
│ │ ├── 34
│ │ ├── 39
│ │ ├── 3c
│ │ ├── 3d
+│ │ ├── 3e
│ │ ├── 3f
│ │ ├── 41
│ │ ├── 42
│ │ ├── 43
+│ │ ├── 44
+│ │ ├── 45
│ │ ├── 47
│ │ ├── 48
│ │ ├── 4a
@@ -72,12 +84,15 @@ E:\Fitz_Studio
│ │ ├── 4e
│ │ ├── 4f
│ │ ├── 51
+│ │ ├── 52
│ │ ├── 55
│ │ ├── 57
+│ │ ├── 5a
│ │ ├── 5b
│ │ ├── 5c
│ │ ├── 5d
│ │ ├── 5e
+│ │ ├── 5f
│ │ ├── 60
│ │ ├── 61
│ │ ├── 62
@@ -93,6 +108,7 @@ E:\Fitz_Studio
│ │ ├── 74
│ │ ├── 75
│ │ ├── 76
+│ │ ├── 77
│ │ ├── 7b
│ │ ├── 7c
│ │ ├── 7d
@@ -106,18 +122,24 @@ E:\Fitz_Studio
│ │ ├── 89
│ │ ├── 8a
│ │ ├── 8b
+│ │ ├── 8c
+│ │ ├── 90
│ │ ├── 94
│ │ ├── 95
│ │ ├── 97
+│ │ ├── 98
│ │ ├── 99
│ │ ├── 9a
│ │ ├── 9c
│ │ ├── 9d
+│ │ ├── a0
+│ │ ├── a1
│ │ ├── a2
│ │ ├── a3
│ │ ├── a4
│ │ ├── a5
│ │ ├── a6
+│ │ ├── a7
│ │ ├── a8
│ │ ├── a9
│ │ ├── aa
@@ -125,6 +147,7 @@ E:\Fitz_Studio
│ │ ├── ac
│ │ ├── ad
│ │ ├── ae
+│ │ ├── af
│ │ ├── b1
│ │ ├── b3
│ │ ├── b4
@@ -134,17 +157,25 @@ E:\Fitz_Studio
│ │ ├── b9
│ │ ├── ba
│ │ ├── bb
+│ │ ├── bc
│ │ ├── bf
│ │ ├── c0
+│ │ ├── c3
│ │ ├── c4
+│ │ ├── c5
│ │ ├── c6
│ │ ├── c7
│ │ ├── c9
+│ │ ├── cc
+│ │ ├── cd
+│ │ ├── ce
│ │ ├── cf
│ │ ├── d1
+│ │ ├── d4
│ │ ├── d5
│ │ ├── d6
│ │ ├── d7
+│ │ ├── d8
│ │ ├── d9
│ │ ├── da
│ │ ├── db
@@ -152,6 +183,7 @@ E:\Fitz_Studio
│ │ ├── dd
│ │ ├── de
│ │ ├── df
+│ │ ├── e0
│ │ ├── e3
│ │ ├── e4
│ │ ├── e5
@@ -166,6 +198,7 @@ E:\Fitz_Studio
│ │ ├── f1
│ │ ├── f2
│ │ ├── f3
+│ │ ├── f5
│ │ ├── f6
│ │ ├── f7
│ │ ├── f9
@@ -859,38 +892,19 @@ E:\Fitz_Studio
│ │ ├── Router.tsx
│ │ ├── assets
│ │ ├── components
-│ │ ├── favicon.svg
│ │ ├── main.tsx
│ │ ├── pages
+│ │ ├── public
│ │ ├── theme.ts
+│ │ ├── types
│ │ └── vite-env.d.ts
│ ├── test-utils
│ │ ├── index.ts
│ │ └── render.tsx
│ ├── tsconfig.json
-│ ├── vite.config.mjs
+│ ├── vite.config.js
│ ├── vitest.setup.mjs
│ └── yarn.lock
-├── llms
-│ ├── Agente.py
-│ ├── MCPs
-│ │ ├── MCPStdioServer.py
-│ │ ├── __init__.py
-│ │ └── __pycache__
-│ ├── Memory
-│ │ ├── Base_MemoryConv.py
-│ │ ├── __pycache__
-│ │ └── postgres_MemoryConv.py
-│ ├── Modelos
-│ │ ├── Base_model.py
-│ │ ├── Openai_model.py
-│ │ ├── Openai_model_mmr.py
-│ │ ├── __init__.py
-│ │ └── __pycache__
-│ ├── __init__.py
-│ └── __pycache__
-│ ├── Agente.cpython-311.pyc
-│ └── __init__.cpython-311.pyc
├── main.py
├── notebooks
│ └── hacer_script_nombres.ipynb
@@ -922,12 +936,6 @@ E:\Fitz_Studio
│ │ └── prueba_carga_postrgesql.cpython-311.pyc
│ └── datos_para_llms
│ └── generar_tree.py
-├── security
-│ ├── Encriptar.py
-│ ├── __init__.py
-│ └── __pycache__
-│ ├── Encriptar.cpython-311.pyc
-│ └── __init__.cpython-311.pyc
├── src
│ ├── ApiKeys
│ │ ├── __init__.py
@@ -948,6 +956,17 @@ E:\Fitz_Studio
│ │ ├── __pycache__
│ │ ├── postgres_credencial.py
│ │ └── postgres_credencial_mmr.py
+│ ├── Llms
+│ │ ├── Agente.py
+│ │ ├── MCPs
+│ │ ├── Memory
+│ │ ├── Modelos
+│ │ ├── __init__.py
+│ │ └── __pycache__
+│ ├── Security
+│ │ ├── Encriptar.py
+│ │ ├── __init__.py
+│ │ └── __pycache__
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-311.pyc
diff --git a/frontend/index.html b/frontend/index.html
index 992a270..eda4252 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -2,7 +2,7 @@
-
+
+
+
+
diff --git a/frontend/src/assets/icons/favicon.tsx b/frontend/src/assets/icons/favicon.tsx
new file mode 100644
index 0000000..9b6b745
--- /dev/null
+++ b/frontend/src/assets/icons/favicon.tsx
@@ -0,0 +1,37 @@
+import React from 'react';
+
+type LogoIconProps = React.SVGProps & {
+ circleFill?: string;
+ pathFill?: string;
+};
+
+const LogoIcon: React.FC = ({
+ style,
+ circleFill = 'currentColor',
+ pathFill = 'currentColor',
+ ...props
+}) => (
+
+);
+
+export default LogoIcon;
diff --git a/frontend/src/assets/icons/index.ts b/frontend/src/assets/icons/index.ts
index 74c328e..f198e23 100644
--- a/frontend/src/assets/icons/index.ts
+++ b/frontend/src/assets/icons/index.ts
@@ -15,4 +15,4 @@ export { default as IconCheck } from './outlined/check.svg?react';
// FILLED
export { default as IconHomeFilled } from './filled/home.svg?react';
-export { default as IconUserFilled } from './filled/user.svg?react';
\ No newline at end of file
+export { default as IconUserFilled } from './filled/user.svg?react';
diff --git a/frontend/src/components/Appshell/Appshell.tsx b/frontend/src/components/Appshell/Appshell.tsx
index c41b063..e18eb90 100644
--- a/frontend/src/components/Appshell/Appshell.tsx
+++ b/frontend/src/components/Appshell/Appshell.tsx
@@ -1,74 +1,27 @@
import {
- IconCalendarStats,
- IconDeviceDesktopAnalytics,
- IconFingerprint,
- IconGauge,
- IconHome2,
- IconSettings,
- IconUserOutline as IconUser,
- IconArrowBarLeft,
- IconArrowBarRight,
- } from '../../assets/icons';
-
- import {
- AppShell,
- Burger,
- Group,
- Skeleton,
- Tooltip,
- UnstyledButton,
- ActionIcon,
- Title,
- } from '@mantine/core';
+ AppShell,
+ Burger,
+ Group,
+ Skeleton,
+ Tooltip,
+ UnstyledButton,
+ ActionIcon,
+ Title,
+} from '@mantine/core';
+
+ import { default as LogoIcon } from '../../assets/icons/favicon'; // ruta relativa ajusta según tu estructura
+
+ import { useMantineTheme } from '@mantine/core';
+
+ import { mainLinksdata } from '../../data/navigationsLinks_1'; // ajusta la ruta
+ import { submenuLinks } from '../../data/submenuLinks_1'; // ajusta la ruta según tu estructura
+
import { useDisclosure, useMediaQuery } from '@mantine/hooks';
import { useEffect, useMemo, useState } from 'react';
import { Link, useLocation } from 'react-router-dom';
import classes from './Appshell.module.css';
- const mainLinksdata = [
- { icon: IconHome2, label: 'Home' },
- { icon: IconGauge, label: 'Dashboard' },
- { icon: IconDeviceDesktopAnalytics, label: 'Analytics' },
- { icon: IconCalendarStats, label: 'Releases' },
- { icon: IconUser, label: 'Account' },
- { icon: IconFingerprint, label: 'Security' },
- { icon: IconSettings, label: 'Settings' },
- ];
-
- const submenuLinks = {
- Home: [
- { label: 'Inicio', to: '/' },
- { label: 'Consulta Api', to: '/Consulta_API' },
- { label: 'Prueba_appshell', to: '/prueba_appshell' },
- ],
- Dashboard: [
- { label: 'Resumen', to: '/dashboard/resumen' },
- { label: 'Estadísticas', to: '/dashboard/estadisticas' },
- { label: 'Usuarios', to: '/dashboard/usuarios' },
- ],
- Analytics: [
- { label: 'Conversiones', to: '/analytics/conversiones' },
- { label: 'Tráfico', to: '/analytics/trafico' },
- { label: 'Tendencias', to: '/analytics/tendencias' },
- ],
- Releases: [
- { label: 'Notas de versión', to: '/releases/notas-de-version' },
- { label: 'Historial', to: '/releases/historial' },
- ],
- Account: [
- { label: 'Perfil', to: '/account/perfil' },
- { label: 'Suscripciones', to: '/account/suscripciones' },
- ],
- Security: [
- { label: 'Contraseña', to: '/security/contraseña' },
- { label: '2FA', to: '/security/2fa' },
- ],
- Settings: [
- { label: 'Preferencias', to: '/settings/preferencias' },
- { label: 'Notificaciones', to: '/settings/notificaciones' },
- ],
- };
type AppShellWithMenuProps = {
@@ -77,6 +30,9 @@ import {
export function AppShellWithMenu({ children }: AppShellWithMenuProps) {
+ const theme = useMantineTheme();
+
+
const location = useLocation();
const isMobile = useMediaQuery('(max-width: 768px)');
const [mobileOpened, { toggle: toggleMobile, close: closeMobile }] = useDisclosure(false);
@@ -154,7 +110,12 @@ import {
-
+
+
diff --git a/frontend/src/components/Links/MainlLinks.tsx b/frontend/src/components/Links/MainlLinks.tsx
new file mode 100644
index 0000000..e69de29
diff --git a/frontend/src/data/navigationsLinks_1.ts b/frontend/src/data/navigationsLinks_1.ts
new file mode 100644
index 0000000..e081ad1
--- /dev/null
+++ b/frontend/src/data/navigationsLinks_1.ts
@@ -0,0 +1,20 @@
+// src/data/navigationLinks.ts
+import {
+ IconCalendarStats,
+ IconDeviceDesktopAnalytics,
+ IconFingerprint,
+ IconGauge,
+ IconHome2,
+ IconSettings,
+ IconUserOutline as IconUser,
+ } from '../assets/icons'; // ajusta según tu estructura de proyecto
+
+ export const mainLinksdata = [
+ { icon: IconHome2, label: 'Home' },
+ { icon: IconGauge, label: 'Dashboard' },
+ { icon: IconDeviceDesktopAnalytics, label: 'Analytics' },
+ { icon: IconCalendarStats, label: 'Releases' },
+ { icon: IconUser, label: 'Account' },
+ { icon: IconFingerprint, label: 'Security' },
+ { icon: IconSettings, label: 'Settings' },
+ ];
\ No newline at end of file
diff --git a/frontend/src/data/submenuLinks_1.ts b/frontend/src/data/submenuLinks_1.ts
new file mode 100644
index 0000000..582fe2f
--- /dev/null
+++ b/frontend/src/data/submenuLinks_1.ts
@@ -0,0 +1,35 @@
+// src/data/submenuLinks.ts
+
+export const submenuLinks = {
+ Home: [
+ { label: 'Inicio', to: '/' },
+ { label: 'Consulta Api', to: '/Consulta_API' },
+ { label: 'Prueba_appshell', to: '/prueba_appshell' },
+ ],
+ Dashboard: [
+ { label: 'Resumen', to: '/dashboard/resumen' },
+ { label: 'Estadísticas', to: '/dashboard/estadisticas' },
+ { label: 'Usuarios', to: '/dashboard/usuarios' },
+ ],
+ Analytics: [
+ { label: 'Conversiones', to: '/analytics/conversiones' },
+ { label: 'Tráfico', to: '/analytics/trafico' },
+ { label: 'Tendencias', to: '/analytics/tendencias' },
+ ],
+ Releases: [
+ { label: 'Notas de versión', to: '/releases/notas-de-version' },
+ { label: 'Historial', to: '/releases/historial' },
+ ],
+ Account: [
+ { label: 'Perfil', to: '/account/perfil' },
+ { label: 'Suscripciones', to: '/account/suscripciones' },
+ ],
+ Security: [
+ { label: 'Contraseña', to: '/security/contraseña' },
+ { label: '2FA', to: '/security/2fa' },
+ ],
+ Settings: [
+ { label: 'Preferencias', to: '/settings/preferencias' },
+ { label: 'Notificaciones', to: '/settings/notificaciones' },
+ ],
+ };
\ No newline at end of file
diff --git a/frontend/src/public/favicon.svg b/frontend/src/public/favicon.svg
deleted file mode 100644
index ed07ea4..0000000
--- a/frontend/src/public/favicon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/frontend/src/theme.ts b/frontend/src/theme.ts
index 47d562c..4e7acdb 100644
--- a/frontend/src/theme.ts
+++ b/frontend/src/theme.ts
@@ -4,29 +4,29 @@ export const theme = createTheme({
colors: {
// Definición de la paleta principal
brand: [
- "#ffeaff",
- "#fdd3fc",
- "#f6a5f3",
- "#ef74eb",
- "#e841e2",
- "#e631e0",
- "#e521de",
- "#cc12c5",
- "#b608b1",
- "#9f009b"
+ "#e7f2ff",
+ "#d0e1ff",
+ "#a1c0fa",
+ "#6e9df6",
+ "#447ff1",
+ "#296df0",
+ "#1863f0",
+ "#0753d6",
+ "#0049c1",
+ "#003faa"
],
// Puedes añadir hasta 3 colores adicionales si lo deseas
secondary: [
- "#f7ecff",
- "#e7d6fb",
- "#caaaf1",
- "#ac7ce8",
- "#9354e0",
- "#833bdb",
- "#7b2eda",
- "#6921c2",
- "#5d1cae",
- "#501599"
+ "#ecf4ff",
+ "#dce4f5",
+ "#b9c7e2",
+ "#94a8d0",
+ "#748dc0",
+ "#5f7cb7",
+ "#5474b4",
+ "#44639f",
+ "#3a5890",
+ "#2c4b80"
],
accent: [
'#fff3e0',