Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
a65999c
Error updates for the TVM calculator
jenbreese Jun 23, 2026
7adf6e0
UI Design issues marked high or up for TVM
jenbreese Jun 23, 2026
5a10ab3
fixup
jenbreese Jun 23, 2026
925a2e0
Merge branch 'dev' into tvm-062326
jenbreese Jun 24, 2026
e13c04a
design fix ups and merge
jenbreese Jun 24, 2026
9672964
Merge pull request #134 from SU-SWS/tvm-062326
jenbreese Jun 24, 2026
5f0e5b1
fixup
jenbreese Jun 24, 2026
6e3b241
Merge pull request #136 from SU-SWS/0624-fixup
jenbreese Jun 24, 2026
84d9be0
Merge branch '1.x' into dev
jenbreese Jun 25, 2026
78deb4b
fixup for 6/25 changes
jenbreese Jun 25, 2026
03283c7
Merge pull request #139 from SU-SWS/tvm-062526
jenbreese Jun 26, 2026
33e6654
Errors from Compounding Freq document.
jenbreese Jun 26, 2026
23d7375
adding in errors and minor ui cleanup to match
jenbreese Jun 26, 2026
4a392f9
fixup
jenbreese Jun 26, 2026
43487a0
fixup
jenbreese Jun 26, 2026
196b542
Merge pull request #140 from SU-SWS/error-doc-compounding
jenbreese Jun 26, 2026
515e83f
Added errors and standards to interest cal
jenbreese Jun 26, 2026
5cd42b7
fixup
jenbreese Jun 26, 2026
5193e1f
Merge pull request #141 from SU-SWS/error-doc-inflation
jenbreese Jun 29, 2026
c50da7a
Edits to the TVM calculator
jenbreese Jun 29, 2026
71d20ea
fixup
jenbreese Jun 30, 2026
5cf0a5e
test fix
jenbreese Jun 30, 2026
be72a8d
Merge pull request #144 from SU-SWS/TVM-062926
jenbreese Jul 1, 2026
dec3291
Merge pull request #142 from SU-SWS/error-doc-interest
jenbreese Jul 1, 2026
d25f2c0
Mortgage Calc v2 error word doc
jenbreese Jul 1, 2026
e8a95f0
Error doc fixes
jenbreese Jul 1, 2026
2f61ca8
fix for the interest rate calc
jenbreese Jul 2, 2026
b9d1235
Change default to Annual
jenbreese Jul 2, 2026
595d529
Changes to the math, errors, layout
jenbreese Jul 2, 2026
5bc8f76
fixup:
jenbreese Jul 2, 2026
a9fe346
Merge pull request #145 from SU-SWS/error-doc-mortgage-cal-v2
jenbreese Jul 2, 2026
6c1a5f6
Merge pull request #147 from SU-SWS/error-doc-compounding-0702
jenbreese Jul 2, 2026
210ab50
Merge pull request #146 from SU-SWS/error-doc-tvm-0702
jenbreese Jul 2, 2026
88fa429
Merge branch '1.x' into dev
jenbreese Jul 2, 2026
553d958
Merge branch '1.x' into error-docs-interest-0702
jenbreese Jul 2, 2026
bdae6c6
color updates
jenbreese Jul 6, 2026
0f7bf96
Color correction
jenbreese Jul 8, 2026
8cd0398
fix to edge case math error
jenbreese Jul 9, 2026
6c354cf
fixup
jenbreese Jul 9, 2026
a90e23c
fixup to the colon
jenbreese Jul 9, 2026
ddb2439
Inflation inpact
jenbreese Jul 9, 2026
f71fa43
Merge pull request #148 from SU-SWS/error-docs-interest-0702
jenbreese Jul 9, 2026
efb121d
Merge pull request #152 from SU-SWS/tvm-0709
jenbreese Jul 9, 2026
7ba090b
Merge pull request #151 from SU-SWS/inflation-709
jenbreese Jul 9, 2026
7b5fbba
Fix to the onChange
jenbreese Jul 9, 2026
cf9f014
fixup
jenbreese Jul 9, 2026
2d3396a
Merge pull request #153 from SU-SWS/inflation-fixup
jenbreese Jul 10, 2026
ccbd509
Merge branch '1.x' into dev
jenbreese Jul 10, 2026
0802f31
Fixing percent edge cases
jenbreese Jul 10, 2026
e7292a4
Blocker and High priority fixes
jenbreese Jul 10, 2026
1646fd3
Merge pull request #154 from SU-SWS/TVM-0710
jenbreese Jul 10, 2026
574232b
Merge pull request #156 from SU-SWS/interest-0710
jenbreese Jul 10, 2026
e01fd5f
Adding a changelog to this release
jenbreese Jul 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Changelog

