Skip to content
Snippets Groups Projects
Unverified Commit d7075ae5 authored by Joel Jeremy Marquez's avatar Joel Jeremy Marquez Committed by GitHub
Browse files

Balance menu modal enhancement (#2598)

* Balance menu modal enhancement

* Release notes

* Fix typecheck error
parent e500cba7
No related branches found
No related tags found
No related merge requests found
...@@ -70,8 +70,8 @@ export function BalanceWithCarryover({ ...@@ -70,8 +70,8 @@ export function BalanceWithCarryover({
}} }}
> >
<SvgArrowThinRight <SvgArrowThinRight
width={7} width={carryoverStyle?.width || 7}
height={7} height={carryoverStyle?.height || 7}
style={makeAmountStyle(balanceValue, goalValue, budgetedValue)} style={makeAmountStyle(balanceValue, goalValue, budgetedValue)}
/> />
</View> </View>
......
import React, { type ComponentPropsWithoutRef } from 'react'; import React, { type ComponentPropsWithoutRef } from 'react';
import { reportBudget } from 'loot-core/client/queries';
import { useCategory } from '../../hooks/useCategory';
import { type CSSProperties, theme, styles } from '../../style'; import { type CSSProperties, theme, styles } from '../../style';
import { BalanceWithCarryover } from '../budget/BalanceWithCarryover';
import { BalanceMenu } from '../budget/report/BalanceMenu'; import { BalanceMenu } from '../budget/report/BalanceMenu';
import { Modal } from '../common/Modal'; import { Modal } from '../common/Modal';
import { View } from '../common/View';
import { type CommonModalProps } from '../Modals'; import { type CommonModalProps } from '../Modals';
type ReportBalanceMenuModalProps = ComponentPropsWithoutRef< type ReportBalanceMenuModalProps = ComponentPropsWithoutRef<
...@@ -23,8 +28,15 @@ export function ReportBalanceMenuModal({ ...@@ -23,8 +28,15 @@ export function ReportBalanceMenuModal({
borderTop: `1px solid ${theme.pillBorder}`, borderTop: `1px solid ${theme.pillBorder}`,
}; };
const category = useCategory(categoryId);
if (!category) {
return null;
}
return ( return (
<Modal <Modal
title={`Balance: ${category.name}`}
showHeader showHeader
focusAfterClose={false} focusAfterClose={false}
{...modalProps} {...modalProps}
...@@ -36,6 +48,26 @@ export function ReportBalanceMenuModal({ ...@@ -36,6 +48,26 @@ export function ReportBalanceMenuModal({
borderRadius: '6px', borderRadius: '6px',
}} }}
> >
<View
style={{
justifyContent: 'center',
alignItems: 'center',
marginBottom: 20,
}}
>
<BalanceWithCarryover
disabled
balanceStyle={{
textAlign: 'center',
...styles.veryLargeText,
}}
carryoverStyle={{ right: -20, width: 15, height: 15 }}
carryover={reportBudget.catCarryover(categoryId)}
balance={reportBudget.catBalance(categoryId)}
goal={reportBudget.catGoal(categoryId)}
budgeted={reportBudget.catBudgeted(categoryId)}
/>
</View>
<BalanceMenu <BalanceMenu
categoryId={categoryId} categoryId={categoryId}
getItemStyle={() => defaultMenuItemStyle} getItemStyle={() => defaultMenuItemStyle}
......
import React, { type ComponentPropsWithoutRef } from 'react'; import React, { type ComponentPropsWithoutRef } from 'react';
import { rolloverBudget } from 'loot-core/client/queries';
import { useCategory } from '../../hooks/useCategory';
import { type CSSProperties, theme, styles } from '../../style'; import { type CSSProperties, theme, styles } from '../../style';
import { BalanceWithCarryover } from '../budget/BalanceWithCarryover';
import { BalanceMenu } from '../budget/rollover/BalanceMenu'; import { BalanceMenu } from '../budget/rollover/BalanceMenu';
import { Modal } from '../common/Modal'; import { Modal } from '../common/Modal';
import { View } from '../common/View';
import { type CommonModalProps } from '../Modals'; import { type CommonModalProps } from '../Modals';
type RolloverBalanceMenuModalProps = ComponentPropsWithoutRef< type RolloverBalanceMenuModalProps = ComponentPropsWithoutRef<
...@@ -25,8 +30,15 @@ export function RolloverBalanceMenuModal({ ...@@ -25,8 +30,15 @@ export function RolloverBalanceMenuModal({
borderTop: `1px solid ${theme.pillBorder}`, borderTop: `1px solid ${theme.pillBorder}`,
}; };
const category = useCategory(categoryId);
if (!category) {
return null;
}
return ( return (
<Modal <Modal
title={`Balance: ${category.name}`}
showHeader showHeader
focusAfterClose={false} focusAfterClose={false}
{...modalProps} {...modalProps}
...@@ -38,6 +50,26 @@ export function RolloverBalanceMenuModal({ ...@@ -38,6 +50,26 @@ export function RolloverBalanceMenuModal({
borderRadius: '6px', borderRadius: '6px',
}} }}
> >
<View
style={{
justifyContent: 'center',
alignItems: 'center',
marginBottom: 20,
}}
>
<BalanceWithCarryover
disabled
balanceStyle={{
textAlign: 'center',
...styles.veryLargeText,
}}
carryoverStyle={{ right: -20, width: 15, height: 15 }}
carryover={rolloverBudget.catCarryover(categoryId)}
balance={rolloverBudget.catBalance(categoryId)}
goal={rolloverBudget.catGoal(categoryId)}
budgeted={rolloverBudget.catBudgeted(categoryId)}
/>
</View>
<BalanceMenu <BalanceMenu
categoryId={categoryId} categoryId={categoryId}
getItemStyle={() => defaultMenuItemStyle} getItemStyle={() => defaultMenuItemStyle}
......
---
category: Enhancements
authors: [joel-jeremy]
---
Update balance menu modal title and add balance amount in the modal.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment