mirror of
https://github.com/felipegcoutinho/openmonetis.git
synced 2026-05-09 02:51:46 +00:00
feat: padroniza contas e cartoes inativos
This commit is contained in:
@@ -15,6 +15,7 @@ import {
|
||||
TooltipContent,
|
||||
TooltipTrigger,
|
||||
} from "@/shared/components/ui/tooltip";
|
||||
import { isAccountInactive } from "@/shared/lib/accounts/constants";
|
||||
import { cn } from "@/shared/utils/ui";
|
||||
|
||||
interface AccountCardProps {
|
||||
@@ -46,7 +47,7 @@ export function AccountCard({
|
||||
onTransfer,
|
||||
className,
|
||||
}: AccountCardProps) {
|
||||
const isInactive = status?.toLowerCase() === "inativa";
|
||||
const isInactive = isAccountInactive(status);
|
||||
|
||||
const balanceColor =
|
||||
balance > 0
|
||||
@@ -145,6 +146,7 @@ export function AccountCard({
|
||||
<span className="text-xs text-muted-foreground">Saldo</span>
|
||||
<MoneyValues
|
||||
amount={balance}
|
||||
showPositiveSign
|
||||
className={cn("text-2xl font-semibold", balanceColor)}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -186,14 +186,14 @@ export function AccountsPage({
|
||||
<Tabs value={activeTab} onValueChange={setActiveTab} className="w-full">
|
||||
<TabsList>
|
||||
<TabsTrigger value="ativos">Ativas</TabsTrigger>
|
||||
<TabsTrigger value="arquivados">Arquivadas</TabsTrigger>
|
||||
<TabsTrigger value="inativas">Inativas</TabsTrigger>
|
||||
</TabsList>
|
||||
|
||||
<TabsContent value="ativos" className="mt-4">
|
||||
{renderAccountList(orderedAccounts, false)}
|
||||
</TabsContent>
|
||||
|
||||
<TabsContent value="arquivados" className="mt-4">
|
||||
<TabsContent value="inativas" className="mt-4">
|
||||
{renderAccountList(orderedArchivedAccounts, true)}
|
||||
</TabsContent>
|
||||
</Tabs>
|
||||
|
||||
@@ -174,14 +174,14 @@ export function CardsPage({
|
||||
<Tabs value={activeTab} onValueChange={setActiveTab} className="w-full">
|
||||
<TabsList>
|
||||
<TabsTrigger value="ativos">Ativos</TabsTrigger>
|
||||
<TabsTrigger value="arquivados">Arquivados</TabsTrigger>
|
||||
<TabsTrigger value="inativos">Inativos</TabsTrigger>
|
||||
</TabsList>
|
||||
|
||||
<TabsContent value="ativos" className="mt-4">
|
||||
{renderCardList(orderedCards, false)}
|
||||
</TabsContent>
|
||||
|
||||
<TabsContent value="arquivados" className="mt-4">
|
||||
<TabsContent value="inativos" className="mt-4">
|
||||
{renderCardList(orderedArchivedCards, true)}
|
||||
</TabsContent>
|
||||
</Tabs>
|
||||
|
||||
@@ -22,6 +22,7 @@ import {
|
||||
TooltipTrigger,
|
||||
} from "@/shared/components/ui/tooltip";
|
||||
import { WidgetEmptyState } from "@/shared/components/widget-empty-state";
|
||||
import { isAccountInactive } from "@/shared/lib/accounts/constants";
|
||||
import { resolveLogoSrc } from "@/shared/lib/logo";
|
||||
import { formatPeriodForUrl } from "@/shared/utils/period";
|
||||
|
||||
@@ -42,12 +43,15 @@ export function MyAccountsWidget({
|
||||
}: MyAccountsWidgetProps) {
|
||||
const [isPending, startTransition] = useTransition();
|
||||
|
||||
const excludedAccountsCount = accounts.filter(
|
||||
const activeAccounts = accounts.filter(
|
||||
(account) => !isAccountInactive(account.status),
|
||||
);
|
||||
const excludedAccountsCount = activeAccounts.filter(
|
||||
(account) => account.excludeFromBalance,
|
||||
).length;
|
||||
const visibleAccounts = showExcludedAccounts
|
||||
? accounts
|
||||
: accounts.filter((account) => !account.excludeFromBalance);
|
||||
? activeAccounts
|
||||
: activeAccounts.filter((account) => !account.excludeFromBalance);
|
||||
const displayedAccounts = visibleAccounts.slice(0, 5);
|
||||
const remainingCount = visibleAccounts.length - displayedAccounts.length;
|
||||
const hiddenExcludedAccountsCount = showExcludedAccounts
|
||||
@@ -117,7 +121,7 @@ export function MyAccountsWidget({
|
||||
) : null}
|
||||
|
||||
<div>
|
||||
{accounts.length === 0 ? (
|
||||
{activeAccounts.length === 0 ? (
|
||||
<div className="-mt-10">
|
||||
<WidgetEmptyState
|
||||
icon={
|
||||
|
||||
@@ -31,3 +31,6 @@ export const buildRefundNote = (originalTransactionId: string) =>
|
||||
|
||||
export const isRefundNote = (note: string | null | undefined) =>
|
||||
note?.startsWith(REFUND_NOTE_PREFIX) ?? false;
|
||||
|
||||
export const isAccountInactive = (status: string | null | undefined) =>
|
||||
status?.toLowerCase() === "inativa";
|
||||
|
||||
Reference in New Issue
Block a user