Merge branch 'MOHEMM-Q2-DEV' into Fatima-Q2-June

# Conflicts:
#	Mohem/src/app/app-routing.module.ts
MOE_DEV_NEW_TEMPORARY_DESIGN
Fatimah Alshammari 5 years ago
commit 22afd6fb15

@ -101,6 +101,7 @@
"date-fns": "^1.30.1", "date-fns": "^1.30.1",
"es6-promise-plugin": "^4.1.0", "es6-promise-plugin": "^4.1.0",
"ionic2-calendar": "^0.5.8", "ionic2-calendar": "^0.5.8",
"ionic4-rating": "^1.0.9",
"ng-circle-progress": "^1.5.1", "ng-circle-progress": "^1.5.1",
"ng2-file-upload": "^1.3.0", "ng2-file-upload": "^1.3.0",
"ng2-pdf-viewer": "^5.3.2", "ng2-pdf-viewer": "^5.3.2",
@ -221,4 +222,4 @@
"ios" "ios"
] ]
} }
} }

@ -23,8 +23,9 @@ const routes: Routes = [
{ path: 'attendance-tracking', loadChildren: './attendance-tracking/attendance-tracking.module#AttendanceTrackingPageModule' }, { path: 'attendance-tracking', loadChildren: './attendance-tracking/attendance-tracking.module#AttendanceTrackingPageModule' },
{ path: 'itemforsale', loadChildren: './itemforsale/itemforsale.module#ItemforsalePageModule' }, { path: 'itemforsale', loadChildren: './itemforsale/itemforsale.module#ItemforsalePageModule' },
{ path: 'offersdiscount', loadChildren: './offersdiscount/offersdiscount.module#OffersdiscountPageModule' }, { path: 'offersdiscount', loadChildren: './offersdiscount/offersdiscount.module#OffersdiscountPageModule' },
// { path: 'mowadhafi', loadChildren: './mowadhafi/mowadhafi/mowadhafi.module#MowadhafiPageModule' }, { path: 'mowadhafi', loadChildren: './mowadhafi/mowadhafi.module#MowadhafiPageModule' },
{ path: 'mowadhafi', loadChildren: './mowadhafi/mowadhafi.module#MowadhafiPageModule' } { path: 'erm-channel', loadChildren: './erm-channel/erm-channel.module#ErmChannelPageModule' },
{ path: 'backend-integrations', loadChildren: './backend-integrations/backend-integrations.module#BackendIntegrationsPageModule' }

@ -164,7 +164,6 @@
<ion-badge class="start-badge main-badge" slot="end" color="danger">{{notBadge}}</ion-badge> <ion-badge class="start-badge main-badge" slot="end" color="danger">{{notBadge}}</ion-badge>
</ion-label> </ion-label>
</ion-item> </ion-item>
<!-- <ion-item (click)="profile()"> <!-- <ion-item (click)="profile()">
<ion-thumbnail slot="start" class="menu-thumb"> <ion-thumbnail slot="start" class="menu-thumb">

@ -67,9 +67,9 @@ export class AppComponent implements OnInit {
private hideSplashScreen() { private hideSplashScreen() {
setTimeout(() => { setTimeout(() => {
this.splashScreen.hide(); this.splashScreen.hide();
}, 1000); }, 1000);
} }
public initializeApp() { public initializeApp() {
this.cs.startLoading(); this.cs.startLoading();
@ -106,9 +106,10 @@ export class AppComponent implements OnInit {
private startReceivingPushService() { private startReceivingPushService() {
this.pushService.startReceiving(); this.pushService.startReceiving();
setTimeout(() => { setTimeout(() => {
console.log(' in setTimeout startReceiving'); console.log(' in setTimeout startReceiving');
this.getLastLoginInfo(); this.getLastLoginInfo();
}, 4000);
}, 4000);
} }
public subscribeEvents() { public subscribeEvents() {
@ -119,23 +120,27 @@ export class AppComponent implements OnInit {
}); });
this.events.subscribe('setMenu', () => { this.events.subscribe('setMenu', () => {
const user = this.authService.loadAuthenticatedUser().subscribe((user: AuthenticatedUser) => { const user = this.authService.loadAuthenticatedUser().subscribe((user: AuthenticatedUser) => {
if (user) { if (user) {
console.log(user); console.log(user);
localStorage.setItem("digitalIDUser", JSON.stringify(user));
this.digitalIDUser = user//JSON.stringify(user); localStorage.setItem("digitalIDUser", JSON.stringify(user));
this.companyUrl = user.CompanyImageURL ? user.CompanyImageURL : '../assets/imgs/CSLogo.png'; this.digitalIDUser = user//JSON.stringify(user);
this.companyDesc = user.CompanyImageDescription ? user.CompanyImageDescription : 'Powered By Cloud Solutions'; this.companyUrl = user.CompanyImageURL ? user.CompanyImageURL : '../assets/imgs/CSLogo.png';
this.User_name_Emp = user.EMPLOYEE_DISPLAY_NAME; this.companyDesc = user.CompanyImageDescription ? user.CompanyImageDescription : 'Powered By Cloud Solutions';
if (this.cs.getUpdateImage().status) { this.User_name_Emp = user.EMPLOYEE_DISPLAY_NAME;
this.user_image = this.sanitizer.bypassSecurityTrustUrl('data:image/png;base64,' + this.cs.getUpdateImage().img); if (this.cs.getUpdateImage().status) {
} else { this.user_image = this.sanitizer.bypassSecurityTrustUrl('data:image/png;base64,' + this.cs.getUpdateImage().img);
this.user_image = user.EMPLOYEE_IMAGE ? 'data:image/png;base64,' + user.EMPLOYEE_IMAGE : '../assets/imgs/profile.png';
}
this.User_Job_name = user.JOB_NAME;
} else { } else {
console.log(user); this.user_image = user.EMPLOYEE_IMAGE ? 'data:image/png;base64,' + user.EMPLOYEE_IMAGE : '../assets/imgs/profile.png';
} }
}); this.User_Job_name = user.JOB_NAME;
//erm channel
if (!CommonService.SKIP)
this.cs.navigateForward('/erm-channel/survey');
} else {
console.log(user);
}
});
}); });
this.events.subscribe('getNotCount', badge => { this.notBadge = badge; }); this.events.subscribe('getNotCount', badge => { this.notBadge = badge; });
this.events.subscribe('myTeamFlag', myTeamFlag => { this.TeamFlag = myTeamFlag; }); this.events.subscribe('myTeamFlag', myTeamFlag => { this.TeamFlag = myTeamFlag; });
@ -200,14 +205,14 @@ export class AppComponent implements OnInit {
async openDigitalId() { async openDigitalId() {
const modal = await this.modalController.create({ const modal = await this.modalController.create({
component: DigitalIdComponent, component: DigitalIdComponent,
cssClass: 'digital-id-modal-css', cssClass: 'digital-id-modal-css',
componentProps: { componentProps: {
'userInfo':this.digitalIDUser//JSON.parse(this.digitalIDUser) 'userInfo': this.digitalIDUser//JSON.parse(this.digitalIDUser)
} }
}); });
return await modal.present(); return await modal.present();
} }
private changeImage() { private changeImage() {
this.cs.openChangeImagePage(); this.cs.openChangeImagePage();
@ -219,40 +224,40 @@ export class AppComponent implements OnInit {
} }
public getLastLoginInfo() { public getLastLoginInfo() {
this.deviceToken = this.cs.getDeviceToken(); this.deviceToken = this.cs.getDeviceToken();
if (this.deviceToken) { if (this.deviceToken) {
console.log('login enabled first time: ' + this.deviceToken); console.log('login enabled first time: ' + this.deviceToken);
} else { } else {
this.pushService.startReceiving(); this.pushService.startReceiving();
setTimeout(() => { setTimeout(() => {
this.deviceToken = localStorage.getItem('deviceToken'); this.deviceToken = localStorage.getItem('deviceToken');
}, 1000); }, 1000);
} }
this.requestGetLoginInfo = { this.requestGetLoginInfo = {
DeviceType: this.cs.getDeviceType(), DeviceType: this.cs.getDeviceType(),
DeviceToken: this.deviceToken DeviceToken: this.deviceToken
}; };
this.authService.getLoginInfo(this.requestGetLoginInfo, () => {}, this.ts.trPK('general', 'ok')).subscribe(res => { this.authService.getLoginInfo(this.requestGetLoginInfo, () => { }, this.ts.trPK('general', 'ok')).subscribe(res => {
if (this.cs.validResponse(res)) { if (this.cs.validResponse(res)) {
if (res.Mohemm_GetMobileLoginInfoList.length > 0) { if (res.Mohemm_GetMobileLoginInfoList.length > 0) {
this.cs.sharedService.setSharedData(res.Mohemm_GetMobileLoginInfoList[0], AuthenticationService.IMEI_USER_DATA); this.cs.sharedService.setSharedData(res.Mohemm_GetMobileLoginInfoList[0], AuthenticationService.IMEI_USER_DATA);
this.user = true; this.user = true;
this.events.publish('user', this.user); this.events.publish('user', this.user);
if (this.logoutFlage) { if (this.logoutFlage) {
this.cs.openLogin(); this.cs.openLogin();
} }
} else { } else {
this.user = false; this.user = false;
this.events.publish('user', this.user); this.events.publish('user', this.user);
if (this.logoutFlage) { if (this.logoutFlage) {
this.cs.openLogin(); this.cs.openLogin();
} }
} }
} else {} } else { }
}); });
} }
} }

@ -0,0 +1,58 @@
<app-generic-header
showBack="true"
[headerText]="'login,announcement' | translate">
</app-generic-header>
<ion-content style="--background:#F4F4F4;">
<ion-searchbar (ionInput)="filterList($event)" style="--background: white"></ion-searchbar>
<ion-list style="background: #f4f4f4;">
<div *ngFor="let item of arrList; let i = index"
[ngClass]="i>0 && !item.Open ? 'class-dev-close': 'class-dev-open'"
style="background: white; margin: 20px; padding: 0px;">
<ion-card *ngIf="i === 0 && !item.isOpen" (click)="toggleAnnouncement(item)" style="margin: 0px;">
<img [src]="item.img" class="image-center">
<ion-item>
<ion-label>
<h2 class="text-style">{{item.title}}</h2>
<p class="text-style">{{item.body}}</p>
<p class="text-style">{{item.date}}</p>
</ion-label>
</ion-item>
</ion-card>
<ion-card *ngIf="i === 0 && item.isOpen" (click)="toggleAnnouncement(item)" style="margin: 0px;">
<ion-card-header style="background: transparent;">
<ion-card-title style="font-size: 20px; margin: 5px;">{{item.title}} <br>
<p style="font-size: 12px; color: gray;">{{item.date}}</p>
</ion-card-title>
<img [src]="item.img" class="image-center">
</ion-card-header>
<ion-card-content>
<p>{{item.body}}</p>
</ion-card-content>
</ion-card>
<ion-item *ngIf="i > 0 && !item.isOpen" (click)="toggleAnnouncement(item)" lines='none'
style="border: 1px solid lightgray; border-radius: 30px; height: 100px;">
<img [src]="item.img" style="width: 30%;">
<ion-label style="margin: 5px;">
<h2>{{item.title}}</h2>
<p>{{item.body}}</p>
<p>{{item.date}}</p>
</ion-label>
</ion-item>
<ion-card *ngIf="i > 0 && item.isOpen" (click)="toggleAnnouncement(item)" style="margin: 0px;">
<ion-card-header style="background: transparent;">
<ion-card-title style="font-size: 20px; margin: 5px;">{{item.title}} <br>
<p style="font-size: 12px; color: gray;">{{item.date}}</p>
</ion-card-title>
<img [src]="item.img" class="image-center">
</ion-card-header>
<ion-card-content>
<p>{{item.body}}</p>
</ion-card-content>
</ion-card>
</div>
</ion-list>
</ion-content>

@ -0,0 +1,22 @@
.image-center{
width: 50%;
display: block;
margin-left: auto;
margin-right: auto;
}
.text-style{
margin: 5px;
}
.class-dev-close{
border: 1px solid lightgray;
border-radius: 30px;
}
.class-dev-open{}
.class-item-open{
border: 1px solid lightgray;
border-radius: 30px;
height: 100px;
}
.class-item-close{}

@ -0,0 +1,27 @@
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { AnnouncementComponent } from './announcement.component';
describe('AnnouncementComponent', () => {
let component: AnnouncementComponent;
let fixture: ComponentFixture<AnnouncementComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ AnnouncementComponent ],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(AnnouncementComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

@ -0,0 +1,62 @@
import { Component, OnInit } from '@angular/core';
import { detachEmbeddedView } from '@angular/core/src/view';
@Component({
selector: 'app-announcement',
templateUrl: './announcement.component.html',
styleUrls: ['./announcement.component.scss'],
})
export class AnnouncementComponent implements OnInit {
dt = new Date().toJSON().slice(0,10).replace(/-/g,'/');
public arr =[
{
title:"Basic Microsoft Excel Cource",
body:" is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.",
img:"../assets/imgs/HMG.png",
date: this.dt,
isopen: true
},
{
title:"External Visit",
body:"It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).",
img:"../assets/imgs/M.png",
date: this.dt,
isopen: false
},
{
title:"Maintenance Activity",
body:"The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from 'de Finibus Bonorum et Malorum' by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.",
img:"../assets/imgs/M.png",
date: this.dt,
isopen: false
},
];
public arrList = [];
constructor() { }
ngOnInit() {
this.arrList = this.arr;
}
filterList(event) {
const val = event.target.value;
if (val === '') {
this.arrList = this.arr;
}
this.arrList = this.arr.filter((item) => {
return (item.title.toLowerCase().indexOf(val.toLowerCase()) > -1);
});
}
toggleAnnouncement(item){
this.arrList.forEach(element => {
if(element.title === item.title){
element.isOpen = !element.isOpen;
}else{
element.isOpen = false;
}
});
}
}

@ -0,0 +1,36 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { Routes, RouterModule } from '@angular/router';
import { IonicModule } from '@ionic/angular';
import { HmgCommonModule } from '../hmg-common/hmg-common.module';
import { BackendIntegrationsPage } from './backend-integrations.page';
import { AnnouncementComponent } from './announcement/announcement.component';
const routes: Routes = [
{
path: '',
component: BackendIntegrationsPage,
children: [
{
path: 'announcement',
component: AnnouncementComponent
}
]
}
];
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
HmgCommonModule,
RouterModule.forChild(routes)
],
declarations: [BackendIntegrationsPage, AnnouncementComponent]
})
export class BackendIntegrationsPageModule {}

@ -0,0 +1,3 @@
<ion-content>
<ion-router-outlet></ion-router-outlet>
</ion-content>

@ -0,0 +1,27 @@
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { BackendIntegrationsPage } from './backend-integrations.page';
describe('BackendIntegrationsPage', () => {
let component: BackendIntegrationsPage;
let fixture: ComponentFixture<BackendIntegrationsPage>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ BackendIntegrationsPage ],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(BackendIntegrationsPage);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

@ -0,0 +1,15 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-backend-integrations',
templateUrl: './backend-integrations.page.html',
styleUrls: ['./backend-integrations.page.scss'],
})
export class BackendIntegrationsPage implements OnInit {
constructor() { }
ngOnInit() {
}
}

@ -0,0 +1,41 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { Routes, RouterModule } from '@angular/router';
import { IonicModule } from '@ionic/angular';
import { IonicRatingModule } from 'ionic4-rating';
import { ErmChannelPage } from './erm-channel.page';
import { HomeComponent } from './home/home.component';
import { SurveyComponent } from './survey/survey.component';
import { HmgCommonModule } from '../hmg-common/hmg-common.module';
const routes: Routes = [
{
path: '',
component: ErmChannelPage,
children: [
{
path: 'home',
component: HomeComponent
},
{
path: 'survey',
component: SurveyComponent
},
]
}
];
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
IonicRatingModule,
HmgCommonModule,
RouterModule.forChild(routes)
],
declarations: [ErmChannelPage, HomeComponent, SurveyComponent]
})
export class ErmChannelPageModule { }

