From 76df8654d6716ad338d9e3d3034275bc778532b9 Mon Sep 17 00:00:00 2001 From: Dhanielxp98 <116531997+DanielCodexp@users.noreply.github.com> Date: Sun, 15 Jan 2023 01:51:29 -0600 Subject: [PATCH 1/8] cambios --- src/app/app.component.html | 5 +- src/app/app.module.ts | 10 +- src/app/auth/auth-routing.module.ts | 10 ++ src/app/auth/auth.module.ts | 14 ++ src/app/helper/form-helper.ts | 11 ++ src/app/interface/UserProfile.ts | 61 +++++++ src/app/interface/cars-interface.ts | 16 ++ src/app/interface/countries.ts | 10 ++ src/app/interface/faq.ts | 5 + src/app/pages/home/home.component.html | 0 src/app/pages/home/home.component.scss | 153 ++++++++++++++++++ src/app/pages/home/home.component.ts | 20 +++ src/app/pages/pages-routing.module.ts | 10 ++ src/app/pages/pages.module.ts | 21 +++ src/app/services/base-service.service.ts | 17 ++ src/app/services/cars.service.ts | 74 +++++++++ src/app/services/shared.service.ts | 15 ++ src/app/shared/navbar/navbar.component.html | 22 +++ src/app/shared/navbar/navbar.component.scss | 0 .../shared/navbar/navbar.component.spec.ts | 23 +++ src/app/shared/navbar/navbar.component.ts | 15 ++ 21 files changed, 509 insertions(+), 3 deletions(-) create mode 100644 src/app/auth/auth-routing.module.ts create mode 100644 src/app/auth/auth.module.ts create mode 100644 src/app/helper/form-helper.ts create mode 100644 src/app/interface/UserProfile.ts create mode 100644 src/app/interface/cars-interface.ts create mode 100644 src/app/interface/countries.ts create mode 100644 src/app/interface/faq.ts create mode 100644 src/app/pages/home/home.component.html create mode 100644 src/app/pages/home/home.component.scss create mode 100644 src/app/pages/home/home.component.ts create mode 100644 src/app/pages/pages-routing.module.ts create mode 100644 src/app/pages/pages.module.ts create mode 100644 src/app/services/base-service.service.ts create mode 100644 src/app/services/cars.service.ts create mode 100644 src/app/services/shared.service.ts create mode 100644 src/app/shared/navbar/navbar.component.html create mode 100644 src/app/shared/navbar/navbar.component.scss create mode 100644 src/app/shared/navbar/navbar.component.spec.ts create mode 100644 src/app/shared/navbar/navbar.component.ts diff --git a/src/app/app.component.html b/src/app/app.component.html index 42fd48f..22e429d 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1 +1,4 @@ -

Example heading New

