forked from git.gladyson/openmonetis
- Adicionados ícones SVG para ChatGPT, Claude, Gemini e OpenRouter - Implementados ícones para modos claro e escuro do ChatGPT - Criado script de inicialização para PostgreSQL com extensão pgcrypto - Adicionado script de configuração de ambiente que faz backup do .env - Configurado tsconfig.json para TypeScript com opções de compilação
34 lines
1.0 KiB
TypeScript
34 lines
1.0 KiB
TypeScript
"use client";
|
|
|
|
import { RiArrowLeftSLine, RiArrowRightSLine } from "@remixicon/react";
|
|
import React from "react";
|
|
|
|
interface NavigationButtonProps {
|
|
direction: "left" | "right";
|
|
disabled?: boolean;
|
|
onClick: () => void;
|
|
}
|
|
|
|
const NavigationButton = React.memo(
|
|
({ direction, disabled, onClick }: NavigationButtonProps) => {
|
|
const Icon = direction === "left" ? RiArrowLeftSLine : RiArrowRightSLine;
|
|
|
|
return (
|
|
<button
|
|
onClick={onClick}
|
|
className="text-month-picker-foreground transition-all duration-200 cursor-pointer rounded-lg p-1 hover:bg-month-picker-foreground/10 focus:outline-hidden focus:ring-2 focus:ring-month-picker-foreground/30 disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:bg-transparent"
|
|
disabled={disabled}
|
|
aria-label={`Navegar para o mês ${
|
|
direction === "left" ? "anterior" : "seguinte"
|
|
}`}
|
|
>
|
|
<Icon className="text-primary" size={18} />
|
|
</button>
|
|
);
|
|
}
|
|
);
|
|
|
|
NavigationButton.displayName = "NavigationButton";
|
|
|
|
export default NavigationButton;
|