65 lines
3.1 KiB
TypeScript
65 lines
3.1 KiB
TypeScript
import { Component } from '@angular/core';
|
|
import { ButtonModule } from 'primeng/button';
|
|
import { CheckboxModule } from 'primeng/checkbox';
|
|
import { InputTextModule } from 'primeng/inputtext';
|
|
import { StyleClassModule } from 'primeng/styleclass';
|
|
import { SelectOptionsService } from '../../../services/select-options.service';
|
|
import { DropdownModule } from 'primeng/dropdown';
|
|
import { FormsModule } from '@angular/forms';
|
|
import { CommonModule } from '@angular/common';
|
|
import { ToggleButtonModule } from 'primeng/togglebutton';
|
|
import { TagModule } from 'primeng/tag';
|
|
import { ActivatedRoute } from '@angular/router';
|
|
import { InputTextareaModule } from 'primeng/inputtextarea';
|
|
import { ChipModule } from 'primeng/chip';
|
|
import { MenuAccountComponent } from '../../menu-account/menu-account.component';
|
|
import { DividerModule } from 'primeng/divider';
|
|
import { TableModule } from 'primeng/table';
|
|
import { HttpClient } from '@angular/common/http';
|
|
import { UserService } from '../../../services/user.service';
|
|
import { SharedModule } from '../../../shared/shared/shared.module';
|
|
import { SubscriptionsService } from '../../../services/subscriptions.service';
|
|
import { lastValueFrom } from 'rxjs';
|
|
import { MessageService } from 'primeng/api';
|
|
import { environment } from '../../../../environments/environment';
|
|
import { FileUploadModule } from 'primeng/fileupload';
|
|
import { Invoice, Subscription, User } from '../../../../../../common-models/src/main.model';
|
|
|
|
|
|
@Component({
|
|
selector: 'app-account',
|
|
standalone: true,
|
|
// imports: [CommonModule, StyleClassModule, MenuAccountComponent, DividerModule,ButtonModule, TableModule, InputTextModule, DropdownModule, FormsModule, ChipModule,InputTextareaModule ],
|
|
imports: [SharedModule,FileUploadModule],
|
|
providers:[MessageService],
|
|
templateUrl: './account.component.html',
|
|
styleUrl: './account.component.scss'
|
|
})
|
|
export class AccountComponent {
|
|
user:User;
|
|
subscriptions:Array<Subscription>;
|
|
userSubscriptions:Array<Subscription>=[];
|
|
uploadUrl:string;
|
|
maxFileSize=1000000;
|
|
imageUrl:string;
|
|
constructor(public userService: UserService, private subscriptionService: SubscriptionsService,private messageService: MessageService) {
|
|
this.user=this.userService.getUser()
|
|
}
|
|
async ngOnInit(){
|
|
this.imageUrl = `${environment.apiBaseUrl}/profile_${this.user.id}`
|
|
this.userSubscriptions=await lastValueFrom(this.subscriptionService.getAllSubscriptions());
|
|
this.uploadUrl = `${environment.apiBaseUrl}/bizmatch/account/uploadPhoto/${this.user.id}`;
|
|
}
|
|
printInvoice(invoice:Invoice){}
|
|
updateProfile(user:User){
|
|
this.messageService.add({ severity: 'warn', summary: 'Information', detail: 'This function is not yet available, please send an email to info@bizmatch.net for changes to your customer data', life: 15000 });
|
|
}
|
|
onUpload(event:any){
|
|
const uniqueSuffix = '?_ts=' + new Date().getTime();
|
|
this.imageUrl = `${environment.apiBaseUrl}/profile_${this.user.id}${uniqueSuffix}` //`http://IhrServer:Port/${newImagePath}${uniqueSuffix}`;
|
|
}
|
|
setImageToFallback(event: Event) {
|
|
(event.target as HTMLImageElement).src = `/assets/images/placeholder.png`; // Pfad zum Platzhalterbild
|
|
}
|
|
}
|