From 524d3f82091f73658ee31abb15a36d61cd7f58c4 Mon Sep 17 00:00:00 2001 From: "CHIEFSOFT\\ameye" Date: Mon, 22 Jan 2024 05:11:46 -0500 Subject: [PATCH] job history compo --- .../history-completed-jobs.component.html | 62 +++ .../history-completed-jobs.component.scss | 385 ++++++++++++++++++ .../history-completed-jobs.component.spec.ts | 24 ++ .../history-completed-jobs.component.ts | 38 ++ 4 files changed, 509 insertions(+) create mode 100644 src/app/components/history/history-completed-jobs/history-completed-jobs.component.html create mode 100644 src/app/components/history/history-completed-jobs/history-completed-jobs.component.scss create mode 100644 src/app/components/history/history-completed-jobs/history-completed-jobs.component.spec.ts create mode 100644 src/app/components/history/history-completed-jobs/history-completed-jobs.component.ts diff --git a/src/app/components/history/history-completed-jobs/history-completed-jobs.component.html b/src/app/components/history/history-completed-jobs/history-completed-jobs.component.html new file mode 100644 index 0000000..2a0ad24 --- /dev/null +++ b/src/app/components/history/history-completed-jobs/history-completed-jobs.component.html @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ Completed Task(s) + . +
+ + + +
+
+ +
+
+ {{item.title}} +
+ + Completed : {{item.delivery_date |date}} +
+
+
+ +
+
+ + +
+ + +
+ diff --git a/src/app/components/history/history-completed-jobs/history-completed-jobs.component.scss b/src/app/components/history/history-completed-jobs/history-completed-jobs.component.scss new file mode 100644 index 0000000..1c3cf7a --- /dev/null +++ b/src/app/components/history/history-completed-jobs/history-completed-jobs.component.scss @@ -0,0 +1,385 @@ + +ion-content { + .back_image { + width: 100%; + height: 230px; + + .back { + font-size: 25px; + color: white; + } + } + + .flex { + display: flex; + justify-content: space-between; + align-items: center; + + ion-icon { + font-size: 22px; + } + } + + .row { + display: flex; + align-items: center; + margin-top: 10px; + + .bg_text { + color: var(--ion-color-primary); + background: #dfe1f3; + font-size: 12px; + padding: 2px 5px; + border-radius: 5px; + margin-right: 10px; + } + + .rate { + display: flex; + align-items: center; + + .review { + margin-left: 5px; + } + } + } + + .color_text { + margin-top: 10px; + font-size: 22px; + font-family: 'semi-bold'; + color: var(--ion-color-primary); + } + + .items { + display: flex; + justify-content: space-between; + margin-top: 10px; + margin-bottom: 20px; + border-bottom: 1px solid lightgrey; + padding-bottom: 10px; + + .stud { + display: flex; + align-items: center; + + ion-icon { + margin-right: 5px; + } + + ion-label { + color: grey; + } + } + } + + .about { + margin-top: 10px; + + .head_text { + font-size: 18px; + font-family: 'semi-bold'; + margin-bottom: 10px; + } + + .mentor { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 20px; + + .left { + display: flex; + + .men_image { + height: 50px; + width: 50px; + border-radius: 100%; + } + + .bold { + font-family: 'semi-bold'; + } + + .grey { + color: grey; + font-size: 14px; + } + } + + ion-icon { + font-size: 25px; + } + } + + .description { + color: grey; + margin-bottom: 5px; + } + } + + .lesson { + margin-top: 20px; + + .bold { + font-family: 'semi-bold'; + } + + .color { + color: var(--ion-color-primary); + } + + .grey { + color: grey; + } + + .sec { + display: flex; + justify-content: space-between; + align-items: center; + margin-top: 10px; + } + + .video { + display: flex; + justify-content: space-between; + align-items: center; + background-color: white; + padding: 15px; + box-shadow: 0px 0px 20px 1px rgba(0, 0, 0, 0.1); + border-radius: 10px; + margin-top: 20px; + + .left { + display: flex; + } + + .men_image { + height: 40px; + width: 40px; + border-radius: 100%; + } + + .text { + margin-left: 10px; + } + + .bold_text { + font-size: 16px; + font-family: 'bold'; + } + + .grey_text { + font-size: 14px; + color: grey; + } + } + } + + .review_tab { + margin-top: 20px; + + .total { + display: flex; + align-items: center; + justify-content: space-between; + + .star-rate { + display: flex; + align-items: center; + + .bold { + font-size: 17px; + font-family: 'semi-bold'; + margin-left: 5px; + } + } + + .color { + color: var(--ion-color-primary); + font-size: 14px; + } + } + + + .story-item { + overflow: scroll; + display: flex; + flex-direction: row; + margin-top: 20px; + + .menu { + width: 100%; + display: flex; + flex-direction: row; + + .item { + padding: 5px; + margin: 5px; + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + + ion-thumbnail { + border-radius: 15px; + width: max-content; + height: 60px; + width: 60px; + --border-radius: 50%; + } + + ion-label { + font-size: 14px; + font-family: "medium"; + color: var(--ion-color-medium); + } + } + + .text { + + display: flex; + align-items: center; + text-align: center; + + .select { + display: flex; + align-items: center; + border: 1px solid var(--ion-color-primary); + border-radius: 20px; + padding: 2px 15px; + margin-right: 10px; + + .rate_num { + margin-left: 5px; + color: var(--ion-color-primary); + } + } + + .show { + background-color: var(--ion-color-primary); + } + + .white { + color: white !important; + } + + .choice { + display: flex; + } + } + } + } + + .reviw_list { + margin-top: 25px; + + .profile { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 10px; + + .left { + display: flex; + align-items: center; + + .men_image { + height: 40px; + width: 40px; + border-radius: 100%; + } + + + .bold { + font-family: 'semi-bold'; + } + + .grey { + color: grey; + font-size: 14px; + } + } + + .right { + display: flex; + align-items: center; + + .select { + display: flex; + align-items: center; + border: 1px solid var(--ion-color-primary); + border-radius: 20px; + padding: 2px 15px; + margin-right: 10px; + + .rate_num { + margin-left: 5px; + color: var(--ion-color-primary); + } + } + + ion-icon { + font-size: 20px; + } + } + } + + .like { + display: flex; + align-items: center; + margin-top: 10px; + + .heart { + font-size: 25px; + margin-right: 5px; + } + + .count { + margin-right: 10px; + } + + .time { + color: grey; + font-size: 14px; + } + } + } + } + + + + .bold_text { + font-size: 20px; + font-family: 'bold'; + } +} + + +ion-footer { + --background: white; + + ion-toolbar { + --border-width: 0px; + padding: 10px; + align-items: center; + + ion-icon { + color: white; + font-size: 25px; + } + + .button { + background-color: var(--ion-color-primary); + display: flex; + align-items: center; + justify-content: space-around; + border-radius: 30px; + padding: 12px 0; + + .text { + color: white; + } + } + } +} diff --git a/src/app/components/history/history-completed-jobs/history-completed-jobs.component.spec.ts b/src/app/components/history/history-completed-jobs/history-completed-jobs.component.spec.ts new file mode 100644 index 0000000..0947226 --- /dev/null +++ b/src/app/components/history/history-completed-jobs/history-completed-jobs.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { HistoryCompletedJobsComponent } from './history-completed-jobs.component'; + +describe('HistoryCompletedJobsComponent', () => { + let component: HistoryCompletedJobsComponent; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ HistoryCompletedJobsComponent ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(HistoryCompletedJobsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/history/history-completed-jobs/history-completed-jobs.component.ts b/src/app/components/history/history-completed-jobs/history-completed-jobs.component.ts new file mode 100644 index 0000000..5756807 --- /dev/null +++ b/src/app/components/history/history-completed-jobs/history-completed-jobs.component.ts @@ -0,0 +1,38 @@ +import { Component, OnInit } from '@angular/core'; +import {SessionDataProviderService} from "../../../store/session-data-provider.service"; +import {TasksDataService} from "../../../store/tasks-data.service"; + +@Component({ + selector: 'app-history-completed-jobs', + templateUrl: './history-completed-jobs.component.html', + styleUrls: ['./history-completed-jobs.component.scss'], +}) +export class HistoryCompletedJobsComponent implements OnInit { + session_image_server:string=''; + curr_session:string=''; + pastdue_job_count:number =0; + jobsTotalPastDueData:any; + jobsCompletedData: []; + + constructor( + public sessionDataProviderService:SessionDataProviderService, + public tasksDataService:TasksDataService,) { + this.tasksDataService.getJobsHistoryData(); + this.curr_session=this.sessionDataProviderService.session; + //this.refreshJobsData(); + } + + async refreshJobsData(){ + //this.tasksDataService.getJobsHistoryData(); +setInterval(()=>{ + this.jobsCompletedData = this.tasksDataService.jobsCompletedData; + this.session_image_server = this.tasksDataService.session_image_server; + this.pastdue_job_count = this.tasksDataService.pastdue_job_count; +}, 5000); + + } + ngOnInit() { + this.refreshJobsData(); + } + +}