finished all assigned tasks

ZohaibIqbalKambrani
enadhilal 5 years ago
parent f119467787
commit 84abf319ac

@ -116,6 +116,8 @@ 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) {
const digitalIDUser: any = JSON.stringify(user);
localStorage.setItem('digitalIDUser', digitalIDUser);
this.companyUrl = user.CompanyImageURL ? user.CompanyImageURL : '../assets/imgs/CSLogo.png'; this.companyUrl = user.CompanyImageURL ? user.CompanyImageURL : '../assets/imgs/CSLogo.png';
this.companyDesc = user.CompanyImageDescription ? user.CompanyImageDescription : 'Powered By Cloud Solutions'; this.companyDesc = user.CompanyImageDescription ? user.CompanyImageDescription : 'Powered By Cloud Solutions';
this.User_name_Emp = user.EMPLOYEE_DISPLAY_NAME; this.User_name_Emp = user.EMPLOYEE_DISPLAY_NAME;

@ -22,6 +22,7 @@ import { CheckUserComponent } from './check-user/check-user.component';
import { ChangePasswordComponent } from './change-password/change-password.component'; import { ChangePasswordComponent } from './change-password/change-password.component';
import {ConfirmLoginComponent} from '../authentication/confirm-login/confirm-login.component' import {ConfirmLoginComponent} from '../authentication/confirm-login/confirm-login.component'
import {WelcomeComponent} from '../authentication/welcome/welcome.component' import {WelcomeComponent} from '../authentication/welcome/welcome.component'
import { DigitalIdComponent } from './digital-id/digital-id.component';
const routes: Routes = [ const routes: Routes = [
{ {
@ -82,12 +83,14 @@ const routes: Routes = [
CheckUserComponent, CheckUserComponent,
ChangePasswordComponent, ChangePasswordComponent,
// ConfirmLoginComponent, // ConfirmLoginComponent,
WelcomeComponent WelcomeComponent,
DigitalIdComponent
], ],
providers:[ providers:[
FingerprintAIO, FingerprintAIO,
Device, Device,
SplashScreen SplashScreen
] ],
entryComponents:[DigitalIdComponent]
}) })
export class AuthenticationPageModule { } export class AuthenticationPageModule { }

@ -66,4 +66,9 @@
</ion-grid> </ion-grid>
<ion-button *ngIf="userInfo" class="button-digital-id" (click)="openDigitalId()">
<p style="color: black;">{{ts.trPK('general','digital-id')}}</p>
<img [ngClass]=" direction === 'en' ? 'digital-id-en' : 'digital-id-ar'" src="../assets/imgs/ID_ico.png">
</ion-button>
</ion-content> </ion-content>

@ -7,4 +7,31 @@
} }
.button-digital-id{
--background: white !important;
background: white !important;
white-space: normal;
color: white;
text-transform: capitalize;
min-height: 1.0cm;
--border-radius: 33px !important;
border-radius: 33px !important;
--min-height: 1.6cm !important;
width: 315px;
border: 1px solid black;
}
.digital-id-en{
color: black;
position: absolute;
right: 20px;
width: 10%;
}
.digital-id-ar{
color: black;
position: absolute;
left: 20px;
width: 10%;
}

