fixing routes
This commit is contained in:
+6
-1
@@ -1,5 +1,4 @@
|
||||
.tableContainer {
|
||||
margin-top: 10px;
|
||||
overflow-y: auto;
|
||||
overflow-x: auto;
|
||||
border-radius: 4px;
|
||||
@@ -68,6 +67,12 @@
|
||||
.resetButton:hover {
|
||||
background-color: #cc0000;
|
||||
}
|
||||
|
||||
.checkbox{
|
||||
display: inline-flex;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.checkbox-grid label {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
@@ -65,7 +65,6 @@ export default function Page() {
|
||||
<option value="90">PCNET2</option>
|
||||
</select>
|
||||
|
||||
{/* Checkboxes */}
|
||||
<div className="checkbox-grid">
|
||||
<label>
|
||||
<input type="checkbox" />
|
||||
@@ -105,9 +104,9 @@ export default function Page() {
|
||||
<option value="90">15</option>
|
||||
</select>
|
||||
|
||||
<div className="checkbox-grid">
|
||||
<label>
|
||||
<div className="checkbox">
|
||||
<input type="checkbox" />
|
||||
<label>
|
||||
Mantenimiento
|
||||
</label>
|
||||
</div>
|
||||
@@ -30,12 +30,12 @@ export default function Page() {
|
||||
},
|
||||
{
|
||||
key: "Liberar",
|
||||
label: "Canceñlar tiempo",
|
||||
label: "Cancelar tiempo",
|
||||
content: (
|
||||
<>
|
||||
<div className="checkbox-grid">
|
||||
<label>
|
||||
<input type="checkbox" /> Mesa
|
||||
<input type="checkbox" /> Equipo
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" /> Cuenta
|
||||
@@ -48,7 +48,6 @@ export default function Page() {
|
||||
]}
|
||||
/>
|
||||
|
||||
{/* This is the new component to display available tables */}
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
@@ -1,5 +1,4 @@
|
||||
.tableContainer {
|
||||
margin-top: 10px;
|
||||
overflow-y: auto;
|
||||
overflow-x: auto;
|
||||
border-radius: 4px;
|
||||
@@ -103,58 +103,62 @@ export default function Page() {
|
||||
key: "2",
|
||||
label: "Bitacora de alumno",
|
||||
content: (
|
||||
<div className={styles.tableContainer}>
|
||||
<>
|
||||
<SearchDate />
|
||||
<table className={styles.machineTable}>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Tiempo Entrada</th>
|
||||
<th>Tiempo Asignado</th>
|
||||
<th>Ubicacion del equipo</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{alumnos.map((alumno, index) => (
|
||||
<tr key={index}>
|
||||
<td>{alumno.tiempo_entrada}</td>
|
||||
<td>{alumno.tiempo_asignado}</td>
|
||||
<td>{alumno.Ubicacion_equipo}</td>
|
||||
<div className={styles.tableContainer}>
|
||||
<table className={styles.machineTable}>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Tiempo Entrada</th>
|
||||
<th>Tiempo Asignado</th>
|
||||
<th>Ubicacion del equipo</th>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</thead>
|
||||
<tbody>
|
||||
{alumnos.map((alumno, index) => (
|
||||
<tr key={index}>
|
||||
<td>{alumno.tiempo_entrada}</td>
|
||||
<td>{alumno.tiempo_asignado}</td>
|
||||
<td>{alumno.Ubicacion_equipo}</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
key: "3",
|
||||
label: "Bitacora mesas",
|
||||
content: (
|
||||
<div className={styles.tableContainer}>
|
||||
<>
|
||||
<SearchDate />
|
||||
<table className={styles.machineTable}>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Mesa</th>
|
||||
<th>Cuenta</th>
|
||||
<th>Hora Entrada</th>
|
||||
<th>Tiempo Asignado</th>
|
||||
<th>Hora Salida</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{tables.map((table, index) => (
|
||||
<tr key={index}>
|
||||
<td>{table.no_mesa}</td>
|
||||
<td>{table.no_cuenta}</td>
|
||||
<td>{table.hora_entrada}</td>
|
||||
<td>{table.tiempo_asignado}</td>
|
||||
<td>{table.hora_salida}</td>
|
||||
<div className={styles.tableContainer}>
|
||||
<table className={styles.machineTable}>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Mesa</th>
|
||||
<th>Cuenta</th>
|
||||
<th>Hora Entrada</th>
|
||||
<th>Tiempo Asignado</th>
|
||||
<th>Hora Salida</th>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</thead>
|
||||
<tbody>
|
||||
{tables.map((table, index) => (
|
||||
<tr key={index}>
|
||||
<td>{table.no_mesa}</td>
|
||||
<td>{table.no_cuenta}</td>
|
||||
<td>{table.hora_entrada}</td>
|
||||
<td>{table.tiempo_asignado}</td>
|
||||
<td>{table.hora_salida}</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
@@ -162,9 +166,9 @@ export default function Page() {
|
||||
label: "Sanciones",
|
||||
content: (
|
||||
<>
|
||||
<SearchUser />
|
||||
<Information NoCuenta="id cuenta" Nombre="id nombre" />
|
||||
<div className={styles.tableContainer}>
|
||||
<SearchUser/>
|
||||
<Information NoCuenta="id cuenta" Nombre="id nombre" />
|
||||
<table className={styles.machineTable}>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -203,24 +207,23 @@ export default function Page() {
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<form className="containerForm">
|
||||
<div className="groupInput">
|
||||
<select
|
||||
value={ubicacion_equipo}
|
||||
onChange={(e) => setUbicacionEquipo(e.target.value)}
|
||||
>
|
||||
<option value="">-- Selecciona una sancion --</option>
|
||||
<option value="sancion 1">
|
||||
No cerrar sesion (Una semana)
|
||||
</option>
|
||||
</select>
|
||||
<button className="button buttonSearch" type="submit">
|
||||
Aplicar sancion
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<form className="containerForm">
|
||||
<div className="groupInput">
|
||||
<select
|
||||
value={ubicacion_equipo}
|
||||
onChange={(e) => setUbicacionEquipo(e.target.value)}
|
||||
>
|
||||
<option value="">-- Selecciona una sancion --</option>
|
||||
<option value="sancion 1">
|
||||
No cerrar sesion (Una semana)
|
||||
</option>
|
||||
</select>
|
||||
<button className="button buttonSearch" type="submit">
|
||||
Aplicar sancion
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</>
|
||||
),
|
||||
},
|
||||
@@ -1,5 +1,4 @@
|
||||
.tableContainer {
|
||||
margin-top: 10px;
|
||||
overflow-y: auto;
|
||||
overflow-x: auto;
|
||||
border-radius: 4px;
|
||||
@@ -1,5 +1,4 @@
|
||||
.tableContainer {
|
||||
margin-top: 10px;
|
||||
overflow-y: auto;
|
||||
overflow-x: auto;
|
||||
border-radius: 4px;
|
||||
@@ -1,5 +1,4 @@
|
||||
.tableContainer {
|
||||
margin-top: 10px;
|
||||
overflow-y: auto;
|
||||
overflow-x: auto;
|
||||
border-radius: 4px;
|
||||
@@ -14,8 +13,6 @@
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
table-layout: auto;
|
||||
margin-top: 1rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.machineTable th,
|
||||
@@ -35,8 +35,8 @@ export default function Page() {
|
||||
label: "Por recibo",
|
||||
content: (
|
||||
<>
|
||||
<div className={styles.tableContainer}>
|
||||
<SearchDateBetween />
|
||||
<div className={styles.tableContainer}>
|
||||
<table className={styles.machineTable}>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -69,8 +69,8 @@ export default function Page() {
|
||||
label: "Por Servicio",
|
||||
content: (
|
||||
<>
|
||||
<div className={styles.tableContainer}>
|
||||
<SearchDateBetween />
|
||||
<div className={styles.tableContainer}>
|
||||
<table className={styles.machineTable}>
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -0,0 +1,16 @@
|
||||
import { ReactNode } from "react";
|
||||
import { PrivateRoute } from "../Routes/PrivateRoute";
|
||||
import BarNavigation from "../Components/BarNavigation/BarNavigation";
|
||||
|
||||
export default function PrivateLayout({ children }: { children: ReactNode }) {
|
||||
return (
|
||||
<div className="mainContainer">
|
||||
<BarNavigation />
|
||||
<div className="container">
|
||||
<div className="img"></div>
|
||||
{children}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
//IO
|
||||
@@ -1,5 +0,0 @@
|
||||
import { PrivateRoute } from "../Routes/PrivateRoute";
|
||||
|
||||
export default function PrivateLayout({ children }: { children: React.ReactNode }) {
|
||||
return <PrivateRoute>{children}</PrivateRoute>;
|
||||
}
|
||||
@@ -1,8 +1,12 @@
|
||||
.barNavigation {
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
background-color: rgb(1, 92, 184);
|
||||
padding: 0 20px;
|
||||
display: flex;
|
||||
width: 100%;
|
||||
top: 0;
|
||||
min-height: 40px;
|
||||
}
|
||||
|
||||
.barNavigation ul {
|
||||
|
||||
@@ -26,13 +26,13 @@ function BarNavigation() {
|
||||
<li className={`subMenu ${openSubMenu === 0 ? "open" : ""}`}>
|
||||
<span onClick={() => toggleSubMenu(0)}>Inscripciones</span>
|
||||
<ul className="containerLinks" onClick={toggleMenu}>
|
||||
<Link href="/AT/Alta" className="links">
|
||||
<Link href="/Alta" className="links">
|
||||
<li>Alta</li>
|
||||
</Link>
|
||||
<Link href="/AT/AgregarTiempo" className="links">
|
||||
<Link href="/AgregarTiempo" className="links">
|
||||
<li>Agregar Tiempo</li>
|
||||
</Link>
|
||||
<Link href="/AT/Inscripciones" className="links">
|
||||
<Link href="/Inscripciones" className="links">
|
||||
<li>Inscripciones</li>
|
||||
</Link>
|
||||
</ul>
|
||||
@@ -41,16 +41,16 @@ function BarNavigation() {
|
||||
<li className={`subMenu ${openSubMenu === 1 ? "open" : ""}`}>
|
||||
<span onClick={() => toggleSubMenu(1)}>Servicios</span>
|
||||
<ul onClick={toggleMenu}>
|
||||
<Link href="/AT/Impresiones" className="links">
|
||||
<Link href="/Impresiones" className="links">
|
||||
<li>Impresiones y Ploteo</li>
|
||||
</Link>
|
||||
<Link href="/AT/AsignacionMesas" className="links">
|
||||
<Link href="/AsignacionMesas" className="links">
|
||||
<li>Asignacion de Mesas</li>
|
||||
</Link>
|
||||
<Link href="/AT/AsignacionEquipo" className="links">
|
||||
<Link href="/AsignacionEquipo" className="links">
|
||||
<li>Asignacion de Equipos</li>
|
||||
</Link>
|
||||
<Link href="/AT/Monitor" className="links">
|
||||
<Link href="/Monitor" className="links">
|
||||
<li>Monitor</li>
|
||||
</Link>
|
||||
</ul>
|
||||
@@ -59,16 +59,16 @@ function BarNavigation() {
|
||||
<li className={`subMenu ${openSubMenu === 2 ? "open" : ""}`}>
|
||||
<span onClick={() => toggleSubMenu(2)}>Equipo</span>
|
||||
<ul onClick={toggleMenu}>
|
||||
<Link href="/AT/InformacionEquipo" className="links">
|
||||
<Link href="/InformacionEquipo" className="links">
|
||||
<li>Informacion de Equipos</li>
|
||||
</Link>
|
||||
<Link href="/AT/ActivosMantenimiento" className="links">
|
||||
<Link href="/ActivosMantenimiento" className="links">
|
||||
<li>Activos y en Mantenimiento</li>
|
||||
</Link>
|
||||
<Link href="/AT/Mensajes" className="links">
|
||||
<Link href="/Mensajes" className="links">
|
||||
<li>Mensajes</li>
|
||||
</Link>
|
||||
<Link href="/AT/Programas" className="links">
|
||||
<Link href="/Programas" className="links">
|
||||
<li>Programas</li>
|
||||
</Link>
|
||||
</ul>
|
||||
@@ -77,24 +77,24 @@ function BarNavigation() {
|
||||
<li className={`subMenu ${openSubMenu === 3 ? "open" : ""}`}>
|
||||
<span onClick={() => toggleSubMenu(3)}>Reportes</span>
|
||||
<ul onClick={toggleMenu}>
|
||||
<Link href="/AT/Recibo" className="links">
|
||||
<li>Recibo</li>
|
||||
<Link href="/Reportes" className="links">
|
||||
<li>Reportes</li>
|
||||
</Link>
|
||||
<Link href="/AT/Inscritos" className="links">
|
||||
<Link href="/Inscritos" className="links">
|
||||
<li>Inscritos</li>
|
||||
</Link>
|
||||
<Link href="/AT/BitacoraSanciones" className="links">
|
||||
<Link href="/BitacoraSanciones" className="links">
|
||||
<li>Bitacora y sanciones</li>
|
||||
</Link>
|
||||
</ul>
|
||||
</li>
|
||||
<li className="subMenu" onClick={toggleMenu}>
|
||||
<Link href="/AT/QuitarSancion" className="links">
|
||||
<Link href="/QuitarSancion" className="links">
|
||||
Quitar sancion
|
||||
</Link>
|
||||
</li>
|
||||
<li className="subMenu" onClick={toggleMenu}>
|
||||
<Link href="/AT/CambiarPass" className="links">
|
||||
<Link href="/CambiarPass" className="links">
|
||||
Cambiar contraseña
|
||||
</Link>
|
||||
</li>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
position: relative;
|
||||
filter: invert(1);
|
||||
z-index: 3;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.cedetecContainer {
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
'use client';
|
||||
import { useState } from "react";
|
||||
import "./Login.css";
|
||||
import { loginUser } from "@/app/lib/login";
|
||||
|
||||
import "./Login.css";
|
||||
|
||||
function Login() {
|
||||
const [user, setUser] = useState("");
|
||||
const [password, setPassword] = useState("");
|
||||
|
||||
@@ -13,10 +13,10 @@ function ProgramSelector({ titulo, opcion }: DatosEquipo) {
|
||||
<div>
|
||||
<form className="form-container">
|
||||
{/* Label dinámico con el título que recibimos */}
|
||||
<label htmlFor="equipo">{titulo}</label>
|
||||
<label>{titulo}</label>
|
||||
|
||||
{/* Renderizamos UN solo <select> con varias <option> */}
|
||||
<select id="equipo">
|
||||
<select>
|
||||
{opcion.map((op, index) => (
|
||||
<option key={index} value={op}>
|
||||
{op}
|
||||
@@ -24,9 +24,6 @@ function ProgramSelector({ titulo, opcion }: DatosEquipo) {
|
||||
))}
|
||||
</select>
|
||||
|
||||
{/* Aquí puedes poner más <option> fijas si quieres */}
|
||||
<option value="">Buscar</option>
|
||||
|
||||
{/* Lista de checkboxes (esto lo podrías optimizar igual con .map) */}
|
||||
<div className="checkbox-grid">
|
||||
<label>
|
||||
|
||||
@@ -58,7 +58,7 @@ function Receipt() {
|
||||
|
||||
|
||||
<div className='groupInput'>
|
||||
<label className='label'>Folio:</label>
|
||||
<label className='label'>Ticket:</label>
|
||||
<input
|
||||
type='text'
|
||||
value={folio}
|
||||
|
||||
@@ -10,7 +10,7 @@ export const LoginRedirect = ({ children }: { children: React.ReactNode }) => {
|
||||
|
||||
useEffect(() => {
|
||||
if (!loading && authenticated) {
|
||||
router.push("/AT/Impresiones");
|
||||
router.push("/Impresiones");
|
||||
}
|
||||
}, [loading, authenticated, router]);
|
||||
|
||||
|
||||
@@ -18,3 +18,4 @@ export const PrivateRoute = ({ children }: { children: React.ReactNode }) => {
|
||||
|
||||
return authenticated ? <>{children}</> : null;
|
||||
};
|
||||
//IO
|
||||
+23
-11
@@ -19,7 +19,7 @@ body {
|
||||
position: relative;
|
||||
font-family: var(--font-poppins), sans-serif;
|
||||
display: grid;
|
||||
grid-template-rows: auto auto 1fr auto;
|
||||
grid-template-rows: auto 1fr auto;
|
||||
min-height: 100dvh;
|
||||
width: 100dvw;
|
||||
overflow: hidden;
|
||||
@@ -33,7 +33,7 @@ header {
|
||||
overflow: hidden;
|
||||
background-color: #f9f9f9;
|
||||
z-index: 1;
|
||||
height: 57px;
|
||||
height: 70px;
|
||||
}
|
||||
|
||||
header::after {
|
||||
@@ -62,12 +62,6 @@ header::before {
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
main {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
footer {
|
||||
position: relative;
|
||||
display: flex;
|
||||
@@ -85,6 +79,16 @@ footer p {
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.mainContainer {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@@ -96,7 +100,7 @@ footer p {
|
||||
border: 1px solid #d1d5db;
|
||||
border-radius: 4px;
|
||||
width: 90%;
|
||||
max-width: 1100px;
|
||||
max-width: 1150px;
|
||||
height: 550px;
|
||||
min-height: 520px;
|
||||
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
||||
@@ -133,6 +137,7 @@ footer p {
|
||||
}
|
||||
|
||||
.img::after {
|
||||
display: flex;
|
||||
content: "";
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
@@ -264,7 +269,6 @@ form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 1rem;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
.gap {
|
||||
@@ -288,6 +292,7 @@ form {
|
||||
background-color: #f3f4f6;
|
||||
border-radius: 6px;
|
||||
flex-wrap: wrap;
|
||||
min-height: 45px;
|
||||
}
|
||||
|
||||
.toggleButton {
|
||||
@@ -390,6 +395,13 @@ table tr {
|
||||
border: 1px solid #ef9a9a;
|
||||
}
|
||||
|
||||
@media (max-width: 1300px) {
|
||||
.container {
|
||||
width: 100%;
|
||||
max-width: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 800px) {
|
||||
header {
|
||||
padding: 6px 16px;
|
||||
@@ -453,4 +465,4 @@ table tr {
|
||||
.container {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+8
-10
@@ -7,14 +7,16 @@ import "./globals.css";
|
||||
import WavesBackground from "./Components/Wave/wavesBack";
|
||||
|
||||
const poppins = Poppins({
|
||||
variable: "--font-poppins", // nombre de la variable CSS
|
||||
variable: "--font-poppins",
|
||||
subsets: ["latin"],
|
||||
weight: ["400", "600", "700"], // pesos que quieras usar
|
||||
weight: ["400", "600", "700"],
|
||||
});
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Nexus CEDETEC",
|
||||
description: "Nexus CEDETEC - Frontend",
|
||||
title: "Servicio AT",
|
||||
description: "Servicio de administracion de la FES Acatlan",
|
||||
authors: [{ name: "FES Acatlán" }],
|
||||
creator: "Lino,Axel,Carlos",
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
@@ -26,12 +28,8 @@ export default function RootLayout({
|
||||
<html lang="es">
|
||||
<body className={poppins.variable}>
|
||||
<Header />
|
||||
<BarNavigation />
|
||||
<main>
|
||||
<div className="container">
|
||||
<div className="img"></div>
|
||||
{children}
|
||||
</div>
|
||||
{children}
|
||||
<WavesBackground />
|
||||
</main>
|
||||
<Footer />
|
||||
@@ -39,4 +37,4 @@ export default function RootLayout({
|
||||
</html>
|
||||
);
|
||||
}
|
||||
//IO
|
||||
//IO
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
|
||||
import { NextResponse } from 'next/server';
|
||||
import type { NextRequest } from 'next/server';
|
||||
|
||||
export function middleware(request: NextRequest) {
|
||||
const token = request.cookies.get('token');
|
||||
|
||||
if (!token) {
|
||||
console.log('No hay token, redirigiendo a la página de inicio de sesión');
|
||||
return NextResponse.redirect(new URL('/', request.url));
|
||||
}
|
||||
|
||||
return NextResponse.next();
|
||||
}
|
||||
//IO
|
||||
+9
-4
@@ -3,9 +3,14 @@ import { LoginRedirect } from "./Routes/LoginRedirect";
|
||||
|
||||
export default function Home() {
|
||||
return (
|
||||
<LoginRedirect>
|
||||
<Login />
|
||||
</LoginRedirect>
|
||||
<div className="mainContainer">
|
||||
<LoginRedirect>
|
||||
<div className="container">
|
||||
<div className="img"></div>
|
||||
<Login />
|
||||
</div>
|
||||
</LoginRedirect>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
//IO
|
||||
//IO
|
||||
|
||||
Generated
+43
-43
@@ -9,7 +9,7 @@
|
||||
"version": "0.1.0",
|
||||
"dependencies": {
|
||||
"axios": "^1.11.0",
|
||||
"next": "15.4.6",
|
||||
"next": "^15.5.3",
|
||||
"react": "19.1.0",
|
||||
"react-dom": "19.1.0",
|
||||
"react-icons": "^5.5.0"
|
||||
@@ -450,15 +450,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/env": {
|
||||
"version": "15.4.6",
|
||||
"resolved": "https://registry.npmjs.org/@next/env/-/env-15.4.6.tgz",
|
||||
"integrity": "sha512-yHDKVTcHrZy/8TWhj0B23ylKv5ypocuCwey9ZqPyv4rPdUdRzpGCkSi03t04KBPyU96kxVtUqx6O3nE1kpxASQ==",
|
||||
"version": "15.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@next/env/-/env-15.5.3.tgz",
|
||||
"integrity": "sha512-RSEDTRqyihYXygx/OJXwvVupfr9m04+0vH8vyy0HfZ7keRto6VX9BbEk0J2PUk0VGy6YhklJUSrgForov5F9pw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@next/swc-darwin-arm64": {
|
||||
"version": "15.4.6",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.4.6.tgz",
|
||||
"integrity": "sha512-667R0RTP4DwxzmrqTs4Lr5dcEda9OxuZsVFsjVtxVMVhzSpo6nLclXejJVfQo2/g7/Z9qF3ETDmN3h65mTjpTQ==",
|
||||
"version": "15.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.5.3.tgz",
|
||||
"integrity": "sha512-nzbHQo69+au9wJkGKTU9lP7PXv0d1J5ljFpvb+LnEomLtSbJkbZyEs6sbF3plQmiOB2l9OBtN2tNSvCH1nQ9Jg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -472,9 +472,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-darwin-x64": {
|
||||
"version": "15.4.6",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.4.6.tgz",
|
||||
"integrity": "sha512-KMSFoistFkaiQYVQQnaU9MPWtp/3m0kn2Xed1Ces5ll+ag1+rlac20sxG+MqhH2qYWX1O2GFOATQXEyxKiIscg==",
|
||||
"version": "15.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.5.3.tgz",
|
||||
"integrity": "sha512-w83w4SkOOhekJOcA5HBvHyGzgV1W/XvOfpkrxIse4uPWhYTTRwtGEM4v/jiXwNSJvfRvah0H8/uTLBKRXlef8g==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -488,9 +488,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-arm64-gnu": {
|
||||
"version": "15.4.6",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.4.6.tgz",
|
||||
"integrity": "sha512-PnOx1YdO0W7m/HWFeYd2A6JtBO8O8Eb9h6nfJia2Dw1sRHoHpNf6lN1U4GKFRzRDBi9Nq2GrHk9PF3Vmwf7XVw==",
|
||||
"version": "15.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.5.3.tgz",
|
||||
"integrity": "sha512-+m7pfIs0/yvgVu26ieaKrifV8C8yiLe7jVp9SpcIzg7XmyyNE7toC1fy5IOQozmr6kWl/JONC51osih2RyoXRw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -504,9 +504,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-arm64-musl": {
|
||||
"version": "15.4.6",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.4.6.tgz",
|
||||
"integrity": "sha512-XBbuQddtY1p5FGPc2naMO0kqs4YYtLYK/8aPausI5lyOjr4J77KTG9mtlU4P3NwkLI1+OjsPzKVvSJdMs3cFaw==",
|
||||
"version": "15.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.5.3.tgz",
|
||||
"integrity": "sha512-u3PEIzuguSenoZviZJahNLgCexGFhso5mxWCrrIMdvpZn6lkME5vc/ADZG8UUk5K1uWRy4hqSFECrON6UKQBbQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -520,9 +520,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-x64-gnu": {
|
||||
"version": "15.4.6",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.4.6.tgz",
|
||||
"integrity": "sha512-+WTeK7Qdw82ez3U9JgD+igBAP75gqZ1vbK6R8PlEEuY0OIe5FuYXA4aTjL811kWPf7hNeslD4hHK2WoM9W0IgA==",
|
||||
"version": "15.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.5.3.tgz",
|
||||
"integrity": "sha512-lDtOOScYDZxI2BENN9m0pfVPJDSuUkAD1YXSvlJF0DKwZt0WlA7T7o3wrcEr4Q+iHYGzEaVuZcsIbCps4K27sA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -536,9 +536,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-linux-x64-musl": {
|
||||
"version": "15.4.6",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.4.6.tgz",
|
||||
"integrity": "sha512-XP824mCbgQsK20jlXKrUpZoh/iO3vUWhMpxCz8oYeagoiZ4V0TQiKy0ASji1KK6IAe3DYGfj5RfKP6+L2020OQ==",
|
||||
"version": "15.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.5.3.tgz",
|
||||
"integrity": "sha512-9vWVUnsx9PrY2NwdVRJ4dUURAQ8Su0sLRPqcCCxtX5zIQUBES12eRVHq6b70bbfaVaxIDGJN2afHui0eDm+cLg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -552,9 +552,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-win32-arm64-msvc": {
|
||||
"version": "15.4.6",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.4.6.tgz",
|
||||
"integrity": "sha512-FxrsenhUz0LbgRkNWx6FRRJIPe/MI1JRA4W4EPd5leXO00AZ6YU8v5vfx4MDXTvN77lM/EqsE3+6d2CIeF5NYg==",
|
||||
"version": "15.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.5.3.tgz",
|
||||
"integrity": "sha512-1CU20FZzY9LFQigRi6jM45oJMU3KziA5/sSG+dXeVaTm661snQP6xu3ykGxxwU5sLG3sh14teO/IOEPVsQMRfA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -568,9 +568,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@next/swc-win32-x64-msvc": {
|
||||
"version": "15.4.6",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.4.6.tgz",
|
||||
"integrity": "sha512-T4ufqnZ4u88ZheczkBTtOF+eKaM14V8kbjud/XrAakoM5DKQWjW09vD6B9fsdsWS2T7D5EY31hRHdta7QKWOng==",
|
||||
"version": "15.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.5.3.tgz",
|
||||
"integrity": "sha512-JMoLAq3n3y5tKXPQwCK5c+6tmwkuFDa2XAxz8Wm4+IVthdBZdZGh+lmiLUHg9f9IDwIQpUjp+ysd6OkYTyZRZw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -629,9 +629,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/axios": {
|
||||
"version": "1.11.0",
|
||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz",
|
||||
"integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==",
|
||||
"version": "1.12.1",
|
||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.12.1.tgz",
|
||||
"integrity": "sha512-Kn4kbSXpkFHCGE6rBFNwIv0GQs4AvDT80jlveJDKFxjbTYMUeB4QtsdPCv6H8Cm19Je7IU6VFtRl2zWZI0rudQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"follow-redirects": "^1.15.6",
|
||||
@@ -1009,12 +1009,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/next": {
|
||||
"version": "15.4.6",
|
||||
"resolved": "https://registry.npmjs.org/next/-/next-15.4.6.tgz",
|
||||
"integrity": "sha512-us++E/Q80/8+UekzB3SAGs71AlLDsadpFMXVNM/uQ0BMwsh9m3mr0UNQIfjKed8vpWXsASe+Qifrnu1oLIcKEQ==",
|
||||
"version": "15.5.3",
|
||||
"resolved": "https://registry.npmjs.org/next/-/next-15.5.3.tgz",
|
||||
"integrity": "sha512-r/liNAx16SQj4D+XH/oI1dlpv9tdKJ6cONYPwwcCC46f2NjpaRWY+EKCzULfgQYV6YKXjHBchff2IZBSlZmJNw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@next/env": "15.4.6",
|
||||
"@next/env": "15.5.3",
|
||||
"@swc/helpers": "0.5.15",
|
||||
"caniuse-lite": "^1.0.30001579",
|
||||
"postcss": "8.4.31",
|
||||
@@ -1027,14 +1027,14 @@
|
||||
"node": "^18.18.0 || ^19.8.0 || >= 20.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@next/swc-darwin-arm64": "15.4.6",
|
||||
"@next/swc-darwin-x64": "15.4.6",
|
||||
"@next/swc-linux-arm64-gnu": "15.4.6",
|
||||
"@next/swc-linux-arm64-musl": "15.4.6",
|
||||
"@next/swc-linux-x64-gnu": "15.4.6",
|
||||
"@next/swc-linux-x64-musl": "15.4.6",
|
||||
"@next/swc-win32-arm64-msvc": "15.4.6",
|
||||
"@next/swc-win32-x64-msvc": "15.4.6",
|
||||
"@next/swc-darwin-arm64": "15.5.3",
|
||||
"@next/swc-darwin-x64": "15.5.3",
|
||||
"@next/swc-linux-arm64-gnu": "15.5.3",
|
||||
"@next/swc-linux-arm64-musl": "15.5.3",
|
||||
"@next/swc-linux-x64-gnu": "15.5.3",
|
||||
"@next/swc-linux-x64-musl": "15.5.3",
|
||||
"@next/swc-win32-arm64-msvc": "15.5.3",
|
||||
"@next/swc-win32-x64-msvc": "15.5.3",
|
||||
"sharp": "^0.34.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": "^1.11.0",
|
||||
"next": "15.4.6",
|
||||
"next": "^15.5.3",
|
||||
"react": "19.1.0",
|
||||
"react-dom": "19.1.0",
|
||||
"react-icons": "^5.5.0"
|
||||
|
||||
Reference in New Issue
Block a user