PDFHeader.tsx 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import React from 'react';
  2. import { Text, View } from '@react-pdf/renderer';
  3. import { Record } from '../../types';
  4. import { COMPANY_CONFIG } from '../../config';
  5. import { formatDate } from '../../markdown/renderer';
  6. import { LogoSvg } from './LogoSvg';
  7. import { styles } from './styles';
  8. interface PDFHeaderProps {
  9. record: Record;
  10. }
  11. export const PDFHeader: React.FC<PDFHeaderProps> = ({ record }) => {
  12. const formattedDate = formatDate(record.createdAt);
  13. const reportTitle = record.chatType === 'PSYCHOLOGICAL' ? 'REPORTE PSICOLÓGICO' : 'REPORTE MÉDICO';
  14. return (
  15. <View style={styles.header}>
  16. <View style={styles.companyInfo}>
  17. <View style={styles.logo}>
  18. <LogoSvg />
  19. </View>
  20. <View style={styles.companyDetails}>
  21. <Text style={styles.companyName}>{COMPANY_CONFIG.name}</Text>
  22. <Text style={styles.companyDescription}>{COMPANY_CONFIG.description}</Text>
  23. </View>
  24. </View>
  25. <View style={styles.reportInfo}>
  26. <Text style={styles.reportTitle}>{reportTitle}</Text>
  27. <View style={styles.reportMeta}>
  28. <View style={styles.metaItem}>
  29. <Text style={styles.metaLabel}>ID:</Text>
  30. <Text>{record.id.slice(-8)}</Text>
  31. </View>
  32. <View style={styles.metaItem}>
  33. <Text style={styles.metaLabel}>Fecha:</Text>
  34. <Text>{formattedDate}</Text>
  35. </View>
  36. <View style={styles.metaItem}>
  37. <Text style={styles.metaLabel}>Tipo:</Text>
  38. <Text>Consulta Virtual</Text>
  39. </View>
  40. </View>
  41. </View>
  42. </View>
  43. );
  44. };