From f5cdae48530cea1331dfc94238406d43cb5334ee Mon Sep 17 00:00:00 2001 From: Felipe Coutinho Date: Fri, 3 Apr 2026 18:11:30 +0000 Subject: [PATCH] =?UTF-8?q?fix(ui):=20remover=20avisos=20visuais=20e=20des?= =?UTF-8?q?tacar=20atualiza=C3=A7=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/fonts/america-bold.woff2 | Bin 62524 -> 0 bytes .../components/attachment-grid-item.tsx | 1 + .../components/auth-sidebar-invoices-mock.tsx | 4 +- .../calculator/calculator-display.tsx | 2 +- src/shared/components/logo.tsx | 93 ++++++++++-------- .../navigation/navbar/app-navbar.tsx | 11 ++- .../navigation/navbar/navbar-user.tsx | 74 +++++++++----- .../navigation/sidebar/nav-user.tsx | 16 +-- src/shared/components/ui/chart.tsx | 12 ++- src/shared/components/ui/currency-input.tsx | 2 +- src/shared/lib/version/check-update.ts | 55 +++++++++++ 11 files changed, 190 insertions(+), 80 deletions(-) delete mode 100644 public/fonts/america-bold.woff2 create mode 100644 src/shared/lib/version/check-update.ts diff --git a/public/fonts/america-bold.woff2 b/public/fonts/america-bold.woff2 deleted file mode 100644 index a5cdbf5f0cb23a9e84f40a0b19e527ff9a31e6a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62524 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 diff --git a/src/features/auth/components/auth-sidebar-invoices-mock.tsx b/src/features/auth/components/auth-sidebar-invoices-mock.tsx index 0efe957..28605b9 100644 --- a/src/features/auth/components/auth-sidebar-invoices-mock.tsx +++ b/src/features/auth/components/auth-sidebar-invoices-mock.tsx @@ -14,13 +14,13 @@ const MOCK_INVOICES: MockInvoice[] = [ cardName: "Nubank", logo: "nubank.png", amount: 1898, - dueLabel: "Vence em 3 dias", + dueLabel: "Vence hoje", }, { cardName: "Itaú", logo: "itau.png", amount: 1923, - dueLabel: "Vence em 8 dias", + dueLabel: "Vence amanhã", }, ]; diff --git a/src/shared/components/calculator/calculator-display.tsx b/src/shared/components/calculator/calculator-display.tsx index cea6096..34db5a0 100644 --- a/src/shared/components/calculator/calculator-display.tsx +++ b/src/shared/components/calculator/calculator-display.tsx @@ -2,7 +2,7 @@ import { RiCheckLine, RiFileCopyLine } from "@remixicon/react"; import { Button } from "@/shared/components/ui/button"; import { cn } from "@/shared/utils/ui"; -export type CalculatorDisplayProps = { +type CalculatorDisplayProps = { history: string | null; expression: string; resultText: string | null; diff --git a/src/shared/components/logo.tsx b/src/shared/components/logo.tsx index 083a100..d22358f 100644 --- a/src/shared/components/logo.tsx +++ b/src/shared/components/logo.tsx @@ -21,60 +21,67 @@ export function Logo({ if (variant === "compact") { return (
- OpenMonetis - OpenMonetis +
+ OpenMonetis +
+
+ OpenMonetis +
); } if (variant === "small") { return ( - OpenMonetis +
+ OpenMonetis +
); } return (
- OpenMonetis - OpenMonetis +
+ OpenMonetis +
+
+ OpenMonetis +
); } diff --git a/src/shared/components/navigation/navbar/app-navbar.tsx b/src/shared/components/navigation/navbar/app-navbar.tsx index 476c2aa..57e136b 100644 --- a/src/shared/components/navigation/navbar/app-navbar.tsx +++ b/src/shared/components/navigation/navbar/app-navbar.tsx @@ -2,6 +2,7 @@ import { AnimatedThemeToggler } from "@/shared/components/animated-theme-toggler import { NotificationBell } from "@/shared/components/navigation/navbar/notification-bell"; import { RefreshPageButton } from "@/shared/components/refresh-page-button"; import type { DashboardNotificationsSnapshot } from "@/shared/lib/types/notifications"; +import { checkForUpdate } from "@/shared/lib/version/check-update"; import { NavMenu } from "./nav-menu"; import { NavbarShell } from "./navbar-shell"; import { NavbarUser } from "./navbar-user"; @@ -18,12 +19,14 @@ type AppNavbarProps = { notificationsSnapshot: DashboardNotificationsSnapshot; }; -export function AppNavbar({ +export async function AppNavbar({ user, pagadorAvatarUrl, preLancamentosCount = 0, notificationsSnapshot, }: AppNavbarProps) { + const updateCheck = await checkForUpdate(); + return ( @@ -38,7 +41,11 @@ export function AppNavbar({ - + ); } diff --git a/src/shared/components/navigation/navbar/navbar-user.tsx b/src/shared/components/navigation/navbar/navbar-user.tsx index 7b524e4..d6f81b3 100644 --- a/src/shared/components/navigation/navbar/navbar-user.tsx +++ b/src/shared/components/navigation/navbar/navbar-user.tsx @@ -3,6 +3,7 @@ import { RiHistoryLine, RiLogoutCircleLine, + RiMegaphoneLine, RiMessageLine, RiSettings2Line, } from "@remixicon/react"; @@ -24,6 +25,7 @@ import { import { Spinner } from "@/shared/components/ui/spinner"; import { authClient } from "@/shared/lib/auth/client"; import { getAvatarSrc } from "@/shared/lib/payers/utils"; +import type { UpdateCheckResult } from "@/shared/lib/version/check-update"; import { cn } from "@/shared/utils/ui"; const itemClass = @@ -37,9 +39,14 @@ type NavbarUserProps = { image: string | null; }; pagadorAvatarUrl: string | null; + updateCheck: UpdateCheckResult; }; -export function NavbarUser({ user, pagadorAvatarUrl }: NavbarUserProps) { +export function NavbarUser({ + user, + pagadorAvatarUrl, + updateCheck, +}: NavbarUserProps) { const router = useRouter(); const [logoutLoading, setLogoutLoading] = useState(false); const [feedbackOpen, setFeedbackOpen] = useState(false); @@ -61,33 +68,42 @@ export function NavbarUser({ user, pagadorAvatarUrl }: NavbarUserProps) { return ( - - - +
+ + + + {updateCheck.hasUpdate && ( + + )} +
- {user.name} +
+ {user.name} +
{user.name} @@ -122,6 +138,20 @@ export function NavbarUser({ user, pagadorAvatarUrl }: NavbarUserProps) { Enviar Feedback + + {updateCheck.hasUpdate && ( + + + + Atualização {updateCheck.latestVersion} disponível + + + )}
diff --git a/src/shared/components/navigation/sidebar/nav-user.tsx b/src/shared/components/navigation/sidebar/nav-user.tsx index b6ea956..8ce0066 100644 --- a/src/shared/components/navigation/sidebar/nav-user.tsx +++ b/src/shared/components/navigation/sidebar/nav-user.tsx @@ -30,13 +30,15 @@ export function NavUser({ user, pagadorAvatarUrl }: NavUserProps) { size="lg" className="data-popup-open:bg-sidebar-accent data-popup-open:text-sidebar-accent-foreground " > - {user.name} +
+ {user.name} +
{user.name} diff --git a/src/shared/components/ui/chart.tsx b/src/shared/components/ui/chart.tsx index b760c4c..b64c972 100644 --- a/src/shared/components/ui/chart.tsx +++ b/src/shared/components/ui/chart.tsx @@ -31,6 +31,13 @@ type ChartContextProps = { const ChartContext = React.createContext(null); +const CHART_MIN_WIDTH = 280; +const CHART_MIN_HEIGHT = 200; +const CHART_INITIAL_DIMENSION = { + width: CHART_MIN_WIDTH, + height: CHART_MIN_HEIGHT, +} as const; + function useChart() { const context = React.useContext(ChartContext); @@ -80,8 +87,9 @@ function ChartContainer({ {children} diff --git a/src/shared/components/ui/currency-input.tsx b/src/shared/components/ui/currency-input.tsx index cc4f105..6ebc360 100644 --- a/src/shared/components/ui/currency-input.tsx +++ b/src/shared/components/ui/currency-input.tsx @@ -56,7 +56,7 @@ const formatDigits = (digits: string) => { return BRL_FORMATTER.format(numeric); }; -export interface CurrencyInputProps +interface CurrencyInputProps extends Omit< React.ComponentProps, "value" | "defaultValue" | "type" | "inputMode" | "onChange" diff --git a/src/shared/lib/version/check-update.ts b/src/shared/lib/version/check-update.ts new file mode 100644 index 0000000..4853745 --- /dev/null +++ b/src/shared/lib/version/check-update.ts @@ -0,0 +1,55 @@ +import { version as currentVersion } from "@/package.json"; + +const GITHUB_REPO = "felipegcoutinho/openmonetis"; +const RELEASES_URL = `https://github.com/${GITHUB_REPO}/releases`; + +export type UpdateCheckResult = { + hasUpdate: boolean; + latestVersion: string; + releaseUrl: string; +}; + +function compareVersions(a: string, b: string): number { + const normalize = (v: string) => v.replace(/^v/, "").split(".").map(Number); + const partsA = normalize(a); + const partsB = normalize(b); + + for (let i = 0; i < Math.max(partsA.length, partsB.length); i++) { + const diff = (partsA[i] ?? 0) - (partsB[i] ?? 0); + if (diff !== 0) return diff; + } + return 0; +} + +export async function checkForUpdate(): Promise { + const fallback: UpdateCheckResult = { + hasUpdate: false, + latestVersion: currentVersion, + releaseUrl: RELEASES_URL, + }; + + try { + // GitHub redireciona /releases/latest para a URL com a tag — sem API, sem rate limit + const response = await fetch( + `https://github.com/${GITHUB_REPO}/releases/latest`, + { redirect: "manual", next: { revalidate: 86400 } }, + ); + + const location = response.headers.get("location"); + if (!location) return fallback; + + const match = location.match(/releases\/tag\/v?(.+)$/); + if (!match) return fallback; + + const latestVersion = match[1]; + const releaseUrl = `https://github.com/${GITHUB_REPO}/releases/tag/v${latestVersion}`; + + return { + hasUpdate: compareVersions(latestVersion, currentVersion) > 0, + latestVersion, + releaseUrl, + }; + } catch { + return fallback; + } +}