404 y libreria

This commit is contained in:
luis cespedes 2025-05-06 11:12:08 -04:00
parent 0d69e3be08
commit ee8d0d0889
8 changed files with 110 additions and 95 deletions

3
.gitignore vendored
View File

@ -40,3 +40,6 @@ testem.log
# System files
.DS_Store
Thumbs.db
.sonarlint
.vscode
.scannerwork

92
package-lock.json generated
View File

@ -24,7 +24,6 @@
"primeng": "^19.1.0",
"rxjs": "~7.8.0",
"tslib": "^2.3.0",
"xlsx": "^0.18.5",
"zone.js": "~0.15.0"
},
"devDependencies": {
@ -5614,15 +5613,6 @@
"node": ">=8.9.0"
}
},
"node_modules/adler-32": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz",
"integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==",
"license": "Apache-2.0",
"engines": {
"node": ">=0.8"
}
},
"node_modules/agent-base": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz",
@ -6497,19 +6487,6 @@
],
"license": "CC-BY-4.0"
},
"node_modules/cfb": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.2.tgz",
"integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==",
"license": "Apache-2.0",
"dependencies": {
"adler-32": "~1.3.0",
"crc-32": "~1.2.0"
},
"engines": {
"node": ">=0.8"
}
},
"node_modules/chainsaw": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz",
@ -6764,15 +6741,6 @@
"node": ">=0.10.0"
}
},
"node_modules/codepage": {
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/codepage/-/codepage-1.15.0.tgz",
"integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==",
"license": "Apache-2.0",
"engines": {
"node": ">=0.8"
}
},
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@ -8366,15 +8334,6 @@
"node": ">= 0.6"
}
},
"node_modules/frac": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/frac/-/frac-1.1.2.tgz",
"integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==",
"license": "Apache-2.0",
"engines": {
"node": ">=0.8"
}
},
"node_modules/fraction.js": {
"version": "4.3.7",
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
@ -13654,18 +13613,6 @@
"dev": true,
"license": "BSD-3-Clause"
},
"node_modules/ssf": {
"version": "0.11.2",
"resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz",
"integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==",
"license": "Apache-2.0",
"dependencies": {
"frac": "~1.1.2"
},
"engines": {
"node": ">=0.8"
}
},
"node_modules/ssri": {
"version": "12.0.0",
"resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz",
@ -15330,24 +15277,6 @@
"dev": true,
"license": "MIT"
},
"node_modules/wmf": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz",
"integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==",
"license": "Apache-2.0",
"engines": {
"node": ">=0.8"
}
},
"node_modules/word": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz",
"integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==",
"license": "Apache-2.0",
"engines": {
"node": ">=0.8"
}
},
"node_modules/wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
@ -15520,27 +15449,6 @@
}
}
},
"node_modules/xlsx": {
"version": "0.18.5",
"resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.18.5.tgz",
"integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==",
"license": "Apache-2.0",
"dependencies": {
"adler-32": "~1.3.0",
"cfb": "~1.2.1",
"codepage": "~1.15.0",
"crc-32": "~1.2.1",
"ssf": "~0.11.2",
"wmf": "~1.0.1",
"word": "~0.3.0"
},
"bin": {
"xlsx": "bin/xlsx.njs"
},
"engines": {
"node": ">=0.8"
}
},
"node_modules/xmlchars": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",

View File

@ -26,7 +26,6 @@
"primeng": "^19.1.0",
"rxjs": "~7.8.0",
"tslib": "^2.3.0",
"xlsx": "^0.18.5",
"zone.js": "~0.15.0"
},
"devDependencies": {

47
sonar-project.properties Normal file
View File

@ -0,0 +1,47 @@
# # Información del proyecto
# sonar.projectKey=Cronogramas-siis-angular-primeng
# sonar.projectName=Cronogramas-siis-angular-primeng
# sonar.projectVersion=1.0.0
# # Ruta del código fuente
# sonar.sources=src
# sonar.exclusions=**/node_modules/**,**/*.spec.ts,**/environments/**,**/assets/**
# # Configuración TypeScript
# sonar.typescript.lcov.reportPaths=coverage/lcov.info
# sonar.javascript.lcov.reportPaths=coverage/lcov.info
# # URL de SonarQube y token de autenticación
# sonar.host.url=https://sonar.valposystems.com/
# sonar.token=sqp_487feb210e11c5b295651af4436a265b335cc063
# sonar.scanner.responseTimeout=300
# sonar.internal.analysis.failFast=false
# sonar-scanner \
# -Dsonar.projectKey=cronogramas-valposystems \
# -Dsonar.sources=. \
# -Dsonar.host.url=https://sonarqubelts-community-production-662c.up.railway.app \
# -Dsonar.login=sqp_a371c9d9d6b0099fd6287be83496cd3c16b3674f
# Información del proyecto
sonar.projectKey=cronogramas-valposystems
sonar.projectName=cronogramas-valposystems
sonar.projectVersion=1.0.0
# Ruta del código fuente
sonar.sources=src
sonar.exclusions=**/node_modules/**,**/*.spec.ts,**/environments/**,**/assets/**
# Configuración TypeScript
sonar.typescript.lcov.reportPaths=coverage/lcov.info
sonar.javascript.lcov.reportPaths=coverage/lcov.info
# URL de SonarQube y token de autenticación
sonar.host.url=https://sonar.lcespedes.dev/
# Usa sonar.token en lugar de sonar.login
sonar.login=sqp_a371c9d9d6b0099fd6287be83496cd3c16b3674f
# Configuración de timeout y análisis
sonar.scanner.responseTimeout=300
sonar.internal.analysis.failFast=false

View File

@ -24,7 +24,7 @@ export const routes: Routes = [
{ path: 'ct-ajuste', component: AjustePdComponent, data: { title: 'Cronograma temporal por ajuste de PD' } },
{ path: 'resumen', component: ResumenComponent, data: { title: 'Resumen' } },
{ path: 'unidad-informacion', component: UnidadInformacionComponent, data: { title: 'Unidad de Información' } },
{ path: '404', component: NotFoundComponent },
{ path: '404', component: NotFoundComponent , data: { title: 'Error 404' } },
]
},
{ path: '**', redirectTo: '404' }

View File

@ -1 +1,8 @@
<h1>no hay nada aca</h1>
<!-- error-404.component.html -->
<div class="error-container">
<div class="error-content">
<h1 class="error-title">404</h1>
<p class="error-message">Página no encontrada</p>
<button class="error-button" (click)="volverAlInicio()">Volver al inicio</button>
</div>
</div>

View File

@ -0,0 +1,43 @@
/* error-404.component.css */
.error-container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 100vh;
background-color: #f3f4f6;
}
.error-content {
text-align: center;
}
.error-title {
font-size: 9rem;
font-weight: 700;
color: #1f2937;
}
.error-message {
font-size: 1.5rem;
font-weight: 500;
color: #4b5563;
margin-top: 1rem;
margin-bottom: 2rem;
}
.error-button {
background-color: #2563eb;
color: white;
font-weight: 700;
padding: 0.75rem 1.5rem;
border-radius: 0.5rem;
transition: background-color 0.3s;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
border: none;
cursor: pointer;
}
.error-button:hover {
background-color: #1d4ed8;
}

View File

@ -1,4 +1,5 @@
import { Component } from '@angular/core';
import { Router } from '@angular/router';
@Component({
selector: 'app-not-found',
@ -8,4 +9,11 @@ import { Component } from '@angular/core';
})
export class NotFoundComponent {
constructor(private readonly router: Router) {}
volverAlInicio() {
this.router.navigate(['/']);
}
}