Update Layout.tsx
This commit is contained in:
@@ -17,7 +17,7 @@ export const Layout: React.FC = () => {
|
||||
|
||||
// Notifications
|
||||
const [activeNotice, setActiveNotice] = useState<Notice | null>(null);
|
||||
const [hasNewExpenses, setHasNewExpenses] = useState(false);
|
||||
const [newExpensesCount, setNewExpensesCount] = useState(0);
|
||||
|
||||
// Ticket Badges
|
||||
const [ticketBadgeCount, setTicketBadgeCount] = useState(0);
|
||||
@@ -101,9 +101,9 @@ export const Layout: React.FC = () => {
|
||||
const lastViewed = localStorage.getItem('lastViewedExpensesTime');
|
||||
const lastViewedTime = lastViewed ? parseInt(lastViewed) : 0;
|
||||
|
||||
// Check if any expense was created AFTER the last visit
|
||||
const hasNew = myExpenses.some((e: any) => new Date(e.createdAt).getTime() > lastViewedTime);
|
||||
setHasNewExpenses(hasNew);
|
||||
// Count expenses created AFTER the last visit
|
||||
const count = myExpenses.filter((e: any) => new Date(e.createdAt).getTime() > lastViewedTime).length;
|
||||
setNewExpensesCount(count);
|
||||
|
||||
} catch(e) {}
|
||||
}
|
||||
@@ -310,8 +310,10 @@ export const Layout: React.FC = () => {
|
||||
<Briefcase className="w-5 h-5" />
|
||||
<span className="font-medium">{isAdmin ? 'Spese Straordinarie' : 'Le Mie Spese Extra'}</span>
|
||||
</div>
|
||||
{hasNewExpenses && (
|
||||
<span className="bg-red-500 w-2.5 h-2.5 rounded-full animate-pulse"></span>
|
||||
{newExpensesCount > 0 && (
|
||||
<span className="bg-red-500 text-white text-[10px] font-bold px-1.5 h-5 min-w-[20px] rounded-full flex items-center justify-center shadow-sm">
|
||||
{newExpensesCount > 99 ? '99+' : newExpensesCount}
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
</NavLink>
|
||||
|
||||
Reference in New Issue
Block a user