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