Login v2 + Footer
This commit is contained in:
parent
91543de1dd
commit
04597dfed1
19
src/app/components/footer/footer.component.html
Normal file
19
src/app/components/footer/footer.component.html
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<!-- FOOTER -->
|
||||||
|
<footer class="footer">
|
||||||
|
<div class="footer-content">
|
||||||
|
<div class="footer-left">
|
||||||
|
<i class="pi pi-building"></i>
|
||||||
|
<div class="footer-text">
|
||||||
|
<div>Superintendencia de Servicios Sanitarios</div>
|
||||||
|
<div>Área de Información y Tecnologías</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="footer-center">
|
||||||
|
<img src="img/footer-logo.jpg" alt="SISS Logo" class="footer-logo">
|
||||||
|
</div>
|
||||||
|
<div class="footer-right">
|
||||||
|
<div>Dirección: Moneda 673 Piso 9 - Metro Santa Lucía</div>
|
||||||
|
<div>Mesa Central: 2 2382 4000</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
50
src/app/components/footer/footer.component.scss
Normal file
50
src/app/components/footer/footer.component.scss
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
/* Footer Styles */
|
||||||
|
.footer {
|
||||||
|
background-color: #0088cc;
|
||||||
|
color: white;
|
||||||
|
padding: 1rem 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-content {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
max-width: 1200px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-left, .footer-right {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 0.8rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-left {
|
||||||
|
gap: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-text {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-logo {
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-right {
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Responsive styles */
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.footer-content {
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-right {
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
23
src/app/components/footer/footer.component.spec.ts
Normal file
23
src/app/components/footer/footer.component.spec.ts
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { FooterComponent } from './footer.component';
|
||||||
|
|
||||||
|
describe('FooterComponent', () => {
|
||||||
|
let component: FooterComponent;
|
||||||
|
let fixture: ComponentFixture<FooterComponent>;
|
||||||
|
|
||||||
|
beforeEach(async () => {
|
||||||
|
await TestBed.configureTestingModule({
|
||||||
|
imports: [FooterComponent]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
|
||||||
|
fixture = TestBed.createComponent(FooterComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
11
src/app/components/footer/footer.component.ts
Normal file
11
src/app/components/footer/footer.component.ts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import { Component } from '@angular/core';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-footer',
|
||||||
|
imports: [],
|
||||||
|
templateUrl: './footer.component.html',
|
||||||
|
styleUrl: './footer.component.scss'
|
||||||
|
})
|
||||||
|
export class FooterComponent {
|
||||||
|
|
||||||
|
}
|
||||||
@ -64,6 +64,7 @@
|
|||||||
padding: 0.5rem 0;
|
padding: 0.5rem 0;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sidebar-menu {
|
.sidebar-menu {
|
||||||
|
|||||||
@ -37,4 +37,56 @@
|
|||||||
</p>
|
</p>
|
||||||
</p-accordionTab>
|
</p-accordionTab>
|
||||||
</p-accordion>
|
</p-accordion>
|
||||||
|
|
||||||
|
<p-accordion [multiple]="true">
|
||||||
|
<p-accordionTab header="Header I" [selected]="true">
|
||||||
|
<p>
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
||||||
|
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
||||||
|
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
||||||
|
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
||||||
|
laborum.
|
||||||
|
</p>
|
||||||
|
</p-accordionTab>
|
||||||
|
|
||||||
|
<p-accordionTab header="Header II">
|
||||||
|
<p>
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
||||||
|
magna aliqua.
|
||||||
|
</p>
|
||||||
|
</p-accordionTab>
|
||||||
|
|
||||||
|
<p-accordionTab header="Header III">
|
||||||
|
<p>
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||||
|
</p>
|
||||||
|
</p-accordionTab>
|
||||||
|
</p-accordion>
|
||||||
|
|
||||||
|
<p-accordion [multiple]="true">
|
||||||
|
<p-accordionTab header="Header I" [selected]="true">
|
||||||
|
<p>
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
||||||
|
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
||||||
|
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
||||||
|
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
||||||
|
laborum.
|
||||||
|
</p>
|
||||||
|
</p-accordionTab>
|
||||||
|
|
||||||
|
<p-accordionTab header="Header II">
|
||||||
|
<p>
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
||||||
|
magna aliqua.
|
||||||
|
</p>
|
||||||
|
</p-accordionTab>
|
||||||
|
|
||||||
|
<p-accordionTab header="Header III">
|
||||||
|
<p>
|
||||||
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||||
|
</p>
|
||||||
|
</p-accordionTab>
|
||||||
|
</p-accordion>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- FOOTER -->
|
||||||
|
<app-footer></app-footer>
|
||||||
@ -4,12 +4,14 @@ import { CommonModule } from '@angular/common';
|
|||||||
// Importaciones de PrimeNG
|
// Importaciones de PrimeNG
|
||||||
import { CardModule } from 'primeng/card';
|
import { CardModule } from 'primeng/card';
|
||||||
import { AccordionModule } from 'primeng/accordion';
|
import { AccordionModule } from 'primeng/accordion';
|
||||||
|
import { FooterComponent } from "../../components/footer/footer.component";
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-home',
|
selector: 'app-home',
|
||||||
imports: [
|
imports: [
|
||||||
CommonModule,
|
CommonModule,
|
||||||
CardModule,
|
CardModule,
|
||||||
AccordionModule
|
AccordionModule,
|
||||||
|
FooterComponent
|
||||||
],
|
],
|
||||||
standalone: true,
|
standalone: true,
|
||||||
templateUrl: './home.component.html',
|
templateUrl: './home.component.html',
|
||||||
|
|||||||
@ -1,43 +1,17 @@
|
|||||||
<!-- Header container -->
|
<!-- Header container -->
|
||||||
<!-- <div class="header">
|
|
||||||
<div class="header-content">
|
|
||||||
<img src="img/header2.jpg" alt="SISS Logo" class="siss-logo">
|
|
||||||
<img src="img/gota.png" alt="gota" class="water-drop">
|
|
||||||
<div class="sacg-container">
|
|
||||||
<div class="sacg-title">
|
|
||||||
<span>SACG</span>
|
|
||||||
<div class="version-badge">1.0</div>
|
|
||||||
</div>
|
|
||||||
<div class="sacg-subtitle">Sistema Administrador de Cronogramas</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div> -->
|
|
||||||
|
|
||||||
<!-- <div class="header-container">
|
|
||||||
<div class="header-image" style="background-image: url('img/header2.jpg'); height: 190px;" >
|
|
||||||
<div class="text-drop text-center" style="background-image: url('img/gota.png'); height: 60px;width: 41px;">1.0</div>
|
|
||||||
<div class="sacg-container">
|
|
||||||
<div class="sacg-title">
|
|
||||||
<span>SACG</span>
|
|
||||||
<div class="version-badge">1.0</div>
|
|
||||||
</div>
|
|
||||||
<div class="sacg-subtitle">Sistema Administrador de Cronogramas</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div> -->
|
|
||||||
|
|
||||||
<div class="header-container">
|
<div class="header-container">
|
||||||
<div class="header-image" style="background-image: url('img/header2.jpg'); height: 190px; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative;">
|
<div class="header-image">
|
||||||
|
<div class="water-drop-container">
|
||||||
<div class="text-drop" style="background-image: url('img/gota.png'); height: 60px; width: 41px; display: flex; align-items: center; justify-content: center; color: white; top: 33%;left: 47.7%;">1.0</div>
|
<img src="img/gota.png" alt="gota" class="water-drop">
|
||||||
|
<div class="text-drop">1.0</div>
|
||||||
<div class="sacg-container" style="text-align: center;z-index: 2;">
|
</div>
|
||||||
<div class="main-title">SACG</div>
|
<div class="header-text">
|
||||||
<div class="sub-title">Sistema Administrador de Cronogramas</div>
|
<div class="sub-title">Sistema Administrador de Cronogramas</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- MAIN CONTENT -->
|
<!-- MAIN CONTENT -->
|
||||||
@ -73,7 +47,7 @@
|
|||||||
|
|
||||||
<!-- Password -->
|
<!-- Password -->
|
||||||
<div class="p-input-icon-left mb-4">
|
<div class="p-input-icon-left mb-4">
|
||||||
<i class="pi pi-lock"></i>
|
<!-- <i class="pi pi-lock"></i> -->
|
||||||
<input
|
<input
|
||||||
type="password"
|
type="password"
|
||||||
pInputText
|
pInputText
|
||||||
@ -129,23 +103,5 @@
|
|||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
|
|
||||||
<!-- FOOTER -->
|
<!-- FOOTER -->
|
||||||
<footer class="footer">
|
<app-footer></app-footer>
|
||||||
<div class="footer-content">
|
|
||||||
<div class="footer-left">
|
|
||||||
<i class="pi pi-building"></i>
|
|
||||||
<div class="footer-text">
|
|
||||||
<div>Superintendencia de Servicios Sanitarios</div>
|
|
||||||
<div>Área de Información y Tecnologías</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="footer-center">
|
|
||||||
<img src="assets/img/siss-logo-white.png" alt="SISS Logo" class="footer-logo">
|
|
||||||
</div>
|
|
||||||
<div class="footer-right">
|
|
||||||
<div>Dirección: Moneda 673 Piso 9 - Metro Santa Lucía</div>
|
|
||||||
<div>Mesa Central: 2 2382 4000</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
@ -143,60 +143,12 @@
|
|||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Footer Styles */
|
|
||||||
.footer {
|
|
||||||
background-color: #0088cc;
|
|
||||||
color: white;
|
|
||||||
padding: 1rem 2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer-content {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
max-width: 1200px;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer-left, .footer-right {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
font-size: 0.8rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer-left {
|
|
||||||
gap: 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer-text {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer-logo {
|
|
||||||
height: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer-right {
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: flex-end;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Responsive styles */
|
/* Responsive styles */
|
||||||
@media screen and (max-width: 768px) {
|
@media screen and (max-width: 768px) {
|
||||||
.header-content {
|
.header-content {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 1rem;
|
gap: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.footer-content {
|
|
||||||
flex-direction: column;
|
|
||||||
gap: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.footer-right {
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-page-custom {
|
.login-page-custom {
|
||||||
@ -215,28 +167,30 @@
|
|||||||
.header-container {
|
.header-container {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 190px; /* Ajusta según la altura de tu imagen */
|
height: 190px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.water-drop {
|
.water-drop {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
height: 45px; /* Ajusta el tamaño de la gota */
|
height: 45px;
|
||||||
width: auto;
|
width: auto;
|
||||||
top: 30%; /* Posiciona verticalmente */
|
top: 30%;
|
||||||
left: 47%; /* Posiciona horizontalmente */
|
left: 47%;
|
||||||
transform: translateY(-50%); /* Centrado vertical preciso */
|
transform: translateY(-50%);
|
||||||
z-index: 2; /* Asegura que esté sobre la imagen de fondo */
|
z-index: 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-drop {
|
.text-drop {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: auto;
|
width: auto;
|
||||||
top: 33%; /* Posiciona verticalmente */
|
top: 33%;
|
||||||
left: 47.3%; /* Posiciona horizontalmente */
|
left: 47.3%;
|
||||||
transform: translateY(-50%); /* Centrado vertical preciso */
|
transform: translateY(-50%);
|
||||||
z-index: 2; /* Asegura que esté sobre la imagen de fondo */
|
z-index: 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
.header-text {
|
.header-text {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
@ -247,7 +201,7 @@
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
color: #002147; /* Ajusta el color según tu imagen */
|
color: #002147;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
@ -263,8 +217,52 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.sub-title {
|
.sub-title {
|
||||||
font-size: 1.5rem;
|
font-size: 1.8rem;
|
||||||
margin-bottom: 60px;
|
margin-bottom: 60px;
|
||||||
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
|
text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
|
||||||
|
transform: translate(-4%);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.header-image {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 250px;
|
||||||
|
background-image: url('/img/header2.jpg');
|
||||||
|
background-size: cover;
|
||||||
|
background-position: center;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.water-drop-container {
|
||||||
|
position: absolute;
|
||||||
|
top: 30%;
|
||||||
|
left: 49%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
width: 41px;
|
||||||
|
height: 60px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.water-drop {
|
||||||
|
position: absolute;
|
||||||
|
width: 41px;
|
||||||
|
height: 60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-drop {
|
||||||
|
position: relative;
|
||||||
|
color: white;
|
||||||
|
top: 20%;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
z-index: 2;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header-text {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 20px;
|
||||||
|
left: 20px;
|
||||||
|
}
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import { InputTextModule } from 'primeng/inputtext';
|
|||||||
import { ButtonModule } from 'primeng/button';
|
import { ButtonModule } from 'primeng/button';
|
||||||
import { PasswordModule } from 'primeng/password';
|
import { PasswordModule } from 'primeng/password';
|
||||||
import { DividerModule } from 'primeng/divider';
|
import { DividerModule } from 'primeng/divider';
|
||||||
|
import { FooterComponent } from "../../components/footer/footer.component";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-login',
|
selector: 'app-login',
|
||||||
@ -18,7 +19,8 @@ import { DividerModule } from 'primeng/divider';
|
|||||||
InputTextModule,
|
InputTextModule,
|
||||||
ButtonModule,
|
ButtonModule,
|
||||||
PasswordModule,
|
PasswordModule,
|
||||||
DividerModule
|
DividerModule,
|
||||||
|
FooterComponent
|
||||||
],
|
],
|
||||||
templateUrl: './login.component.html',
|
templateUrl: './login.component.html',
|
||||||
styleUrl: './login.component.scss'
|
styleUrl: './login.component.scss'
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user