Fairoj : sales PD Issue fixes
This commit is contained in:
parent
fc260d1f1b
commit
149282fc36
15
package-lock.json
generated
15
package-lock.json
generated
@ -601,6 +601,21 @@
|
||||
"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": {
|
||||
"version": "2.7.40",
|
||||
"resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.7.40.tgz",
|
||||
|
||||
@ -33,6 +33,7 @@
|
||||
"@ionic-native/splash-screen": "4.4.0",
|
||||
"@ionic-native/status-bar": "^4.16.0",
|
||||
"@ionic/storage": "^2.1.3",
|
||||
"@netbasal/content-loader": "^1.1.0",
|
||||
"@types/chart.js": "^2.7.40",
|
||||
"amazon-cognito-identity-js": "^3.0.3",
|
||||
"chart.js": "^2.7.3",
|
||||
@ -98,4 +99,4 @@
|
||||
"android"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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 { 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 { SalesPdProvider } from '../pages/sales_pd/providers/sales-pd/sales-pd';
|
||||
|
||||
|
||||
@ -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 { LocationAccuracy } from '@ionic-native/location-accuracy';
|
||||
import { ReqTokenInterceptor } from '../providers/_guard/req-token.interceptor';
|
||||
|
||||
import {ContentLoaderModule} from '@netbasal/content-loader'
|
||||
import { ScrollHideDirective } from '../directives/scroll-hide/scroll-hide';
|
||||
|
||||
|
||||
@NgModule({
|
||||
@ -93,7 +94,8 @@ import { ReqTokenInterceptor } from '../providers/_guard/req-token.interceptor';
|
||||
PasswordPage,
|
||||
PdAllocationPage,
|
||||
InputPage,
|
||||
SalesPDlistPage
|
||||
SalesPDlistPage,
|
||||
ScrollHideDirective
|
||||
|
||||
],
|
||||
imports: [
|
||||
@ -133,7 +135,8 @@ import { ReqTokenInterceptor } from '../providers/_guard/req-token.interceptor';
|
||||
MatStepperModule,HttpClientModule,IonicImageViewerModule,
|
||||
MatFormFieldModule,
|
||||
NgxMatSelectSearchModule,
|
||||
HomePageModule
|
||||
HomePageModule,
|
||||
ContentLoaderModule
|
||||
],
|
||||
bootstrap: [IonicApp],
|
||||
entryComponents: [
|
||||
|
||||
8
src/directives/directives.module.ts
Normal file
8
src/directives/directives.module.ts
Normal 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 {}
|
||||
57
src/directives/scroll-hide/scroll-hide.ts
Normal file
57
src/directives/scroll-hide/scroll-hide.ts
Normal 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;
|
||||
}
|
||||
@ -49,9 +49,18 @@
|
||||
<button ion-fab (click)="newpage()" color="optblue"><ion-icon name="add"></ion-icon></button>
|
||||
|
||||
</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" />
|
||||
|
||||
</content-loader>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div *ngIf="pdlistaccess" >
|
||||
<div *ngIf="pdlistaccess && !loader_access" >
|
||||
|
||||
<mat-card>
|
||||
|
||||
@ -173,7 +182,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="!pdlistaccess" text-center>
|
||||
<div *ngIf="!pdlistaccess && !loader_access" text-center>
|
||||
|
||||
<h2>{{pdlistdetails}}</h2>
|
||||
</div>
|
||||
|
||||
@ -6,6 +6,7 @@ import { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';
|
||||
import { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';
|
||||
import { parseDate } from 'ionic-angular/util/datetime-util';
|
||||
import { PdAllocationPage } from '../pd-allocation/pd-allocation';
|
||||
import { ScrollHideConfig } from '../../directives/scroll-hide/scroll-hide';
|
||||
|
||||
/**
|
||||
* Generated class for the PdListPage page.
|
||||
@ -20,7 +21,10 @@ import { PdAllocationPage } from '../pd-allocation/pd-allocation';
|
||||
templateUrl: 'pd-list.html',
|
||||
})
|
||||
export class PdListPage {
|
||||
// footerScrollConfig: ScrollHideConfig = { cssProperty: 'margin-bottom', maxValue: undefined };
|
||||
// headerScrollConfig: ScrollHideConfig = { cssProperty: 'margin-top', maxValue: 55 };
|
||||
|
||||
|
||||
searchpast: any;
|
||||
searchinprogress: any;
|
||||
bgColorPast: any = [];
|
||||
@ -33,6 +37,7 @@ export class PdListPage {
|
||||
userDetails:any;
|
||||
status:any;
|
||||
searchitem:any;
|
||||
loader_access:boolean=true
|
||||
|
||||
// public category:string="inpro"
|
||||
// public categories:Array<string>=['inpro','past']
|
||||
@ -62,6 +67,7 @@ export class PdListPage {
|
||||
// }
|
||||
getlenderpddetails()
|
||||
{
|
||||
this.loader_access=true
|
||||
let userid = this.aws.getlocale();
|
||||
this.aws.getuserprofile(userid).subscribe(res=>
|
||||
{
|
||||
@ -77,6 +83,7 @@ export class PdListPage {
|
||||
this.pdlistdetails = res;
|
||||
if(this.pdlistdetails.dataStatus == true)
|
||||
{
|
||||
this.loader_access=false
|
||||
this.pdlistaccess = true;
|
||||
this.pdinprogress = this.pdlistdetails.records.filter(past=>past.pd_status !="QC_COMPLETED");
|
||||
this.searchinprogress = this.pdinprogress;
|
||||
@ -111,11 +118,19 @@ export class PdListPage {
|
||||
this.random_ng_past();
|
||||
}else
|
||||
{
|
||||
this.loader_access=false
|
||||
this.pdlistaccess = false;
|
||||
this.pdlistdetails = "No Records Found";
|
||||
}
|
||||
},err=>{
|
||||
this.loader_access=false
|
||||
console.log("error",err);
|
||||
})
|
||||
};
|
||||
},err=>{
|
||||
this.loader_access=false
|
||||
console.log("error",err)
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@ -12,9 +12,10 @@
|
||||
|
||||
<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"
|
||||
[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)"
|
||||
>
|
||||
<!-- [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;">{{"₹"}}{{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> -->
|
||||
<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-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"
|
||||
[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)">
|
||||
<mat-hint *ngIf="single_ques.get('answer_value').value != '' && single_ques.get('field_type').value == 'numtoword'" align="end" style="font-size: 10px;">{{"₹"}}{{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> -->
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -20,7 +20,17 @@
|
||||
<ion-list >
|
||||
<ion-grid class="fadeIn">
|
||||
<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)">
|
||||
<!-- <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> -->
|
||||
|
||||
@ -18,6 +18,7 @@ import { ToastProvider } from '../../../../providers/common-provider/toast';
|
||||
})
|
||||
export class SalesPDlistPage {
|
||||
sales_displayValue: any=[];
|
||||
loader_access:any=true
|
||||
|
||||
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=>{
|
||||
if(res['dataStatus']){
|
||||
this.sales_displayValue=res['records']
|
||||
this.loader_access=false
|
||||
}
|
||||
else{
|
||||
this.loader_access=false
|
||||
}
|
||||
|
||||
},err=>{
|
||||
console.log("Error",err)
|
||||
this.loader_access=false
|
||||
})
|
||||
}
|
||||
newForm(){
|
||||
|
||||
@ -244,6 +244,7 @@ export class QuesServiceProvider {
|
||||
//FOR numeric of string field
|
||||
if(data.type == '1'){
|
||||
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 ()
|
||||
|
||||
@ -10,7 +10,7 @@ import {
|
||||
HttpUserEvent
|
||||
} from '@angular/common/http';
|
||||
// import { AuthGuard } from './auth.guard';
|
||||
import { Observable, of, BehaviorSubject} from 'rxjs';
|
||||
import { Observable, of, BehaviorSubject, throwError} from 'rxjs';
|
||||
|
||||
// import { Router } from '@angular/router';
|
||||
|
||||
@ -23,6 +23,9 @@ import { ConstantsProvider } from '../constants/constants';
|
||||
// import { catchError } from 'rxjs/operators';
|
||||
import 'rxjs/add/operator/catch';
|
||||
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 constantProvider=this.injector.get(ConstantsProvider)
|
||||
@ -70,6 +73,9 @@ intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpSentEvent |
|
||||
if((<HttpErrorResponse>error).status) {
|
||||
return this.handle401Error(req,next,error)
|
||||
}
|
||||
else{
|
||||
return this.handle401Error(req,next,error)
|
||||
}
|
||||
} else {
|
||||
console.log("observable error")
|
||||
return Observable.throw(error);
|
||||
@ -136,7 +142,7 @@ intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpSentEvent |
|
||||
}
|
||||
}
|
||||
else{
|
||||
this.handleError('Error From Token Interceptor',err);
|
||||
return this.handleError('',err)
|
||||
}
|
||||
}
|
||||
else{
|
||||
@ -145,16 +151,25 @@ intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpSentEvent |
|
||||
}
|
||||
|
||||
|
||||
private handleError<T> (operation = 'operation', result?: T) {
|
||||
return (error: any): Observable<T> => {
|
||||
if(error instanceof HttpErrorResponse){
|
||||
console.error("Error: " + error.status);
|
||||
if(error.status == 401){
|
||||
localStorage.clear();
|
||||
// this.router.navigate(['/authentication/login']);
|
||||
}
|
||||
return of(result as T);
|
||||
private handleError<T> (operation = 'operation', error?: HttpErrorResponse) {
|
||||
// return (error: any): Observable<T> => {
|
||||
// if(error instanceof HttpErrorResponse){
|
||||
console.log("Error: " ,error);
|
||||
if(error.status == 401){
|
||||
localStorage.clear();
|
||||
const NavCtrl=this.injector.get(NavController)
|
||||
NavCtrl.setRoot(LoginPage);
|
||||
}
|
||||
};
|
||||
}
|
||||
else
|
||||
// if(error.status == 0)
|
||||
{
|
||||
const toastProvider=this.injector.get(ToastProvider)
|
||||
toastProvider.lenderappmessage("Network Error")
|
||||
}
|
||||
|
||||
return throwError(error)
|
||||
// return of(result as T);
|
||||
}
|
||||
// };
|
||||
// }
|
||||
}
|
||||
BIN
www/assets/fonts/ionicons.eot
Normal file
BIN
www/assets/fonts/ionicons.eot
Normal file
Binary file not shown.
50
www/assets/fonts/ionicons.scss
Normal file
50
www/assets/fonts/ionicons.scss
Normal 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;
|
||||
}
|
||||
}
|
||||
2630
www/assets/fonts/ionicons.svg
Normal file
2630
www/assets/fonts/ionicons.svg
Normal file
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 391 KiB |
BIN
www/assets/fonts/ionicons.ttf
Normal file
BIN
www/assets/fonts/ionicons.ttf
Normal file
Binary file not shown.
BIN
www/assets/fonts/noto-sans-bold.ttf
Normal file
BIN
www/assets/fonts/noto-sans-bold.ttf
Normal file
Binary file not shown.
BIN
www/assets/fonts/noto-sans-bold.woff
Normal file
BIN
www/assets/fonts/noto-sans-bold.woff
Normal file
Binary file not shown.
BIN
www/assets/fonts/noto-sans-regular.ttf
Normal file
BIN
www/assets/fonts/noto-sans-regular.ttf
Normal file
Binary file not shown.
BIN
www/assets/fonts/noto-sans-regular.woff
Normal file
BIN
www/assets/fonts/noto-sans-regular.woff
Normal file
Binary file not shown.
34
www/assets/fonts/noto-sans.scss
Normal file
34
www/assets/fonts/noto-sans.scss
Normal 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");
|
||||
}
|
||||
BIN
www/assets/fonts/roboto-bold.ttf
Normal file
BIN
www/assets/fonts/roboto-bold.ttf
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-bold.woff
Normal file
BIN
www/assets/fonts/roboto-bold.woff
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-bold.woff2
Normal file
BIN
www/assets/fonts/roboto-bold.woff2
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-light.ttf
Normal file
BIN
www/assets/fonts/roboto-light.ttf
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-light.woff
Normal file
BIN
www/assets/fonts/roboto-light.woff
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-light.woff2
Normal file
BIN
www/assets/fonts/roboto-light.woff2
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-medium.ttf
Normal file
BIN
www/assets/fonts/roboto-medium.ttf
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-medium.woff
Normal file
BIN
www/assets/fonts/roboto-medium.woff
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-medium.woff2
Normal file
BIN
www/assets/fonts/roboto-medium.woff2
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-regular.ttf
Normal file
BIN
www/assets/fonts/roboto-regular.ttf
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-regular.woff
Normal file
BIN
www/assets/fonts/roboto-regular.woff
Normal file
Binary file not shown.
BIN
www/assets/fonts/roboto-regular.woff2
Normal file
BIN
www/assets/fonts/roboto-regular.woff2
Normal file
Binary file not shown.
34
www/assets/fonts/roboto.scss
Normal file
34
www/assets/fonts/roboto.scss
Normal 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
28793
www/build/main.css
28793
www/build/main.css
File diff suppressed because one or more lines are too long
1
www/build/main.css.map
Normal file
1
www/build/main.css.map
Normal file
@ -0,0 +1 @@
|
||||
null
|
||||
5892
www/build/main.js
5892
www/build/main.js
File diff suppressed because one or more lines are too long
1
www/build/main.js.map
Normal file
1
www/build/main.js.map
Normal file
File diff suppressed because one or more lines are too long
202858
www/build/vendor.js
202858
www/build/vendor.js
File diff suppressed because one or more lines are too long
1
www/build/vendor.js.map
Normal file
1
www/build/vendor.js.map
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user