12-11-2019
parents
Showing
.editorconfig
0 → 100644
.gitignore
0 → 100644
README.md
0 → 100644
angular.json
0 → 100644
e2e/protractor.conf.js
0 → 100644
e2e/src/app.e2e-spec.ts
0 → 100644
e2e/src/app.po.ts
0 → 100644
e2e/tsconfig.e2e.json
0 → 100644
package-lock.json
0 → 100644
This source diff could not be displayed because it is too large.
You can
view the blob
instead.
package.json
0 → 100644
{ | ||
"name": "mogobus", | ||
"version": "0.0.0", | ||
"scripts": { | ||
"ng": "ng", | ||
"start": "ng serve", | ||
"build": "ng build", | ||
"test": "ng test", | ||
"lint": "ng lint", | ||
"e2e": "ng e2e" | ||
}, | ||
"private": true, | ||
"dependencies": { | ||
"@agm/core": "^1.0.0", | ||
"@angular/animations": "^6.1.10", | ||
"@angular/cdk": "^7.3.7", | ||
"@angular/common": "^6.1.0", | ||
"@angular/compiler": "^6.1.0", | ||
"@angular/core": "^6.1.0", | ||
"@angular/flex-layout": "^6.0.0-beta.18", | ||
"@angular/forms": "^6.1.0", | ||
"@angular/http": "^6.1.0", | ||
"@angular/material": "^7.0.3", | ||
"@angular/platform-browser": "^6.1.0", | ||
"@angular/platform-browser-dynamic": "^6.1.0", | ||
"@angular/router": "^6.1.0", | ||
"@fortawesome/angular-fontawesome": "^0.3.0", | ||
"agm-direction": "^0.7.9", | ||
"angular-6-social-login-v2": "^1.0.5", | ||
"angular2-counto": "^1.2.5", | ||
"bootstrap": "^4.1.3", | ||
"bs-moment": "^0.3.1", | ||
"core-js": "^2.5.4", | ||
"font-awesome": "^4.7.0", | ||
"hammerjs": "^2.0.8", | ||
"jquery": "^3.4.1", | ||
"material-design-lite": "^1.3.0", | ||
"ng-bootstrap": "^1.6.3", | ||
"ng-pick-datetime": "^7.0.0", | ||
"ngx-bootstrap": "^3.0.1", | ||
"ngx-infinite-scroll": "^6.0.1", | ||
"ngx-slick-carousel": "^0.4.6", | ||
"rating": "^0.1.0", | ||
"rxjs": "^6.3.3", | ||
"rxjs-compat": "^6.3.3", | ||
"slick-carousel": "^1.8.1", | ||
"zone.js": "~0.8.26" | ||
}, | ||
"devDependencies": { | ||
"@angular-devkit/build-angular": "~0.8.0", | ||
"@angular/cli": "~6.2.5", | ||
"@angular/compiler-cli": "^6.1.0", | ||
"@angular/language-service": "^6.1.0", | ||
"@types/jasmine": "~2.8.8", | ||
"@types/jasminewd2": "~2.0.3", | ||
"@types/node": "~8.9.4", | ||
"codelyzer": "~4.3.0", | ||
"har-validator": "^5.1.3", | ||
"jasmine-core": "~2.99.1", | ||
"jasmine-spec-reporter": "~4.2.1", | ||
"karma": "~3.0.0", | ||
"karma-chrome-launcher": "~2.2.0", | ||
"karma-coverage-istanbul-reporter": "~2.0.1", | ||
"karma-jasmine": "~1.1.2", | ||
"karma-jasmine-html-reporter": "^0.2.2", | ||
"protractor": "~5.4.0", | ||
"ts-node": "~7.0.0", | ||
"tslint": "~5.11.0", | ||
"typescript": "~2.9.2" | ||
} | ||
} |
src/app/app.component.html
0 → 100644
src/app/app.component.scss
0 → 100644
src/app/app.component.spec.ts
0 → 100644
src/app/app.component.ts
0 → 100644
src/app/app.module.ts
0 → 100644
src/app/app.routing.ts
0 → 100644
src/app/footer/footer.component.html
0 → 100644
src/app/footer/footer.component.scss
0 → 100644
src/app/footer/footer.component.spec.ts
0 → 100644
src/app/footer/footer.component.ts
0 → 100644
src/app/home/account.zip
0 → 100644
File added
src/app/home/account/account.component.html
0 → 100644
src/app/home/account/account.component.scss
0 → 100644
src/app/home/account/account.component.ts
0 → 100644
src/app/home/booking/booking.component.html
0 → 100644
src/app/home/booking/booking.component.scss
0 → 100644
src/app/home/booking/booking.component.ts
0 → 100644
src/app/home/home.module.spec.ts
0 → 100644
src/app/home/home.module.ts
0 → 100644
src/app/home/home.routing.ts
0 → 100644
src/app/home/index/index.component.html
0 → 100644
src/app/home/index/index.component.scss
0 → 100644
src/app/home/index/index.component.spec.ts
0 → 100644
src/app/home/index/index.component.ts
0 → 100644
src/app/home/success/success.component.html
0 → 100644
src/app/home/success/success.component.scss
0 → 100644
src/app/home/success/success.component.ts
0 → 100644
src/app/home/terms/terms.component.html
0 → 100644
<div class="terms_wrapper"> | ||
<ul class="nav nav-tabs"> | ||
<li class="nav-item"> | ||
<a class="nav-link active" data-toggle="tab" href="#home">Terms & Conditions</a> | ||
</li> | ||
<li class="nav-item"> | ||
<a class="nav-link" data-toggle="tab" href="#menu1">About TicketRobo</a> | ||
</li> | ||
<li class="nav-item"> | ||
<a class="nav-link" data-toggle="tab" href="#menu2">Contact Us</a> | ||
</li> | ||
</ul> | ||
<!-- Tab panes --> | ||
<div class="tab-content"> | ||
<div class="tab-pane container active" id="home"> | ||
<p> | ||
Ticketrobo is an internet marketplace. It doesn't operate bus services of its own. So as to provide a comprehensive selection of bus operators, departure times and costs to customers, it's involved with many Bus Operators. | ||
</p> | ||
<p> | ||
Ticketrobo's recommendation to customers is to decide on the bus operators that they're responsive to and whose services they're snug with. | ||
</p> | ||
<p> | ||
Ticketrobo's responsibilities include: | ||
</p> | ||
<ul> | ||
<li>Issuing a sound price tag (a ticket that may be accepted by the bus operator) for its network of bus operators.</li> | ||
<li>Providing refund and support within the event of cancellation. | ||
</li> | ||
<li>Providing client support data and knowledge and data just in case of any delay(s) / inconvenience</li> | ||
</ul> | ||
<u>Ticketrobo's responsibilities do NOT include: | ||
</u> | ||
<ul> | ||
<li>If buses of the bus operators don't depart from the station or reach the station on time. | ||
</li> | ||
<li>If the workers of the bus operators demonstrate rude behavior or misconduct with the purchasers. | ||
</li> | ||
<li>If bound aspects of the buses of the bus operators akin to seats aren't up to the customer's expectations. | ||
</li> | ||
<li>If the bus operator cancels the trip for reasons unknown. | ||
</li> | ||
<li>If the bags of a client gets lost / purloined / broken within the event of travel. | ||
</li> | ||
<li>If the bus operator changes a customer's seat at the eleventh hour to accommodate a girl / baby / aged traveler</li> | ||
<li>If the client waits at the incorrect boarding purpose (please decision the bus operator to search out out the precise boarding purpose if you're not an everyday person on it specific bus). | ||
</li> | ||
<li>If the bus operator changes the boarding purpose and / or uses a pick-up vehicle at the boarding purpose to require customers to the bus departure purpose. | ||
</li> | ||
<li>The timings of bus arrivals and departures square measure as per the scheduled departure and arrival timings. However, the bus company supplier might amendment the departure and arrival timings or the pickup locations, or the buses might get delayed because of inevitable reasons akin to traffic jams. | ||
</li> | ||
<li>On the date of journey, the passengers square measure requested to appeal the service supplier contact variety mentioned within the price tag and reassert their obtain purpose and temporal order. | ||
</li> | ||
<li></li> | ||
</ul> | ||
<p>At the time of boarding the bus, the passengers could also be needed to furnish the following: | ||
</p> | ||
<ul> | ||
<li>A copy of the ticket (A print out of the ticket or the print out of the ticket e-mail) | ||
</li> | ||
<li>Photo identity proof of the person whose name was provided whereas creating the booking. This includes license, Student ID card, Company ID card, Passport, PAN Card or elector ID Card. | ||
</li> | ||
<li>Failing to try and do thus, the passengers might not be allowed to board the bus. | ||
</li> | ||
<li>Once a ticket is issued, it's non-transferable. If a price tag is conferred by somebody but the person entitled to be carried there-under or to refund in affiliation thereupon, Ticketrobo or any of its travel partners shall not be at risk of the person thus entitled, if in honestness it provides carriage or makes a refund to the person presenting the price tag.</li> | ||
<li>In case the bus operator changes the kind of bus because of some reason, Ticketrobo can refund the differential quantity to the client upon being intimated by the client among twenty four hours of the journey. | ||
</li> | ||
<li>Ticketrobo could be a booking service solely. It shall not be at risk of keep the loss of products or property of passengers for any of the acts, events, incidents whatever on the far side the management of the corporate.</li> | ||
<li>The visits square measure subject to cancellation or postponement because of breakdown of the vehicle or scant passengers for the trip. Baggage and bags are going to be reserved at owner's risk subjected to the acceptance by Ticketrobo's travel partner. | ||
</li> | ||
<li>Provision of video, air-con and any such different services mentioned by Ticketrobo's travel partners within the buses is their own responsibility. Any refunds / claims because of non-functioning or un-availability of those services must be settled directly with the bus company supplier. | ||
</li> | ||
<li>In the event of cancellation of a bus / service trip, Ticketrobo can assist the traveler in providing another similar service, subject to availableness. just in case another isn't out there, then Ticketrobo shall be at risk of the traveler solely to the extent of refunding the total paid by the traveler for the value of the price tag. | ||
</li> | ||
<li>Passengers herewith consent to receive communications by SMS or calls from Ticketrobo with relation to services provided by them.. | ||
</li> | ||
<li>We as a businessperson shall be below no liability whatever in respect of any loss or harm arising directly or indirectly out of the decline of authorization for any dealings, on Account of the Cardholder having exceeded the planned limit reciprocally united by U.S. with our deed bank from time to time. | ||
</li> | ||
</ul> | ||
<br><u><b>Payment Terms & Conditions</b></u> | ||
<ol> | ||
<li>E-Voucher will be activated and delivered within 24 to 48 business hours </li> | ||
<li>This Voucher cannot be redeemed for Cash / Cheque </li> | ||
<li>The E-Gift Voucher cannot be used to purchase other E-Gift Voucher</li> | ||
<li>If the order value exceeds the E-Gift Voucher amount, the balance must be paid by the other payment modes</li> | ||
<li>Protect the card numbers and pin numbers to avoid misuse. In case the card number gets stolen, it cannot be replaced, nor cash refunded </li> | ||
<li>If voucher is not used with expiry date it will be auto expired.</li> | ||
<li> Reminders may or may not be sent by merchant to the beneficiary of the voucher for usage prior to expiry AS it is completely dependent on merchants</li> | ||
<li>The redemption code should be unique & validated at time of redemption</li> | ||
<li>There is no cancellation cancellation if once gift cards purchased.</li> | ||
</ol> | ||
<p> | ||
Payment is going to be attributable within the name of "Ticketrobo. | ||
We reserve the proper to refuse or cancel associate degree order placed for a product that's listed at an incorrect worth. This shall be in spite of whether or not the order has been confirmed and/or payment been levied via mastercard. within the event the payment has been processed, constant shall be attributable to your account and punctually notified to you by email. | ||
</p> | ||
<p> | ||
We shall not be accountable for any mastercard fraud. The liability to use a card fraudulently is going to be on the user and also the incumbrance to 'prove otherwise' shall be solely on the user. | ||
</p> | ||
<p> | ||
If you have got any extra queries or considerations, please email us at [email protected] or contact us on the small print provided in 'Contact Us' page of the web site. | ||
</p> | ||
<br> | ||
<u><b>Refund Policy</b></u> | ||
<br> | ||
If customer paid twice for one transaction, the one transaction amount will be refunded via same source within 07 to 10 working days | ||
<br> | ||
<u><b>Cancellation policy</b> | ||
</u> | ||
<br> | ||
The cancelation policy may vary based on the transporter so kindly check the ticket for cancelation policy base on which the tickets will be refunded the customer within 7 to 10 working days. | ||
</div> | ||
<div class="tab-pane container fade" id="menu1"> | ||
<br> | ||
<b> Who we are & What we do</b> | ||
<br> | ||
icketrobo is the blend of travel industry in India offering one stop terminal solutions for the comfort of whole journey. With the modern, innovative and advanced services providing the terminal connectivity that strives the customers comfort transformation. | ||
<br> | ||
Ticketrobo is has nationwide network of bus operators offering over one lakh routes pan india. Providing the feasible experience in booking the bus tickets. Most user friendly portal offering the list of prices, seat availability, seat chart, picking and dropping spots. Has the vast customer support team, solving the customer queries with their 24x7 service. | ||
<br> | ||
Key features/differentiators provided to customers: | ||
<br> | ||
<ul> | ||
<li>Convenience in bus timings, booking, modification and cancellation, etc. | ||
</li> | ||
<li>End-to-end connectivity with affordable fares. | ||
</li> | ||
<li>Sophisticated, latest, comfortable buses for ultimate comfort and coziness. | ||
</li> | ||
<li>Greater flexibility in choosing, adjusting seats and buses | ||
</li> | ||
<li>On-time departure and adherence to arrival time schedules. | ||
</li> | ||
<li>High class passenger safety and convenience | ||
</li> | ||
<li>Reserved Bus Seats for Ladies. | ||
</li> | ||
</ul> | ||
</div> | ||
<div class="tab-pane container fade" id="menu2"> | ||
<br>MOBILE:8190833377 | ||
<br>EMAIL:[email protected] | ||
<br> Address: No.61, south masi street tenkasi-627811, | ||
Tirnelveli(Dt),Tamil Nadau | ||
</div> | ||
</div> | ||
</div> | ||
src/app/home/terms/terms.component.scss
0 → 100644
src/app/home/terms/terms.component.spec.ts
0 → 100644
src/app/home/terms/terms.component.ts
0 → 100644
src/app/loader/loader.component.html
0 → 100644
src/app/loader/loader.component.scss
0 → 100644
src/app/loader/loader.component.spec.ts
0 → 100644
src/app/loader/loader.component.ts
0 → 100644
src/app/navbar/navbar.component.html
0 → 100644
<!-- NAVBAR-STARTS--> | ||
<nav class="navbar navbar-expand-lg navbar-light box_shdw_down"> | ||
<div class="container-fluid"> | ||
<a class="navbar-brand" href="#"> | ||
<img src="../assets/imgs/logo.png"> | ||
</a> | ||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> | ||
<span class="navbar-toggler-icon"></span> | ||
</button> | ||
<div class="collapse navbar-collapse" id="navbarSupportedContent"> | ||
<ul class="navbar-nav ml-auto"> | ||
<li class="nav-item active"> | ||
<a class="nav-link" href="#">Home</a> | ||
</li> | ||
<li class="nav-item active"> | ||
<a class="nav-link" href="#">PARCEL TRACKING</a> | ||
</li> | ||
<li class="nav-item active"> | ||
<a class="nav-link" href="#">BUS TRACKING</a> | ||
</li> | ||
<li class="nav-item active"> | ||
<a class="nav-link" href="#">CANCEL TICKETS</a> | ||
</li> | ||
<li class="nav-item active"> | ||
<a class="nav-link" href="#">CONTACT</a> | ||
</li> | ||
<!-- <li class="nav-item active" *ngIf="!loginDetails"> | ||
<a class="nav-link" (click)="open(agent,'agent')">Agent Login</a> | ||
</li> | ||
<li class="nav-item"> | ||
<a class="nav-link" href="#" data-toggle="modal" (click)="modelOpen(print)">Print/SMS ticket</a> | ||
</li> | ||
<li class="nav-item" *ngIf="loginDetails"> | ||
<a class="nav-link" href="#" data-toggle="modal" (click)="modelOpen(cancel)">Easy Cancel/Refund</a> | ||
</li> | ||
<li class="nav-item" *ngIf="!loginDetails"> | ||
<a class="nav-link" href="#" data-toggle="modal" (click)="open(login,'login')">Easy Cancel/Refund</a> | ||
</li> --> | ||
</ul> | ||
<form class="form-inline my-2 my-lg-0" *ngIf="!loginDetails"> | ||
<div class="nav_btn" data-toggle="modal" (click)="open(login,'login')">Sign in</div> | ||
<div class="nav_btn" data-toggle="modal" (click)="open(signup,'signup')">Sign up</div> | ||
</form> | ||
<form class="form-inline my-2 my-lg-0" *ngIf="loginDetails"> | ||
<div class="my_account dropdown"> | ||
<div class="" data-toggle="dropdown"> | ||
<div> | ||
<div class="my_account_pic"><img [src]="loginDetails.image" onError="this.src='./../assets/imgs/user.png';" /></div> | ||
</div> | ||
<div *ngIf="loginDetails.name!==null"> <span>Hi, {{loginDetails.name}}</span></div> | ||
<div *ngIf="loginDetails.name===null"> <span>Hi, {{loginDetails.mob}}</span></div> | ||
<ul class="dropdown-menu"> | ||
<li (click)="goToPage('account')">My Account</li> | ||
<li (click)="logout()">Logout</li> | ||
</ul> | ||
</div> | ||
</div> | ||
</form> | ||
</div> | ||
</div> | ||
</nav> | ||
<!-- NAVBAR-ENDS--> | ||
<!-- LOGIN-MODAL-STARTS --> | ||
<ng-template #login data-backdrop="static" data-keyboard="false"> | ||
<div id="login" class="cmn_modal_wrapper"> | ||
<div class="cmn_modal_header" fxLayout="row" fxLayoutAlign="space-between center"> | ||
<button type="button" class="close" (click)="close()">×</button> | ||
<h2>LOGIN</h2> | ||
<div fxLayout="row" fxLayoutAlign="end center"> | ||
<div class="social_icon fb_social" (click)="socialSignIn('facebook')"> | ||
</div> | ||
<div class="social_icon g_social" (click)="socialSignIn('google')"></div> | ||
</div> | ||
</div> | ||
<div class="cmn_modal_content relative"> | ||
<div class="loader_common_main_wrapper" *ngIf="loading"> | ||
<div class="loader"></div> | ||
</div> | ||
<form [formGroup]="loginForm" (ngSubmit)="loginProcess()" autocomplete="off"> | ||
<div class="custom_row"> | ||
<p>EMAIL/PHONE NUMBER</p> | ||
<input class="" placeholder="[email protected]" type="text" formControlName="username"> | ||
<div [ngClass]="{'log_check':!loginForm.controls['username'].valid,'log_check_valid':loginForm.controls['username'].valid}"> | ||
</div> | ||
<div class="s_error" *ngIf="!loginForm.controls['username'].valid && loginForm.controls['username'].touched"> | ||
<div class="s_validation" *ngIf="loginForm.controls['username'].hasError('pattern')"> | ||
{{vs.errorList.email}} </div> | ||
<div class="s_validation" *ngIf="loginForm.controls['username'].hasError('maxlength')"> | ||
{{vs.errorList.maxLength}} 50</div> | ||
</div> | ||
<div class="s_error" *ngIf="!loginForm.controls['username'].valid && loginSubmit"> | ||
<div class="s_validation" *ngIf="loginForm.controls['username'].hasError('required')"> | ||
{{vs.errorList.required}} </div> | ||
</div> | ||
</div> | ||
<div class="custom_row"> | ||
<p>PASSWORD</p> | ||
<input class="" placeholder="password" type="password" autocomplete="off" formControlName="password"> | ||
<div class="log_check" [ngClass]="{'log_check':!loginForm.controls['password'].valid,'log_check_valid':loginForm.controls['password'].valid}"> | ||
</div> | ||
<div class="s_error" *ngIf="!loginForm.controls['password'].valid && loginForm.controls['password'].touched"> | ||
<div class="s_validation" *ngIf="loginForm.controls['password'].hasError('minlength')"> | ||
{{vs.errorList.minLength}} 6</div> | ||
</div> | ||
<div class="s_error" *ngIf="!loginForm.controls['password'].valid && loginSubmit"> | ||
<div class="s_validation" *ngIf="loginForm.controls['password'].hasError('required')"> | ||
{{vs.errorList.required}} </div> | ||
</div> | ||
</div> | ||
<div class="custom_row"> | ||
<button class="modal_btn">SIGN IN</button> | ||
</div> | ||
<div *ngIf="loginResponse" class="s_alert" [ngClass]="(loginResponse.status == 'success') ? 'alert-success' : 'alert-danger'"> | ||
<strong>{{loginResponse.message}}<br></strong> | ||
</div> | ||
<div class="custom_row"> | ||
<h6 data-dismiss="modal" data-toggle="modal" (click)="close();open(forgot,'forgot')">Forgot Password? | ||
</h6> | ||
</div> | ||
<div class="custom_row"> | ||
<h5>Don't have an account? <a data-dismiss="modal" data-toggle="modal" (click)="close();open(signup,'signup')">Sign Up</a></h5> | ||
</div> | ||
</form> | ||
</div> | ||
</div> | ||
</ng-template> | ||
<!-- LOGIN-MODAL-ENDS --> | ||
<!-- AGENT LOGIN-MODAL-STARTS --> | ||
<ng-template #agent data-backdrop="static" data-keyboard="false"> | ||
<div id="agent" class="cmn_modal_wrapper"> | ||
<div class="cmn_modal_header" fxLayout="row" fxLayoutAlign="space-between center"> | ||
<button type="button" class="close" (click)="close()">×</button> | ||
<h2>AGENT LOGIN</h2> | ||
</div> | ||
<div class="cmn_modal_content relative"> | ||
<div class="loader_common_main_wrapper" *ngIf="loading"> | ||
<div class="loader"></div> | ||
</div> | ||
<form [formGroup]="agentForm" (ngSubmit)="agentProcess()" autocomplete="off"> | ||
<div class="custom_row"> | ||
<p>EMAIL ADDRESS</p> | ||
<input class="" placeholder="[email protected]" type="text" formControlName="username"> | ||
<div [ngClass]="{'log_check':!agentForm.controls['username'].valid,'log_check_valid':agentForm.controls['username'].valid}"> | ||
</div> | ||
<div class="s_error" *ngIf="!agentForm.controls['username'].valid && agentForm.controls['username'].touched"> | ||
<div class="s_validation" *ngIf="agentForm.controls['username'].hasError('pattern')"> | ||
{{vs.errorList.email}} </div> | ||
<div class="s_validation" *ngIf="agentForm.controls['username'].hasError('maxlength')"> | ||
{{vs.errorList.maxLength}} 50</div> | ||
</div> | ||
<div class="s_error" *ngIf="!agentForm.controls['username'].valid && agentSubmit"> | ||
<div class="s_validation" *ngIf="agentForm.controls['username'].hasError('required')"> | ||
{{vs.errorList.required}} </div> | ||
</div> | ||
</div> | ||
<div class="custom_row"> | ||
<p>PASSWORD</p> | ||
<input class="" placeholder="password" type="password" autocomplete="off" formControlName="password"> | ||
<div class="log_check" [ngClass]="{'log_check':!agentForm.controls['password'].valid,'log_check_valid':agentForm.controls['password'].valid}"> | ||
</div> | ||
<div class="s_error" *ngIf="!agentForm.controls['password'].valid && agentForm.controls['password'].touched"> | ||
<div class="s_validation" *ngIf="agentForm.controls['password'].hasError('minlength')"> | ||
{{vs.errorList.minLength}} 6</div> | ||
</div> | ||
<div class="s_error" *ngIf="!agentForm.controls['password'].valid && agentSubmit"> | ||
<div class="s_validation" *ngIf="agentForm.controls['password'].hasError('required')"> | ||
{{vs.errorList.required}} </div> | ||
</div> | ||
</div> | ||
<div class="custom_row"> | ||
<button class="modal_btn">SIGN IN</button> | ||
</div> | ||
<div *ngIf="agentResponse" class="s_alert" [ngClass]="(agentResponse.status == 'success') ? 'alert-success' : 'alert-danger'"> | ||
<strong>{{agentResponse.message}}<br></strong> | ||
</div> | ||
</form> | ||
</div> | ||
</div> | ||
</ng-template> | ||
<!-- AGENT LOGIN-MODAL-ENDS --> | ||
<!-- SIGNUP-MODAL-STARTS --> | ||
<ng-template #signup> | ||
<div id="signup" class="cmn_modal_wrapper"> | ||
<div class="cmn_modal_header" fxLayout="row" fxLayoutAlign="space-between center"> | ||
<button type="button" class="close" (click)="close()">×</button> | ||
<h2>SIGN UP</h2> | ||
<div fxLayout="row" fxLayoutAlign="end center"> | ||
<div class="social_icon fb_social" (click)="socialSignIn('facebook')"> | ||
</div> | ||
<div class="social_icon g_social" (click)="socialSignIn('google')"></div> | ||
</div> | ||
</div> | ||
<div class="cmn_modal_content relative"> | ||
<div class="loader_common_main_wrapper" *ngIf="loading"> | ||
<div class="loader"></div> | ||
</div> | ||
<form [formGroup]="signForm" (ngSubmit)="signProcess()" autocomplete="off"> | ||
<div class="custom_row"> | ||
<p>FULL NAME</p> | ||
<input class="" placeholder="Full Name" type="text" formControlName="name"> | ||
<div [ngClass]="{'log_check':!signForm.controls['name'].valid,'log_check_valid':signForm.controls['name'].valid}"> | ||
</div> | ||
<div class="s_error" *ngIf="!signForm.controls['name'].valid && SignSubmit"> | ||
<div class="s_validation" *ngIf="signForm.controls['name'].hasError('required')"> | ||
{{vs.errorList.required}} </div> | ||
</div> | ||
</div> | ||
<div class="custom_row"> | ||
<p>EMAIL ADDRESS</p> | ||
<input class="" placeholder="[email protected]" type="email" formControlName="username"> | ||
<div [ngClass]="{'log_check':!signForm.controls['username'].valid,'log_check_valid':signForm.controls['username'].valid}"> | ||
</div> | ||
<div class="s_error" *ngIf="!signForm.controls['username'].valid && signForm.controls['username'].touched"> | ||
<div class="s_validation" *ngIf="signForm.controls['username'].hasError('pattern')"> | ||
{{vs.errorList.email}} </div> | ||
<div class="s_validation" *ngIf="signForm.controls['username'].hasError('maxlength')"> | ||
{{vs.errorList.maxLength}} 50</div> | ||
</div> | ||
<div class="s_error" *ngIf="!signForm.controls['username'].valid && SignSubmit"> | ||
<div class="s_validation" *ngIf="signForm.controls['username'].hasError('required')"> | ||
{{vs.errorList.required}} </div> | ||
</div> | ||
</div> | ||
<div class="custom_row"> | ||
<p>MOBILE NUMBER</p> | ||
<input class="" placeholder="Eg: 9961545882" type="text" formControlName="mob"> | ||
<div class="log_check" [ngClass]="{'log_check':!signForm.controls['mob'].valid,'log_check_valid':signForm.controls['mob'].valid}"> | ||
</div> | ||
<div class="s_error" *ngIf="!signForm.controls['mob'].valid && signForm.controls['mob'].touched"> | ||
<div class="s_validation" *ngIf="signForm.controls['mob'].hasError('pattern')"> | ||
{{vs.errorList.phone}}</div> | ||
</div> | ||
<div class="s_error" *ngIf="!signForm.controls['mob'].valid && signForm.controls['mob'].touched && !signForm.controls['mob'].hasError('pattern')"> | ||
<div class="s_validation" *ngIf="signForm.controls['mob'].hasError('maxlength')"> | ||
{{vs.errorList.maxLength}} 15</div> | ||
<div class="s_validation" *ngIf="signForm.controls['mob'].hasError('minlength')"> | ||
{{vs.errorList.minLength}} 8</div> | ||
</div> | ||
<div class="s_error" *ngIf="!signForm.controls['mob'].valid && SignSubmit"> | ||
<div class="s_validation" *ngIf="signForm.controls['mob'].hasError('required')"> | ||
{{vs.errorList.required}} </div> | ||
</div> | ||
</div> | ||
<div class="custom_row"> | ||
<p>PASSWORD</p> | ||
<input class="" placeholder="password" type="password" formControlName="password"> | ||
<div class="log_check" [ngClass]="{'log_check':!signForm.controls['password'].valid,'log_check_valid':signForm.controls['password'].valid}"> | ||
</div> | ||
<div class="s_error" *ngIf="!signForm.controls['password'].valid && signForm.controls['password'].touched"> | ||
<div class="s_validation" *ngIf="signForm.controls['password'].hasError('minlength')"> | ||
{{vs.errorList.minLength}} 6</div> | ||
</div> | ||
<div class="s_error" *ngIf="!signForm.controls['password'].valid && SignSubmit"> | ||
<div class="s_validation" *ngIf="signForm.controls['password'].hasError('required')"> | ||
{{vs.errorList.required}} </div> | ||
</div> | ||
</div> | ||
<div class="custom_row"> | ||
<input class="styled-checkbox" id="styled-checkbox-2" type="checkbox" value="value1" formControlName="terms"> | ||
<label for="styled-checkbox-2"> | ||
<p>Accept Terms and Conditions</p> | ||
</label> | ||
<div class="s_error" *ngIf="!signForm.controls['terms'].valid && SignSubmit"> | ||
<div class="s_validation" *ngIf="signForm.controls['terms'].hasError('required')"> | ||
{{vs.errorList.required}} </div> | ||
</div> | ||
<div *ngIf="signResponse" class="s_alert" [ngClass]="(signResponse.status == 'success') ? 'alert-success' : 'alert-danger'"> | ||
<strong>{{signResponse.message}}<br></strong> | ||
</div> | ||
</div> | ||
<div class="custom_row"> | ||
<button class="modal_btn">SIGN UP</button> | ||
</div> | ||
<div *ngIf="loginResponse" class="s_alert" [ngClass]="(loginResponse.status == 'success') ? 'alert-success' : 'alert-danger'"> | ||
<strong>{{loginResponse.message}}<br></strong> | ||
</div> | ||
<div class="custom_row"> | ||
<h6 data-dismiss="modal" data-toggle="modal" (click)="close();open(forgot,'forgot')">Forgot Password? | ||
</h6> | ||
</div> | ||
<div class="custom_row"> | ||
<h5>Already had an account? <a data-dismiss="modal" data-toggle="modal" (click)="close();open(login,'login')">Sign In</a></h5> | ||
</div> | ||
</form> | ||
</div> | ||
</div> | ||
</ng-template> | ||
<!-- SIGNUP-MODAL-ENDS --> | ||
<!-- CANCEL-MODAL-STARTS --> | ||
<ng-template #cancel> | ||
<div id="cancel" class="log_modal" data-backdrop="static" data-keyboard="false"> | ||
<div class="modal-dialog"> | ||
<div class="modal-content"> | ||
<button type="button" class="close" (click)="close()">×</button> | ||
<div class="log_modal_inner"> | ||
<form [formGroup]="cancelForm" (ngSubmit)="cancelProcess()" autocomplete="off"> | ||
<h3>Ticket Cancelation & Refund</h3> | ||
<p>Follow simple hassle free steps to cancel tickets & easy refund </p> | ||
<div class="log_modal_content"> | ||
<!-- <div class="log_modal_content_inner"> | ||
<div class="log_row"> | ||
<div class="log_label1"> | ||
<p>Enter your Details given below</p> | ||
<br> | ||
<input class="" placeholder="Ticket Number" type="text" formControlName="bookingID"> | ||
<div class="s_error" *ngIf="!cancelForm.controls['bookingID'].valid && cancelSubmit"> | ||
<div class="s_validation" *ngIf="cancelForm.controls['bookingID'].hasError('required')">{{vs.errorList.required}} </div> | ||
</div> | ||
</div> | ||
<div class="clear"></div> | ||
</div> | ||
<div class="log_row"> | ||
<div class="log_label1"> | ||
<input class="" placeholder="Email" type="mail" formControlName="email"> | ||
<div class="s_error" *ngIf="!cancelForm.controls['email'].valid && cancelForm.controls['email'].touched"> | ||
<div class="s_validation" *ngIf="cancelForm.controls['email'].hasError('pattern')">{{vs.errorList.email}} </div> | ||
<div class="s_validation" *ngIf="cancelForm.controls['email'].hasError('maxlength')">{{vs.errorList.maxLength}} 50</div> | ||
</div> | ||
<div class="s_error" *ngIf="!cancelForm.controls['email'].valid && SignSubmit"> | ||
<div class="s_validation" *ngIf="cancelForm.controls['email'].hasError('required')">{{vs.errorList.required}} </div> | ||
</div> | ||
</div> | ||
<div class="clear"></div> | ||
</div> | ||
<div class="log_row relative"> | ||
<button class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect log_btn1 secondary_color_bg" data-toggle="modal" data-target="#sure"> | ||
Cancel Ticket | ||
</button> | ||
</div> | ||
</div> --> | ||
<div class="log_modal_content_inner"> | ||
<h1>Are you sure want to proceed?</h1> | ||
<div class="log_row relative"> | ||
<button class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect log_btn1 secondary_color_bg floatLeft"> | ||
Yes | ||
</button> | ||
<button class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect log_btn1 floatRight"> | ||
No | ||
</button> | ||
<div class="clear"></div> | ||
</div> | ||
</div> | ||
<div *ngIf="cancelResponse" class="s_alert" [ngClass]="(cancelResponse.status == 'success') ? 'alert-success' : 'alert-danger'"> | ||
<strong>{{cancelResponse.message}}<br></strong> | ||
</div> | ||
</div> | ||
</form> | ||
</div> | ||
<!-- Modal footer --> | ||
<div class="modal-footer"> | ||
<div class="log_modal_footer"> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</ng-template> | ||
<!-- CANCEL-MODAL-ENDS --> | ||
<!-- PRINT-TICKET-MODAL-STARTS --> | ||
<ng-template #print> | ||
<div id="print" class="log_modal" data-backdrop="static" data-keyboard="false"> | ||
<div class="modal-dialog"> | ||
<div class="modal-content"> | ||
<button type="button" class="close" (click)="close()">×</button> | ||
<div class="log_modal_inner"> | ||
<form [formGroup]="printForm" (ngSubmit)="printProcess()" autocomplete="off"> | ||
<h3>Print / SMS Ticket</h3> | ||
<p>Follow simple hassle free steps to cancel tickets & easy refund </p> | ||
<div class="log_modal_content"> | ||
<div class="log_modal_content_inner"> | ||
<div class="log_row"> | ||
<div class="log_label1"> | ||
<p>Enter your Ticket Number</p> | ||
<br> | ||
<input placeholder="Ticket Number" type="text" formControlName="bookingID"> | ||
<div class="s_error" *ngIf="!printForm.controls['bookingID'].valid && printSubmit"> | ||
<div class="s_validation" *ngIf="printForm.controls['bookingID'].hasError('required')">{{vs.errorList.required}} </div> | ||
</div> | ||
</div> | ||
<div class="clear"></div> | ||
</div> | ||
<div class="log_row pt10"> | ||
<div class="log_label1"> | ||
<p>Choose method </p> | ||
</div> | ||
<select formControlName="type"> | ||
<option value="email">Email</option> | ||
<option value="sms">SMS</option> | ||
</select> | ||
</div> | ||
<div class="log_row relative"> | ||
<button class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect log_btn1 secondary_color_bg"> | ||
Submit | ||
</button> | ||
</div> | ||
</div> | ||
</div> | ||
<div *ngIf="printResponse" class="s_alert" [ngClass]="(printResponse.status == 'success') ? 'alert-success' : 'alert-danger'"> | ||
<strong>{{printResponse.message}}<br></strong> | ||
</div> | ||
</form> | ||
</div> | ||
<!-- Modal footer --> | ||
<div class="modal-footer"> | ||
<div class="log_modal_footer"> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</ng-template> | ||
<!-- CANCEL-MODAL-ENDS --> | ||
<!-- MY-ACCOUNT-MODAL-STARTS --> | ||
<div id="account" class="log_modal modal fade" role="dialog" data-backdrop="static" data-keyboard="false"> | ||
<div class="modal-dialog"> | ||
<div class="modal-content"> | ||
<button type="button" class="close" data-dismiss="modal">×</button> | ||
<div class="log_modal_inner"> | ||
<h3>Print / SMS Ticket</h3> | ||
<p>Follow simple hassle free steps to cancel tickets & easy refund </p> | ||
<div class="log_modal_content"> | ||
<div class="log_modal_content_inner"> | ||
<div class="log_row"> | ||
<div class="log_label1"> | ||
<p>Enter your Ticket Number</p> | ||
<br> | ||
<input class="" placeholder="Ticket Number" type="text"> | ||
</div> | ||
<div class="clear"></div> | ||
</div> | ||
<div class="log_row pt10"> | ||
<div class="log_label1"> | ||
<p>Choose method </p> | ||
</div> | ||
<select> | ||
<option>Email</option> | ||
<option>SMS</option> | ||
<option>Whatsapp</option> | ||
<option>Print</option> | ||
</select> | ||
</div> | ||
<div class="log_row relative"> | ||
<button class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect log_btn1"> | ||
Submit | ||
</button> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
<!-- Modal footer --> | ||
<div class="modal-footer"> | ||
<div class="log_modal_footer"> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
<!-- MY-ACCOUNT-MODAL-ENDS --> | ||
<!-- FORGOT-MODAL-STARTS --> | ||
<ng-template #forgot> | ||
<div id="login" class="cmn_modal_wrapper"> | ||
<div class="cmn_modal_header" fxLayout="row" fxLayoutAlign="space-between center"> | ||
<button type="button" class="close" (click)="close()">×</button> | ||
<h2>FORGOT</h2> | ||
</div> | ||
<div class="cmn_modal_content relative"> | ||
<div class="loader_common_main_wrapper" *ngIf="loading"> | ||
<div class="loader"></div> | ||
</div> | ||
<form [formGroup]="forgotForm" (ngSubmit)="forgotProcess()" autocomplete="off"> | ||
<div class="custom_row"> | ||
<p>Email Address</p> | ||
<input class="" placeholder="[email protected]" type="text" formControlName="username"> | ||
<div [ngClass]="{'log_check':!forgotForm.controls['username'].valid,'log_check_valid':forgotForm.controls['username'].valid}"> | ||
</div> | ||
<div class="s_error" *ngIf="!forgotForm.controls['username'].valid && forgotForm.controls['username'].touched"> | ||
<div class="s_validation" *ngIf="forgotForm.controls['username'].hasError('pattern')"> | ||
{{vs.errorList.email}} </div> | ||
<div class="s_validation" *ngIf="forgotForm.controls['username'].hasError('maxlength')"> | ||
{{vs.errorList.maxLength}} 50</div> | ||
</div> | ||
<div class="s_error" *ngIf="!forgotForm.controls['username'].valid && forgotSubmit"> | ||
<div class="s_validation" *ngIf="forgotForm.controls['username'].hasError('required')"> | ||
{{vs.errorList.required}} </div> | ||
</div> | ||
</div> | ||
<div class="custom_row"> | ||
<button class="modal_btn">REQUEST</button> | ||
</div> | ||
<div class="custom_row" fxLayout="row" fxLayoutAlign="space-between center"> | ||
<h5 data-dismiss="modal" data-toggle="modal" (click)="close();open(login,'login')">Login</h5> | ||
<h5 data-dismiss="modal" data-toggle="modal" (click)="close();open(signup,'signup')">Sign Up</h5> | ||
</div> | ||
</form> | ||
</div> | ||
</div> | ||
</ng-template> | ||
<!-- FORGOT-MODAL-ENDS --> | ||
\ No newline at end of file |
src/app/navbar/navbar.component.scss
0 → 100644
src/app/navbar/navbar.component.spec.ts
0 → 100644
src/app/navbar/navbar.component.ts
0 → 100644
src/app/provider/auth.guard.ts
0 → 100644
src/app/provider/auth.service.ts
0 → 100644
src/app/provider/bookingData.ts
0 → 100644
src/app/provider/dateSet.pipe.ts
0 → 100644
src/app/provider/declare.model.ts
0 → 100644
src/app/provider/message.service.ts
0 → 100644
src/app/provider/search.pipe.ts
0 → 100644
src/app/provider/subject.service.ts
0 → 100644
src/app/provider/validation.service.ts
0 → 100644
src/app/provider/web.service.ts
0 → 100644
src/assets/.gitkeep
0 → 100644
src/assets/imgs/ad1.png
0 → 100644
402 KB
src/assets/imgs/arrow_left.png
0 → 100644
1.27 KB
src/assets/imgs/arrow_right.png
0 → 100644
1.23 KB
src/assets/imgs/asset_success.png
0 → 100644
26.3 KB
src/assets/imgs/banner.png
0 → 100644
75.1 KB
src/assets/imgs/blanket.png
0 → 100644
338 Bytes
src/assets/imgs/bus1.jpg
0 → 100644
1.17 MB
src/assets/imgs/bus_2.jpg
0 → 100644
728 KB
src/assets/imgs/bus_3.jpg
0 → 100644
753 KB
src/assets/imgs/charger.png
0 → 100644
371 Bytes
src/assets/imgs/check.png
0 → 100644
3.22 KB
src/assets/imgs/date.png
0 → 100644
3.02 KB
src/assets/imgs/download.png
0 → 100644
989 Bytes
src/assets/imgs/driver.png
0 → 100644
5.94 KB
src/assets/imgs/drop_down.png
0 → 100644
3.34 KB
src/assets/imgs/experience.png
0 → 100644
2.36 MB
src/assets/imgs/fb.png
0 → 100644
16.1 KB
src/assets/imgs/fb_icon.png
0 → 100644
652 Bytes
src/assets/imgs/food_beverage.png
0 → 100644
490 Bytes
src/assets/imgs/g_icon.png
0 → 100644
897 Bytes
src/assets/imgs/google.png
0 → 100644
26.2 KB
src/assets/imgs/hot_water.png
0 → 100644
479 Bytes
src/assets/imgs/icon_sprite.png
0 → 100644
18.5 KB
src/assets/imgs/insta1.png
0 → 100644
2.67 KB
src/assets/imgs/insta_icon.png
0 → 100644
986 Bytes
src/assets/imgs/left.png
0 → 100644
4.14 KB
src/assets/imgs/left_arw.png
0 → 100644
2.26 KB
src/assets/imgs/login_head.png
0 → 100644
85.4 KB
src/assets/imgs/logo.png
0 → 100644
8.48 KB
src/assets/imgs/mail.png
0 → 100644
3.2 KB
src/assets/imgs/mask_bg.png
0 → 100644
547 KB
src/assets/imgs/mask_bg1.png
0 → 100644
1.35 MB
src/assets/imgs/mobile.png
0 → 100644
2.97 KB
src/assets/imgs/mongo.png
0 → 100644
409 KB
src/assets/imgs/offer1.png
0 → 100644
8.49 KB
src/assets/imgs/offer2.png
0 → 100644
7.76 KB
src/assets/imgs/offer3.png
0 → 100644
7.87 KB
src/assets/imgs/operators.png
0 → 100644
7.39 KB
src/assets/imgs/password.png
0 → 100644
3.15 KB
src/assets/imgs/reset.png
0 → 100644
3.74 KB
src/assets/imgs/right.png
0 → 100644
4.15 KB
src/assets/imgs/right_arw.png
0 → 100644
2.29 KB
src/assets/imgs/routes.png
0 → 100644
4.69 KB
src/assets/imgs/seat_available.png
0 → 100644
723 Bytes
src/assets/imgs/seat_booked.png
0 → 100644
870 Bytes
src/assets/imgs/seat_ladies.png
0 → 100644
4.02 KB
src/assets/imgs/seat_selected.png
0 → 100644
846 Bytes
src/assets/imgs/shadow.png
0 → 100644
3.19 KB
src/assets/imgs/sleeper_available.png
0 → 100644
786 Bytes
src/assets/imgs/sleeper_booked.png
0 → 100644
721 Bytes
src/assets/imgs/sleeper_ladies.png
0 → 100644
4.01 KB
src/assets/imgs/sleeper_selected.png
0 → 100644
732 Bytes
src/assets/imgs/slide.png
0 → 100644
2.66 MB
src/assets/imgs/social1.png
0 → 100644
3.6 KB
src/assets/imgs/social2.png
0 → 100644
3.33 KB
src/assets/imgs/social3.png
0 → 100644
3.47 KB
src/assets/imgs/spinner.gif
0 → 100644
64.8 KB
src/assets/imgs/tickets.png
0 → 100644
4.98 KB
src/assets/imgs/uncheck.png
0 → 100644
3.24 KB
src/assets/imgs/user.png
0 → 100644
3.3 KB
src/assets/imgs/wifi.png
0 → 100644
595 Bytes
src/assets/js/checkout.js
0 → 100644
src/browserslist
0 → 100644
src/environments/environment.prod.ts
0 → 100644
src/environments/environment.ts
0 → 100644
src/environments/server.config.ts
0 → 100644
src/favicon.ico
0 → 100644
File added
src/index.html
0 → 100644
src/karma.conf.js
0 → 100644
src/main.ts
0 → 100644
src/polyfills.ts
0 → 100644
src/responsive.scss
0 → 100644
src/styles.scss
0 → 100644
src/test.ts
0 → 100644
src/tsconfig.app.json
0 → 100644
src/tsconfig.json
0 → 100644
src/tsconfig.spec.json
0 → 100644
src/tslint.json
0 → 100644
tsconfig.json
0 → 100644
tslint.json
0 → 100644