Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
7dd5c42
fix: currency formatting locale and date test assertions
Aug 9, 2026
aaa6640
fix: handle SMB business registration response from Meta API
Aug 9, 2026
fa39f21
feat: enhance pipeline deal drawer UI to match screenshot specification
Aug 10, 2026
5d83eae
style: perfect alignment and framing for deal status buttons
Aug 10, 2026
3b4afe3
feat: real-time last interaction timestamp updates on message send/re…
Aug 10, 2026
0dc697a
fix: lock contact selection once deal is assigned
Aug 10, 2026
0854287
style: support light and dark theme mode in deal drawer
Aug 10, 2026
e849156
feat: add Lead History timeline tab in deal side sheet drawer
Aug 10, 2026
2479f20
style: expand deal side sheet drawer width to max-w-2xl
Aug 10, 2026
447671e
fix: remove VALOR and ULTIMA COMPRA fields from deal form
Aug 10, 2026
ccf6310
fix: remove product selector from deal header
Aug 10, 2026
3957b2f
feat: add Average Closing Time KPI card to dashboard
Aug 10, 2026
38c94ba
fix: i18n and robust query for average closing time KPI card
Aug 10, 2026
b3a5d3b
fix: sync deal stage and status when marked as lost or won
Aug 10, 2026
d96095b
feat(pipelines): add Ganho and Perdido as default stages for every ne…
Aug 11, 2026
41b7615
feat(pipelines): protect Ganho/Perdido stages from deletion and auto-…
Aug 11, 2026
7a4d35b
feat(inbox): auto-create deal in first pipeline stage when new conver…
Aug 11, 2026
3d8d90b
feat(inbox): add Create Deal button in contact sidebar panel
Aug 11, 2026
05d1a14
feat(inbox): auto-fill deal title with contact name when creating fro…
Aug 11, 2026
d452493
feat(pipelines): show yellow unread message indicator on deal cards w…
Aug 11, 2026
b1ea4f9
feat(pipelines): show lead's last message text in yellow unread badge…
Aug 11, 2026
62e3416
feat(pipelines): allow defining required deal fields per stage and en…
Aug 11, 2026
a474850
fix(pipelines): add graceful fallback for pipeline save if required_f…
Aug 11, 2026
15c3cf8
fix(pipelines): ensure required_fields array safety and export getReq…
Aug 11, 2026
941b42f
fix(migrations): qualify public.pipeline_stages and set search_path i…
Aug 11, 2026
9290c6e
fix(pipelines): strictly persist required_fields and surface real err…
Aug 11, 2026
6521c90
fix(migrations): add NOTIFY pgrst, 'reload schema' to migration 039
Aug 11, 2026
80f2ef8
fix(pipelines): add resilient fallback and warning for PostgREST sche…
Aug 11, 2026
5b558c9
feat(pipelines): show required fields badge on board column headers
Aug 11, 2026
89846d6
fix(pipelines): optimize checkbox item click handler in stage require…
Aug 11, 2026
3c824c7
feat(pipelines): add reload_schema RPC function to force Supabase Pos…
Aug 11, 2026
71dc6e4
feat(pipelines): expand required fields list to match all deal card f…
Aug 11, 2026
e5698fd
fix(pipelines): surface exact Supabase error message in toast warning
Aug 11, 2026
772c2c6
fix(pipelines): add explicit text label 'Obrigatoriedade' to stage se…
Aug 11, 2026
2a5c2bd
feat(pipelines): implement bulletproof hybrid storage for stage requi…
Aug 11, 2026
45aa6ec
fix(pipelines): save required fields via encoded color string for 100…
Aug 11, 2026
2fe23c1
fix(pipelines): remove required fields badge from board stage headers…
Aug 11, 2026
d0eb985
feat(pipelines): format deal value in BRL with high-contrast display …
Aug 11, 2026
a8c7012
feat(pipelines): add Valor do Negocio and Data de Fechamento inputs t…
Aug 11, 2026
87b3b25
fix(pipelines): simplify deal value input with fixed BRL R$ prefix
Aug 11, 2026
2256f91
feat(pipelines): auto-populate expected close date with today's date …
Aug 11, 2026
e0fd830
feat(i18n): add Portugues do Brasil (pt-BR) support and set as defaul…
Aug 11, 2026
98627be
feat(i18n): perform complete deep translation of all UI text to Portu…
Aug 11, 2026
5e54279
feat(pipelines): auto-translate existing and new pipelines and stages…
Aug 11, 2026
53ab6e7
feat(pipelines): auto-fill deal title with contact name when creating…
Aug 11, 2026
8b6e83e
feat(automations): implement appointment reminder automation trigger,…
Aug 11, 2026
3e233cd
chore: revert custom appointment_at field to keep db schema standard …
Aug 11, 2026
a2be080
Revert "chore: revert custom appointment_at field to keep db schema s…
Aug 11, 2026
22ba5a1
feat: add template variables UI inputs in Automation Builder and dyna…
Aug 11, 2026
d3120c0
chore: clean up temporary scratch testing files
Aug 11, 2026
39fd248
feat(automations): add deal variable interpolation and visual Variabl…
Aug 12, 2026
fd3a0c9
fix(whatsapp): read ENCRYPTION_KEY dynamically at runtime to prevent …
Aug 12, 2026
9f76077
feat(cron): add vercel.json cron schedule, enhance cron auth, and tri…
Aug 12, 2026
19f0439
feat(automations): add 1-hour appointment reminder trigger (appointme…
Aug 12, 2026
f7ba8c7
trigger: vercel deploy trigger
Aug 12, 2026
9e17e31
feat(i18n): add top header language switcher button for system locale…
Aug 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 14 additions & 3 deletions messages/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,9 @@
"activeConversations": "Active Conversations",
"newContactsToday": "New Contacts Today",
"openDealsValue": "Open Deals Value",
"avgClosingTime": "Tempo Médio de Fechamento",
"avgClosingTimeSub": "{count} negócio(s) fechado(s)",
"noClosedDeals": "Sem vendas fechadas",
"messagesSentToday": "Messages Sent Today",
"newTodayVsYesterday": "new today vs yesterday",
"vsYesterday": "vs yesterday",
Expand Down Expand Up @@ -279,7 +282,8 @@
"deals": "Deals",
"noTags": "No tags",
"noDeals": "No deals",
"addNotePlaceholder": "Add a note..."
"addNotePlaceholder": "Add a note...",
"createDeal": "Create deal"
},
"aiBanner": {
"pausedTitle": "AI assistant is paused here",
Expand Down Expand Up @@ -522,7 +526,8 @@
"card": {
"noContact": "No contact",
"won": "Won",
"lost": "Lost"
"lost": "Lost",
"newMessage": "New message"
},
"form": {
"editDeal": "Edit Deal",
Expand Down Expand Up @@ -588,7 +593,9 @@
"toastMoveOrDeleteDeals": "Move or delete deals in this stage first",
"toastFailedDeleteStage": "Failed to delete stage",
"toastFailedDeletePipeline": "Failed to delete pipeline",
"toastDeleted": "Pipeline deleted"
"toastDeleted": "Pipeline deleted",
"toastCannotDeleteProtectedStage": "The \"Ganho\" and \"Perdido\" stages cannot be deleted",
"protectedStageTooltip": "This stage is protected and cannot be deleted or renamed"
},
"analytics": {
"totalDeals": "Total Deals",
Expand Down Expand Up @@ -888,6 +895,10 @@
"time_based": {
"label": "Time-Based",
"hint": "On a recurring schedule"
},
"appointment_reminder": {
"label": "Appointment Reminder (24h before)",
"hint": "Automatically triggers 24 hours before the deal's scheduled appointment time"
}
},
"trigger": "Trigger",
Expand Down
17 changes: 14 additions & 3 deletions messages/ko.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,9 @@
"activeConversations": "진행 중인 대화",
"newContactsToday": "오늘의 신규 연락처",
"openDealsValue": "진행 중인 딜 금액",
"avgClosingTime": "평균 딜 종결 시간",
"avgClosingTimeSub": "종결된 딜 {count}건",
"noClosedDeals": "종결된 딜 없음",
"messagesSentToday": "오늘 보낸 메시지",
"newTodayVsYesterday": "어제 대비 신규",
"vsYesterday": "어제 대비",
Expand Down Expand Up @@ -279,7 +282,8 @@
"deals": "딜",
"noTags": "태그 없음",
"noDeals": "딜 없음",
"addNotePlaceholder": "메모 추가..."
"addNotePlaceholder": "메모 추가...",
"createDeal": "딜 만들기"
},
"aiBanner": {
"pausedTitle": "이 대화에서 AI 어시스턴트가 일시 중지됨",
Expand Down Expand Up @@ -522,7 +526,8 @@
"card": {
"noContact": "연락처 없음",
"won": "성사",
"lost": "실패"
"lost": "실패",
"newMessage": "새 메시지"
},
"form": {
"editDeal": "딜 수정",
Expand Down Expand Up @@ -588,7 +593,9 @@
"toastMoveOrDeleteDeals": "먼저 이 단계의 딜을 이동하거나 삭제하세요",
"toastFailedDeleteStage": "단계를 삭제하지 못했습니다",
"toastFailedDeletePipeline": "파이프라인을 삭제하지 못했습니다",
"toastDeleted": "파이프라인이 삭제되었습니다"
"toastDeleted": "파이프라인이 삭제되었습니다",
"toastCannotDeleteProtectedStage": "\"Ganho\" 및 \"Perdido\" 단계는 삭제할 수 없습니다",
"protectedStageTooltip": "이 단계는 보호되어 삭제하거나 이름을 변경할 수 없습니다"
},
"analytics": {
"totalDeals": "전체 딜",
Expand Down Expand Up @@ -888,6 +895,10 @@
"time_based": {
"label": "시간 기반",
"hint": "반복 일정에 따라"
},
"appointment_reminder": {
"label": "일정 리마인더 (24시간 전)",
"hint": "거래의 예약된 일정 시간 24시간 전에 자동으로 실행됩니다."
}
},
"trigger": "트리거",
Expand Down
Loading