@ -0,0 +1,4 @@
<ion-content>
<ion-router-outlet></ion-router-outlet>
</ion-content>

@ -0,0 +1,27 @@
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { ErmChannelPage } from './erm-channel.page';
describe('ErmChannelPage', () => {
let component: ErmChannelPage;
let fixture: ComponentFixture<ErmChannelPage>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ErmChannelPage ],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(ErmChannelPage);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

@ -0,0 +1,15 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-erm-channel',
templateUrl: './erm-channel.page.html',
styleUrls: ['./erm-channel.page.scss'],
})
export class ErmChannelPage implements OnInit {
constructor() { }
ngOnInit() {
}
}

@ -0,0 +1,12 @@
<div class="full-ads" style="background-image: url(https://i.pinimg.com/564x/a8/b4/42/a8b442181f7c004f98d4eef842a76e76.jpg);">
<div class="skip-btn" (click)="skip()">Skip</div>
<div class="info-container">
<ion-icon name="thumbs-down" class="red"></ion-icon>
<ion-icon name="information" class="white"></ion-icon>
<ion-icon name="thumbs-up" class="green"></ion-icon>
</div>
</div>

@ -0,0 +1,44 @@
.full-ads{
position: absolute;
height: 100%;
width: 100%;
background-size: cover;
}
.skip-btn{
position: absolute;
background: black;
color: #fff;
margin: 10px;
right: 10px;
padding: 5px;
border-radius: 5px;
}
.info-container {
width: 100%;
text-align: center;
bottom: 10%;
position: absolute;
}
.info-container ion-icon{
margin: 10px;
font-size: 32px;
padding: 10px;
border-radius: 50%;
display: inline-block;
}
.red{
background: #ff5757;
color: #fff;
}
.green{
background: #23f172;
color: #fff;
}
.white{
background: #fff;
color: #000;
}

@ -0,0 +1,27 @@
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { HomeComponent } from './home.component';
describe('HomeComponent', () => {
let component: HomeComponent;
let fixture: ComponentFixture<HomeComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ HomeComponent ],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(HomeComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

@ -0,0 +1,19 @@
import { Component, OnInit } from '@angular/core';
import { NavController } from '@ionic/angular';
import { CommonService } from 'src/app/hmg-common/services/common/common.service';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.scss'],
})
export class HomeComponent implements OnInit {
constructor(public nav: NavController,) { }
ngOnInit() { }
skip() {
this.nav.pop();
CommonService.SKIP = true;
}
}

@ -0,0 +1,71 @@
<ion-content padding class="survey-content">
<div class="skip-btn" (click)="skip()">Skip</div>
<ion-grid class="ion-no-padding grid-parent">
<ion-row>
<ion-text class="title-text">
This is to get feedback about the user experience
</ion-text>
</ion-row>
<ion-row>
<ion-col [size]="12">
<p class="subheading">1. How would you like to rate </p>
</ion-col>
</ion-row>
<ion-row>
<ion-col [size]="12">
<rating id="surveyRatingNew" [(ngModel)]="rate" readonly="false" size="default"></rating>
</ion-col>
</ion-row>
</ion-grid>
<ion-grid>
<ion-row>
<ion-col>
<p class="subheading">2. How do you satisfied about this application </p>
</ion-col>
</ion-row>
<ion-row class="faces-row">
<ion-col [ngClass]="select2">
<img class="face" src="assets/icon/rate/bad.svg" (click)="select(1)">
</ion-col>
<ion-col [ngClass]="select2">
<img class="face" src="assets/icon/rate/poor.svg" (click)="select(2)">
</ion-col>
<ion-col [ngClass]="select3">
<img class="face" src="assets/icon/rate/normal.svg" (click)="select(3)">
</ion-col>
<ion-col [ngClass]="select4">
<img class="face" src="assets/icon/rate/good.svg" (click)="select(4)">
</ion-col>
<ion-col [ngClass]="select5">
<img class="face" src="assets/icon/rate/xcellent.svg" (click)="select(5)">
</ion-col>
</ion-row>
</ion-grid>
<ion-row>
<ion-col>
<p class="comments">Please give us a comments</p>
</ion-col>
</ion-row>
<ion-card class="doctor-card">
<ion-row class="input-field">
<ion-col [size]="12">
<ion-textarea rows="6" cols="20" [(ngModel)]="Note" placeholder="Enter any notes here..."></ion-textarea>
</ion-col>
</ion-row>
</ion-card>
</ion-content>
<ion-footer >
<div class="centerDiv">
<ion-button class="footer-button" ion-button (click)="submit()">
{{'general,submit' | translate}} </ion-button>
</div>
</ion-footer>

