Fairoj : sales PD Issue fixes

This commit is contained in:
venbatechnologies@gmail.com 2019-12-05 18:34:44 +05:30
parent fc260d1f1b
commit 149282fc36
43 changed files with 240475 additions and 35 deletions

15
package-lock.json generated
View File

@ -601,6 +601,21 @@
"localforage-cordovasqlitedriver": "~1.5.0" "localforage-cordovasqlitedriver": "~1.5.0"
} }
}, },
"@netbasal/content-loader": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@netbasal/content-loader/-/content-loader-1.1.0.tgz",
"integrity": "sha512-xzDuM4DWNu+xaTu8FiTUOoOAOHn/ryDyeagzW+3E1bG11pxmXqj9tjyWqx6SE9fH38J90RC5ozZF7LCf0fZDkQ==",
"requires": {
"tslib": "^1.9.0"
},
"dependencies": {
"tslib": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
"integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ=="
}
}
},
"@types/chart.js": { "@types/chart.js": {
"version": "2.7.40", "version": "2.7.40",
"resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.7.40.tgz", "resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.7.40.tgz",

View File

@ -33,6 +33,7 @@
"@ionic-native/splash-screen": "4.4.0", "@ionic-native/splash-screen": "4.4.0",
"@ionic-native/status-bar": "^4.16.0", "@ionic-native/status-bar": "^4.16.0",
"@ionic/storage": "^2.1.3", "@ionic/storage": "^2.1.3",
"@netbasal/content-loader": "^1.1.0",
"@types/chart.js": "^2.7.40", "@types/chart.js": "^2.7.40",
"amazon-cognito-identity-js": "^3.0.3", "amazon-cognito-identity-js": "^3.0.3",
"chart.js": "^2.7.3", "chart.js": "^2.7.3",

View File

@ -13,7 +13,7 @@ import {AppVersion} from '@ionic-native/app-version'
import { SalesPDlistPage } from '../pages/sales_pd/pages/sales-p-dlist/sales-p-dlist'; import { SalesPDlistPage } from '../pages/sales_pd/pages/sales-p-dlist/sales-p-dlist';
import { HomePage, Section3, Section1, Section2, Section9 } from '../pages/sales_pd/pages/home/home'; import { HomePage, Section3, Section1, Section2, Section9, Section8 } from '../pages/sales_pd/pages/home/home';
import { ConstantsProvider } from '../providers/constants/constants'; import { ConstantsProvider } from '../providers/constants/constants';
import { SalesPdProvider } from '../pages/sales_pd/providers/sales-pd/sales-pd'; import { SalesPdProvider } from '../pages/sales_pd/providers/sales-pd/sales-pd';

View File

@ -80,7 +80,8 @@ import { CameraProvider } from '../pages/sales_pd/providers/camera/camera';
import { SalesPDlistPage } from '../pages/sales_pd/pages/sales-p-dlist/sales-p-dlist'; import { SalesPDlistPage } from '../pages/sales_pd/pages/sales-p-dlist/sales-p-dlist';
import { LocationAccuracy } from '@ionic-native/location-accuracy'; import { LocationAccuracy } from '@ionic-native/location-accuracy';
import { ReqTokenInterceptor } from '../providers/_guard/req-token.interceptor'; import { ReqTokenInterceptor } from '../providers/_guard/req-token.interceptor';
import {ContentLoaderModule} from '@netbasal/content-loader'
import { ScrollHideDirective } from '../directives/scroll-hide/scroll-hide';
@NgModule({ @NgModule({
@ -93,7 +94,8 @@ import { ReqTokenInterceptor } from '../providers/_guard/req-token.interceptor';
PasswordPage, PasswordPage,
PdAllocationPage, PdAllocationPage,
InputPage, InputPage,
SalesPDlistPage SalesPDlistPage,
ScrollHideDirective
], ],
imports: [ imports: [
@ -133,7 +135,8 @@ import { ReqTokenInterceptor } from '../providers/_guard/req-token.interceptor';
MatStepperModule,HttpClientModule,IonicImageViewerModule, MatStepperModule,HttpClientModule,IonicImageViewerModule,
MatFormFieldModule, MatFormFieldModule,
NgxMatSelectSearchModule, NgxMatSelectSearchModule,
HomePageModule HomePageModule,
ContentLoaderModule
], ],
bootstrap: [IonicApp], bootstrap: [IonicApp],
entryComponents: [ entryComponents: [

View File

@ -0,0 +1,8 @@
import { NgModule } from '@angular/core';
import { ScrollHideDirective } from './scroll-hide/scroll-hide';
@NgModule({
declarations: [ScrollHideDirective],
imports: [],
exports: [ScrollHideDirective]
})
export class DirectivesModule {}

View File

@ -0,0 +1,57 @@
import { Directive, Input, ElementRef, Renderer2, SimpleChanges } from '@angular/core';
import { Content } from 'ionic-angular';
/**
* Generated class for the ScrollHideDirective directive.
*
* See https://angular.io/api/core/Directive for more info on Angular
* Directives.
*/
@Directive({
selector: '[scrollHide]' // Attribute selector
})
export class ScrollHideDirective {
@Input('scrollHide') config: ScrollHideConfig;
@Input('scrollContent') scrollContent: Content;
contentHeight: number;
scrollHeight: number;
lastScrollPosition: number;
lastValue: number = 0;
constructor(private element: ElementRef, private renderer: Renderer2) {
console.log('Hello ScrollHideDirective Directive');
}
ngOnChanges(changes: SimpleChanges) {
if (this.scrollContent && this.config) {
this.scrollContent.ionScrollStart.subscribe((ev) => {
this.contentHeight = this.scrollContent.getScrollElement().offsetHeight;
this.scrollHeight = this.scrollContent.getScrollElement().scrollHeight;
if (this.config.maxValue === undefined) {
this.config.maxValue = this.element.nativeElement.offsetHeight;
}
this.lastScrollPosition = ev.scrollTop;
});
this.scrollContent.ionScroll.subscribe((ev) => this.adjustElementOnScroll(ev));
this.scrollContent.ionScrollEnd.subscribe((ev) => this.adjustElementOnScroll(ev));
}
}
private adjustElementOnScroll(ev) {
if (ev) {
ev.domWrite(() => {
let scrollTop: number = ev.scrollTop > 0 ? ev.scrollTop : 0;
let scrolldiff: number = scrollTop - this.lastScrollPosition;
this.lastScrollPosition = scrollTop;
let newValue = this.lastValue + scrolldiff;
newValue = Math.max(0, Math.min(newValue, this.config.maxValue));
this.renderer.setStyle(this.element.nativeElement, this.config.cssProperty, `-${newValue}px`);
this.lastValue = newValue;
});
}
}
}
export interface ScrollHideConfig {
cssProperty: string;
maxValue: number;
}

View File

@ -49,9 +49,18 @@
<button ion-fab (click)="newpage()" color="optblue"><ion-icon name="add"></ion-icon></button> <button ion-fab (click)="newpage()" color="optblue"><ion-icon name="add"></ion-icon></button>
</ion-fab> </ion-fab>
<div *ngIf="loader_access">
<div *ngFor="let i of [1,2,3,4,5]">
<content-loader>
<svg:rect x="80" y="40" rx="5" ry="5" width="300" height="70" />
<svg:circle cx="40" cy="70" r="30" stroke="3" stroke-width="3" fill="red" />
<div *ngIf="pdlistaccess" > </content-loader>
</div>
</div>
<div *ngIf="pdlistaccess && !loader_access" >
<mat-card> <mat-card>
@ -173,7 +182,7 @@
</div> </div>
</div> </div>
</div> </div>
<div *ngIf="!pdlistaccess" text-center> <div *ngIf="!pdlistaccess && !loader_access" text-center>
<h2>{{pdlistdetails}}</h2> <h2>{{pdlistdetails}}</h2>
</div> </div>

View File

@ -6,6 +6,7 @@ import { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';
import { CognitoServiceProvider } from '../../providers/aws-service/cognito.service'; import { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';
import { parseDate } from 'ionic-angular/util/datetime-util'; import { parseDate } from 'ionic-angular/util/datetime-util';
import { PdAllocationPage } from '../pd-allocation/pd-allocation'; import { PdAllocationPage } from '../pd-allocation/pd-allocation';
import { ScrollHideConfig } from '../../directives/scroll-hide/scroll-hide';
/** /**
* Generated class for the PdListPage page. * Generated class for the PdListPage page.
@ -20,6 +21,9 @@ import { PdAllocationPage } from '../pd-allocation/pd-allocation';
templateUrl: 'pd-list.html', templateUrl: 'pd-list.html',
}) })
export class PdListPage { export class PdListPage {
// footerScrollConfig: ScrollHideConfig = { cssProperty: 'margin-bottom', maxValue: undefined };
// headerScrollConfig: ScrollHideConfig = { cssProperty: 'margin-top', maxValue: 55 };
searchpast: any; searchpast: any;
searchinprogress: any; searchinprogress: any;
@ -33,6 +37,7 @@ export class PdListPage {
userDetails:any; userDetails:any;
status:any; status:any;
searchitem:any; searchitem:any;
loader_access:boolean=true
// public category:string="inpro" // public category:string="inpro"
// public categories:Array<string>=['inpro','past'] // public categories:Array<string>=['inpro','past']
@ -62,6 +67,7 @@ export class PdListPage {
// } // }
getlenderpddetails() getlenderpddetails()
{ {
this.loader_access=true
let userid = this.aws.getlocale(); let userid = this.aws.getlocale();
this.aws.getuserprofile(userid).subscribe(res=> this.aws.getuserprofile(userid).subscribe(res=>
{ {
@ -77,6 +83,7 @@ export class PdListPage {
this.pdlistdetails = res; this.pdlistdetails = res;
if(this.pdlistdetails.dataStatus == true) if(this.pdlistdetails.dataStatus == true)
{ {
this.loader_access=false
this.pdlistaccess = true; this.pdlistaccess = true;
this.pdinprogress = this.pdlistdetails.records.filter(past=>past.pd_status !="QC_COMPLETED"); this.pdinprogress = this.pdlistdetails.records.filter(past=>past.pd_status !="QC_COMPLETED");
this.searchinprogress = this.pdinprogress; this.searchinprogress = this.pdinprogress;
@ -111,11 +118,19 @@ export class PdListPage {
this.random_ng_past(); this.random_ng_past();
}else }else
{ {
this.loader_access=false
this.pdlistaccess = false; this.pdlistaccess = false;
this.pdlistdetails = "No Records Found"; this.pdlistdetails = "No Records Found";
} }
},err=>{
this.loader_access=false
console.log("error",err);
}) })
}; };
},err=>{
this.loader_access=false
console.log("error",err)
}); });
} }

View File

@ -12,9 +12,10 @@
<mat-label>{{parent_ques.get('question').value}}</mat-label> <mat-label>{{parent_ques.get('question').value}}</mat-label>
<input matInput [type]="parent_ques.get('field_type').value == 'num' || parent_ques.get('field_type').value == 'numtoword' ? 'number' : parent_ques.get('field_type').value == 'string' ? 'text' : parent_ques.get('field_type').value" formControlName="answer_value" <input matInput [type]="parent_ques.get('field_type').value == 'num' || parent_ques.get('field_type').value == 'numtoword' ? 'number' : parent_ques.get('field_type').value == 'string' ? 'text' : parent_ques.get('field_type').value" formControlName="answer_value"
[placeholder]="parent_ques.get('field_type').value == 'num' || parent_ques.get('field_type').value == 'numtoword' ? 'Entert the Number' : 'Enter the Text'" [placeholder]="parent_ques.get('place_holder').value"
autocomplete="off" (change)="onChangeProperty($event,parent_ques,'','',p_i)" autocomplete="off" (change)="onChangeProperty($event,parent_ques,'','',p_i)"
> >
<!-- [placeholder]="parent_ques.get('field_type').value == 'num' || parent_ques.get('field_type').value == 'numtoword' ? 'Entert the Number' : 'Enter the Text'" -->
<mat-hint *ngIf="parent_ques.get('answer_value').value != '' && parent_ques.get('field_type').value == 'numtoword'" align="end" style="font-size: 12px;">{{"&#8377;"}}{{parent_ques.get('answer_value').value | numToWords}}</mat-hint> <mat-hint *ngIf="parent_ques.get('answer_value').value != '' && parent_ques.get('field_type').value == 'numtoword'" align="end" style="font-size: 12px;">{{"&#8377;"}}{{parent_ques.get('answer_value').value | numToWords}}</mat-hint>
<!-- <mat-hint align="end" style="font-size: 11.5px;color: gray;" *ngIf="parent_ques.get('is_amt_in_words').value == true">One Lack</mat-hint> --> <!-- <mat-hint align="end" style="font-size: 11.5px;color: gray;" *ngIf="parent_ques.get('is_amt_in_words').value == true">One Lack</mat-hint> -->
<ng-container *ngFor="let validation of parent_ques.get('validations').value;" ngProjectAs="mat-error"> <ng-container *ngFor="let validation of parent_ques.get('validations').value;" ngProjectAs="mat-error">
@ -149,7 +150,7 @@
<mat-form-field style="width: 100%" *ngIf="single_ques.get('type').value == '1'" [ngStyle]="{'margin-bottom':single_ques.get('field_type').value == 'numtoword' ? '5%' : '0' }"> <mat-form-field style="width: 100%" *ngIf="single_ques.get('type').value == '1'" [ngStyle]="{'margin-bottom':single_ques.get('field_type').value == 'numtoword' ? '5%' : '0' }">
<mat-label>{{single_ques.get('question').value}}</mat-label> <mat-label>{{single_ques.get('question').value}}</mat-label>
<input matInput [type]="single_ques.get('field_type').value == 'num' || single_ques.get('field_type').value == 'numtoword' ? 'number' : single_ques.get('field_type').value == 'string' ? 'text' : single_ques.get('field_type').value" formControlName="answer_value" <input matInput [type]="single_ques.get('field_type').value == 'num' || single_ques.get('field_type').value == 'numtoword' ? 'number' : single_ques.get('field_type').value == 'string' ? 'text' : single_ques.get('field_type').value" formControlName="answer_value"
[placeholder]="single_ques.get('field_type').value == 'num' || single_ques.get('field_type').value == 'numtoword' ? 'Enter the Number' : 'Enter the Text'" [placeholder]="single_ques.get('place_holder').value"
autocomplete="off" (change)="onChangeProperty($event,single_ques,group_ques,2,s_i)"> autocomplete="off" (change)="onChangeProperty($event,single_ques,group_ques,2,s_i)">
<mat-hint *ngIf="single_ques.get('answer_value').value != '' && single_ques.get('field_type').value == 'numtoword'" align="end" style="font-size: 10px;">{{"&#8377;"}}{{single_ques.get('answer_value').value | numToWords}}</mat-hint> <mat-hint *ngIf="single_ques.get('answer_value').value != '' && single_ques.get('field_type').value == 'numtoword'" align="end" style="font-size: 10px;">{{"&#8377;"}}{{single_ques.get('answer_value').value | numToWords}}</mat-hint>
<!-- <mat-error align="end" style="font-style: italic;margin-right: 5px;">Field is Required</mat-error> --> <!-- <mat-error align="end" style="font-style: italic;margin-right: 5px;">Field is Required</mat-error> -->

File diff suppressed because one or more lines are too long

View File

@ -20,7 +20,17 @@
<ion-list > <ion-list >
<ion-grid class="fadeIn"> <ion-grid class="fadeIn">
<mat-card class="md-box" reorder="true"> <mat-card class="md-box" reorder="true">
<ion-list style="margin-top: 5px;"> <div *ngIf="loader_access">
<div *ngFor="let i of [1,2,3,4,5]">
<content-loader>
<svg:rect x="80" y="40" rx="5" ry="5" width="300" height="70" />
<svg:circle cx="40" cy="70" r="30" stroke="3" stroke-width="3" fill="red" />
</content-loader>
</div>
</div>
<ion-list style="margin-top: 5px;" *ngIf="!loader_access">
<ion-item *ngFor="let val of sales_displayValue" (click)="presentActionSheet(val.sales_pd_id)"> <ion-item *ngFor="let val of sales_displayValue" (click)="presentActionSheet(val.sales_pd_id)">
<!-- <p item-start class="lettericon">{{val.abbr}}</p> --> <!-- <p item-start class="lettericon">{{val.abbr}}</p> -->
<!-- <ion-icon style="font-size:90%" item-start="" class="lettericon" [style.background]="bgColor[i]" *ngIf="progess.applicat_details ===undefined || progess.applicat_details[0].applicant_name ==null">{{progess.pd_id}}</ion-icon> --> <!-- <ion-icon style="font-size:90%" item-start="" class="lettericon" [style.background]="bgColor[i]" *ngIf="progess.applicat_details ===undefined || progess.applicat_details[0].applicant_name ==null">{{progess.pd_id}}</ion-icon> -->

View File

@ -18,6 +18,7 @@ import { ToastProvider } from '../../../../providers/common-provider/toast';
}) })
export class SalesPDlistPage { export class SalesPDlistPage {
sales_displayValue: any=[]; sales_displayValue: any=[];
loader_access:any=true
constructor(public actionSheetCtrl: ActionSheetController,public navCtrl: NavController, public navParams: NavParams,private salesPDService:SalesPdProvider,private toastProvider:ToastProvider) { constructor(public actionSheetCtrl: ActionSheetController,public navCtrl: NavController, public navParams: NavParams,private salesPDService:SalesPdProvider,private toastProvider:ToastProvider) {
} }
@ -31,8 +32,15 @@ export class SalesPDlistPage {
this.salesPDService.getSalesPDList().subscribe(res=>{ this.salesPDService.getSalesPDList().subscribe(res=>{
if(res['dataStatus']){ if(res['dataStatus']){
this.sales_displayValue=res['records'] this.sales_displayValue=res['records']
this.loader_access=false
}
else{
this.loader_access=false
} }
},err=>{
console.log("Error",err)
this.loader_access=false
}) })
} }
newForm(){ newForm(){

View File

@ -244,6 +244,7 @@ export class QuesServiceProvider {
//FOR numeric of string field //FOR numeric of string field
if(data.type == '1'){ if(data.type == '1'){
curr_control.controls[curr_index].addControl('field_type',new FormControl(data.field_type)) curr_control.controls[curr_index].addControl('field_type',new FormControl(data.field_type))
curr_control.controls[curr_index].addControl('place_holder',new FormControl(data.place_holder))
} }
//FOR SEARCHABLE FIELD VALUE KEY () //FOR SEARCHABLE FIELD VALUE KEY ()

View File

@ -10,7 +10,7 @@ import {
HttpUserEvent HttpUserEvent
} from '@angular/common/http'; } from '@angular/common/http';
// import { AuthGuard } from './auth.guard'; // import { AuthGuard } from './auth.guard';
import { Observable, of, BehaviorSubject} from 'rxjs'; import { Observable, of, BehaviorSubject, throwError} from 'rxjs';
// import { Router } from '@angular/router'; // import { Router } from '@angular/router';
@ -23,6 +23,9 @@ import { ConstantsProvider } from '../constants/constants';
// import { catchError } from 'rxjs/operators'; // import { catchError } from 'rxjs/operators';
import 'rxjs/add/operator/catch'; import 'rxjs/add/operator/catch';
import { AwsServiceProvider } from '../aws-service/aws-service'; import { AwsServiceProvider } from '../aws-service/aws-service';
import { NavController } from 'ionic-angular';
import { LoginPage } from '../../pages/login/login';
import { ToastProvider } from '../common-provider/toast';
// const cognitoService=this.injector.get(CognitoServiceProvider) // const cognitoService=this.injector.get(CognitoServiceProvider)
// const constantProvider=this.injector.get(ConstantsProvider) // const constantProvider=this.injector.get(ConstantsProvider)
@ -70,6 +73,9 @@ intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpSentEvent |
if((<HttpErrorResponse>error).status) { if((<HttpErrorResponse>error).status) {
return this.handle401Error(req,next,error) return this.handle401Error(req,next,error)
} }
else{
return this.handle401Error(req,next,error)
}
} else { } else {
console.log("observable error") console.log("observable error")
return Observable.throw(error); return Observable.throw(error);
@ -136,7 +142,7 @@ intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpSentEvent |
} }
} }
else{ else{
this.handleError('Error From Token Interceptor',err); return this.handleError('',err)
} }
} }
else{ else{
@ -145,16 +151,25 @@ intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpSentEvent |
} }
private handleError<T> (operation = 'operation', result?: T) { private handleError<T> (operation = 'operation', error?: HttpErrorResponse) {
return (error: any): Observable<T> => { // return (error: any): Observable<T> => {
if(error instanceof HttpErrorResponse){ // if(error instanceof HttpErrorResponse){
console.error("Error: " + error.status); console.log("Error: " ,error);
if(error.status == 401){ if(error.status == 401){
localStorage.clear(); localStorage.clear();
// this.router.navigate(['/authentication/login']); const NavCtrl=this.injector.get(NavController)
} NavCtrl.setRoot(LoginPage);
return of(result as T);
} }
}; else
} // if(error.status == 0)
{
const toastProvider=this.injector.get(ToastProvider)
toastProvider.lenderappmessage("Network Error")
}
return throwError(error)
// return of(result as T);
}
// };
// }
} }

Binary file not shown.

View File

@ -0,0 +1,50 @@
// Ionicons Icon Font CSS
// --------------------------
// Ionicons CSS for Ionic's <ion-icon> element
// ionicons-icons.scss has the icons and their unicode characters
$ionicons-font-path: $font-path !default;
@import "ionicons-icons";
@import "ionicons-variables";
@font-face {
font-family: "Ionicons";
src: url("#{$ionicons-font-path}/ionicons.woff2?v=#{$ionicons-version}") format("woff2"),
url("#{$ionicons-font-path}/ionicons.woff?v=#{$ionicons-version}") format("woff"),
url("#{$ionicons-font-path}/ionicons.ttf?v=#{$ionicons-version}") format("truetype");
font-weight: normal;
font-style: normal;
}
ion-icon {
display: inline-block;
font-family: "Ionicons";
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
font-style: normal;
font-variant: normal;
font-weight: normal;
line-height: 1;
text-rendering: auto;
text-transform: none;
speak: none;
@include rtl() {
&[aria-label^="arrow"]::before,
&[flip-rtl]::before {
transform: scaleX(-1);
}
&[unflip-rtl]::before {
transform: scaleX(1);
}
}
&::before {
display: inline-block;
}
}

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 391 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,34 @@
// Noto Sans Font
// Google
// Apache License, version 2.0
// http://www.apache.org/licenses/LICENSE-2.0.html
$noto-sans-font-path: $font-path !default;
@font-face {
font-family: "Noto Sans";
font-style: normal;
font-weight: 300;
src: local("Noto Sans"), local("Noto-Sans-Regular"), url("#{$noto-sans-font-path}/noto-sans-regular.woff") format("woff"), url("#{$noto-sans-font-path}/noto-sans-regular.ttf") format("truetype");
}
@font-face {
font-family: "Noto Sans";
font-style: normal;
font-weight: 400;
src: local("Noto Sans"), local("Noto-Sans-Regular"), url("#{$noto-sans-font-path}/noto-sans-regular.woff") format("woff"), url("#{$noto-sans-font-path}/noto-sans-regular.ttf") format("truetype");
}
@font-face {
font-family: "Noto Sans";
font-style: normal;
font-weight: 500;
src: local("Noto Sans Bold"), local("Noto-Sans-Bold"), url("#{$noto-sans-font-path}/noto-sans-bold.woff") format("woff"), url("#{$noto-sans-font-path}/noto-sans-bold.ttf") format("truetype");
}
@font-face {
font-family: "Noto Sans";
font-style: normal;
font-weight: 700;
src: local("Noto Sans Bold"), local("Noto-Sans-Bold"), url("#{$noto-sans-font-path}/noto-sans-bold.woff") format("woff"), url("#{$noto-sans-font-path}/noto-sans-bold.ttf") format("truetype");
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,34 @@
// Roboto Font
// Google
// Apache License, version 2.0
// http://www.apache.org/licenses/LICENSE-2.0.html
$roboto-font-path: $font-path !default;
@font-face {
font-family: "Roboto";
font-style: normal;
font-weight: 300;
src: local("Roboto Light"), local("Roboto-Light"), url("#{$roboto-font-path}/roboto-light.woff2") format("woff2"), url("#{$roboto-font-path}/roboto-light.woff") format("woff"), url("#{$roboto-font-path}/roboto-light.ttf") format("truetype");
}
@font-face {
font-family: "Roboto";
font-style: normal;
font-weight: 400;
src: local("Roboto"), local("Roboto-Regular"), url("#{$roboto-font-path}/roboto-regular.woff2") format("woff2"), url("#{$roboto-font-path}/roboto-regular.woff") format("woff"), url("#{$roboto-font-path}/roboto-regular.ttf") format("truetype");
}
@font-face {
font-family: "Roboto";
font-style: normal;
font-weight: 500;
src: local("Roboto Medium"), local("Roboto-Medium"), url("#{$roboto-font-path}/roboto-medium.woff2") format("woff2"), url("#{$roboto-font-path}/roboto-medium.woff") format("woff"), url("#{$roboto-font-path}/roboto-medium.ttf") format("truetype");
}
@font-face {
font-family: "Roboto";
font-style: normal;
font-weight: 700;
src: local("Roboto Bold"), local("Roboto-Bold"), url("#{$roboto-font-path}/roboto-bold.woff2") format("woff2"), url("#{$roboto-font-path}/roboto-bold.woff") format("woff"), url("#{$roboto-font-path}/roboto-bold.ttf") format("truetype");
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
www/build/main.css.map Normal file
View File

@ -0,0 +1 @@
null

File diff suppressed because one or more lines are too long

1
www/build/main.js.map Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
www/build/vendor.js.map Normal file

File diff suppressed because one or more lines are too long