Compare commits

...

2 Commits

Author SHA1 Message Date
Felipe Coutinho
ed9196797b chore: preparar versão 2.7.12 2026-06-30 16:53:44 -03:00
Felipe Coutinho
532186fe39 fix: corrigir seleção de faturas em popovers 2026-06-30 16:50:23 -03:00
10 changed files with 24 additions and 8 deletions

View File

@@ -5,6 +5,15 @@ Todas as mudanças notáveis deste projeto serão documentadas neste arquivo.
O formato é baseado em [Keep a Changelog](https://keepachangelog.com/pt-BR/1.1.0/),
e este projeto adere ao [Versionamento Semântico](https://semver.org/lang/pt-BR/).
## [2.7.12] - 2026-06-30
Esta versão corrige a seleção de faturas e períodos em popovers usados dentro de diálogos, alinhando esses componentes ao mesmo comportamento seguro aplicado recentemente aos seletores de data.
### Corrigido
- Lançamentos: o seletor inline de fatura volta a aceitar cliques no mês em diálogos de criação/edição e no modal de múltiplos lançamentos.
- Períodos: botões internos do seletor mensal agora são explicitamente `type="button"`, evitando submits acidentais quando o componente aparece dentro de formulários.
- Interface: popovers de período e escolha de logo de estabelecimento passam a usar modo modal quando podem aparecer sobre diálogos, preservando foco e clique.
## [2.7.11] - 2026-06-28
Esta atualização melhora a leitura diária dos lançamentos e deixa a nova visualização opcional, mantendo a possibilidade de voltar ao formato anterior quando a lista agrupada não for a melhor escolha para o usuário.

View File

@@ -10,7 +10,7 @@
> **Não há versão online hospedada.** Você precisa clonar o repositório e rodar localmente ou no seu próprio servidor.
[![Version](https://img.shields.io/badge/version-2.7.11-blue?style=flat-square)](CHANGELOG.md)
[![Version](https://img.shields.io/badge/version-2.7.12-blue?style=flat-square)](CHANGELOG.md)
[![Next.js](https://img.shields.io/badge/Next.js-black?style=flat-square&logo=next.js)](https://nextjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-blue?style=flat-square&logo=typescript)](https://www.typescriptlang.org/)
[![PostgreSQL](https://img.shields.io/badge/PostgreSQL-blue?style=flat-square&logo=postgresql)](https://www.postgresql.org/)
@@ -628,8 +628,8 @@ Antes de começar, leia o [`CLAUDE.md`](CLAUDE.md) — ele documenta a arquitetu
As validações rodam em pull requests e em cada push na `main`. A publicação só começa quando uma tag SemVer aponta para um commit validado e a versão da tag corresponde ao `package.json` e ao `CHANGELOG.md`.
```bash
git tag -a v2.7.11 -m "v2.7.11"
git push origin v2.7.11
git tag -a v2.7.12 -m "v2.7.12"
git push origin v2.7.12
```
O workflow da tag valida o código, publica as imagens Docker versionadas e `latest` e, somente depois, cria a GitHub Release com as notas do changelog.

View File

@@ -1,6 +1,6 @@
{
"name": "openmonetis",
"version": "2.7.11",
"version": "2.7.12",
"private": true,
"packageManager": "pnpm@11.1.3",
"scripts": {

View File

@@ -228,6 +228,7 @@ export function CategoryReportFilters({
<Popover open={startMonthOpen} onOpenChange={setStartMonthOpen}>
<PopoverTrigger asChild>
<Button
type="button"
variant="outline"
className="w-[calc(50%-0.25rem)] md:w-[150px] justify-start text-sm border-dashed"
disabled={isLoading}
@@ -248,6 +249,7 @@ export function CategoryReportFilters({
<Popover open={endMonthOpen} onOpenChange={setEndMonthOpen}>
<PopoverTrigger asChild>
<Button
type="button"
variant="outline"
className="w-[calc(50%-0.25rem)] md:w-[150px] justify-start text-sm border-dashed"
disabled={isLoading}

View File

@@ -72,7 +72,7 @@ function InlinePeriodPicker({
return (
<div className="-mt-1">
<span className="text-xs text-muted-foreground">Fatura de </span>
<Popover open={open} onOpenChange={setOpen}>
<Popover modal open={open} onOpenChange={setOpen}>
<PopoverTrigger asChild>
<button
type="button"

View File

@@ -45,7 +45,7 @@ function InlinePeriodPicker({
return (
<div className="ml-1">
<span className="text-xs text-muted-foreground">Fatura de </span>
<Popover open={open} onOpenChange={setOpen}>
<Popover modal open={open} onOpenChange={setOpen}>
<PopoverTrigger asChild>
<button
type="button"

View File

@@ -102,7 +102,7 @@ export function EstablishmentLogoPicker({
}
return (
<Popover open={open} onOpenChange={onOpenChange}>
<Popover modal open={open} onOpenChange={onOpenChange}>
<PopoverTrigger asChild>{children}</PopoverTrigger>
<PopoverContent className="w-80 p-3" align="start" side="bottom">
<p className="mb-2 text-muted-foreground text-xs">

View File

@@ -93,6 +93,7 @@ export default function MonthNavigation() {
<Popover open={isPickerOpen} onOpenChange={setIsPickerOpen}>
<PopoverTrigger asChild>
<Button
type="button"
variant="ghost"
size="sm"
disabled={isPending}

View File

@@ -44,9 +44,10 @@ export function PeriodPicker({
};
return (
<Popover open={open} onOpenChange={setOpen}>
<Popover modal open={open} onOpenChange={setOpen}>
<PopoverTrigger asChild>
<Button
type="button"
variant={variant}
size={size}
disabled={disabled}

View File

@@ -128,6 +128,7 @@ function MonthCal({
</div>
<div className="space-x-1 flex items-center">
<button
type="button"
onClick={() => {
setMenuYear(menuYear - 1);
if (onYearBackward) onYearBackward();
@@ -140,6 +141,7 @@ function MonthCal({
<RiArrowLeftSFill className="opacity-50 size-4" />
</button>
<button
type="button"
onClick={() => {
setMenuYear(menuYear + 1);
if (onYearForward) onYearForward();
@@ -165,6 +167,7 @@ function MonthCal({
className="h-10 w-1/4 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20"
>
<button
type="button"
onClick={() => {
setMonth(m.number);
setYear(menuYear);