fix: unify tender countdowns and add monthly calendar navigation

This commit is contained in:
2026-09-06 08:47:44 +03:00
parent a291b186df
commit b94ab97241
8 changed files with 123 additions and 49 deletions
+8 -7
View File
@@ -1,8 +1,11 @@
import { useDeadlineClock } from '../hooks/useDeadlineClock';
import { deadlineInfo } from '../services/tenderCalendar';
import React, { useState } from 'react';
import { useApp } from '../context/AppContext';
import { Kanban, User, Calendar, MapPin, Star, Plus, ArrowRight, Eye } from 'lucide-react';
export const KanbanBoard = () => {
const now = useDeadlineClock();
const { tenders, updateKanbanStatus, setActiveTenderDetail, teamMembers } = useApp();
const [selectedPersonel, setSelectedPersonel] = useState('');
const [draggedTenderId, setDraggedTenderId] = useState(null);
@@ -128,13 +131,11 @@ export const KanbanBoard = () => {
#{t.ikn}
</span>
{t.gorev && (() => {
// Teslim = ihale saati; kalan gün geri sayım (gecikme eskalasyonu kendiliğinden)
const m = /^(\d{2})\.(\d{2})\.(\d{4})(?:\s+(\d{2}):(\d{2}))?/.exec(t.gorev.teslim || '');
if (!m) return null;
const kalan = Math.ceil((new Date(+m[3], +m[2] - 1, +m[1], +(m[4] || 23), +(m[5] || 59)) - Date.now()) / 86400000);
const renk = kalan < 0 ? 'bg-slate-200 text-slate-600' : kalan <= 2 ? 'bg-red-100 text-red-800' : kalan <= 7 ? 'bg-amber-100 text-amber-800' : 'bg-emerald-100 text-emerald-800';
return <span className={`text-[10px] font-extrabold px-2 py-0.5 rounded ${renk}`} title={`Teslim: ${t.gorev.teslim}`}>
{kalan < 0 ? 'süresi geçti' : kalan === 0 ? 'BUGÜN' : `${kalan} gün`}
const info = deadlineInfo(t, now);
const kalan = info.days;
const renk = info.expired || kalan === null ? 'bg-slate-200 text-slate-600' : kalan <= 2 ? 'bg-red-100 text-red-800' : kalan <= 7 ? 'bg-amber-100 text-amber-800' : 'bg-emerald-100 text-emerald-800';
return <span className={`text-[10px] font-extrabold px-2 py-0.5 rounded ${renk}`} title={`İhale: ${t.tarih} ${t.saat || 'saat bilinmiyor'} (Türkiye saati)`}>
{info.label}
</span>;
})()}
<button