\ No newline at end of file + + + + \ No newline at end of file diff --git a/src/app/app.module.ts b/src/app/app.module.ts index b1c6c96..408d687 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -1,16 +1,22 @@ +import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; +import { NavbarComponent } from './shared/navbar/navbar.component'; +import { PagesModule } from './pages/pages.module'; @NgModule({ declarations: [ - AppComponent + AppComponent, + NavbarComponent ], imports: [ BrowserModule, - AppRoutingModule + AppRoutingModule, + CommonModule, + PagesModule ], providers: [], bootstrap: [AppComponent] diff --git a/src/app/auth/auth-routing.module.ts b/src/app/auth/auth-routing.module.ts new file mode 100644 index 0000000..1c3ecd2 --- /dev/null +++ b/src/app/auth/auth-routing.module.ts @@ -0,0 +1,10 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; + +const routes: Routes = []; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class AuthRoutingModule { } diff --git a/src/app/auth/auth.module.ts b/src/app/auth/auth.module.ts new file mode 100644 index 0000000..d2b48eb --- /dev/null +++ b/src/app/auth/auth.module.ts @@ -0,0 +1,14 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { AuthRoutingModule } from './auth-routing.module'; + + +@NgModule({ + declarations: [], + imports: [ + CommonModule, + AuthRoutingModule + ] +}) +export class AuthModule { } diff --git a/src/app/helper/form-helper.ts b/src/app/helper/form-helper.ts new file mode 100644 index 0000000..b05d096 --- /dev/null +++ b/src/app/helper/form-helper.ts @@ -0,0 +1,11 @@ +import { FormGroup } from '@angular/forms'; + +export class FormbHelper { + + public static getMessage(msg:string): string{ + return msg; + } + + + +} diff --git a/src/app/interface/UserProfile.ts b/src/app/interface/UserProfile.ts new file mode 100644 index 0000000..f680447 --- /dev/null +++ b/src/app/interface/UserProfile.ts @@ -0,0 +1,61 @@ +export interface DatosService{ + id?:string; + auto: string; + ciudad: string; + direccion: boolean; + fechaEntrega: string; + fechaDevolucion: string; + horaEntrega: string; + horaDevolucion: string; + edad: string; + url: string; + name:string; + surname:string; + country:string; + cel:string; + email:string; + bithDate:string; + codigo:boolean; + codeProm:string; + terms:boolean; + numOrder:number; + totalRentDays:number; + priceTotalByDays:number; + ivaTotal:number; + priceFinal: number; + numCard: number; + expCard:number; +} + +export interface DatosRequest{ + id?:string; + auto: string; + ciudad: string; + direccion: boolean; + fechaEntrega: string; + fechaDevolucion: string; + horaEntrega: string; + horaDevolucion: string; + edad: string; + url: string; + codigo:boolean; + codeProm:string; + totalRentDays:number; +} + +export interface DatosUser{ + name:string; + surname:string; + country:string; + cel:string; + email:string; + bithDate:string; + terms:boolean; + iDCarByUser: string; + numOrder:number; + priceTotalByDays:number; + ivaTotal:number; + priceFinal: number; + numCard: number; + expCard:number; +} diff --git a/src/app/interface/cars-interface.ts b/src/app/interface/cars-interface.ts new file mode 100644 index 0000000..235ae66 --- /dev/null +++ b/src/app/interface/cars-interface.ts @@ -0,0 +1,16 @@ + + +export interface DatosCars{ + id:string + airConditioner:boolean; + available:boolean; + carBrand:string; + largeBaggage:number; + price_day:number; + smallBaggage:number; + smoke:boolean; + type:string; + url:string; + persons:number; + chofer:boolean +} diff --git a/src/app/interface/countries.ts b/src/app/interface/countries.ts new file mode 100644 index 0000000..250ca88 --- /dev/null +++ b/src/app/interface/countries.ts @@ -0,0 +1,10 @@ +export interface Country { + name: string; + code: string; + emoji: string; +} + +export interface Time { + time: string; +} + diff --git a/src/app/interface/faq.ts b/src/app/interface/faq.ts new file mode 100644 index 0000000..6f710e5 --- /dev/null +++ b/src/app/interface/faq.ts @@ -0,0 +1,5 @@ +export interface Faq { + id: string; + question: string; + answer: string; +} diff --git a/src/app/pages/home/home.component.html b/src/app/pages/home/home.component.html new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/home/home.component.scss b/src/app/pages/home/home.component.scss new file mode 100644 index 0000000..dc17d20 --- /dev/null +++ b/src/app/pages/home/home.component.scss @@ -0,0 +1,153 @@ +.bg-container-web{ + height: 93vh; + background-image: url(/assets/img/bgAutos.png); + background-position: center; + background-repeat: no-repeat; + background-size: cover; +} +.bg-container-mobil{ + height: 93vh; + background-color: #e1e1e1; +} +.form-mobil{ + background-color: #00000037; + width: 100%; + border-radius: 8px; + margin-top: 1rem; + margin-bottom: 1rem; +} +.form-c{ + position: absolute; + background-color: #00000037; + margin-top: 30%; + width: 90%; + border-radius: 8px; +} +.img-w{ + width: 100%; +} +.form { + border-radius: 8px; + border-color: #b3b3b3 !important; + width: 100%; + } + + .form-control:focus { + border-color: #013D89; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px #013D89; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px #013D89; + } + + label .check1{ + width: 18px; + margin-top: -13px; + } + label { + border: 1px solid #21252947; + width: 15px; + height: 15px; + + } + + input[type="checkbox"] + label .check1{ + opacity: 0; + + } + + input[type="checkbox"]:checked + label .check1 { + + opacity: 1; + } + + input[type="checkbox"] { + display: none; + } +.p-con{ + margin-top: 1rem; +} +.m-input{ + margin-top: -0.4rem; +} + .text{ + color: white; + } + .btn-form{ + width: 100%; + background-color: #013D89; + } + .btn-reservar{ + width: 50%; + background-color: #013D89; + } + .w-div-btn{ + width: 80%; + } + .img-carga { + width: 100%; + height: 240px; + object-fit: contain; + } + .img-car{ + filter: brightness() grayscale(20%); + width: auto; + } + .img-car-modal{ + width: 100%; + } + .s-drop{ + width: 100%; + background-color: white; + color: black; + border-radius: 8px; + height: 110%; + } + .filter{ + width: 100%; + margin-left: -20px; + height: 15rem; + background-color: rgba(38, 31, 31, 0.321); + position: absolute; + z-index: 1; + } + .dis-text{ + margin-top: 6rem; + color: white; + } + + .input-group-text { + background-color: #FFFFFF !important; + border: none solid #ced4da; + border-radius: 0px 8px 8px 0px !important; + +} + + @media (max-width: 1500px) { + .form-c{ + + margin-top: 30rem; + width: 95%; + + } + } + + @media (max-width: 900px) { + .form-c{ + + margin-top: 6rem; + width: 85%; + + } + .w-div-btn{ + width: 100%; + } + .img-car{ + width: 100%; + } + + .term{ + color: #013D89; + } + + } + \ No newline at end of file diff --git a/src/app/pages/home/home.component.ts b/src/app/pages/home/home.component.ts new file mode 100644 index 0000000..b1a4e84 --- /dev/null +++ b/src/app/pages/home/home.component.ts @@ -0,0 +1,20 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-home', + templateUrl: './home.component.html', + styleUrls: ['./home.component.scss'] +}) +export class HomeComponent implements OnInit { + + + constructor( + + ) { + + } + + ngOnInit(): void { + } + +} diff --git a/src/app/pages/pages-routing.module.ts b/src/app/pages/pages-routing.module.ts new file mode 100644 index 0000000..5f2800d --- /dev/null +++ b/src/app/pages/pages-routing.module.ts @@ -0,0 +1,10 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; + +const routes: Routes = []; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class PagesRoutingModule { } diff --git a/src/app/pages/pages.module.ts b/src/app/pages/pages.module.ts new file mode 100644 index 0000000..2e16f21 --- /dev/null +++ b/src/app/pages/pages.module.ts @@ -0,0 +1,21 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { PagesRoutingModule } from './pages-routing.module'; +import { HomeComponent } from './home/home.component'; + + + +@NgModule({ + declarations: [ + HomeComponent + ], + exports: [ + HomeComponent + ], + imports: [ + CommonModule, + PagesRoutingModule, + ] +}) +export class PagesModule { } diff --git a/src/app/services/base-service.service.ts b/src/app/services/base-service.service.ts new file mode 100644 index 0000000..8969973 --- /dev/null +++ b/src/app/services/base-service.service.ts @@ -0,0 +1,17 @@ +import { Injectable } from '@angular/core'; +import { Observable, throwError } from 'rxjs'; +import { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http'; + +@Injectable({ + providedIn: 'root' +}) +export class BaseService { + + constructor(private http: HttpClient) { } + + public get(API_URL: string, params?: HttpParams): Observable { + return this.http.get(API_URL, { params }) as Observable; + } + + +} diff --git a/src/app/services/cars.service.ts b/src/app/services/cars.service.ts new file mode 100644 index 0000000..356e8f7 --- /dev/null +++ b/src/app/services/cars.service.ts @@ -0,0 +1,74 @@ +import { HttpClient } from '@angular/common/http'; +import { Injectable } from '@angular/core'; +import { collection, Firestore, addDoc, collectionData, doc, updateDoc, getDoc } from '@angular/fire/firestore'; +import { deleteDoc } from '@firebase/firestore'; +import { Observable } from 'rxjs'; +import { DatosCars } from '../interface/cars-interface'; +import { Country, Time } from '../interface/countries'; +import { Faq } from '../interface/faq'; +import { DatosRequest, DatosService } from '../interface/UserProfile'; +import { BaseService } from './base-service.service'; + +@Injectable({ + providedIn: 'root' +}) +export class CarsService { + + constructor(private firetore: Firestore, private baseService: BaseService) { } + + public getFaq(): Observable{ + return this.baseService.get('assets/json/faq.json'); + } + + public getCountryNames(): Observable{ + return this.baseService.get('assets/json/countries.json'); + } + + public getTime(): Observable