it is html (orders.html)
<ion-content
class="box-area"
scrollEvents = "true"
(ionScroll)="scroll($event)"
(ionScrollEnd)="ionScrollEnd($event)">
<ion-refresher slot="fixed" (ionRefresh)="refresh(status, $event)">
</ion-refresher>
<div class="not-fount" *ngIf="(orderList$ | async)?.length == 0 && (filter$ | async)?.isFiltered">
Nothing found
</div>
<div #orderList *ngFor="let order of orderList$ | async"
(click)="toItem(order, $event.target)"
class="order orderView"
[ngClass]="{
'notViewOrder': !order?.view,
'yellow-border-color': !order?.view && order?.status == 'ORDER',
'green-border-color': !order?.view && order?.status == 'PICKED-UP'
}">
<ion-grid *ngIf="order?.vehicles" class="vehicles-title">
<ion-row>
<ion-col class="plus-icon">
<img
(click)="order?.vehicles.length > 1 ? order.showVehicles = !order.showVehicles : ''"
data-name="open"
[ngClass]="{
'yellow-filter': order.status == 'ORDER',
'green-filter': order.status == 'PICKED-UP'
}"
src="assets/icon/{{order.showVehicles ? 'sub' : 'plus'}}-circle.svg">
</ion-col>
<ion-col class="content-row blod-font" *ngIf ="order?.vehicles?.length > 0">
{{ order?.vehicles[0]?.year }}
{{ order?.vehicles[0]?.make }}
{{ order?.vehicles[0]?.model }}
</ion-col>
<ion-col class="vehicles-count-col">
<div
[ngClass]="{
'yellow-back': order.status == 'ORDER',
'green-back': order.status == 'PICKED-UP'
}"
class="vehicles-count">
{{ order?.vehicles?.length }}
</div>
</ion-col>
</ion-row>
</ion-grid>
<div class="vehicles-list-area" *ngIf="order.showVehicles && order?.vehicles?.length > 1">
<ion-grid class="vehicles-list blod-font">
<ng-template ngFor let-vehicle [ngForOf]="order?.vehicles" let-i="index">
<ion-row *ngIf="i > 0">
<ion-col>
{{ vehicle?.year }}
{{ vehicle?.make }}
{{ vehicle?.model }}
</ion-col>
</ion-row>
</ng-template>
</ion-grid>
</div>
<div class="line">
<hr/>
</div>
<div class="stops-area">
<ion-grid>
<ion-row>
<ion-col>
<div class="address blod-font">
<img src="assets/icon/map-pin.svg">
{{ order?.origin?.account?.address?.city }},
{{ order?.origin?.account?.address?.state }}
</div>
<div class="date blod-font">
<img class="calendar-icon" src="assets/icon/calendar.svg">
{{order?.origin?.originDate?.startDate | date:'MM/dd'}}
<ng-template [ngIf]="
order?.origin?.originDate?.dateDef == 'Estimated' &&
order?.origin?.originDate?.endDate
">
- {{order?.origin?.originDate?.endDate | date:'MM/dd'}}
</ng-template>
</div>
</ion-col>
<ion-col>
<div class="address blod-font">
<img src="assets/icon/map-pin.svg">
{{ order?.destination?.account?.address?.city }},
{{ order?.destination?.account?.address?.state }}
</div>
<div class="date blod-font">
<img class="calendar-icon" src="assets/icon/calendar.svg">
{{order?.destination?.destinationDate?.startDate | date:'MM/dd'}}
<ng-template [ngIf]="
order?.destination?.destinationDate?.dateDef == 'Estimated' &&
order?.destination?.destinationDate?.endDate
">
- {{order?.destination?.destinationDate?.endDate | date:'MM/dd'}}
</ng-template>
</div>
</ion-col>
</ion-row>
</ion-grid>
</div>
<ion-grid class="dispatcher-row blod-font">
<ion-row class="ion-align-items-end ion-justify-content-end">
<ion-col class="dispatcher-name">
<span
[ngClass] = "{
'yellow-color': order.status == 'ORDER',
'green-color': order.status == 'PICKED-UP'
}">
#{{order?.quoteNumber}}{{order?.ordering ? '.'+order?.ordering:''}}
</span>
<img
[ngClass] = "{
'yellow-filter': order.status == 'ORDER',
'green-filter': order.status == 'PICKED-UP'
}"
class="comfirmed yellow-filter"
src="assets/icon/check-mark.svg"
*ngIf = "order?.isConfirmed">
</ion-col>
<ion-col
[ngClass] = "{
'yellow-color': order.status == 'ORDER',
'green-color': order.status == 'PICKED-UP'
}"
class="price col-fit-content">
<span>
<ion-icon class="price-icon" name="logo-usd"></ion-icon>
{{order?.carrier?.payment?.commission | myCurrency}}
</span>
{{
(order?.carrier?.payment?.terms != 'COD' && order?.carrier?.payment?.terms != 'COP') ?
'BILL' : order?.carrier?.payment?.terms
}}
</ion-col>
</ion-row>
</ion-grid>
</div>
</ion-content>
it is global.css. I use this file for tag ion-content
ion-content {
--background: var(--background-color);
color: var(--white);
--padding-bottom: env(safe-area-inset-top);
}
it is css for component
.orderView {
background-color: var(--white);
color: var(--background-color);
}
ion-refresher {
background-color: var(--background-color) !important;
}
.orderView .vehicles-title ion-icon {
color: var(--yellow);
}
.orderView .vehicles-count {
// background-color: var(--yellow);
color: var(--white);
}
// .orderView .dispatcher-name span,
// .orderView .price {
// color: var(--yellow);
// }
.orderView .dispatcher-name span {
font-size: 4.5vw;
}
.orderView .stops-area .date {
color: var(--grey);
}
//
.order:first-child {
margin-top: 2.96vh;
}
.order {
border-radius: 15px;
margin-bottom: 2.96vh;
padding-top:2vw;
padding-bottom: 2vw;
padding-left: 4vw;
padding-right: 4vw;
position: relative;
}
.notViewOrder {
border-left: 1.6vw solid;
// border-left-color: var(--yellow);
padding-left: 2.4vw !important;
}
.line hr {
background-color: var(--background-color);
margin-right: 8.667vw;
margin-left: 3.667vw;
margin-bottom: 10px;
margin-top: 0px;
}
ion-content {
--padding-end: 4.54vw;
--padding-start: 4.54vw;
--padding-bottom: 2.667vw;
}
ion-col {
padding: 0px;
}
ion-grid {
padding: 0px;
}
.vehicles-title {
.content-row {
padding-right: 3.7vw;
padding-left: 3.7vw;
font-size: 4vw;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.plus-icon {
max-width: fit-content;
img {
width: 5.13vw;
margin-top: 1px;
}
}
.vehicles-count {
height: 5.67vw;
width: 5.67vw;
border-radius: 50%;
font-size: 3vw;
font-weight: bold;
text-align: center;
padding-top: 0.75vw;
}
.vehicles-count-col {
width: 6.4vw;
max-width: fit-content;
}
}
.vehicles-list-area {
margin-bottom: 1vw;
margin-top: 1vw;
.vehicles-list {
font-size: 4vw;
ion-row {
margin-bottom: 0.533vw;
}
}
}
.stops-area {
.address {
font-size: 3vw;
text-align: left;
}
.date {
font-size: 3vw;
text-align: left;
}
img {
width: 2.667vw;
height: 3.2vw;
margin-right: 0.533vw;
}
.calendar-icon {
opacity: 0.5;
}
ion-col:first-child {
padding-right: 0.533vw !important;
border-right: 1px solid var(--background-color);
}
ion-col:last-child {
padding-left: 0.533vw !important;
}
.header {
margin-bottom: 1.333vw;
font-size: 3.467vw;
ion-col {
padding-left: 4vw !important;
}
}
}
.dispatcher-row {
font-size: 3.2vw;
.price span {
font-size: 5.333vw;
}
.price {
text-align: right;
}
.comfirmed {
height: 5.333vw;
margin-left: 1.6vw;
position: relative;
}
}