feat: Add Consulta_API page and routing, implement API request functionality

- Introduced a new page for API consultation (`Consulta_API`) with a form to send requests.
- Added routing for the new page and a 404 error page.
- Created a `MetodoSelect` component for selecting HTTP methods.
- Implemented a `MiBoton` component for a customizable button.
- Updated the `HomePage` layout to include a sidebar (`DoubleNavbar`) and main content area.
- Enhanced the `Welcome` component with a new greeting and description.
- Added a holographic shader background to the 404 error page.
- Updated dependencies in `yarn.lock` for new components and features.
- Styled the sidebar and main content for better user experience.
This commit is contained in:
2025-05-06 00:12:54 +02:00
parent 613cd90662
commit 27f71a05f3
14 changed files with 1012 additions and 25 deletions
+52
View File
@@ -0,0 +1,52 @@
import { Select, Group } from '@mantine/core';
import { IconCheck } from '@tabler/icons-react';
interface MetodoSelectProps {
metodo: string;
setMetodo: (value: string) => void;
}
const metodoData = [
{ value: 'GET', label: 'GET' },
{ value: 'POST', label: 'POST' },
{ value: 'PUT', label: 'PUT' },
{ value: 'DELETE', label: 'DELETE' },
];
const colorMap: Record<string, string> = {
GET: '#10b981', // verde
POST: '#3b82f6', // azul
PUT: '#f59e0b', // naranja
DELETE: '#ef4444', // rojo
};
const backgroundMap: Record<string, string> = {
GET: '#d1fae5',
POST: '#e0f2fe',
PUT: '#fef3c7',
DELETE: '#fee2e2',
};
export function MetodoSelect({ metodo, setMetodo }: MetodoSelectProps) {
return (
<Select
label="Método"
value={metodo}
onChange={(value) => setMetodo(value!)}
data={metodoData}
renderOption={({ option, checked }) => (
<Group style={{ color: colorMap[option.value], fontWeight: 600 }}>
{option.label}
{checked && <IconCheck size={14} />}
</Group>
)}
styles={{
input: {
backgroundColor: backgroundMap[metodo],
color: '#111',
fontWeight: 600,
},
}}
/>
);
}