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; userSubscriptions:Array=[]; 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 } }