complete new audit system

This commit is contained in:
2026-03-21 18:23:54 +01:00
parent 4f359df161
commit 219e1930f7
159 changed files with 2841 additions and 736 deletions
@@ -1,5 +1,6 @@
import { useState, useRef } from 'react';
import { useMutation, useQueryClient } from '@tanstack/react-query';
import { formatDate } from '../../utils/dateFormat';
import { Plus, Edit, Trash2, ChevronDown, ChevronUp, FileText, Download, AlertTriangle, Check, Eye } from 'lucide-react';
import Modal from '../ui/Modal';
import Button from '../ui/Button';
@@ -93,7 +94,7 @@ export default function InvoicesSection({
{/* Collapsed view - show latest invoice */}
{!isExpanded && sortedInvoices.length > 0 && (
<div className="text-sm text-gray-600">
Letzte: {new Date(sortedInvoices[0].invoiceDate).toLocaleDateString('de-DE')} - {invoiceTypeLabels[sortedInvoices[0].invoiceType]}
Letzte: {formatDate(sortedInvoices[0].invoiceDate)} - {invoiceTypeLabels[sortedInvoices[0].invoiceType]}
</div>
)}
@@ -108,7 +109,7 @@ export default function InvoicesSection({
<div className="flex items-center gap-4">
<div>
<div className="text-sm font-medium">
{new Date(invoice.invoiceDate).toLocaleDateString('de-DE')}
{formatDate(invoice.invoiceDate)}
</div>
<div className="text-xs text-gray-500">
{invoiceTypeLabels[invoice.invoiceType]}
@@ -3,6 +3,7 @@ import { Search, FileText } from 'lucide-react';
import Modal from '../ui/Modal';
import Button from '../ui/Button';
import { contractApi, cachedEmailApi, CachedEmail } from '../../services/api';
import { formatDate } from '../../utils/dateFormat';
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
interface AssignToContractModalProps {
@@ -69,9 +70,9 @@ export default function AssignToContractModal({
}
};
const formatDate = (dateStr?: string) => {
const formatDateOrDash = (dateStr?: string) => {
if (!dateStr) return '-';
return new Date(dateStr).toLocaleDateString('de-DE');
return formatDate(dateStr);
};
return (
@@ -147,7 +148,7 @@ export default function AssignToContractModal({
{contract.provider && ` - ${contract.provider.name}`}
</div>
<div className="text-xs text-gray-500">
Start: {formatDate(contract.startDate)}
Start: {formatDateOrDash(contract.startDate)}
</div>
</div>
</div>