market detail
This commit is contained in:
+2
-1
@@ -4,4 +4,5 @@ npx capacitor-assets generate
|
||||
|
||||
ionic generate page familylogin
|
||||
|
||||
ionic generate page blogdetail
|
||||
ionic generate page blogdetail
|
||||
ionic generate page marketdetail
|
||||
@@ -138,6 +138,10 @@ const routes: Routes = [
|
||||
path: 'blogdetail',
|
||||
loadChildren: () => import('./pages/blogdetail/blogdetail.module').then(m => m.BlogdetailPageModule)
|
||||
},
|
||||
{
|
||||
path: 'marketdetail',
|
||||
loadChildren: () => import('./pages/marketdetail/marketdetail.module').then(m => m.MarketdetailPageModule)
|
||||
},
|
||||
|
||||
];
|
||||
@NgModule({
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { Routes, RouterModule } from '@angular/router';
|
||||
|
||||
import { MarketdetailPage } from './marketdetail.page';
|
||||
|
||||
const routes: Routes = [
|
||||
{
|
||||
path: '',
|
||||
component: MarketdetailPage
|
||||
}
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [RouterModule.forChild(routes)],
|
||||
exports: [RouterModule],
|
||||
})
|
||||
export class MarketdetailPageRoutingModule {}
|
||||
@@ -0,0 +1,20 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FormsModule } from '@angular/forms';
|
||||
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
import { MarketdetailPageRoutingModule } from './marketdetail-routing.module';
|
||||
|
||||
import { MarketdetailPage } from './marketdetail.page';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
CommonModule,
|
||||
FormsModule,
|
||||
IonicModule,
|
||||
MarketdetailPageRoutingModule
|
||||
],
|
||||
declarations: [MarketdetailPage]
|
||||
})
|
||||
export class MarketdetailPageModule {}
|
||||
@@ -0,0 +1,214 @@
|
||||
|
||||
<ion-content>
|
||||
<div class="bg_image back_image" [style.backgroundImage]="'url(assets/images/p4.jpg)'">
|
||||
<div class="ion-padding">
|
||||
<ion-icon slot="start" name="arrow-back" class="back" (click)="onBack()"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ion-padding">
|
||||
<div class="flex">
|
||||
<ion-label class="bold_text">{{jobData.title}}</ion-label>
|
||||
<ion-icon slot="end" name="bookmark-outline" color="primary"></ion-icon>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<ion-label class="bg_text">{{jobData.offer_code}}</ion-label>
|
||||
<div class="rate">
|
||||
<!-- <ion-icon name="star-half-outline" color="warning"></ion-icon>-->
|
||||
<ion-label class="review"> (0 interest)</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ion-label class="color_text">Price: {{jobData.price*0.01}} {{jobData.currency}}</ion-label>
|
||||
|
||||
<div class="items">
|
||||
<div class="stud">
|
||||
<ion-icon slot="start" name="time" color="primary"></ion-icon>
|
||||
<ion-label>Timeline: {{jobData.timeline_days}} days</ion-label>
|
||||
</div>
|
||||
<div class="stud">
|
||||
<ion-icon slot="start" name="document-text" color="primary"></ion-icon>
|
||||
<ion-label>Certificate</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ion-segment [(ngModel)]="tabs">
|
||||
<ion-segment-button value="about">
|
||||
<ion-label>Details</ion-label>
|
||||
</ion-segment-button>
|
||||
<ion-segment-button value="lesson">
|
||||
<ion-label>Show Interest</ion-label>
|
||||
</ion-segment-button>
|
||||
<ion-segment-button value="review">
|
||||
<ion-label>Message</ion-label>
|
||||
</ion-segment-button>
|
||||
</ion-segment>
|
||||
|
||||
<div *ngIf="tabs =='about'" class="about">
|
||||
<ion-label class="head_text">Mentor</ion-label>
|
||||
|
||||
<div class="mentor" (click)="onMentor()">
|
||||
<div class="left">
|
||||
<div class="bg_image men_image" [style.backgroundImage]="'url(assets/images/taskbanners/default.jpg)'"></div>
|
||||
<div style="margin-left: 10px;">
|
||||
<ion-label class="bold">Expires</ion-label>
|
||||
<ion-label class="grey">{{jobData.expire}}</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <ion-icon name="chatbubble-ellipses-outline" color="primary"></ion-icon>-->
|
||||
</div>
|
||||
|
||||
<ion-label class="head_text">Description</ion-label>
|
||||
<ion-label class="description">{{jobData.job_description}}
|
||||
</ion-label>
|
||||
|
||||
<ion-label class="head_text">Delivery Details</ion-label>
|
||||
<ion-label class="description">{{jobData.description}}
|
||||
</ion-label>
|
||||
</div>
|
||||
|
||||
<div *ngIf="tabs =='lesson'" class="lesson">
|
||||
<div class="flex">
|
||||
<ion-label class="bold">Most Popular Courses</ion-label>
|
||||
<ion-label class="color">See all</ion-label>
|
||||
</div>
|
||||
|
||||
<div class="sec">
|
||||
<ion-label class="grey">Section 1 - Introduction</ion-label>
|
||||
<ion-label class="color">15 min</ion-label>
|
||||
</div>
|
||||
|
||||
<div class="video" *ngFor="let item of [1,2]">
|
||||
<div class="left">
|
||||
<div class="bg_image men_image" [style.backgroundImage]="'url(assets/images/line.png)'"></div>
|
||||
|
||||
<div class="text">
|
||||
<ion-label class="bold_text">Why Using Figma ?</ion-label>
|
||||
<ion-label class="grey_text">10 mins</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<ion-icon name="lock-closed-outline"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sec">
|
||||
<ion-label class="grey">Section 2 - Figma Basic</ion-label>
|
||||
<ion-label class="color">60 min</ion-label>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="video" *ngFor="let item of [1,2,3,4,5,6]">
|
||||
<div class="left">
|
||||
<div class="bg_image men_image" [style.backgroundImage]="'url(assets/images/line.png)'"></div>
|
||||
|
||||
<div class="text">
|
||||
<ion-label class="bold_text">Why Using Figma ?</ion-label>
|
||||
<ion-label class="grey_text">10 mins</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<ion-icon name="lock-closed-outline"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sec">
|
||||
<ion-label class="grey">Section 3 - Let's Practice</ion-label>
|
||||
<ion-label class="color">75 min</ion-label>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="video" *ngFor="let item of [1,2,3,4,5,6]">
|
||||
<div class="left">
|
||||
<div class="bg_image men_image" [style.backgroundImage]="'url(assets/images/line.png)'"></div>
|
||||
|
||||
<div class="text">
|
||||
<ion-label class="bold_text">Why Using Figma ?</ion-label>
|
||||
<ion-label class="grey_text">10 mins</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<ion-icon name="lock-closed-outline"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="tabs =='review'" class="review_tab">
|
||||
<div class="total">
|
||||
<div class="star-rate">
|
||||
<ion-icon name="star-half-outline" color="warning"></ion-icon>
|
||||
<ion-label class="bold">4.8 (5456 Reviews)</ion-label>
|
||||
</div>
|
||||
<ion-label class="color">See all</ion-label>
|
||||
</div>
|
||||
|
||||
<div class="story-item">
|
||||
<div class="menu">
|
||||
<div class="text">
|
||||
<div class="select show">
|
||||
<ion-icon slot="start" name="star" color="light" class="star_icon"></ion-icon>
|
||||
<ion-label class="rate_num white">All</ion-label>
|
||||
</div>
|
||||
<div class="select">
|
||||
<ion-icon slot="start" name="star" color="primary" class="star_icon"></ion-icon>
|
||||
<ion-label class="rate_num">1</ion-label>
|
||||
</div>
|
||||
<div class="select">
|
||||
<ion-icon slot="start" name="star" color="primary" class="star_icon"></ion-icon>
|
||||
<ion-label class="rate_num">2</ion-label>
|
||||
</div>
|
||||
<div class="select">
|
||||
<ion-icon slot="start" name="star" color="primary" class="star_icon"></ion-icon>
|
||||
<ion-label class="rate_num">3</ion-label>
|
||||
</div>
|
||||
<div class="select">
|
||||
<ion-icon slot="start" name="star" color="primary" class="star_icon"></ion-icon>
|
||||
<ion-label class="rate_num">4</ion-label>
|
||||
</div>
|
||||
<div class="select">
|
||||
<ion-icon slot="start" name="star" color="primary" class="star_icon"></ion-icon>
|
||||
<ion-label class="rate_num">5</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="reviw_list" *ngFor="let item of [1,2,3,4,5]">
|
||||
<div class="profile">
|
||||
<div class="left">
|
||||
<div class="bg_image men_image" [style.backgroundImage]="'url(assets/images/p2.jpg)'"></div>
|
||||
<div style="margin-left: 10px;">
|
||||
<ion-label class="bold">Jonathon Williams</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="select">
|
||||
<ion-icon slot="start" name="star" color="primary" class="star_icon"></ion-icon>
|
||||
<ion-label class="rate_num">5</ion-label>
|
||||
</div>
|
||||
<ion-icon name="ellipsis-horizontal-circle-outline"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
<ion-label>The course is very good. the experience of the menter is very clear and easy to understand
|
||||
</ion-label>
|
||||
|
||||
<div class="like">
|
||||
<ion-icon slot="start" name="heart" color="danger" class="heart"></ion-icon>
|
||||
<ion-label class="count">330</ion-label>
|
||||
<ion-label class="time">2 Days ago</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</ion-content>
|
||||
|
||||
<ion-footer>
|
||||
<ion-toolbar>
|
||||
<div class="button" (click)="onBack()">
|
||||
<ion-label class="text">Return</ion-label>
|
||||
</div>
|
||||
</ion-toolbar>
|
||||
</ion-footer>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
|
||||
import { MarketdetailPage } from './marketdetail.page';
|
||||
|
||||
describe('MarketdetailPage', () => {
|
||||
let component: MarketdetailPage;
|
||||
let fixture: ComponentFixture<MarketdetailPage>;
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ MarketdetailPage ],
|
||||
imports: [IonicModule.forRoot()]
|
||||
}).compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(MarketdetailPage);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
}));
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,41 @@
|
||||
import { Router } from '@angular/router';
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { NavController } from '@ionic/angular';
|
||||
|
||||
@Component({
|
||||
selector: 'app-marketdetail',
|
||||
templateUrl: './marketdetail.page.html',
|
||||
styleUrls: ['./marketdetail.page.scss'],
|
||||
})
|
||||
export class MarketdetailPage implements OnInit {
|
||||
|
||||
tabs = 'about';
|
||||
|
||||
jobData: any;
|
||||
constructor(
|
||||
private navctr: NavController,
|
||||
private router: Router
|
||||
) {
|
||||
|
||||
this.jobData = this.router.getCurrentNavigation().extras.state;
|
||||
console.log("XXXXX 1", this.router.getCurrentNavigation().extras);
|
||||
console.log("XXXXX 2", this.router.getCurrentNavigation().extras.state);
|
||||
//console.log("XXXXX 3", this.router.getCurrentNavigation().extras.state.ID);
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
}
|
||||
|
||||
onBack() {
|
||||
this.navctr.back();
|
||||
}
|
||||
|
||||
onMentor() {
|
||||
this.router.navigate(['mentor']);
|
||||
}
|
||||
|
||||
onEnroll() {
|
||||
this.router.navigate(['enroll']);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
<div *ngIf="tabs =='on'">
|
||||
|
||||
<div class="content" *ngFor="let item of jobsData;" (click)="onCourseDetail()">
|
||||
<div class="content" *ngFor="let item of jobsData;" (click)="viewMarketItem( item )">
|
||||
<div class="flex">
|
||||
<div class="text">
|
||||
<ion-label class="bold_text">{{item.title}}</ion-label>
|
||||
|
||||
@@ -24,6 +24,12 @@ export class MyCoursePage implements OnInit {
|
||||
onCourseDetail() {
|
||||
this.router.navigate(['course-detail']);
|
||||
}
|
||||
|
||||
viewMarketItem(item) {
|
||||
this.router.navigate(['marketdetail'],{state: item});
|
||||
}
|
||||
|
||||
|
||||
usrData: {
|
||||
action:11200, member_id: number, uid: string, sessionid: string, limit:20, page:1
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user