import { Component, Inject, OnInit } from '@angular/core';
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
import { CommonModule } from '@angular/common';
import { MatButtonModule } from '@angular/material/button';
import { MatCardModule } from '@angular/material/card';
import { MatTabsModule } from '@angular/material/tabs';
import { MatDialogModule } from '@angular/material/dialog';
import { HttpClient } from '@angular/common/http';

@Component({
  selector: 'app-visualizacao-aceite',
  standalone: true,
  imports: [
    CommonModule,
    MatButtonModule,
    MatCardModule,
    MatTabsModule,
    MatDialogModule,
  ],

  templateUrl: './visualizacao-aceite.component.html',
  styleUrls: ['./visualizacao-aceite.component.scss'],
})
export class VisualizacaoAceiteComponent implements OnInit {
  constructor(@Inject(MAT_DIALOG_DATA) public data: any,
  private httpClient: HttpClient ,// Adicione isto
) {}

  ngOnInit(): void {
    console.log(this.data);
  }

  parseUserString(userString: string) {
    const userRegex = /User\(id=(\d+), email=([^)]+)\)/;
    const match = userRegex.exec(userString);
    if (match) {
      return {
        id: parseInt(match[1], 10),
        email: match[2],
      };
    }
    return null;
  }
  downloadNavioFunction() {
    this.httpClient.get('http://localhost:8080/api/download-file', {
      params: { filename: this.data.path },
      responseType: 'blob' // Adiciona 'blob' para lidar com arquivos binários
    }).subscribe({
      next: (response) => {
        // Criação de um URL temporário para o arquivo
        const blob = new Blob([response]);
        const link = document.createElement('a');
        link.href = window.URL.createObjectURL(blob);
        link.download = this.data.path || 'download'; // Define o nome do arquivo
        link.click();
  
        // Libera o objeto URL após o download
        window.URL.revokeObjectURL(link.href);
        console.log('Download iniciado:', this.data.path);
      },
      error: (error) => {
        console.error('Erro ao baixar o arquivo:', error);
      }
    });
  }}