fix(inbox): corrigir agrupamento de data por fuso de Brasilia

O Companion envia hora local com 'Z' literal (nao converte para UTC),
entao o timestamp no DB ja carrega a data correta de Brasilia. Usava-se
+3h no frontend, que deslocava a virada de dia para as 21h locais e
fazia compras da tarde aparecerem como 'Ontem'.

- getItemDateKey: remove offset (data UTC ja e a data de Brasilia)
- getBrasiliaDateKey: usa UTC-3 apenas para calcular hoje/ontem
- Paraleliza insercoes no batch endpoint com Promise.allSettled
- Usa selectDistinct no fetchInboxSourceApps
- Envolve InboxCard em memo e callbacks em useCallback

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Felipe Coutinho
2026-03-22 00:55:46 +00:00
parent 60a52b9873
commit 50477fb1be
4 changed files with 62 additions and 47 deletions

View File

@@ -9,6 +9,7 @@ import {
import { format, formatDistanceToNow } from "date-fns";
import { ptBR } from "date-fns/locale";
import Image from "next/image";
import { memo } from "react";
import MoneyValues from "@/shared/components/money-values";
import { Badge } from "@/shared/components/ui/badge";
import { Button } from "@/shared/components/ui/button";
@@ -62,7 +63,7 @@ interface InboxCardProps {
onSelectToggle?: (id: string) => void;
}
export function InboxCard({
export const InboxCard = memo(function InboxCard({
item,
readonly,
appLogoMap,
@@ -222,4 +223,4 @@ export function InboxCard({
)}
</Card>
);
}
});