Files
Jobhero_front/src/app/pages/contracts/review/review.page.ts
Carlos aa8b0061c9 feat: Actualización general de la aplicación
- Contratos, tarjetas, postulaciones, categorías y reportes
- Servicios: auth, ichamba, env, language, firebase, interceptor
- Guards, modelos, componentes y páginas de verificación
- Configuración: angular.json, tsconfig, polyfills, environments
- Capacitor: capacitor.config.json y android settings

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 08:18:40 -06:00

63 lines
2.1 KiB
TypeScript
Executable File

import { Component, OnInit } from '@angular/core';
import { NavController, LoadingController } from '@ionic/angular';
import { ActivatedRoute } from '@angular/router';
import { EnvService } from 'src/app/services/env.service';
import { AuthService } from 'src/app/services/auth.service';
import { IchambaService } from 'src/app/services/ichamba.service';
import { TranslateService } from '@ngx-translate/core';
import { AlertService } from 'src/app/services/alert.service';
@Component({
selector: 'app-review',
templateUrl: './review.page.html',
styleUrls: ['./review.page.scss'],
standalone: false
})
export class ReviewPage implements OnInit {
private loading: HTMLIonLoadingElement | null = null;
rate: any;
contract_id: number | null = null;
comment: any;
constructor(
private authService: AuthService,
private navCtrl: NavController,
private alertService: AlertService,
private ichambaService: IchambaService,
private translateService: TranslateService,
private activatedRoute: ActivatedRoute,
private loadingCtrl: LoadingController,
) { }
ngOnInit() {
this.contract_id = Number(this.activatedRoute.snapshot.paramMap.get('contract_id'));
}
onRateChange(rating: any){
console.log("changed rating: " + rating);
// do your stuff
}
reviewservice() {
if (this.rate) {
this.loadingCtrl.create().then((overlay) => {
this.loading = overlay;
this.loading.present();
});
this.ichambaService.reviewContract(this.contract_id!, this.rate, this.comment).subscribe(
(data: any) => {
if (this.loading) this.loading.dismiss();
this.alertService.presentToast(data['message']);
this.navCtrl.navigateRoot('/dashboard');
}, (error: any) => {
if (this.loading) this.loading.dismiss();
this.alertService.presentToast(this.translateService.instant('alerts.error') + error['status']);
});
} else {
this.alertService.presentToast(this.translateService.instant('alerts.rate'));
}
}
}