import { Component, Inject } from '@angular/core';
import { CommonModule } from '@angular/common';
import { MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
import { MatButtonModule } from '@angular/material/button';
import { MatIconModule } from '@angular/material/icon';
import { MatDividerModule } from '@angular/material/divider';
interface DialogData {
title: string;
imported: number;
failed: number;
errors: string[];
}
@Component({
selector: 'app-import-results-dialog',
standalone: true,
imports: [
CommonModule,
MatDialogModule,
MatButtonModule,
MatIconModule,
MatDividerModule
],
template: `
{{ data.title }}
0">
check_circle
{{ data.imported }} successfully imported
0">
error
{{ data.failed }} failed to import
0">
`,
styles: [`
.summary {
display: flex;
gap: 24px;
margin-bottom: 16px;
.stat {
display: flex;
align-items: center;
gap: 8px;
font-size: 16px;
&.success {
color: #4caf50;
}
&.error {
color: #f44336;
}
mat-icon {
font-size: 24px;
width: 24px;
height: 24px;
}
}
}
.errors {
margin-top: 16px;
h3 {
margin-bottom: 12px;
color: #f44336;
}
ul {
margin: 0;
padding-left: 20px;
max-height: 300px;
overflow-y: auto;
}
.error-item {
margin-bottom: 8px;
color: #666;
}
}
`]
})
export default class ImportResultsDialogComponent {
constructor(
public dialogRef: MatDialogRef,
@Inject(MAT_DIALOG_DATA) public data: DialogData
) {}
close() {
this.dialogRef.close();
}
}