All notable changes to this project are documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
Releases are identified by deploy date.

## [Unreleased]

## [2026-07-10]

First tracked production release. Promotes the accumulated calculator work from
late June through 10 July (PR [#157](https://github.com/SU-SWS/ifdm_learning_apps/pull/157),
`dev` into `1.x`). All blocker and high-priority issues raised during review are resolved.

### Added

- Inline validation and error messaging for the Time Value of Money calculator, per the TVM error document (#134, #146).
- Inline validation and error messaging for the Compounding Frequency calculator (#140).
- Inline validation and error messaging for the Inflation Impact calculator (#141).
- Error states and input standards for the Interest calculator (#142).
- Inline validation and error messaging for the Mortgage v2 calculator (#145).
- Input defaulting for the TVM Present Value, Future Value, and Payment fields so blank fields resolve to sensible defaults (#144).

### Changed

- Interest calculator math, error handling, and layout updated to match spec (#148).
- Compounding Frequency default period changed to Annual (#147).
- Default compounding frequency set for the TVM calculator (#144).
- Color tokens updated and corrected across calculators (#152).
- UI cleanup plus label and punctuation corrections to match design (#134, #148).

### Fixed

- TVM interest-rate solver now returns the correct rate for high-rate and edge-case scenarios (#152).
- TVM interest-rate solver now handles high and mixed-frequency (cross-compounding) rates correctly (#154).
- TVM edge-case math error in the rate calculation (#152).
- TVM zero-rate present value calculation (#144).
- TVM interest-rate calculator correction (#146).
- Inflation Impact currency input no longer corrupts the value when a field is re-edited, and the empty-field error no longer fires at the wrong time (#153).
- Inflation Impact onChange handler now accepts valid entries, including negative values (#151).
- Interest calculator percent edge cases (#156).
- Interest calculator interest-rate calculation (#142).
- All remaining blocker and high-priority issues cleared ahead of the production release (#156).
14 changes: 7 additions & 7 deletions app/interactives/compounding-frequency-calculator/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ export default function CompoundInterestCalculator() {
const [initialAmount, setInitialAmount] = useState<string>("")
const [annualRate, setAnnualRate] = useState<string>("")
const [periods, setPeriods] = useState<string>("")
const [selectedCompounding, setSelectedCompounding] = useState<CompoundingPeriod>("monthly")
const [selectedCompounding, setSelectedCompounding] = useState<CompoundingPeriod>("annually")

// Error state is declared early so setters are available to flagSkippedFields.
const [initialAmountError, setInitialAmountError] = useState<string>("")
Expand Down Expand Up @@ -505,19 +505,19 @@ export default function CompoundInterestCalculator() {
<Card className="w-full lg:w-1/2 bg-[var(--card-background)] rounded-3xl p-[32px]">
<CardContent className="p-0">
<h2 className="text-[20px] font-bold mb-1">
Balance after{" "}
Balance after
{hasError
? "-"
: `${periods} ${getPeriodText(selectedCompounding, Number(periods))}`}
? ""
: ` ${periods} ${getPeriodText(selectedCompounding, Number(periods))}`}
</h2>
<p className="text-3xl/normal font-bold text-[var(--color-teal)] mb-5 overflow-auto">
{hasError ? "-" : balanceStr}
</p>
<p className="text-[20px] font-bold mb-1">
Interest accrued over{" "}
Interest accrued over
{hasError
? "-"
: `${periods} ${getPeriodText(selectedCompounding, Number(periods))}`}
? ""
: ` ${periods} ${getPeriodText(selectedCompounding, Number(periods))}`}
</p>
<p className="text-3xl/normal font-bold text-foreground overflow-auto">
{hasError ? "-" : interestStr}
Expand Down
Loading