Refactor project structure and implement new features
- Removed unused security module and updated import paths. - Enhanced OpenAI client with streaming capabilities for chat completions. - Added new backend API endpoints for health check (ping). - Established a new FastAPI application with CORS configuration. - Created a new Appshell component for the frontend with navigation links. - Integrated SVG icons and improved styling for the Appshell component. - Implemented memory management for conversation history using PostgreSQL. - Developed abstract classes for AI agents and models, with OpenAI integration. - Added encryption utilities for secure data handling.
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
// OUTLINED
|
||||
export { default as IconArrowLeft } from './outlined/arrow-left.svg?react';
|
||||
export { default as IconHomeOutline } from './outlined/home.svg?react';
|
||||
export { default as IconUserOutline } from './outlined/user.svg?react';
|
||||
export { default as IconCalendarStats } from './outlined/calendar-stats.svg?react';
|
||||
export { default as IconDeviceDesktopAnalytics } from './outlined/device-desktop-analytics.svg?react';
|
||||
export { default as IconFingerprint } from './outlined/fingerprint.svg?react';
|
||||
export { default as IconGauge } from './outlined/gauge.svg?react';
|
||||
export { default as IconHome2 } from './outlined/home-2.svg?react';
|
||||
export { default as IconSettings } from './outlined/settings.svg?react';
|
||||
export { default as IconArrowBarLeft } from './outlined/arrow-bar-left.svg?react';
|
||||
export { default as IconArrowBarRight } from './outlined/arrow-bar-right.svg?react';
|
||||
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';
|
||||
+4
-4
@@ -5,10 +5,10 @@ import {
|
||||
IconGauge,
|
||||
IconHome2,
|
||||
IconSettings,
|
||||
IconUser,
|
||||
IconUserOutline as IconUser,
|
||||
IconArrowBarLeft,
|
||||
IconArrowBarRight,
|
||||
} from '@tabler/icons-react';
|
||||
} from '../../assets/icons';
|
||||
|
||||
import {
|
||||
AppShell,
|
||||
@@ -109,7 +109,7 @@ import {
|
||||
className={classes.mainLink}
|
||||
data-active={link.label === active || undefined}
|
||||
>
|
||||
<link.icon size={22} stroke={1.5} />
|
||||
<link.icon />
|
||||
</UnstyledButton>
|
||||
</Tooltip>
|
||||
));
|
||||
@@ -154,7 +154,7 @@ import {
|
||||
<Group h="100%" px="md">
|
||||
<Burger opened={mobileOpened} onClick={toggleMobile} hiddenFrom="sm" size="sm" />
|
||||
<Burger opened={desktopOpened} onClick={toggleDesktop} visibleFrom="sm" size="sm" />
|
||||
<img src="/src/favicon.svg" alt="Logo" style={{ width: 30, height: 30 }} />
|
||||
<img src="/public/favicon.svg" alt="Logo" style={{ width: 30, height: 30 }} />
|
||||
</Group>
|
||||
</AppShell.Header>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Select, Group } from '@mantine/core';
|
||||
import { IconCheck } from '@tabler/icons-react';
|
||||
import { IconCheck } from '../assets/icons';
|
||||
|
||||
interface MetodoSelectProps {
|
||||
metodo: string;
|
||||
@@ -37,7 +37,7 @@ export function MetodoSelect({ metodo, setMetodo }: MetodoSelectProps) {
|
||||
renderOption={({ option, checked }) => (
|
||||
<Group style={{ color: colorMap[option.value], fontWeight: 600 }}>
|
||||
{option.label}
|
||||
{checked && <IconCheck size={14} />}
|
||||
{checked && <IconCheck/>}
|
||||
</Group>
|
||||
)}
|
||||
styles={{
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 163 163"><path fill="#339AF0" d="M162.162 81.5c0-45.011-36.301-81.5-81.08-81.5C36.301 0 0 36.489 0 81.5 0 126.51 36.301 163 81.081 163s81.081-36.49 81.081-81.5z"/><path fill="#fff" d="M65.983 43.049a6.234 6.234 0 00-.336 6.884 6.14 6.14 0 001.618 1.786c9.444 7.036 14.866 17.794 14.866 29.52 0 11.726-5.422 22.484-14.866 29.52a6.145 6.145 0 00-1.616 1.786 6.21 6.21 0 00-.694 4.693 6.21 6.21 0 001.028 2.186 6.151 6.151 0 006.457 2.319 6.154 6.154 0 002.177-1.035 50.083 50.083 0 007.947-7.39h17.493c3.406 0 6.174-2.772 6.174-6.194s-2.762-6.194-6.174-6.194h-9.655a49.165 49.165 0 004.071-19.69 49.167 49.167 0 00-4.07-19.692h9.66c3.406 0 6.173-2.771 6.173-6.194 0-3.422-2.762-6.193-6.173-6.193H82.574a50.112 50.112 0 00-7.952-7.397 6.15 6.15 0 00-4.578-1.153 6.189 6.189 0 00-4.055 2.438h-.006z"/><path fill="#fff" fill-rule="evenodd" d="M56.236 79.391a9.342 9.342 0 01.632-3.608 9.262 9.262 0 011.967-3.077 9.143 9.143 0 012.994-2.063 9.06 9.06 0 017.103 0 9.145 9.145 0 012.995 2.063 9.262 9.262 0 011.967 3.077 9.339 9.339 0 01-2.125 10.003 9.094 9.094 0 01-6.388 2.63 9.094 9.094 0 01-6.39-2.63 9.3 9.3 0 01-2.755-6.395z" clip-rule="evenodd"/></svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB |
+26
-20
@@ -1,31 +1,38 @@
|
||||
import { Box, Title, Text, Button, Group, Stack, Image, Center } from '@mantine/core';
|
||||
import { IconArrowLeft } from '@tabler/icons-react';
|
||||
import { IconArrowLeft } from '../assets/icons';
|
||||
import { Link } from 'react-router-dom';
|
||||
import { MantineCardWithShader } from '../components/HoloShader'; // Ajusta ruta si es necesario
|
||||
import { AppShellWithMenu } from '../components/Appshell';
|
||||
|
||||
import { AppShellWithMenu } from '../components/Appshell/Appshell';
|
||||
|
||||
export function Error_404() {
|
||||
return (
|
||||
<AppShellWithMenu>
|
||||
<Box style={{
|
||||
flex: 1,
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
alignItems: 'flex-start', // alinea arriba
|
||||
padding: '2rem',
|
||||
paddingTop: '0.5rem', // agrega espacio desde arriba si deseas
|
||||
}}>
|
||||
<Box style={{ flex: 1, display: 'flex', justifyContent: 'center', alignItems: 'center', padding: '2rem' }}>
|
||||
<Box
|
||||
style={{
|
||||
flex: 1,
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
alignItems: 'flex-start',
|
||||
padding: '2rem',
|
||||
paddingTop: '0.5rem',
|
||||
}}
|
||||
>
|
||||
<Box
|
||||
style={{
|
||||
flex: 1,
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
alignItems: 'center',
|
||||
padding: '2rem',
|
||||
}}
|
||||
>
|
||||
<Stack align="center" maw={500} mx="auto">
|
||||
|
||||
<MantineCardWithShader />
|
||||
<Title order={1}>
|
||||
Página no encontrada
|
||||
</Title>
|
||||
<MantineCardWithShader />
|
||||
<Title order={1}>Página no encontrada</Title>
|
||||
|
||||
<Text size="lg">
|
||||
Parece que la página que estás buscando no existe o fue removida. Pero no te preocupes, puedes volver al inicio fácilmente.
|
||||
Parece que la página que estás buscando no existe o fue removida. Pero no te preocupes,
|
||||
puedes volver al inicio fácilmente.
|
||||
</Text>
|
||||
|
||||
<Group mt="md">
|
||||
@@ -35,7 +42,7 @@ export function Error_404() {
|
||||
size="md"
|
||||
variant="gradient"
|
||||
gradient={{ from: 'blue', to: 'cyan' }}
|
||||
leftSection={<IconArrowLeft size={18} />}
|
||||
leftSection={<IconArrowLeft width={18} height={18} />}
|
||||
>
|
||||
Volver al inicio
|
||||
</Button>
|
||||
@@ -44,6 +51,5 @@ export function Error_404() {
|
||||
</Box>
|
||||
</Box>
|
||||
</AppShellWithMenu>
|
||||
|
||||
);
|
||||
}
|
||||
@@ -1,8 +1,4 @@
|
||||
import { ColorSchemeToggle } from '../components/ColorSchemeToggle/ColorSchemeToggle';
|
||||
import { Welcome } from '../components/Welcome/Welcome';
|
||||
import MiBoton from '../components/botoncito';
|
||||
import { Center, Box } from '@mantine/core';
|
||||
import { AppShellWithMenu } from '../components/Appshell';
|
||||
import { AppShellWithMenu } from '../components/Appshell/Appshell';
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Box } from '@mantine/core';
|
||||
|
||||
import { LlamadorAPI } from '../components/LlamadorAPI';
|
||||
import { AppShellWithMenu } from '../components/Appshell';
|
||||
import { AppShellWithMenu } from '../components/Appshell/Appshell';
|
||||
|
||||
|
||||
export function Consulta_API() {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { AppShellWithMenu } from '../components/Appshell';
|
||||
import { AppShellWithMenu } from '../components/Appshell/Appshell';
|
||||
|
||||
|
||||
export function HomePage() {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { AppShellWithMenu } from '../components/Appshell';
|
||||
import { AppShellWithMenu } from '../components/Appshell/Appshell';
|
||||
|
||||
|
||||
export function Plantilla() {
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
import { ColorSchemeToggle } from '../components/ColorSchemeToggle/ColorSchemeToggle';
|
||||
import { Welcome } from '../components/Welcome/Welcome';
|
||||
import MiBoton from '../components/botoncito';
|
||||
import { Center, Box } from '@mantine/core';
|
||||
import { MantineCardWithShader } from '../components/HoloShader';
|
||||
import { AppShellWithMenu } from '../components/Appshell';
|
||||
import { AppShellWithMenu } from '../components/Appshell/Appshell';
|
||||
|
||||
export function Prueba_appshell() {
|
||||
return (
|
||||
|
||||
Vendored
+7
@@ -0,0 +1,7 @@
|
||||
declare module '*.svg' {
|
||||
import * as React from 'react';
|
||||
export const ReactComponent: React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
|
||||
const src: string;
|
||||
export default src;
|
||||
}
|
||||
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
/// <reference types="vite-plugin-svgr/client" />
|
||||
Reference in New Issue
Block a user