@ -0,0 +1,50 @@
.survey-content{
--background:#f5f5f5;
}
.title-text{ font-size: 28px; font-weight: bold;text-align: center; margin-top:20%}
.survey-content{
margin-top:50px;
}
.subheading{
margin:30px 30px 0px 30px;
font-size: 20px;
font-weight: bold;}
.bottom-line{
height: 150px;
}
.doctor-card{
background: #fff;
margin: 10px 20px 10px 20px;
border-radius: 10px;
}
.comments{
margin-left: 20px;
margin-bottom: 0;
font-weight: bold;
}
.faces-row{
margin-left: 20px;
margin-right:20px;
}
.faces-row ion-col{
background: #fff;
text-align: center;
border-radius: 7px;
margin: 5px;
}
ion-footer .footer-button{
--background: #259CB8;
width: 80%;
}
.skip-btn{
position: absolute;
background: black;
color: #fff;
margin: 10px;
right: 10px;
padding: 5px;
border-radius: 5px;
}

@ -0,0 +1,27 @@
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { SurveyComponent } from './survey.component';
describe('SurveyComponent', () => {
let component: SurveyComponent;
let fixture: ComponentFixture<SurveyComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ SurveyComponent ],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(SurveyComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

@ -0,0 +1,20 @@
import { Component, OnInit } from '@angular/core';
import { NavController } from '@ionic/angular';
import { CommonService } from 'src/app/hmg-common/services/common/common.service';
import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service';
@Component({
selector: 'app-survey',
templateUrl: './survey.component.html',
styleUrls: ['./survey.component.scss'],
})
export class SurveyComponent implements OnInit {
rate: any;
constructor(public ts: TranslatorService, public cs: CommonService, public nav: NavController) { }
ngOnInit() { }
skip() {
this.nav.pop();
CommonService.SKIP = true;
}
}

@ -35,7 +35,7 @@ export class CommonService {
public static MOHEMM_WIFI_SSID = ""; public static MOHEMM_WIFI_SSID = "";
public static MOHEMM_WIFI_PASSWORD = ""; public static MOHEMM_WIFI_PASSWORD = "";
public static SKIP = false;
public static months_en_long = [ public static months_en_long = [
'January', 'January',
'February', 'February',
@ -81,8 +81,8 @@ export class CommonService {
private progressLoaders: any[] = []; private progressLoaders: any[] = [];
private loadingProgress: any; private loadingProgress: any;
public updateImage:boolean=false; public updateImage: boolean = false;
public setUpdateImg:any; public setUpdateImg: any;
DT: any; DT: any;
activeType: any; activeType: any;
constructor( constructor(
@ -105,7 +105,7 @@ export class CommonService {
public diagnostic: Diagnostic, public diagnostic: Diagnostic,
public iab: InAppBrowser, public iab: InAppBrowser,
private menu: MenuController, private menu: MenuController,
) {} ) { }
public back() { public back() {
// this.nav.pop(); // this.nav.pop();
@ -118,61 +118,61 @@ export class CommonService {
public getMonthName(value: number): string { public getMonthName(value: number): string {
switch (value) { switch (value) {
case 1: case 1:
return 'January'; return 'January';
case 2: case 2:
return 'February'; return 'February';
case 3: case 3:
return 'March'; return 'March';
case 4: case 4:
return 'April'; return 'April';
case 5: case 5:
return 'May'; return 'May';
case 6: case 6:
return 'June'; return 'June';
case 7: case 7:
return 'July'; return 'July';
case 8: case 8:
return 'August'; return 'August';
case 9: case 9:
return 'September'; return 'September';
case 10: case 10:
return 'October'; return 'October';
case 11: case 11:
return 'November'; return 'November';
case 12: case 12:
return 'December'; return 'December';
} }
} }
public getMonthNameAr(value: number): string { public getMonthNameAr(value: number): string {
switch (value) { switch (value) {
case 1: case 1:
return 'يناير'; return 'يناير';
case 2: case 2:
return ' فبراير'; return ' فبراير';
case 3: case 3:
return 'مارس'; return 'مارس';
case 4: case 4:
return 'أبريل'; return 'أبريل';
case 5: case 5:
return 'مايو'; return 'مايو';
case 6: case 6:
return 'يونيو'; return 'يونيو';
case 7: case 7:
return 'يوليو'; return 'يوليو';
case 8: case 8:
return 'أغسطس'; return 'أغسطس';
case 9: case 9:
return 'سبتمبر'; return 'سبتمبر';
case 10: case 10:
return ' اكتوبر'; return ' اكتوبر';
case 11: case 11:
return ' نوفمبر'; return ' نوفمبر';
case 12: case 12:
return 'ديسمبر'; return 'ديسمبر';
} }
} }
public round(value: number, decimal: number): string { public round(value: number, decimal: number): string {
const valueStr = value.toString(); const valueStr = value.toString();
@ -290,7 +290,7 @@ public getMonthNameAr(value: number): string {
public confirmNotAllowedDialog() { public confirmNotAllowedDialog() {
this.openHome(); this.openHome();
this.alertDialog( this.alertDialog(
() => {}, () => { },
this.ts.trPK('general', 'ok'), this.ts.trPK('general', 'ok'),
this.ts.trPK('general', 'info'), this.ts.trPK('general', 'info'),
this.ts.trPK('general', 'not-allowed') this.ts.trPK('general', 'not-allowed')
@ -436,7 +436,7 @@ public getMonthNameAr(value: number): string {
message: message, message: message,
buttons: [ buttons: [
{ {
text:this.ts.trPK('general', 'ok'), text: this.ts.trPK('general', 'ok'),
handler: () => { handler: () => {
if (onAccept) { if (onAccept) {
onAccept(); onAccept();
@ -587,8 +587,8 @@ public getMonthNameAr(value: number): string {
public getDeviceType(): string { public getDeviceType(): string {
if (this.platform.is('mobile')) { if (this.platform.is('mobile')) {
// return "Mobile " + (this.platform.is("ios") ? "Iphone" : "android"); // return "Mobile " + (this.platform.is("ios") ? "Iphone" : "android");
return (this.platform.is('ios') ? 'Iphone' : 'android'); return (this.platform.is('ios') ? 'Iphone' : 'android');
} else { } else {
return 'Desktop'; return 'Desktop';
@ -620,7 +620,7 @@ public getMonthNameAr(value: number): string {
private openBrowserHtml(url, onExit?, onFaild?, onSuccess?) { private openBrowserHtml(url, onExit?, onFaild?, onSuccess?) {
const browser = window.open(url, '_blank', 'location=no'); const browser = window.open(url, '_blank', 'location=no');
browser.addEventListener('loadstart', () => {}); browser.addEventListener('loadstart', () => { });
browser.addEventListener('loaderror', () => { browser.addEventListener('loaderror', () => {
if (onFaild) { if (onFaild) {
@ -696,7 +696,7 @@ public getMonthNameAr(value: number): string {
public openLocation(lat: number, lng: number) { public openLocation(lat: number, lng: number) {
this.platform.ready().then(() => { this.platform.ready().then(() => {
this.launchNavigation.navigate([lat, lng]).then( this.launchNavigation.navigate([lat, lng]).then(
() => {}, () => { },
err => { err => {
// this.failedToOpenMap(); // this.failedToOpenMap();
window.open('https://maps.google.com/?q=' + lat + ',' + lng); window.open('https://maps.google.com/?q=' + lat + ',' + lng);
@ -896,7 +896,7 @@ public getMonthNameAr(value: number): string {
return targetCode >= minDigit && targetCode <= maxDigit; return targetCode >= minDigit && targetCode <= maxDigit;
} }
public enterPage() {} public enterPage() { }
private smsAlertDialog = null; private smsAlertDialog = null;
public presentSMSPasswordDialog( public presentSMSPasswordDialog(
@ -928,7 +928,7 @@ public getMonthNameAr(value: number): string {
text: this.ts.trPK('general', 'cancel'), text: this.ts.trPK('general', 'cancel'),
role: 'cancel', role: 'cancel',
cssClass: 'cancel-button', cssClass: 'cancel-button',
handler: () => {} handler: () => { }
}, },
{ {
text: this.ts.trPK('general', 'ok'), text: this.ts.trPK('general', 'ok'),
@ -1075,10 +1075,10 @@ public getMonthNameAr(value: number): string {
/* /*
open calls open calls
*/ */
public openAttenTrackingpage(){ public openAttenTrackingpage() {
this.nav.navigateForward(['/attendance-tracking/home']); this.nav.navigateForward(['/attendance-tracking/home']);
} }
public openAttendanceOptionsComponent(){ public openAttendanceOptionsComponent() {
this.nav.navigateForward(['/home/attendance-option']); this.nav.navigateForward(['/home/attendance-option']);
} }
public openEitListPage() { public openEitListPage() {
@ -1133,10 +1133,10 @@ public getMonthNameAr(value: number): string {
public openPage(link: string) { public openPage(link: string) {
this.nav.navigateForward([link]); this.nav.navigateForward([link]);
} }
public static myTeamDetailUrl =['/my-team/details','/my-team/details-2'] public static myTeamDetailUrl = ['/my-team/details', '/my-team/details-2']
public openMyTeamDetails() { public openMyTeamDetails() {
this.alternateNavigate(CommonService.myTeamDetailUrl,'teamDetail-open',true); this.alternateNavigate(CommonService.myTeamDetailUrl, 'teamDetail-open', true);
// this.nav.navigateForward(["/my-team/details"]); // this.nav.navigateForward(["/my-team/details"]);
} }
public openAbsencePage() { public openAbsencePage() {
this.nav.navigateForward(['/absence/home']); this.nav.navigateForward(['/absence/home']);
@ -1187,7 +1187,7 @@ public getMonthNameAr(value: number): string {
this.nav.navigateForward(['/notification/item-history-PO']); this.nav.navigateForward(['/notification/item-history-PO']);
} }
public openMOItemHistoryPage(){ public openMOItemHistoryPage() {
this.nav.navigateForward(['/notification/item-history-MO']); this.nav.navigateForward(['/notification/item-history-MO']);
} }
public openQutationAnalysisPage() { public openQutationAnalysisPage() {
@ -1236,9 +1236,12 @@ public getMonthNameAr(value: number): string {
public eitUpdate() { public eitUpdate() {
this.nav.navigateForward(['/eit/eit-update-list']); this.nav.navigateForward(['/eit/eit-update-list']);
} }
public openAnnouncement() {
this.nav.navigateForward(['/backend-integrations/announcement']);
}
public navigatePage(path) { public navigatePage(path) {
this.nav.navigateForward([path]); this.nav.navigateForward([path]);
} }
@ -1265,7 +1268,7 @@ public getMonthNameAr(value: number): string {
this.nav.navigateBack([url]); this.nav.navigateBack([url]);
} }
private alternateNavigate(paths: string[], key: string, root = false) { private alternateNavigate(paths: string[], key: string, root = false) {
let url: string; let url: string;
if (localStorage.getItem(key) === 'yes') { if (localStorage.getItem(key) === 'yes') {
@ -1386,7 +1389,7 @@ public getMonthNameAr(value: number): string {
public formatDate(date) { public formatDate(date) {
let FormatedDate; let FormatedDate;
console.log(date); console.log(date);
if (date) { if (date) {
date = date.slice(0, 10); date = date.slice(0, 10);
FormatedDate = date.replace(/-/g, '/'); FormatedDate = date.replace(/-/g, '/');
@ -1411,34 +1414,34 @@ public getMonthNameAr(value: number): string {
return FormatedDate; return FormatedDate;
} }
public setUpdateImage (image,status?){ public setUpdateImage(image, status?) {
console.log('setUpdateImage'); console.log('setUpdateImage');
this.setUpdateImg=image; this.setUpdateImg = image;
this.updateImage=status; this.updateImage = status;
} }
public getUpdateImage(){ public getUpdateImage() {
console.log('getUpdateImage'); console.log('getUpdateImage');
const objImg={ const objImg = {
img: this.setUpdateImg, img: this.setUpdateImg,
status: this.updateImage status: this.updateImage
} }
return objImg; return objImg;
}
setDeviceToken(deviceToken) {
this.DT = deviceToken;
} }
setDeviceToken(deviceToken){
this.DT=deviceToken;
}
getDeviceToken(){ getDeviceToken() {
return this.DT; return this.DT;
} }
setActiveTypeLogin(activeType){ setActiveTypeLogin(activeType) {
this.activeType=activeType; this.activeType = activeType;
} }
getActiveTypeLogin(){ getActiveTypeLogin() {
return this.activeType; return this.activeType;
} }
} }

@ -27,13 +27,13 @@ export class ConnectorService {
public static retryTimes = 0; public static retryTimes = 0;
public static timeOut = 120 * 1000; public static timeOut = 120 * 1000;
// public static host = 'https://uat.hmgwebservices.com/'; // public static host = 'https://uat.hmgwebservices.com/';
public static host = 'https://hmgwebservices.com/'; public static host = 'https://hmgwebservices.com/';
constructor(public httpClient: HttpClient, constructor(public httpClient: HttpClient,
public cs: CommonService, public cs: CommonService,
private events: Events, private events: Events,
public ts: TranslatorService) {} public ts: TranslatorService) { }
public post( public post(
service: string, service: string,
@ -98,18 +98,18 @@ export class ConnectorService {
public postNoLoad(service: string, data: any, onError: any, errorLabel?: string): Observable<any> { public postNoLoad(service: string, data: any, onError: any, errorLabel?: string): Observable<any> {
return this.httpClient return this.httpClient
.post<any>( .post<any>(
ConnectorService.host + service, ConnectorService.host + service,
data, data,
ConnectorService.httpOptions) ConnectorService.httpOptions)
.pipe( .pipe(
timeout(ConnectorService.timeOut), timeout(ConnectorService.timeOut),
retry(ConnectorService.retryTimes), retry(ConnectorService.retryTimes),
tap((res) => { tap((res) => {
this.handleResponse(res, onError, errorLabel, true); this.handleResponse(res, onError, errorLabel, true);
}, (error) => { }, (error) => {
this.handleError(error, onError, errorLabel, true); this.handleError(error, onError, errorLabel, true);
})); }));
} }
// absolute url connection // absolute url connection
@ -198,23 +198,23 @@ export class ConnectorService {
let deviceToken = localStorage.getItem('deviceToken'); let deviceToken = localStorage.getItem('deviceToken');
const requestGetLoginInfo = { const requestGetLoginInfo = {
DeviceType: this.cs.getDeviceType(), DeviceType: this.cs.getDeviceType(),
DeviceToken: deviceToken DeviceToken: deviceToken
}; };
this.getLoginInfo(requestGetLoginInfo, () => {}, this.ts.trPK('general', 'ok')).subscribe(res => { this.getLoginInfo(requestGetLoginInfo, () => { }, this.ts.trPK('general', 'ok')).subscribe(res => {
if (this.cs.validResponse(res)) { if (this.cs.validResponse(res)) {
if (res.Mohemm_GetMobileLoginInfoList.length > 0) { if (res.Mohemm_GetMobileLoginInfoList.length > 0) {
this.cs.sharedService.setSharedData(res.Mohemm_GetMobileLoginInfoList[0], 'imei-user-data'); this.cs.sharedService.setSharedData(res.Mohemm_GetMobileLoginInfoList[0], 'imei-user-data');
const user = true; const user = true;
this.events.publish('user', user); this.events.publish('user', user);
this.cs.openLogin(); this.cs.openLogin();
} else { } else {
const user = false; const user = false;
this.events.publish('user', user); this.events.publish('user', user);
this.cs.openLogin(); this.cs.openLogin();
} }
} else {} } else { }
}); });
} }
@ -257,7 +257,7 @@ export class ConnectorService {
this.cs.stopLoading(); this.cs.stopLoading();
this.cs.presentAcceptDialog(result.ErrorEndUserMessage, () => { this.cs.presentAcceptDialog(result.ErrorEndUserMessage, () => {
console.log("presentAcceptDialog"); console.log("presentAcceptDialog");
this.cs.sharedService.clearAll(); this.cs.sharedService.clearAll();
// this.cs.openLogin(); // this.cs.openLogin();
this.getLastLoginInfo(); this.getLastLoginInfo();
}); });

@ -1,12 +1,12 @@
<div feedback class="custom-button"> <div feedback class="custom-button">
<div class="iconBox"> <div class="iconBox">
<img *ngIf="title !='Item for sale' && title !='Offers & Discount' && title != 'My Team' && title != 'Vacation Rule' && title != 'فريقي' && title != 'الإنابة بالإجازات' " [src]="'data:image/png;base64,'+icon" class="icon"> <img *ngIf="title !='Items for sale' && title !='بضاعه للبع' && title !='العروض والخصومات' && title !='Offers & Discount' && title != 'My Team' && title != 'Vacation Rule' && title != 'فريقي' && title != 'الإنابة بالإجازات' " [src]="'data:image/png;base64,'+icon" class="icon">
<!-- <img *ngIf="title == 'My Team' || title == 'Vacation Rule'" [src]="icon" class="icon"> --> <!-- <img *ngIf="title == 'My Team' || title == 'Vacation Rule'" [src]="icon" class="icon"> -->
<img *ngIf="title == 'My Team' || title == 'فريقي' " [src]="myTeamIcon" class="icon"> <img *ngIf="title == 'My Team' || title == 'فريقي' " [src]="myTeamIcon" class="icon">
<img *ngIf="title == 'Vacation Rule' || title == 'الإنابة بالإجازات'" [src]="vacationRuleIcon" class="icon"> <img *ngIf="title == 'Vacation Rule' || title == 'الإنابة بالإجازات'" [src]="vacationRuleIcon" class="icon">
<img *ngIf="title =='Item for sale'" src="/assets/imgs/S1.png" class="icon" style="height:40px" /> <img *ngIf="title =='Items for sale' || title=='بضاعه للبع'" src="/assets/icon/home/item_for_sale.png" class="icon" style="height:40px" />
<img *ngIf="title =='Offers & Discount'" src="/assets/imgs/S1.png" class="icon" style="height:40px" /> <img *ngIf="title =='Offers & Discount' || title =='العروض والخصومات'" src="/assets/icon/home/offers_discount.png" class="icon" style="height:40px" />
</div> </div>

@ -56,15 +56,27 @@
<img src="assets/icon/new-design/attendance_button_icon.png"/> <img src="assets/icon/new-design/attendance_button_icon.png"/>
</ion-col> </ion-col>
</ion-row> </ion-row>
</ion-row> </ion-row>
<ion-slides [options]="slideOptsTwo"> <ion-row>
<ion-slide> <ion-col size="12">
<app-services-button (click)="itemForSale()" title="Item for sale" > <ion-label> {{'general,other-services' | translate}} </ion-label>
</app-services-button> </ion-col>
<app-services-button (click)="offersDiscount()" title="Offers & Discount" > <ion-slides [options]="slideOptsTwo" >
</app-services-button> <ion-slide>
</ion-slide> <app-services-button (click)="itemForSale()" [title]="'general,items-sales' | translate" >
</ion-slides> </app-services-button>
</ion-slide>
<ion-slide>
<app-services-button (click)="offersDiscount()" [title]="'general,offers-discount' | translate" >
</app-services-button>
</ion-slide>
</ion-slides>
</ion-row>
</ion-grid> </ion-grid>
</ion-content> </ion-content>

@ -783,9 +783,12 @@ export class HomePage implements OnInit {
return await modal.present(); return await modal.present();
} }
itemForSale() { itemForSale() {
this.common.navigateForward('/itemforsale/home'); this.common.navigateForward('/itemforsale/items');
} }
offersDiscount() { offersDiscount() {
this.common.navigateForward('/offersdiscount/home'); this.common.navigateForward('/offersdiscount/home');
} }
openAnnouncement(){
this.common.openAnnouncement();
}
} }

@ -13,14 +13,14 @@
<div class="md-stepper-horizontal "> <div class="md-stepper-horizontal ">
<div class="md-step active " [ngClass]="step >1 ? 'green' : 'orange'"> <div class="md-step active " [ngClass]="step >1 ? 'green' : 'orange'">
<div class="md-step-circle"><span></span></div> <div class="md-step-circle"><span></span></div>
<div class="md-step-title">Select Category</div> <div class="md-step-title">{{ts.trPK('itemforsale','select-category')}}</div>
<div class="md-step-optional">Completed</div> <div class="md-step-optional">{{ts.trPK('itemforsale','completed')}}</div>
<div class="md-step-bar-left"></div> <div class="md-step-bar-left"></div>
<div class="md-step-bar-right"></div> <div class="md-step-bar-right"></div>
</div> </div>
<div class="md-step " [ngClass]="step >2 ? 'green' : step ==2 ? 'orange' : ''"> <div class="md-step " [ngClass]="step >2 ? 'green' : step ==2 ? 'orange' : ''">
<div class="md-step-circle"><span></span></div> <div class="md-step-circle"><span></span></div>
<div class="md-step-title">Add Details</div> <div class="md-step-title">{{ts.trPK('itemforsale','add-details')}}</div>
<div class="md-step-optional">{{step >2 ? "Completed" : "Locked"}}</div> <div class="md-step-optional">{{step >2 ? "Completed" : "Locked"}}</div>
<div class="md-step-bar-left"></div> <div class="md-step-bar-left"></div>
@ -28,7 +28,7 @@
</div> </div>
<div class="md-step " [ngClass]="step >3 ? 'green' : step ==3 ? 'orange' : ''"> <div class="md-step " [ngClass]="step >3 ? 'green' : step ==3 ? 'orange' : ''">
<div class="md-step-circle"><span></span></div> <div class="md-step-circle"><span></span></div>
<div class="md-step-title">Review & Sell</div> <div class="md-step-title">{{ts.trPK('itemforsale','review-sell')}}</div>
<div class="md-step-optional">{{step >3 ? "Completed" : "Locked"}}</div> <div class="md-step-optional">{{step >3 ? "Completed" : "Locked"}}</div>
<div class="md-step-bar-left"></div> <div class="md-step-bar-left"></div>
<div class="md-step-bar-right"></div> <div class="md-step-bar-right"></div>

@ -10,6 +10,7 @@ import { HomeComponent } from './home/home.component';
import { ItemsComponent } from './items/items.component'; import { ItemsComponent } from './items/items.component';
import { ItemDetailsComponent } from './item-details/item-details.component'; import { ItemDetailsComponent } from './item-details/item-details.component';
import { MyAdsComponent } from './my-ads/my-ads.component'; import { MyAdsComponent } from './my-ads/my-ads.component';
import { HmgCommonModule } from '../hmg-common/hmg-common.module';
const routes: Routes = [ const routes: Routes = [
{ {
@ -41,6 +42,7 @@ const routes: Routes = [
CommonModule, CommonModule,
FormsModule, FormsModule,
IonicModule, IonicModule,
HmgCommonModule,
RouterModule.forChild(routes) RouterModule.forChild(routes)
], ],
declarations: [ItemforsalePage, HomeComponent, ItemsComponent, ItemDetailsComponent, MyAdsComponent] declarations: [ItemforsalePage, HomeComponent, ItemsComponent, ItemDetailsComponent, MyAdsComponent]

@ -8,31 +8,34 @@
</ion-toolbar> </ion-toolbar>
</div> </div>
<div class="segments-container"> <div class="segments-container">
<ion-segment (ionChange)="segmentChanged($event)" value="1"> <ion-segment (ionChange)="segmentChanged($event)" value="1" class="item-for-sale-indicator">
<ion-segment-button value="1" > <ion-segment-button value="1" >
<ion-label>Item for sale</ion-label> <ion-label>{{ts.trPK('itemforsale','title')}} </ion-label>
</ion-segment-button> </ion-segment-button>
<ion-segment-button value="2"> <ion-segment-button value="2">
<ion-label>My Posted Ads</ion-label> <ion-label>{{ts.trPK('itemforsale','my-posted-ad')}}</ion-label>
</ion-segment-button> </ion-segment-button>
</ion-segment> </ion-segment>
</div> </div>
<div class="header"></div> <div class="header"></div>
<div class="bottom"></div> <div class="bottom"></div>
<div class="sales-items" *ngIf="segment =='1'"> <div class="sales-items" *ngIf="segment =='1'">
<div class="fab-button">
<ion-fab-button class="flaot-button" (click)="openSale()"><ion-icon name="add"></ion-icon></ion-fab-button>
</div>
<ion-grid> <ion-grid>
<ion-row> <ion-row>
<ion-col size="12"> <ion-col size="12">
<ion-item lines="none" class="SearchtextBox"> <ion-item lines="none" class="SearchtextBox">
<ion-input placeholder="Search Item"></ion-input> <ion-input [placeholder]="'itemforsale,search-items'| translate"></ion-input>
</ion-item> </ion-item>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col size="10"> <ion-col size="10">
<p class="filterText">Browse Category</p> <p class="filterText"> {{ts.trPK('itemforsale','browse-categories')}} </p>
</ion-col> </ion-col>
<ion-col size="2"> <ion-col size="2">
<img src="assets/imgs/itemsforsale/filter.svg"> <img src="assets/imgs/itemsforsale/filter.svg">
@ -149,6 +152,7 @@
</ion-card> </ion-card>
</ion-col> </ion-col>
</ion-row> </ion-row>
</div> </div>
<div class="my-ads" *ngIf="segment =='2'"> <div class="my-ads" *ngIf="segment =='2'">
@ -173,12 +177,13 @@
</ion-item> </ion-item>
</ion-row> </ion-row>
</div> </div>
<ion-fab-button class="flaot-button" (click)="openMyAds()"><ion-icon name="add"></ion-icon></ion-fab-button>
<ion-footer *ngIf="segment=='2'"> <ion-footer *ngIf="segment=='2'" >
<div class="centerDiv"> <div class="centerDiv">
<ion-button class="footer-button" ion-button> <ion-button class="footer-button" ion-button (click)="openSale()">
{{ts.trPK('general','next')}} </ion-button> {{ts.trPK('itemforsale','create-new-ad')}} </ion-button>
</div> </div>
</ion-footer> </ion-footer>

@ -75,6 +75,11 @@ ion-card-title{
.green{ .green{
color:#00AE4D; color:#00AE4D;
} }
ion-segment-button{
--background-checked: #000;
--indicator-color : transparent!important;
border: none;
}
ion-segment-button ion-label{ ion-segment-button ion-label{
padding: 0; padding: 0;
font-size: 12px; font-size: 12px;
@ -105,4 +110,26 @@ margin: 5px;
} }
.edit{ .edit{
margin-left:20px !important; margin-left:20px !important;
}
.fab-button{
position: fixed;
bottom: 5%;
z-index: 2;
right: 10%;
}
.fab-button ion-fab-button{
--background: #259CB8;
}
ion-footer{
position: absolute;
bottom: 0;
}
ion-footer .footer-button{
--background: #259CB8;
width: 80%;
background: #259CB8;
border-radius: 10px;
}
ion-segment{
height:40px
} }

@ -18,4 +18,8 @@ export class ItemsComponent implements OnInit {
segmentChanged(value) { segmentChanged(value) {
this.segment = value.detail.value; this.segment = value.detail.value;
} }
openSale() {
this.cs.navigateForward('/itemforsale/home');
}
} }

@ -474,7 +474,7 @@
<img [src]="action.image"> <img [src]="action.image">
<ion-label style="font-size: 12px" *ngIf="action.name !== 'RequestInformation'">{{action.name}}</ion-label> <ion-label style="font-size: 12px" *ngIf="action.name !== 'RequestInformation'">{{action.name}}</ion-label>
<ion-label style="font-size: 12px; white-space: nowrap;" *ngIf="action.name === 'RequestInformation'">Request Info</ion-label> <ion-label style="font-size: 12px; white-space: nowrap;" *ngIf="action.name === 'RequestInformation'">{{'worklistMain, worklistMain' | translate}}</ion-label>
</ion-tab-button> </ion-tab-button>

@ -58,7 +58,7 @@
<ion-item lines="none"> <ion-item lines="none" class="search-box">
<ion-input (ionInput)="onChangeInput()" [ngClass]="direction == 'en'? 'filterInput':'filterInput-ar'" [(ngModel)]="searchKey" [placeholder]='getPlaceHolder()' clearInput="true"></ion-input> <ion-input (ionInput)="onChangeInput()" [ngClass]="direction == 'en'? 'filterInput':'filterInput-ar'" [(ngModel)]="searchKey" [placeholder]='getPlaceHolder()' clearInput="true"></ion-input>
@ -108,7 +108,7 @@
<!-- <br>{{employee.USER_NAME}}<br> <!-- <br>{{employee.USER_NAME}}<br>
{{employee.EMAIL_ADDRESS}} --> {{employee.EMAIL_ADDRESS}} -->
</ion-label> </ion-label>
<div class='star-fav'> <div [ngClass]="direction == 'en' ? 'star-fav' : 'star-fav-left'">
<img src="assets/imgs/fav.svg" /> <img src="assets/imgs/fav.svg" />
</div> </div>
</div> </div>

@ -27,9 +27,13 @@
} }
.star-fav{ .star-fav{
float: right; float: right;
margin: 15px; margin: 10px;
}
.star-fav-left{
float: right;
margin: 10px 5px;
} }
.uk-margin{margin: 15px 0px 0px 15px; .uk-margin{margin: 15px 15px 0px 15px;
font-weight: bold; font-weight: bold;
clear: both; clear: both;
position: relative; position: relative;
@ -57,4 +61,5 @@
} }
.square{ .square{
clear: both; clear: both;
} }

@ -40,7 +40,7 @@
<ion-item lines="none"> <ion-item lines="none" class="search-box">
<ion-input (ionInput)="onChangeInput()" [ngClass]="direction == 'en'? 'filterInput':'filterInput-ar'" [(ngModel)]="inputSearch" [placeholder]='getPlaceHolder()' clearInput="true"></ion-input> <ion-input (ionInput)="onChangeInput()" [ngClass]="direction == 'en'? 'filterInput':'filterInput-ar'" [(ngModel)]="inputSearch" [placeholder]='getPlaceHolder()' clearInput="true"></ion-input>
@ -75,7 +75,7 @@
<span>{{employee.NAME}}</span> <span>{{employee.NAME}}</span>
</ion-label> </ion-label>
<div class='star-fav'> <div [ngClass]="direction == 'en' ? 'star-fav' : 'star-fav-left'">
<img src="assets/imgs/fav.svg" /> <img src="assets/imgs/fav.svg" />
</div> </div>
</div> </div>
@ -100,7 +100,7 @@
<span>{{employee.EMPLOYEE_DISPLAY_NAME}}</span> <span>{{employee.EMPLOYEE_DISPLAY_NAME}}</span>
</ion-label> </ion-label>
<div class='star-fav'> <div [ngClass]="direction == 'en' ? 'star-fav' : 'star-fav-left'">
<img src="assets/imgs/fav filled.svg" /> <img src="assets/imgs/fav filled.svg" />
</div> </div>
</div> </div>
@ -128,7 +128,7 @@
<!-- <br>{{employee.USER_NAME}}<br> <!-- <br>{{employee.USER_NAME}}<br>
{{employee.EMAIL_ADDRESS}} --> {{employee.EMAIL_ADDRESS}} -->
</ion-label> </ion-label>
<div class='star-fav'> <div [ngClass]="direction == 'en' ? 'star-fav' : 'star-fav-left'">
<img src="assets/imgs/fav.svg" /> <img src="assets/imgs/fav.svg" />
</div> </div>
</div> </div>
@ -162,7 +162,7 @@
<!-- <ion-label class="boldTxtNav" padding>{{"replacementRoll, enterNote" | translate}} <!-- <ion-label class="boldTxtNav" padding>{{"replacementRoll, enterNote" | translate}}
</ion-label> --> </ion-label> -->
<ion-item> <ion-item>
<ion-textarea [(ngModel)]="userNote" placeholder="Enter a note"></ion-textarea> <ion-textarea [(ngModel)]="userNote" [placeholder]="'replacementRoll, enterNote' | translate"></ion-textarea>
</ion-item> </ion-item>
</div> </div>
<br/> <br/>

@ -81,16 +81,18 @@ button.item-button.button.button-md.button-clear.button-clear-md {
border-radius: 21px; border-radius: 21px;
padding-left: 10px !important; padding-left: 10px !important;
} }
.filterInput-ar{ .filterInput-ar{
// border: solid var(--gray) 1px; // border: solid var(--gray) 1px;
// border-radius: 21px; // border-radius: 21px;
// padding-left: 10px !important; // padding-left: 10px !important;
border: solid var(--gray) 1px; border: solid var(--gray) 1px;
border-radius: 21px; border-radius: 21px;
// width:250px
// padding-left: 145px !important; // padding-left: 145px !important;
margin-left: 123px; //margin-left: 123px;
// padding-right: 129px; // padding-right: 129px;
margin-right: -136px; //margin-right: -136px;
} }
.filterBtn{ .filterBtn{
@ -178,9 +180,9 @@ ion-radio{
} }
.star-fav{ .star-fav{
float: right; float: right;
margin: 15px; margin: 15px 0px 0px 0px;
} }
.uk-margin{margin: 15px 0px 0px 15px; .uk-margin{margin: 15px 15px 0px 15px;
font-weight: bold; font-weight: bold;
clear: both; clear: both;
position: relative; position: relative;
@ -190,4 +192,8 @@ ion-radio{
bottom: 10px; bottom: 10px;
position: relative;} position: relative;}
.star-fav-left{
float: left;
margin: 10px 5px;
}

@ -78,6 +78,7 @@ export class WorkListReplacementRollComponent implements OnInit {
if (requestInfoDel != null) { if (requestInfoDel != null) {
this.userSelected = true; this.userSelected = true;
this.inputSearch = requestInfoDel.NAME; this.inputSearch = requestInfoDel.NAME;
this.selEmp = requestInfoDel;
} }
} }

@ -87,6 +87,7 @@
border-radius: 21px; border-radius: 21px;
padding-left: 10px !important; padding-left: 10px !important;
} }
.filterBtn{ .filterBtn{
background: var(--newgreen); background: var(--newgreen);
--background: var (--newgreen); --background: var (--newgreen);

@ -42,9 +42,9 @@
font-size: 10px; font-size: 10px;
} }
.req_info{ .req_info{
width: 25px; width: 20px;
height: 25px; height: 20px;
display: inline-block; display: inline-block;
margin: 5px; margin:15px 10px 0px 0px;
} }

@ -34,10 +34,10 @@
font-size: 10px; font-size: 10px;
} }
.req_info{ .req_info{
width: 25px; width: 20px;
height: 25px; height: 20px;
display: inline-block; display: inline-block;
margin: 5px; margin: 15px 10px 0px 0px;
} }
.name{ .name{
color:black !important ;font-weight: bold; color:black !important ;font-weight: bold;

@ -42,9 +42,9 @@
font-size: 10px; font-size: 10px;
} }
.req_info{ .req_info{
width: 25px; width: 20px;
height: 25px; height: 20px;
display: inline-block; display: inline-block;
margin: 5px; margin: 15px 10px 0px 0px;
} }

@ -44,8 +44,8 @@
font-size: 10px; font-size: 10px;
} }
.req_info{ .req_info{
width: 25px; width: 20px;
height: 25px; height: 20px;
display: inline-block; display: inline-block;
margin: 5px; margin:15px 10px 0px 0px;
} }

@ -97,12 +97,13 @@
.dateActionHistory{ .dateActionHistory{
display: inline-block; display: inline-block;
margin-left: 5px; margin-left: 5px;
text-align: left;
} }
.req_info{ .req_info{
width: 25px; width: 20px;
height: 25px; height: 20px;
display: inline-block; display: inline-block;
margin: 5px; margin: 15px 10px 0px 0px;
} }

@ -4,7 +4,7 @@
<ion-buttons slot="start"> <ion-buttons slot="start">
<ion-back-button color="light" class="btnBack" defaultHref="/home"></ion-back-button> <ion-back-button color="light" class="btnBack" defaultHref="/home"></ion-back-button>
</ion-buttons> </ion-buttons>
<ion-title color="light" >{{ts.trPK('itemforsale','title')}}</ion-title> <ion-title color="light" >{{ts.trPK('itemforsale','offersdiscount')}}</ion-title>
</ion-toolbar> </ion-toolbar>
</div> </div>
<div class="header"></div> <div class="header"></div>
@ -17,13 +17,13 @@
<ion-col size="12"> <ion-col size="12">
<ion-item lines="none" class="SearchtextBox"> <ion-item lines="none" class="SearchtextBox">
<ion-input placeholder="Search Item"></ion-input> <ion-input [placeholder]="'itemforsale,search-items'| translate"></ion-input>
</ion-item> </ion-item>
</ion-col> </ion-col>
</ion-row> </ion-row>
<ion-row> <ion-row>
<ion-col size="10"> <ion-col size="10">
<p class="filterText">Browse Category</p> <p class="filterText"> {{ts.trPK('itemforsale','browse-categories')}}</p>
</ion-col> </ion-col>
<ion-col size="2"> <ion-col size="2">
<img src="assets/imgs/itemsforsale/filter.svg"> <img src="assets/imgs/itemsforsale/filter.svg">

@ -4,7 +4,7 @@
<ion-buttons slot="start"> <ion-buttons slot="start">
</ion-buttons> </ion-buttons>
<ion-title color="light" >{{ts.trPK('itemforsale','title')}}</ion-title> <ion-title color="light" >{{ts.trPK('itemforsale','offersdiscount')}}</ion-title>
</ion-toolbar> </ion-toolbar>
</div> </div>
<div class="header"></div> <div class="header"></div>

@ -8,6 +8,7 @@ import { IonicModule } from '@ionic/angular';
import { OffersdiscountPage } from './offersdiscount.page'; import { OffersdiscountPage } from './offersdiscount.page';
import { HomeComponent } from './home/home.component'; import { HomeComponent } from './home/home.component';
import { OfferDetailsComponent } from './offer-details/offer-details.component'; import { OfferDetailsComponent } from './offer-details/offer-details.component';
import { HmgCommonModule } from '../hmg-common/hmg-common.module';
const routes: Routes = [ const routes: Routes = [
@ -34,6 +35,7 @@ const routes: Routes = [
CommonModule, CommonModule,
FormsModule, FormsModule,
IonicModule, IonicModule,
HmgCommonModule,
RouterModule.forChild(routes) RouterModule.forChild(routes)
], ],
declarations: [OffersdiscountPage, HomeComponent, OfferDetailsComponent] declarations: [OffersdiscountPage, HomeComponent, OfferDetailsComponent]

@ -116,8 +116,8 @@ button.item-button.button.button-md.button-clear.button-clear-md {
.filterInput-ar{ .filterInput-ar{
border: solid var(--gray) 1px; border: solid var(--gray) 1px;
border-radius: 21px; border-radius: 21px;
margin-left: 115px; // margin-left: 115px;
margin-right: -132px; // margin-right: -132px;
} }
.filterBtn{ .filterBtn{

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32.742" height="32.742" viewBox="0 0 32.742 32.742">
<path id="Path_4587" data-name="Path 4587" d="M16.371,0A16.371,16.371,0,1,0,32.742,16.371,16.39,16.39,0,0,0,16.371,0ZM8.186,12.278a2.046,2.046,0,1,1,2.046,2.046A2.05,2.05,0,0,1,8.186,12.278Zm15.42,12.63a1.028,1.028,0,0,1-1.449,0,8.379,8.379,0,0,0-11.576,0,1.023,1.023,0,0,1-1.447-1.447,10.232,10.232,0,0,1,14.472,0A1.024,1.024,0,0,1,23.605,24.909ZM22.51,14.325a2.046,2.046,0,1,1,2.046-2.046A2.05,2.05,0,0,1,22.51,14.325Z" fill="#d56e6d"/>
</svg>

After

Width:  |  Height:  |  Size: 548 B

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26">
<g id="Group_7519" data-name="Group 7519" transform="translate(-332 -18)">
<rect id="Rectangle_17435" data-name="Rectangle 17435" width="26" height="26" rx="13" transform="translate(332 18)" fill="#fff"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 309 B

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" width="49" height="49" viewBox="0 0 49 49">
<g id="Group_7501" data-name="Group 7501" transform="translate(295 770) rotate(180)">
<circle id="Ellipse_159" data-name="Ellipse 159" cx="24.5" cy="24.5" r="24.5" transform="translate(246 721)" fill="#ca3332"/>
<g id="like_1_" data-name="like (1)" transform="translate(259 733.987)">
<path id="Path_4583" data-name="Path 4583" d="M20.077,8.855H14.791l1.157-2.892a2.267,2.267,0,0,0-.5-2.447,1.719,1.719,0,0,0-2.613.216L9.744,8.057A14.6,14.6,0,0,1,8.21,9.868l-.99.99a.484.484,0,0,0-.142.343v7.441a.487.487,0,0,0,.142.344L8.329,20.1a3.03,3.03,0,0,0,2.156.893h6.026a2.463,2.463,0,0,0,2.248-1.461l2.956-6.651A3.288,3.288,0,0,0,22,11.533v-.754a1.926,1.926,0,0,0-1.923-1.924Z" fill="#fff"/>
<path id="Path_4584" data-name="Path 4584" d="M3.747,10.207A1.747,1.747,0,0,0,2,11.954v6.569a1.747,1.747,0,0,0,3.494,0V11.954a1.747,1.747,0,0,0-1.747-1.747Z" fill="#fff"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 986 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32.742" height="32.742" viewBox="0 0 32.742 32.742">
<path id="Path_4589" data-name="Path 4589" d="M16.371,0A16.371,16.371,0,1,0,32.742,16.371,16.39,16.39,0,0,0,16.371,0ZM7.162,12.278a3.07,3.07,0,1,1,3.07,3.07A3.073,3.073,0,0,1,7.162,12.278ZM23.6,23.6a10.229,10.229,0,0,1-14.47,0,1.023,1.023,0,1,1,1.447-1.447,8.379,8.379,0,0,0,11.576,0A1.023,1.023,0,1,1,23.6,23.6ZM22.51,15.348a3.07,3.07,0,1,1,3.07-3.07A3.073,3.073,0,0,1,22.51,15.348Z" fill="#8ca742"/>
</svg>

After

Width:  |  Height:  |  Size: 511 B

@ -0,0 +1,8 @@
<svg xmlns="http://www.w3.org/2000/svg" width="49" height="49" viewBox="0 0 49 49">
<g id="Group_7502" data-name="Group 7502" transform="translate(295 770) rotate(180)">
<circle id="Ellipse_159" data-name="Ellipse 159" cx="24.5" cy="24.5" r="24.5" transform="translate(246 721)" fill="#fff"/>
<g id="info_2_" data-name="info (2)" transform="translate(306.825 757.238) rotate(180)">
<path id="Path_4585" data-name="Path 4585" d="M41.2,20.941l-.328,1.341q-1.476.583-2.355.887a6.213,6.213,0,0,1-2.042.305A4.077,4.077,0,0,1,33.7,22.6a2.821,2.821,0,0,1-.991-2.214,7.831,7.831,0,0,1,.074-1.065q.075-.545.24-1.23l1.23-4.353q.164-.625.277-1.185a5.15,5.15,0,0,0,.112-1.02,1.578,1.578,0,0,0-.344-1.163,1.944,1.944,0,0,0-1.315-.329,3.447,3.447,0,0,0-.978.149c-.335.1-.62.194-.86.283l.329-1.342q1.208-.492,2.312-.842a6.915,6.915,0,0,1,2.091-.351,3.978,3.978,0,0,1,2.737.858,2.846,2.846,0,0,1,.961,2.228c0,.189-.021.522-.066,1a6.68,6.68,0,0,1-.246,1.313l-1.224,4.335a11.515,11.515,0,0,0-.269,1.194,6.147,6.147,0,0,0-.12,1.013,1.46,1.46,0,0,0,.386,1.178,2.177,2.177,0,0,0,1.34.313,3.868,3.868,0,0,0,1.013-.157A5.664,5.664,0,0,0,41.2,20.941Zm.311-18.2a2.537,2.537,0,0,1-.857,1.931,2.916,2.916,0,0,1-2.062.8,2.949,2.949,0,0,1-2.073-.8,2.531,2.531,0,0,1-.865-1.931A2.556,2.556,0,0,1,36.519.8a3.06,3.06,0,0,1,4.136,0A2.561,2.561,0,0,1,41.511,2.741Z" transform="translate(0 0)"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" width="49" height="49" viewBox="0 0 49 49">
<g id="Group_7500" data-name="Group 7500" transform="translate(-246 -721)">
<circle id="Ellipse_159" data-name="Ellipse 159" cx="24.5" cy="24.5" r="24.5" transform="translate(246 721)" fill="#20a16a"/>
<g id="like_1_" data-name="like (1)" transform="translate(259 733.987)">
<path id="Path_4583" data-name="Path 4583" d="M20.077,8.855H14.791l1.157-2.892a2.267,2.267,0,0,0-.5-2.447,1.719,1.719,0,0,0-2.613.216L9.744,8.057A14.6,14.6,0,0,1,8.21,9.868l-.99.99a.484.484,0,0,0-.142.343v7.441a.487.487,0,0,0,.142.344L8.329,20.1a3.03,3.03,0,0,0,2.156.893h6.026a2.463,2.463,0,0,0,2.248-1.461l2.956-6.651A3.288,3.288,0,0,0,22,11.533v-.754a1.926,1.926,0,0,0-1.923-1.924Z" fill="#fff"/>
<path id="Path_4584" data-name="Path 4584" d="M3.747,10.207A1.747,1.747,0,0,0,2,11.954v6.569a1.747,1.747,0,0,0,3.494,0V11.954a1.747,1.747,0,0,0-1.747-1.747Z" fill="#fff"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 976 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32.742" height="32.742" viewBox="0 0 32.742 32.742">
<path id="Path_4588" data-name="Path 4588" d="M16.371,0A16.371,16.371,0,1,0,32.742,16.371,16.39,16.39,0,0,0,16.371,0ZM8.186,12.278a2.046,2.046,0,1,1,2.046,2.046A2.05,2.05,0,0,1,8.186,12.278Zm13.3,12.278H11.255a1.023,1.023,0,0,1,0-2.046H21.487a1.023,1.023,0,0,1,0,2.046ZM22.51,14.325a2.046,2.046,0,1,1,2.046-2.046A2.05,2.05,0,0,1,22.51,14.325Z" fill="#ca8432"/>
</svg>

After

Width:  |  Height:  |  Size: 470 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32.742" height="32.742" viewBox="0 0 32.742 32.742">
<path id="Path_4586" data-name="Path 4586" d="M16.371,0A16.371,16.371,0,1,0,32.742,16.371,16.39,16.39,0,0,0,16.371,0ZM8.186,15.348a3.065,3.065,0,0,1,1.471-2.609L7.543,11.028A1.023,1.023,0,1,1,8.828,9.436l4.355,3.524a3.069,3.069,0,1,1-5,2.388ZM22.228,26.286a1.024,1.024,0,0,1-1.447.035,6.4,6.4,0,0,0-8.822,0,1.023,1.023,0,1,1-1.41-1.484,8.437,8.437,0,0,1,11.642,0A1.023,1.023,0,0,1,22.228,26.286ZM25.2,11.028l-2.116,1.711a3.059,3.059,0,1,1-3.526.221l4.357-3.524A1.023,1.023,0,1,1,25.2,11.028Z" fill="#ca3332"/>
</svg>

After

Width:  |  Height:  |  Size: 619 B

@ -0,0 +1,4 @@
<svg id="star_5_" data-name="star (5)" xmlns="http://www.w3.org/2000/svg" width="34.608" height="33.317" viewBox="0 0 34.608 33.317">
<path id="Path_4581" data-name="Path 4581" d="M34.608,22.264l-12.572-.811L17.29,9.55l-4.745,11.9L0,22.264l9.625,8.192L6.462,42.867,17.29,36.013l10.828,6.854-3.163-12.41Z" transform="translate(0 -9.55)" fill="#ffd400"/>
<path id="Path_4582" data-name="Path 4582" d="M263.465,30.457l3.163,12.41L255.8,36.013V9.55l4.745,11.9,12.572.811Z" transform="translate(-238.51 -9.55)" fill="#cecece"/>
</svg>

After

Width:  |  Height:  |  Size: 534 B

@ -0,0 +1,4 @@
<svg id="star_5_" data-name="star (5)" xmlns="http://www.w3.org/2000/svg" width="34.608" height="33.317" viewBox="0 0 34.608 33.317">
<path id="Path_4581" data-name="Path 4581" d="M34.608,22.264l-12.572-.811L17.29,9.55l-4.745,11.9L0,22.264l9.625,8.192L6.462,42.867,17.29,36.013l10.828,6.854-3.163-12.41Z" transform="translate(0 -9.55)" fill="#cecece"/>
<path id="Path_4582" data-name="Path 4582" d="M263.465,30.457l3.163,12.41L255.8,36.013V9.55l4.745,11.9,12.572.811Z" transform="translate(-238.51 -9.55)" fill="#cecece"/>
</svg>

After

Width:  |  Height:  |  Size: 534 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="34.608" height="33.317" viewBox="0 0 34.608 33.317">
<path id="Path_4581" data-name="Path 4581" d="M34.608,22.264l-12.572-.811L17.29,9.55l-4.745,11.9L0,22.264l9.625,8.192L6.462,42.867,17.29,36.013l10.828,6.854-3.163-12.41Z" transform="translate(0 -9.55)" fill="#ffd400"/>
</svg>

After

Width:  |  Height:  |  Size: 328 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32.742" height="32.742" viewBox="0 0 32.742 32.742">
<path id="Path_4590" data-name="Path 4590" d="M16.371,0A16.371,16.371,0,1,0,32.742,16.371,16.39,16.39,0,0,0,16.371,0ZM22.51,10.232a2.046,2.046,0,1,1-2.046,2.046A2.05,2.05,0,0,1,22.51,10.232Zm-12.278,0a2.046,2.046,0,1,1-2.046,2.046A2.05,2.05,0,0,1,10.232,10.232Zm6.139,18.417a12.305,12.305,0,0,1-11.81-8.93,1.024,1.024,0,0,1,.984-1.3H27.2a1.02,1.02,0,0,1,.814.405,1.031,1.031,0,0,1,.17.9A12.305,12.305,0,0,1,16.371,28.649Z" fill="#20a16a"/>
</svg>

After

Width:  |  Height:  |  Size: 549 B

@ -213,6 +213,18 @@
"en": "Allow the Mohemm app to access your location for marking your attendance", "en": "Allow the Mohemm app to access your location for marking your attendance",
"ar": "اسمح لتطبيق مهم بالوصول إلى موقعك لتحديد حضورك" "ar": "اسمح لتطبيق مهم بالوصول إلى موقعك لتحديد حضورك"
}, },
"other-services": {
"en": "Other Services",
"ar": "خدمات أخرى"
},
"items-sales": {
"en": "Items for sale",
"ar": "بضاعه للبع"
},
"offers-discount": {
"en": "Offers & Discount",
"ar": "العروض والخصومات"
},
"not-now": { "not-now": {
"en": "not now", "en": "not now",
"ar": "لاحقاً" "ar": "لاحقاً"
@ -2131,121 +2143,121 @@
"en": "you shoud add comment", "en": "you shoud add comment",
"ar": "يجب عليك اضافة تعليق" "ar": "يجب عليك اضافة تعليق"
}, },
"product-name":{ "product-name": {
"en":"Product Name", "en": "Product Name",
"ar":"اسم المنتج" "ar": "اسم المنتج"
}, },
"product-description":{ "product-description": {
"en":"Product Description", "en": "Product Description",
"ar":"وصف للمنتج" "ar": "وصف للمنتج"
}, },
"Unit-price":{ "Unit-price": {
"en":"Unit Price", "en": "Unit Price",
"ar":"سعر الوحدة" "ar": "سعر الوحدة"
}, },
"manufacturer-name":{ "manufacturer-name": {
"en":"Manufacturer Name", "en": "Manufacturer Name",
"ar":"اسم المصنع" "ar": "اسم المصنع"
}, },
"manufacturer-part-number":{ "manufacturer-part-number": {
"en":"Manufacturer Part Number", "en": "Manufacturer Part Number",
"ar":"رقم قطعة المصنع" "ar": "رقم قطعة المصنع"
}, },
"supplier-name":{ "supplier-name": {
"en":"Supplier Name", "en": "Supplier Name",
"ar":"اسم المورد" "ar": "اسم المورد"
}, },
"supplier-contact":{ "supplier-contact": {
"en":"Supplier Contact", "en": "Supplier Contact",
"ar":"عقد المورد" "ar": "عقد المورد"
}, },
"charge-to-patient":{ "charge-to-patient": {
"en":"Charge to Patient", "en": "Charge to Patient",
"ar":"رسوم على المرضى" "ar": "رسوم على المرضى"
}, },
"justification":{ "justification": {
"en":"Justification", "en": "Justification",
"ar":"تبرير" "ar": "تبرير"
}, },
"item-code":{ "item-code": {
"en":"Item Code", "en": "Item Code",
"ar":"رمز الصنف" "ar": "رمز الصنف"
}, },
"item-description":{ "item-description": {
"en":"Item Description", "en": "Item Description",
"ar":"وصف الصنف" "ar": "وصف الصنف"
}, },
"group-code":{ "group-code": {
"en":"Group Code", "en": "Group Code",
"ar":"رمز المجموعة" "ar": "رمز المجموعة"
}, },
"group-description":{ "group-description": {
"en":"Group Description", "en": "Group Description",
"ar":"وصف المجموعة" "ar": "وصف المجموعة"
}, },
"subgroup-code":{ "subgroup-code": {
"en":"Subgroup Code", "en": "Subgroup Code",
"ar":"رمز المجموعة الفرعية" "ar": "رمز المجموعة الفرعية"
}, },
"subgroup-description":{ "subgroup-description": {
"en":"Subgroup Description", "en": "Subgroup Description",
"ar":"وصف المجموعة الفرعية" "ar": "وصف المجموعة الفرعية"
}, },
"primary-uom":{ "primary-uom": {
"en":"Primary UOM", "en": "Primary UOM",
"ar":"Primary UOM" "ar": "Primary UOM"
}, },
"template-name":{ "template-name": {
"en":"Template Name", "en": "Template Name",
"ar":"اسم القالب" "ar": "اسم القالب"
}, },
"item-creation-status":{ "item-creation-status": {
"en":"Item Creation Status", "en": "Item Creation Status",
"ar":"حالة انشاء العنصر" "ar": "حالة انشاء العنصر"
}, },
"standardization-approval-status":{ "standardization-approval-status": {
"en":"Standardization Approval Status", "en": "Standardization Approval Status",
"ar":"حالةالموافقة على المعايرة" "ar": "حالةالموافقة على المعايرة"
}, },
"standardization-approval-rejection-reason":{ "standardization-approval-rejection-reason": {
"en":"Standardization Approval Rejection Reason", "en": "Standardization Approval Rejection Reason",
"ar":"سبب رفض الموافقة على المعايرة" "ar": "سبب رفض الموافقة على المعايرة"
}, },
"category":{ "category": {
"en":"Category", "en": "Category",
"ar":"فئة" "ar": "فئة"
}, },
"requester":{ "requester": {
"en":"Requester", "en": "Requester",
"ar":"مقدم الطلب" "ar": "مقدم الطلب"
}, },
"analyzed-by":{ "analyzed-by": {
"en":"Analyzed By", "en": "Analyzed By",
"ar":"تحليل بواسطة" "ar": "تحليل بواسطة"
}, },
"approved-date":{ "approved-date": {
"en":"Approved Date", "en": "Approved Date",
"ar":"تاريخ الموافقة" "ar": "تاريخ الموافقة"
}, },
"item-type":{ "item-type": {
"en":"Item Type", "en": "Item Type",
"ar":"نوع الصنف" "ar": "نوع الصنف"
}, },
"related-to":{ "related-to": {
"en":"Related To", "en": "Related To",
"ar":"" "ar": ""
}, },
"request-date":{ "request-date": {
"en":"Request Date", "en": "Request Date",
"ar":"متعلق بـ" "ar": "متعلق بـ"
}, },
"analyzed-date":{ "analyzed-date": {
"en":"Analyzed Date", "en": "Analyzed Date",
"ar":"تاريخ التحليل" "ar": "تاريخ التحليل"
}, },
"urgent":{ "urgent": {
"en":"Urgent", "en": "Urgent",
"ar":"عاجل" "ar": "عاجل"
} }
}, },
"worklistMain": { "worklistMain": {
@ -2820,6 +2832,42 @@
"title": { "title": {
"en": "Item for sale", "en": "Item for sale",
"ar": "سلعه للبيع" "ar": "سلعه للبيع"
},
"my-posted-ad": {
"en": "My Posted Ads",
"ar": "إعلاناتي المنشورة"
},
"browse-categories": {
"en": "Browse Categories",
"ar": "تصفح الفئات"
},
"create-new-ad": {
"en": "Create new ad",
"ar": "إنشاء إعلان جديد"
},
"select-category": {
"en": "Select Category",
"ar": "اختر الفئة"
},
"completed": {
"en": "Completed",
"ar": "مكتمل"
},
"add-details": {
"en": "Add Details",
"ar": "أضف التفاصيل"
},
"review-sell": {
"en": "Review & Sell",
"ar": "مراجعة وبيع"
},
"search-items": {
"en": "Search Items",
"ar": "عناصر البحث"
},
"offersdiscount": {
"en": "Offers & Discount",
"ar": "العروض والخصومات"
} }
}, },
"attendance-tracking": { "attendance-tracking": {

@ -1571,4 +1571,17 @@ table.monthview-datetable th small {
.fav-profileImageDiv{ .fav-profileImageDiv{
width: 100%; width: 100%;
text-align: start; text-align: start;
} }
ion-segment-button {
--indicator-color: transparent !important;
--indicator-color-checked: transparent !important;
}
#surveyRatingNew ion-button{
background: #fff !important;
}
#surveyRatingNew ion-buttons{
border-radius: 12px;
background: #fff;
width: 75%;
margin: auto;
}

@ -475,7 +475,7 @@ left: 66px;
} }
.dateActionHistory{ .dateActionHistory{
text-align: end; text-align: start;
// margin-top: -25px; // margin-top: -25px;
} }

Loading…
Cancel
Save