Skip to content

Commit 49ebe36

Browse files
Layout Responsivo + Forms
1 parent 0dac0f0 commit 49ebe36

43 files changed

Lines changed: 800 additions & 180 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Front/BrnEventos-App/package-lock.json

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Front/BrnEventos-App/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
"@angular/router": "^13.0.0",
2525
"@fortawesome/fontawesome-free": "^6.1.1",
2626
"bootstrap": "^5.2.0",
27+
"bootswatch": "^5.2.0",
2728
"ngx-bootstrap": "^8.0.0",
2829
"ngx-spinner": "^13.1.1",
2930
"ngx-toastr": "^13.2.1",

Front/BrnEventos-App/src/app/app-routing.module.ts

Lines changed: 34 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,45 @@
1-
import { NgModule } from '@angular/core';
1+
import { NgModule, Component } from '@angular/core';
22
import { RouterModule, Routes } from '@angular/router';
33

4-
import { EventosComponent } from './components/eventos/eventos.component';
5-
import { ContatosComponent } from './components/contatos/contatos.component';
64
import { DashboardComponent } from './components/dashboard/dashboard.component';
75
import { PalestrantesComponent } from './components/palestrantes/palestrantes.component';
8-
import { PerfilComponent } from './components/perfil/perfil.component';
6+
7+
import { EventosComponent } from './components/eventos/eventos.component';
8+
import { EventoDetalheComponent } from './components/eventos/evento-detalhe/evento-detalhe.component';
9+
import { EventoListaComponent } from './components/eventos/evento-lista/evento-lista.component';
10+
11+
import { UserComponent } from './components/user/user.component';
12+
import { PerfilComponent } from './components/user/perfil/perfil.component';
13+
import { LoginComponent } from './components/user/login/login.component';
14+
import { RegistroComponent } from './components/user/registro/registro.component';
15+
import { ContatosComponent } from './components/contatos/contatos.component';
916

1017
const routes: Routes = [
11-
{path: 'evento', component: EventosComponent},
12-
{path: 'contato', component: ContatosComponent},
18+
{
19+
path: 'user', component: UserComponent,
20+
children: [
21+
{ path: 'login', component: LoginComponent },
22+
{ path: 'registro', component: RegistroComponent }
23+
24+
]
25+
},
26+
{
27+
path: 'user/perfil', component: PerfilComponent
28+
},
29+
{ path: 'eventos', redirectTo: 'eventos/lista'},
30+
{
31+
path: 'eventos', component: EventosComponent,
32+
children: [
33+
{ path: 'detalhe/:id', component: EventoDetalheComponent},
34+
{ path: 'detalhe', component: EventoDetalheComponent},
35+
{ path: 'lista', component: EventoListaComponent},
36+
]
37+
},
38+
{path: 'contatos', component: ContatosComponent},
1339
{path: 'dashboard', component: DashboardComponent},
14-
{path: 'palestrante', component: PalestrantesComponent},
15-
{path: 'perfil', component: PerfilComponent},
40+
{path: 'palestrantes', component: PalestrantesComponent},
1641
{path: '', redirectTo: 'dashboard', pathMatch: 'full'},
17-
{path: '**', redirectTo: 'dashboard', pathMatch: 'full'}
42+
{path: '**', redirectTo: 'dashboard', pathMatch: 'full'},
1843
];
1944

