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

# Conflicts:
#	Mohem/src/app/app-routing.module.ts
zohaib-huawei-q2
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",

@ -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' }

@ -165,7 +165,6 @@
</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">
<img width="30" src="../assets/imgs/profile_icon.png" item-left> <img width="30" src="../assets/imgs/profile_icon.png" item-left>

@ -108,6 +108,7 @@ export class AppComponent implements OnInit {
setTimeout(() => { setTimeout(() => {
console.log(' in setTimeout startReceiving'); console.log(' in setTimeout startReceiving');
this.getLastLoginInfo(); this.getLastLoginInfo();
}, 4000); }, 4000);
} }
@ -121,6 +122,7 @@ export class AppComponent implements OnInit {
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)); localStorage.setItem("digitalIDUser", JSON.stringify(user));
this.digitalIDUser = user//JSON.stringify(user); this.digitalIDUser = user//JSON.stringify(user);
this.companyUrl = user.CompanyImageURL ? user.CompanyImageURL : '../assets/imgs/CSLogo.png'; this.companyUrl = user.CompanyImageURL ? user.CompanyImageURL : '../assets/imgs/CSLogo.png';
@ -132,6 +134,9 @@ export class AppComponent implements OnInit {
this.user_image = user.EMPLOYEE_IMAGE ? 'data:image/png;base64,' + user.EMPLOYEE_IMAGE : '../assets/imgs/profile.png'; this.user_image = user.EMPLOYEE_IMAGE ? 'data:image/png;base64,' + user.EMPLOYEE_IMAGE : '../assets/imgs/profile.png';
} }
this.User_Job_name = user.JOB_NAME; this.User_Job_name = user.JOB_NAME;
//erm channel
if (!CommonService.SKIP)
this.cs.navigateForward('/erm-channel/survey');
} else { } else {
console.log(user); console.log(user);
} }

@ -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',
@ -1236,6 +1236,9 @@ 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']);
}

@ -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-row>
<ion-col size="12">
<ion-label> {{'general,other-services' | translate}} </ion-label>
</ion-col>
<ion-slides [options]="slideOptsTwo" > <ion-slides [options]="slideOptsTwo" >
<ion-slide> <ion-slide>
<app-services-button (click)="itemForSale()" title="Item for sale" > <app-services-button (click)="itemForSale()" [title]="'general,items-sales' | translate" >
</app-services-button> </app-services-button>
<app-services-button (click)="offersDiscount()" title="Offers & Discount" >
</ion-slide>
<ion-slide>
<app-services-button (click)="offersDiscount()" [title]="'general,offers-discount' | translate" >
</app-services-button> </app-services-button>
</ion-slide> </ion-slide>
</ion-slides> </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,12 +8,12 @@
</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>
@ -21,18 +21,21 @@
<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;
@ -106,3 +111,25 @@ 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;
@ -58,3 +62,4 @@
.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": "لاحقاً"
@ -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": {

@ -1572,3 +1572,16 @@ table.monthview-datetable th small {
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