@ -12,12 +12,13 @@ import { GetLoginInfoResponse } from '../../hmg-common/services/authentication/m
import { SMSCheckRequest } from 'src/app/hmg-common/services/authentication/models/smscheck.request'; import { SMSCheckRequest } from 'src/app/hmg-common/services/authentication/models/smscheck.request';
import { SMSCheckResponse } from 'src/app/hmg-common/services/authentication/models/smscheck.response'; import { SMSCheckResponse } from 'src/app/hmg-common/services/authentication/models/smscheck.response';
import { PushService } from 'src/app/hmg-common/services/push/push.service'; import { PushService } from 'src/app/hmg-common/services/push/push.service';
import { Platform } from '@ionic/angular'; import { ModalController, Platform } from '@ionic/angular';
import { CheckUserAuthenticationResponse } from 'src/app/hmg-common/services/authentication/models/check-user-auth.response'; import { CheckUserAuthenticationResponse } from 'src/app/hmg-common/services/authentication/models/check-user-auth.response';
import { LoginModel } from '../models/LoginModel'; import { LoginModel } from '../models/LoginModel';
import * as moment from 'moment'; import * as moment from 'moment';
import { CheckAppVersionResponse } from 'src/app/hmg-common/services/authentication/models/check-app-version.response'; import { CheckAppVersionResponse } from 'src/app/hmg-common/services/authentication/models/check-app-version.response';
import { NFC } from "@ionic-native/nfc/ngx"; import { NFC } from "@ionic-native/nfc/ngx";
import { DigitalIdComponent } from '../digital-id/digital-id.component';
@Component({ @Component({
selector: 'app-confirm-login', selector: 'app-confirm-login',
@ -49,6 +50,8 @@ export class ConfirmLoginComponent implements OnInit {
private iosLink: string; private iosLink: string;
private androidLink: string; private androidLink: string;
public isNFCAvailable = false; public isNFCAvailable = false;
direction:string;
userInfo: any;
constructor( constructor(
public ts: TranslatorService, public ts: TranslatorService,
@ -58,6 +61,7 @@ export class ConfirmLoginComponent implements OnInit {
private faio: FingerprintAIO, private faio: FingerprintAIO,
public pushService: PushService, public pushService: PushService,
public platform: Platform, public platform: Platform,
public modalController: ModalController,
private nfc: NFC private nfc: NFC
) { ) {
this.loginData = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false); this.loginData = this.sharedData.getSharedData(AuthenticationService.LOGIN_DATA, false);
@ -75,6 +79,8 @@ export class ConfirmLoginComponent implements OnInit {
} }
ngOnInit() { ngOnInit() {
this.direction = TranslatorService.getCurrentLanguageName();
this.userInfo = JSON.parse(localStorage.getItem('digitalIDUser'));
this.checkNFCStatus(); this.checkNFCStatus();
// **checkIfAvailable FAIO **// // **checkIfAvailable FAIO **//
this.checkIfAvailable(); this.checkIfAvailable();
@ -474,4 +480,12 @@ checkAccess(el: any) {
} }
} }
async openDigitalId() {
const modal = await this.modalController.create({
component: DigitalIdComponent,
cssClass: 'digital-id-modal-css'
});
return await modal.present();
}
} }

@ -0,0 +1,33 @@
<ion-content>
<img *ngIf="userInfo.PAYROLL_CODE === 'CS' " style="width: 100%; max-width: 100%;" src="../assets/imgs/IDTOP.png">
<img *ngIf="userInfo.PAYROLL_CODE !== 'CS' " style="width: 100%; max-width: 100%;" src="../assets/imgs/IDTOP_HMG.png.png">
<ion-grid>
<ion-row>
<ion-col>
<img style="width: 65%; bottom: 0%; position:absolute" [src]="'data:image/png;base64,'+userInfo.EMPLOYEE_IMAGE">
</ion-col>
<ion-col>
<p><b style="font-size: 25px !important;">{{userInfo.ASSIGNMENT_NUMBER}}</b></p>
</ion-col>
</ion-row>
<ion-row>
<ion-col>
<p><b style="font-size: 20px !important;">{{userInfo.EMPLOYEE_DISPLAY_NAME}}</b></p>
<p style="font-size: 15px !important;">{{userInfo.JOB_NAME}}</p>
</ion-col>
</ion-row>
<ion-row>
<ion-col offset="2">
<img style="width: 85%; max-width: 100%;" [src]="userInfo.EmployeeQR">
</ion-col>
</ion-row>
</ion-grid>
</ion-content>
<ion-footer>
<div class="centerDiv" style="margin-top: 20px !important;">
<ion-button class="button-login" (click)="dismiss()"><b>{{ts.trPK('general','close')}}</b></ion-button>
</div>
</ion-footer>

@ -0,0 +1,13 @@
.button-login{
--background: #c1272d !important;
background: #c1272d !important;
white-space: normal;
color: var(--light);
text-transform: capitalize;
min-height: 1.0cm;
--border-radius: 33px !important;
border-radius: 33px !important;
--min-height: 1.6cm !important;
width: 315px;
}

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

@ -0,0 +1,30 @@
import { Component, OnInit } from '@angular/core';
import { ModalController } from '@ionic/angular';
import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service';
@Component({
selector: 'app-digital-id',
templateUrl: './digital-id.component.html',
styleUrls: ['./digital-id.component.scss'],
})
export class DigitalIdComponent implements OnInit {
userInfo: any;
constructor(
public modalCtrl: ModalController,
public ts: TranslatorService,
) { }
ngOnInit() {
this.userInfo = JSON.parse(localStorage.getItem('digitalIDUser'));
console.log(this.userInfo);
}
dismiss() {
this.modalCtrl.dismiss({
'dismissed': true
});
}
}

@ -26,9 +26,6 @@
<img style="margin: 9px 8px 9px 0 !important;" class="item-icon" src="assets/imgs/password.png" item-start /> <img style="margin: 9px 8px 9px 0 !important;" class="item-icon" src="assets/imgs/password.png" item-start />
<ion-input class="login-input" required type="password" [(ngModel)]="password" placeholder="{{ts.trPK('login','password')}}"> <ion-input class="login-input" required type="password" [(ngModel)]="password" placeholder="{{ts.trPK('login','password')}}">
</ion-input> </ion-input>
<button ion-button clear class="forgetText" type="button" (click)="forgetPasswordPage()" item-right >
{{ts.trPK('login','forgot-password')}}
</button>
</ion-item> </ion-item>
<div class="centerDiv signupDiv" *ngIf="isAppleStore==false"> <div class="centerDiv signupDiv" *ngIf="isAppleStore==false">
@ -40,6 +37,8 @@
</div> </div>
</div> </div>
<!-- <div *ngIf="welcomeBack"> --> <!-- <div *ngIf="welcomeBack"> -->
<welcome-login (onLogin)="login()" (loginWithUser)="loginWithUser()" *ngIf="user "> <welcome-login (onLogin)="login()" (loginWithUser)="loginWithUser()" *ngIf="user ">
</welcome-login> </welcome-login>
@ -47,6 +46,17 @@
<div class="centerDiv" style="margin-top: 20px !important;"> <div class="centerDiv" style="margin-top: 20px !important;">
<ion-button [ngClass]="{'disable-button-opacity': isValidForm()}" class="button-login" (click)="onLogin()" [disabled]="isValidForm()">{{ts.trPK('login','login')}}</ion-button> <ion-button [ngClass]="{'disable-button-opacity': isValidForm()}" class="button-login" (click)="onLogin()" [disabled]="isValidForm()">{{ts.trPK('login','login')}}</ion-button>
<!-- digital ID button -->
<!-- <ion-button *ngIf="userInfo" class="button-digital-id" (click)="openDigitalId()">
<p style="color: black;">{{ts.trPK('general','digital-id')}}</p>
<img [ngClass]=" currentLang === '2' ? 'digital-id-en' : 'digital-id-ar'" src="../assets/imgs/ID_ico.png">
</ion-button> -->
<br><br>
<button ion-button clear class="forgetText" type="button" (click)="forgetPasswordPage()" item-right >
{{ts.trPK('login','forgot-password')}}
</button>
</div> </div>
</ion-content> </ion-content>

@ -141,6 +141,22 @@ img.centerDiv {
--min-height: 1.6cm !important; --min-height: 1.6cm !important;
width: 315px; width: 315px;
} }
.button-digital-id{
--background: white !important;
background: white !important;
white-space: normal;
color: white;
text-transform: capitalize;
min-height: 1.0cm;
--border-radius: 33px !important;
border-radius: 33px !important;
--min-height: 1.6cm !important;
width: 315px;
border: 1px solid black;
}
.content { .content {
width: 500px; width: 500px;
margin-left: auto; margin-left: auto;
@ -228,3 +244,18 @@ img.centerDiv {
margin-top:20px; margin-top:20px;
margin-right: 15%; margin-right: 15%;
} }
.digital-id-en{
color: black;
position: absolute;
right: 20px;
width: 10%;
}
.digital-id-ar{
color: black;
position: absolute;
left: 20px;
width: 10%;
}

@ -18,6 +18,8 @@ import { CheckAppVersionResponse } from 'src/app/hmg-common/services/authenticat
import { PushService } from 'src/app/hmg-common/services/push/push.service'; import { PushService } from 'src/app/hmg-common/services/push/push.service';
import { KeyboardService } from 'src/app/hmg-common/services/keyboard/keyboard.service'; import { KeyboardService } from 'src/app/hmg-common/services/keyboard/keyboard.service';
import { KeyboardStatusModel } from 'src/app/hmg-common/services/keyboard/keyboard-status.model'; import { KeyboardStatusModel } from 'src/app/hmg-common/services/keyboard/keyboard-status.model';
import { ModalController } from '@ionic/angular';
import { DigitalIdComponent } from '../digital-id/digital-id.component';
@Component({ @Component({
selector: 'login', selector: 'login',
@ -26,6 +28,7 @@ import { KeyboardStatusModel } from 'src/app/hmg-common/services/keyboard/keyboa
}) })
export class LoginComponent implements OnInit, OnDestroy { export class LoginComponent implements OnInit, OnDestroy {
deviceToken1: any; deviceToken1: any;
userInfo: any;
constructor( constructor(
public cs: CommonService, public cs: CommonService,
@ -42,7 +45,8 @@ export class LoginComponent implements OnInit, OnDestroy {
public sharedData: SharedDataService, public sharedData: SharedDataService,
public plt: Platform, public plt: Platform,
public pushService: PushService, public pushService: PushService,
public keyboardService: KeyboardService public keyboardService: KeyboardService,
public modalController: ModalController
) { ) {
this.events.subscribe('logoutFlage', logoutFlage => { this.events.subscribe('logoutFlage', logoutFlage => {
console.log('login compont logoutFlage: ' + logoutFlage); console.log('login compont logoutFlage: ' + logoutFlage);
@ -99,6 +103,7 @@ export class LoginComponent implements OnInit, OnDestroy {
ngOnInit() { ngOnInit() {
this.monitorKeyboardChange(); this.monitorKeyboardChange();
this.userInfo = JSON.parse(localStorage.getItem('digitalIDUser'));
this.currentLang = TranslatorService.getCurrentLanguageCode(); this.currentLang = TranslatorService.getCurrentLanguageCode();
if (TranslatorService.CURRENT_LANGUAGE == TranslatorService.EN) { if (TranslatorService.CURRENT_LANGUAGE == TranslatorService.EN) {
@ -378,4 +383,13 @@ export class LoginComponent implements OnInit, OnDestroy {
}); });
} }
async openDigitalId() {
const modal = await this.modalController.create({
component: DigitalIdComponent,
cssClass: 'digital-id-modal-css'
});
return await modal.present();
}
} }

@ -11,7 +11,7 @@ export class AccordinTabCustomComponent implements OnInit {
private accordion: AccordinCustomComponent; private accordion: AccordinCustomComponent;
private id: number; private id: number;
public show = false; @Input() public show = false;
public direction = 'ltr'; public direction = 'ltr';
@Input() header: string; @Input() header: string;
@Input() subHeader: string; @Input() subHeader: string;
@ -30,7 +30,6 @@ export class AccordinTabCustomComponent implements OnInit {
} }
public setVisibility(show: boolean) { public setVisibility(show: boolean) {
this.show = show;
} }
public setAccordion(accordion: AccordinCustomComponent) { public setAccordion(accordion: AccordinCustomComponent) {
@ -38,6 +37,7 @@ export class AccordinTabCustomComponent implements OnInit {
} }
public onClick() { public onClick() {
this.show = !this.show;
this.setVisibility(!this.show); this.setVisibility(!this.show);
if (this.show) { if (this.show) {
if (this.accordion) { if (this.accordion) {

@ -57,7 +57,7 @@
<accordin-custom> <accordin-custom>
<accordin-tab-custom *ngFor="let notificationList of notificationBodyRes; let i=index; " <accordin-tab-custom *ngFor="let notificationList of notificationBodyRes; let i=index; "
[header]="notificationList.DESCRIPTION"> [header]="notificationList.DESCRIPTION" [show]="i === 0 ? true: false">

@ -35,13 +35,12 @@
<ion-slides #slides (ionSlideDidChange)="slideChanged($event)"> <ion-slides #slides (ionSlideDidChange)="slideChanged($event)">
<ion-slide> <ion-slide>
<ng-container *ngIf="activeSegment === 'line_details'"> <ng-container *ngIf="activeSegment === 'line_details'">
<div [hidden]="POLines && POLines.length > 0" style="width: 100% !important;"> <div [hidden]="POLines && POLines.length > 0" style="width: 100% !important;">
<p>{{ 'general, empty' | translate}}</p> <p>{{ 'general, empty' | translate}}</p>
</div> </div>
<accordin-custom style="width: 100% !important;"> <accordin-custom style="width: 100% !important;">
<accordin-tab-custom *ngFor="let Lines of POLines; let i=index;" <accordin-tab-custom *ngFor="let Lines of POLines; let i=index;"
[header]="Lines.ITEM_DESCRIPTION"> [header]="Lines.ITEM_DESCRIPTION" [show]="i === 0 ? true: false">
<div class="itemReqDiv"> <div class="itemReqDiv">
<ion-grid> <ion-grid>
<ion-row class="rowBorder"> <ion-row class="rowBorder">

@ -39,7 +39,7 @@
<p>{{ 'general, empty' | translate}}</p> <p>{{ 'general, empty' | translate}}</p>
</div> </div>
<accordin-custom> <accordin-custom>
<accordin-tab-custom *ngFor="let Lines of PRLines; let i=index;" [header]="Lines.DESCRIPTION"> <accordin-tab-custom *ngFor="let Lines of PRLines; let i=index;" [header]="Lines.DESCRIPTION" [show]="i === 0 ? true: false">
<div class="itemReqDiv" style="width: 100% !important;"> <div class="itemReqDiv" style="width: 100% !important;">
<ion-row class="rowBorder"> <ion-row class="rowBorder">
<ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' " class="colItems"> <ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' " class="colItems">

@ -28,23 +28,60 @@
</div> </div>
<ion-grid *ngIf="personalInfo"> <ion-grid *ngIf="personalInfo">
<div class="gridService"> <div class="gridService" style="background: #0B4775; border-radius: 20px;">
<ion-row>
<ion-col>
<label style="font-size: 12px; color: white; margin: 5%;">We appreciate you for completing service of</label>
</ion-col>
</ion-row>
<ion-row > <ion-row >
<ion-col [ngClass]=" direction == 'ltr' ? 'columns' : 'columns-ar'"> <ion-col [ngClass]=" direction == 'ltr' ? 'columns' : 'columns-ar'">
<ion-grid>
<ion-row>
<ion-col>
<label [ngClass]=" direction == 'ltr' ? 'service' : 'service-ar'">{{personalInfo.SERVICE_YEARS}}</label> <label [ngClass]=" direction == 'ltr' ? 'service' : 'service-ar'">{{personalInfo.SERVICE_YEARS}}</label>
<br> <label [ngClass]=" direction == 'ltr' ? 'services' : 'services-ar'">{{ts.trPK('userProfile','years')}}</label> </ion-col>
</ion-row>
<ion-row>
<ion-col>
<label [ngClass]=" direction == 'ltr' ? 'services' : 'services-ar'">{{ts.trPK('userProfile','years')}}</label>
</ion-col>
</ion-row>
</ion-grid>
</ion-col>
<ion-col>
<div class="verticalLine"></div>
</ion-col> </ion-col>
<ion-col [ngClass]=" direction == 'ltr' ? 'columns' : 'columns-ar'"> <ion-col [ngClass]=" direction == 'ltr' ? 'columns' : 'columns-ar'">
<ion-grid>
<ion-row>
<ion-col>
<label [ngClass]=" direction == 'ltr' ? 'service' : 'service-ar'">{{personalInfo.SERVICE_MONTHS}}</label> <label [ngClass]=" direction == 'ltr' ? 'service' : 'service-ar'">{{personalInfo.SERVICE_MONTHS}}</label>
<br> <label [ngClass]=" direction == 'ltr' ? 'services' : 'services-ar'">{{ts.trPK('userProfile','months')}}</label> </ion-col>
</ion-row>
<ion-row>
<ion-col>
<label [ngClass]=" direction == 'ltr' ? 'services' : 'services-ar'">{{ts.trPK('userProfile','months')}}</label>
</ion-col>
</ion-row>
</ion-grid>
</ion-col>
<ion-col>
<div class="verticalLine"></div>
</ion-col> </ion-col>
<ion-col [ngClass]=" direction == 'ltr' ? 'columns' : 'columns-ar'"> <ion-col [ngClass]=" direction == 'ltr' ? 'columns' : 'columns-ar'">
<ion-grid>
<ion-row>
<ion-col>
<label [ngClass]=" direction == 'ltr' ? 'service' : 'service-ar'">{{personalInfo.SERVICE_DAYS}}</label> <label [ngClass]=" direction == 'ltr' ? 'service' : 'service-ar'">{{personalInfo.SERVICE_DAYS}}</label>
<br> <label [ngClass]=" direction == 'ltr' ? 'services' : 'services-ar'">{{ts.trPK('absenceList','days')}}</label> </ion-col>
<ion-col>
<label [ngClass]=" direction == 'ltr' ? 'services' : 'services-ar'">{{ts.trPK('absenceList','days')}}</label>
</ion-col>
</ion-row>
</ion-grid>
</ion-col> </ion-col>
</ion-row> </ion-row>
</div> </div>
</ion-grid> </ion-grid>

@ -82,22 +82,22 @@
margin-top: 87px; margin-top: 87px;
border-radius: 10px; border-radius: 10px;
margin-bottom: -49px; margin-bottom: -49px;
margin-left: 14px; margin-left: 30px;
margin-right: 14px; margin-right: 30px;
} }
.columns{ .columns{
margin: 10px; margin: 10px;
background: #269DB8; background: #0B4775;
border-radius: 27px; border-radius: 27px;
padding-left: 30px; // padding-left: 30px;
padding-right: 6px; // padding-right: 6px;
padding-top: 19px; // padding-top: 19px;
padding-bottom: 26px; // padding-bottom: 26px;
} }
.columns-ar{ .columns-ar{
margin: 10px; margin: 10px;
background: #269DB8; background: #0B4775;
border-radius: 27px; border-radius: 27px;
padding-left: 7px; padding-left: 7px;
padding-right: 3px; padding-right: 3px;
@ -134,8 +134,8 @@
margin-left: 14px; margin-left: 14px;
margin-right: 14px; margin-right: 14px;
border-radius: 10px; border-radius: 10px;
background: white; // background: white;
border: solid #bebbbb !important; border:#bebbbb !important;
padding: 2px; padding: 2px;
} }
.p{ .p{
@ -184,3 +184,11 @@
-webkit-transform: rotate(180deg); -webkit-transform: rotate(180deg);
transform: rotate(180deg); transform: rotate(180deg);
} }
.verticalLine {
width:1%;
height:50px;
background:white;
margin-top: 100%;
// margin-left: 10%;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

@ -938,6 +938,10 @@
"success-attendance": { "success-attendance": {
"en": "Your attendance is marked successfully.", "en": "Your attendance is marked successfully.",
"ar": "تم تسجيل حضورك بنجاح" "ar": "تم تسجيل حضورك بنجاح"
},
"digital-id":{
"en":"Employee Digital ID",
"ar":"هوية الموظف الرقمية"
} }
}, },
"home": { "home": {

@ -1545,3 +1545,11 @@ table.monthview-datetable th small {
.disable-button-opacity { .disable-button-opacity {
opacity: .2; opacity: .2;
} }
.digital-id-modal-css .modal-wrapper {
height: 90%;
width: 90%;
top: 3%;
position: absolute;
display: block;
}
Loading…
Cancel
Save