This commit is contained in:
Iliyan Angelov
2025-11-21 01:20:51 +02:00
parent a38ab4fa82
commit 6f85b8cf17
242 changed files with 7154 additions and 14492 deletions

View File

@@ -1,5 +1,5 @@
import React, { useEffect, useState } from 'react';
import { Search, Plus, Edit, Trash2, Eye, Download, FileText, Filter } from 'lucide-react';
import { Search, Plus, Edit, Trash2, Eye, FileText, Filter } from 'lucide-react';
import { invoiceService, Invoice } from '../../services/api';
import { toast } from 'react-toastify';
import Loading from '../../components/common/Loading';
@@ -42,7 +42,7 @@ const InvoiceManagementPage: React.FC = () => {
if (response.status === 'success' && response.data) {
let invoiceList = response.data.invoices || [];
// Apply search filter
if (filters.search) {
invoiceList = invoiceList.filter((inv) =>
inv.invoice_number.toLowerCase().includes(filters.search.toLowerCase()) ||
@@ -119,7 +119,7 @@ const InvoiceManagementPage: React.FC = () => {
return (
<div className="space-y-8 bg-gradient-to-br from-slate-50 via-white to-slate-50 min-h-screen -m-6 p-8">
{/* Luxury Header */}
{}
<div className="flex flex-col sm:flex-row justify-between items-start sm:items-center gap-4 animate-fade-in">
<div>
<div className="flex items-center gap-3 mb-2">
@@ -139,7 +139,7 @@ const InvoiceManagementPage: React.FC = () => {
</button>
</div>
{/* Luxury Filters */}
{}
<div className="bg-white/80 backdrop-blur-sm rounded-2xl shadow-xl border border-slate-200/60 p-6 animate-fade-in" style={{ animationDelay: '0.1s' }}>
<div className="grid grid-cols-1 md:grid-cols-3 gap-5">
<div className="relative group">
@@ -173,7 +173,7 @@ const InvoiceManagementPage: React.FC = () => {
</div>
</div>
{/* Luxury Invoices Table */}
{}
<div className="bg-white/80 backdrop-blur-sm rounded-2xl shadow-xl border border-slate-200/60 overflow-hidden animate-fade-in" style={{ animationDelay: '0.2s' }}>
<div className="overflow-x-auto">
<table className="w-full">
@@ -310,7 +310,7 @@ const InvoiceManagementPage: React.FC = () => {
</table>
</div>
{/* Pagination */}
{}
{totalPages > 1 && (
<div className="px-6 py-4 border-t border-gray-200">
<Pagination