feat(registratura): remove publicitate category, auto-track comunicare, late receipt badge, AC validity conditional

- Remove publicitate/comunicare category entirely (AC publicity handled by AC validity tracker)
- comunicare-aviz-beneficiar moved to auto-track: created alongside any iesit deadline
- Late receipt badge on incoming aviz entries: shows "Primit cu X zile intarziere" when document date < today
- Valabilitate document + AC Validity Tracker visible only when documentType is "aviz" (act administrativ)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
AI Assistant
2026-03-10 19:26:05 +02:00
parent b2519a3b9c
commit f01fe47af4
3 changed files with 63 additions and 41 deletions
@@ -79,6 +79,24 @@ export const DEADLINE_CATALOG: DeadlineTypeDef[] = [
directionFilter: ["iesit"],
},
// ── Comunicare — auto-tracked for all deadline types ──
{
id: "comunicare-aviz-beneficiar",
label: "Comunicare documente catre beneficiar",
description:
"Entitatile emitente de avize au obligatia sa transmita beneficiarului avizele, solicitarile de completare sau respingerea prin mijloace electronice, in ziua eliberarii actului.",
days: 1,
dayType: "calendar",
startDateLabel: "Data eliberarii actului",
requiresCustomStartDate: false,
tacitApprovalApplicable: false,
category: "certificat",
legalReference: "Legea 350/2001, art. 44 alin. (4)",
autoTrack: true,
directionFilter: ["iesit"],
},
// ── User-selectable CU deadlines ──
{
@@ -537,37 +555,6 @@ export const DEADLINE_CATALOG: DeadlineTypeDef[] = [
directionFilter: ["iesit"],
},
// ═══════════════════════════════════════════════════════════════
// PUBLICITATE
// ═══════════════════════════════════════════════════════════════
{
id: "publicitate-ac",
label: "Publicitate AC",
description: "Termen de publicitate a Autorizatiei de Construire.",
days: 30,
dayType: "calendar",
startDateLabel: "Data emitere AC",
requiresCustomStartDate: true,
startDateHint: "Data emiterii Autorizatiei de Construire",
tacitApprovalApplicable: false,
category: "publicitate",
legalReference: "Legea 50/1991, art. 7 alin. (2^1)",
},
{
id: "comunicare-aviz-beneficiar",
label: "Comunicare aviz catre beneficiar",
description:
"Entitatile emitente de avize au obligatia sa transmita beneficiarului avizele, solicitarile de completare sau respingerea prin mijloace electronice, in ziua eliberarii actului.",
days: 1,
dayType: "calendar",
startDateLabel: "Data eliberarii actului",
requiresCustomStartDate: true,
startDateHint: "Data la care avizul/actul a fost eliberat de autoritate",
tacitApprovalApplicable: false,
category: "publicitate",
legalReference: "Legea 350/2001, art. 44 alin. (4)",
},
// ═══════════════════════════════════════════════════════════════
// CONTESTATIE
// ═══════════════════════════════════════════════════════════════
@@ -644,7 +631,6 @@ export const CATEGORY_LABELS: Record<DeadlineCategory, string> = {
completari: "Completari",
urbanism: "Urbanism (PUD/PUZ/PUG)",
autorizare: "Autorizare (AD/AC)",
publicitate: "Publicitate / Comunicare",
contestatie: "Contestatie",
};
@@ -657,16 +643,13 @@ export const DIRECTION_CATEGORIES: Record<
intrat: ["contestatie"],
};
/** Categories always visible regardless of direction */
export const SHARED_CATEGORIES: DeadlineCategory[] = ["publicitate"];
/**
* Get the ordered list of categories for a given direction.
*/
export function getCategoriesForDirection(
direction: RegistryDirection,
): DeadlineCategory[] {
return [...DIRECTION_CATEGORIES[direction], ...SHARED_CATEGORIES];
return DIRECTION_CATEGORIES[direction];
}
/**