2045
@NgModule({

Front/BrnEventos-App/src/app/app.module.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,17 @@ import { DashboardComponent } from './components/dashboard/dashboard.component';
1919
import { EventosComponent } from './components/eventos/eventos.component';
2020
import { PalestrantesComponent } from './components/palestrantes/palestrantes.component';
2121
import { TituloComponent } from './shared/titulo/titulo.component';
22-
import { PerfilComponent } from './components/perfil/perfil.component';
22+
import { PerfilComponent } from './components/user/perfil/perfil.component';
2323
import { NavComponent } from './shared/nav/nav.component';
24+
import { EventoDetalheComponent } from './components/eventos/evento-detalhe/evento-detalhe.component';
25+
import { EventoListaComponent } from './components/eventos/evento-lista/evento-lista.component';
2426

2527
import { EventoService } from './services/evento.service';
2628

2729
import { DateTimeFormatPipe } from './helpers/DateTimeFormat.pipe';
30+
import { UserComponent } from './components/user/user.component';
31+
import { LoginComponent } from './components/user/login/login.component';
32+
import { RegistroComponent } from './components/user/registro/registro.component';
2833

2934
@NgModule({
3035
declarations: [
@@ -36,7 +41,12 @@ import { DateTimeFormatPipe } from './helpers/DateTimeFormat.pipe';
3641
PerfilComponent,
3742
NavComponent,
3843
TituloComponent,
39-
DateTimeFormatPipe
44+
DateTimeFormatPipe,
45+
EventoDetalheComponent,
46+
EventoListaComponent,
47+
UserComponent,
48+
LoginComponent,
49+
RegistroComponent
4050
],
4151
imports: [
4252
BrowserModule,
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
<app-titulo [titulo]="'Contatos'"></app-titulo>
2+
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<div class="card rouded shadow-sm bg-transparent">
2+
<form>
3+
<div class="p-3">
4+
<div class="row">
5+
<div class="form-group col-md-12">
6+
<label class="my-2">Tema</label>
7+
<input type="text" class="form-control mb-2" placeholder="Insira o Tema">
8+
</div>
9+
</div>
10+
<div class="row">
11+
<div class="form-group col-md-8">
12+
<label class="my-2">Local</label>
13+
<input type="text" class="form-control mb-2" placeholder="">
14+
</div>
15+
<div class="form-group col-md-4">
16+
<label class="my-2">Data e Hora</label>
17+
<input type="datetime" class="form-control mb-2" placeholder="">
18+
</div>
19+
</div>
20+
<div class="row">
21+
<div class="form-group col-md-2">
22+
<label class="my-2">Qtd Pessoas</label>
23+
<input type="text" class="form-control mb-2" placeholder="">
24+
</div>
25+
<div class="form-group col-md-4">
26+
<label class="my-2">Telefone</label>
27+
<input type="text" class="form-control mb-2" placeholder="(000) 90000-0000">
28+
</div>
29+
<div class="form-group col-md-6">
30+
<label class="my-2">Email</label>
31+
<input type="text" class="form-control mb-2" placeholder="e-mail">
32+
</div>
33+
</div>
34+
</div>
35+
<div class="card-footer">
36+
<div class="d-flex">
37+
<button class="btn btn-outline-secondary me-auto border-2">
38+
Cancelar Alteração
39+
</button>
40+
<button class="btn btn-success">
41+
<!-- <span class="spinner-border spinner-border-sm me-1"></span> -->
42+
Salvar Evento
43+
</button>
44+
</div>
45+
</div>
46+
</form>
47+
</div>

Front/BrnEventos-App/src/app/components/perfil/perfil.component.scss renamed to Front/BrnEventos-App/src/app/components/eventos/evento-detalhe/evento-detalhe.component.scss

File renamed without changes.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { ComponentFixture, TestBed } from '@angular/core/testing';
2+
3+
import { EventoDetalheComponent } from './evento-detalhe.component';
4+
5+
describe('EventoDetalheComponent', () => {
6+
let component: EventoDetalheComponent;
7+
let fixture: ComponentFixture<EventoDetalheComponent>;
8+
9+
beforeEach(async () => {
10+
await TestBed.configureTestingModule({
11+
declarations: [ EventoDetalheComponent ]
12+
})
13+
.compileComponents();
14+
});
15+
16+
beforeEach(() => {
17+
fixture = TestBed.createComponent(EventoDetalheComponent);
18+
component = fixture.componentInstance;
19+
fixture.detectChanges();
20+
});
21+
22+
it('should create', () => {
23+
expect(component).toBeTruthy();
24+
});
25+
});
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { Component, OnInit } from '@angular/core';
2+
3+
@Component({
4+
selector: 'app-evento-detalhe',
5+
templateUrl: './evento-detalhe.component.html',
6+
styleUrls: ['./evento-detalhe.component.scss']
7+
})
8+
export class EventoDetalheComponent implements OnInit {
9+
10+
constructor() { }
11+
12+
ngOnInit(): void {
13+
}
14+
15+
}
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<div class="card rouded shadow-sm p-3 bg-transparent">
2+
3+
<div class="d-flex">
4+
<div class="flex-fill">
5+
<div class="input-group mb-2">
6+
<div class="input-group-prepend">
7+
<div class="input-group-text">Filtro:</div>
8+
</div>
9+
<input type="text" class="form-control me-2" placeholder="Buscar por Tema ou Local" [(ngModel)]="filtroLista" />
10+
</div>
11+
</div>
12+
<div>
13+
<a class="d-flex btn btn-outline-blue" routerLink="/eventos/detalhe">
14+
<i class="fa fa-plus-circle my-1 me-2"></i>
15+
<b class="d-none d-sm-block text-capitalize">novo</b>
16+
</a>
17+
</div>
18+
19+
</div>
20+
<table class="table table-striped table-hover">
21+
<thead class="table-dark">
22+
<tr>
23+
<th class="d-none d-md-table-cell">
24+
<button class="btn btn-outline-light btn-sm border-2" (click)="alterarImagem()">
25+
<i class="{{!showimg ? 'fa fa-eye' : 'fa fa-eye-slash'}}"></i>
26+
{{!showimg ? "Exibir" : "Ocultar"}}
27+
</button>
28+
</th>
29+
<th>#</th>
30+
<th>Tema</th>
31+
<th class="d-none d-md-table-cell">Local</th>
32+
<th>Data</th>
33+
<th class="d-none d-md-table-cell">Qtd Pessoas</th>
34+
<th class="d-none d-md-table-cell">Lote</th>
35+
<th>Opções</th>
36+
</tr>
37+
</thead>
38+
<tbody *ngIf="eventos && eventos.length">
39+
<tr *ngFor="let evento of eventosFiltrados" (click)="detalheEvento(evento.id)" style="cursor: pointer">
40+
<td class="d-none d-md-table-cell">
41+
<img [collapse]="!showimg" [isAnimated]="true" src="../../assets/img/evento/{{evento.imagemURL}}"
42+
alt="Imagens do Evento" [style.width.px]="widthImg" [style.height.px]="heightimg"
43+
[style.margin.px]="marginImg" />
44+
</td>
45+
<td>{{evento.id}}</td>
46+
<td>{{evento.tema}}</td>
47+
<td class="d-none d-md-table-cell">{{evento.local}}</td>
48+
<td>{{evento.dataEvento | DateTimeFormatPipe }}</td>
49+
<td class="d-none d-md-table-cell">{{evento.qtdPessoas}}</td>
50+
<td class="d-none d-md-table-cell">{{evento.lotes[0].nome | uppercase }}</td>
51+
<td>
52+
<button type="button" data-toggle="tooltip" title="Excluir" class="btn btn-danger btn-lg"
53+
(click)="openModal(template)">
54+
<i class="fa fa-trash"></i>
55+
</button>
56+
</td>
57+
</tr>
58+
</tbody>
59+
<tfoot *ngIf="!eventos.length">
60+
<tr>
61+
<td colspan="8" class="text-center">
62+
<h3>Nenhum Evento Encontrado!</h3>
63+
</td>
64+
</tr>
65+
</tfoot>
66+
</table>
67+
68+
</div>
69+
70+
<!-- {{eventos | json}} -->
71+
72+
<ng-template #template>
73+
<div class="modal-body text-center">
74+
<h4>Tem certeza que deseja deletar este Evento?</h4>
75+
<button type="button" class="btn btn-default me-2" (click)="confirm()">Sim</button>
76+
<button type="button" class="btn btn-primary" (click)="decline()">Não</button>
77+
</div>
78+
</ng-template>

0 commit comments

Comments
 (0)