Skip to content

WEB-1006: Move release details from footer to About dialog#3666

Closed
YousufFFFF wants to merge 4 commits into
openMF:devfrom
YousufFFFF:WEB-1006-move-release-details-to-about
Closed

WEB-1006: Move release details from footer to About dialog#3666
YousufFFFF wants to merge 4 commits into
openMF:devfrom
YousufFFFF:WEB-1006-move-release-details-to-about

Conversation

@YousufFFFF

@YousufFFFF YousufFFFF commented Jun 19, 2026

Copy link
Copy Markdown
Member

Description

This PR improves the user experience by moving release and environment details from the global footer to the About dialog accessible from the profile menu.

Displaying this information in the footer consumed valuable screen space across all pages. By relocating it to the About dialog, the application UI becomes cleaner while still keeping the information easily accessible for debugging and support purposes.

Changes included:

  • Added an About option to the profile dropdown menu.
  • Displayed release and environment information in the About dialog.
  • Removed release details from the global footer.
  • Reused the existing services for fetching version and user information.

Related issues and discussion

#WEB-1006

Screenshots, if any

Before

image

After

Login.-.Google.Chrome.2026-06-19.17-53-18.mp4

Checklist

  • If you have multiple commits please combine them into one commit by squashing them.

  • Read and understood the contribution guidelines at web-app/.github/CONTRIBUTING.md.

Summary by CodeRabbit

  • New Features

    • Added About dialog accessible from toolbar help menu, displaying app version and system details.
    • New loan product selection landing page with product cards for streamlined creation workflow.
    • Introduced loan product wizard interface for enhanced loan product creation experience.
  • UI Improvements

    • Updated terminology from "Nominal interest rate" to "Annual interest rate" throughout the application.
    • Enhanced currency handling and formatting in loan product and account forms with improved percentage suffix display.

@coderabbitai

coderabbitai Bot commented Jun 19, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

Pull request was closed or merged during review

Note

.coderabbit.yaml has unrecognized properties

CodeRabbit is using all valid settings from your configuration. Unrecognized properties (listed below) have been ignored and may indicate typos or deprecated fields that can be removed.

⚠️ Parsing warnings (1)
Validation error: Unrecognized key: "pre_merge_checks"
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Walkthrough

The PR introduces a wizard-driven loan product creation flow (LoanProductWizardComponent, LoanProductSelectionComponent, loan-product.config.ts) that replaces the inline mat-stepper in CreateLoanProductComponent. It also adds a standalone AboutDialogComponent accessible from the toolbar, renames "Nominal interest rate" to "Annual interest rate" across templates, fixes currency resolution in the loans account terms step, and updates the input-amount component to use Material prefix/suffix adornments.

Changes

About Dialog

Layer / File(s) Summary
AboutDialogComponent implementation and template
src/app/shared/about-dialog/about-dialog.component.ts, src/app/shared/about-dialog/about-dialog.component.html, src/app/shared/about-dialog/about-dialog.component.scss
New standalone dialog component that renders Mifos/Fineract version, server, and user info; fetches backend git version from VersionService on init; applies dark-theme color overrides.
Toolbar wiring, footer cleanup, and translations
src/app/core/shell/toolbar/toolbar.component.html, src/app/core/shell/toolbar/toolbar.component.ts, src/app/shared/footer/footer.component.ts, src/assets/translations/en-US.json
Adds "About" menu item to the toolbar user menu and openAboutDialog() method; sets displayBackEndInfo to false in the footer; adds "About" to heading and menus translation sections.

Loan Product Wizard V2

Layer / File(s) Summary
Wizard config: types, constants, FORM_STEPS, buildPayload
src/app/products/loan-products/wizard/loan-product.config.ts
New 967-line config module exporting HIDDEN_DEFAULTS, INITIAL_FORM_STATE, PRODUCT_CARDS, LABEL_MAP, VALUE_MAP, REVIEW_SECTIONS, FORM_STEPS, structural types, LoanWizardProfileMode, and the buildPayload helper that merges form state with profile-mode-specific hidden defaults.
LoanProductWizardComponent: lifecycle, visibility, review, submit
src/app/products/loan-products/wizard/loan-product-wizard.component.ts, ...html, ...scss
New standalone wizard component that initializes a reactive FormGroup from INITIAL_FORM_STATE, syncs template defaults, computes visible steps/fields by profileMode, formats values for the review step, and submits via ProductsService navigating by resourceId. The SCSS (271 lines) covers stepper, field grid, review banner, metrics, and responsive breakpoints.
LoanProductSelectionComponent landing page
src/app/products/loan-products/create-loan-product/loan-product-selection.component.ts, ...html, ...scss
New standalone landing-page component rendering a hero section and product card grid from PRODUCT_CARDS, routing active products via routerLink with productType query param, and showing a disabled "Coming soon" button for inactive products.
CreateLoanProductComponent refactor and routing wiring
src/app/products/loan-products/create-loan-product/create-loan-product.component.ts, ...html, src/app/products/products-routing.module.ts, src/app/products/products.module.ts, src/app/products/loan-products/loan-products-template.resolver.ts, src/app/products/loan-products/loan-products.ts
CreateLoanProductComponent is slimmed to delegate to mifosx-loan-product-wizard; submit() navigates to ../. Routing adds loan-products/create for the selection page and renames custom-advanced breadcrumb. Module registers LoanProductSelectionComponent. Resolver broadens the loan-path condition to include a missing productType. buildPayload guards charges with an empty-array fallback.
Currency resolution and input-amount Material adornments
src/app/loans/loans-account-stepper/loans-account-terms-step/loans-account-terms-step.component.ts, ...html, src/app/shared/input-amount/input-amount.component.html, ...scss
Adds resolveCurrency() to LoansAccountTermsStepComponent to search multiple candidate fields for a currency with a code, replacing direct .currency reads. input-amount switches from custom div wrappers to matPrefix/matSuffix spans with displaySymbol || code fallback and adds .input-indicator styling.
Interest rate terminology rename and % suffix styling
src/app/products/loan-products/loan-product-stepper/loan-product-terms-step/..., src/app/products/loan-products/common/loan-product-summary/..., src/app/loans/loans-account-stepper/loans-account-terms-step/loans-account-terms-step.component.html, ...scss
Renames "Nominal interest rate" to "Annual interest rate" across loan-product-terms-step, loan-product-summary, and loans-account-terms-step templates and TS. Moves the % symbol from the label text into a dedicated matSuffix span with a 1px left-margin style.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Suggested reviewers

  • adamsaghy
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title directly and clearly identifies the main change: moving release details from footer to About dialog, which is the primary objective confirmed by the PR description.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@YousufFFFF YousufFFFF closed this Jun 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant