WEB-635 feat: add about us page (#3210)

improve
This commit is contained in:
Shubham Kumar
2026-02-22 19:04:18 -06:00
committed by GitHub
parent e5793fa590
commit f0db7491ab
8 changed files with 239 additions and 3 deletions
@@ -0,0 +1,68 @@
<!--
Copyright since 2025 Mifos Initiative
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
-->
<div class="container">
<mat-card>
<div class="about-us-section">
<h2>{{ 'labels.heading.About Us' | translate }}</h2>
<p [innerHTML]="'labels.aboutUs.Introduction' | translate"></p>
<p [innerHTML]="'labels.aboutUs.Platform Description' | translate"></p>
<h3>{{ 'labels.heading.Our Mission' | translate }}</h3>
<p>{{ 'labels.aboutUs.Mission' | translate }}</p>
<h3>{{ 'labels.heading.Our Vision' | translate }}</h3>
<p>{{ 'labels.aboutUs.Vision' | translate }}</p>
<h3>{{ 'labels.heading.Why Open Source' | translate }}</h3>
<p>{{ 'labels.aboutUs.Why Open Source' | translate }}</p>
<ul class="values-list">
<li>
<strong>{{ 'labels.aboutUs.Transparent' | translate }}:</strong>
{{ 'labels.aboutUs.Transparent Description' | translate }}
</li>
<li>
<strong>{{ 'labels.aboutUs.Affordable' | translate }}:</strong>
{{ 'labels.aboutUs.Affordable Description' | translate }}
</li>
<li>
<strong>{{ 'labels.aboutUs.Innovative' | translate }}:</strong>
{{ 'labels.aboutUs.Innovative Description' | translate }}
</li>
<li>
<strong>{{ 'labels.aboutUs.Secure' | translate }}:</strong>
{{ 'labels.aboutUs.Secure Description' | translate }}
</li>
</ul>
<h3>{{ 'labels.heading.The Ecosystem' | translate }}</h3>
<p>{{ 'labels.aboutUs.Ecosystem Introduction' | translate }}</p>
<ul class="ecosystem-list">
<li>
<strong>{{ 'labels.aboutUs.The Mifos X Platform' | translate }}:</strong>
{{ 'labels.aboutUs.Platform Role' | translate }}
</li>
<li>
<strong>{{ 'labels.aboutUs.The Community' | translate }}:</strong>
{{ 'labels.aboutUs.Community Role' | translate }}
</li>
<li>
<strong>{{ 'labels.aboutUs.Certified Partners' | translate }}:</strong>
{{ 'labels.aboutUs.Partners Role' | translate }}
</li>
<li>
<strong>{{ 'labels.aboutUs.The Foundation' | translate }}:</strong>
{{ 'labels.aboutUs.Foundation Role' | translate }}
</li>
</ul>
</div>
</mat-card>
</div>
@@ -0,0 +1,77 @@
/**
* Copyright since 2025 Mifos Initiative
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
.about-us-section {
padding: 16px 24px;
h2 {
color: #4caf50;
margin-top: 24px;
margin-bottom: 16px;
font-size: 1.5rem;
font-weight: 400;
}
h3 {
color: #4caf50;
margin-top: 20px;
margin-bottom: 12px;
font-size: 1.2rem;
font-weight: 500;
}
p {
line-height: 1.6;
margin-bottom: 12px;
color: var(--md-sys-color-on-surface-variant, #555);
}
// stylelint-disable-next-line selector-pseudo-element-no-unknown
::ng-deep a {
color: #4caf50;
text-decoration: none;
&:hover {
text-decoration: underline;
}
}
ul {
padding-left: 24px;
margin-top: 12px;
li {
margin-bottom: 8px;
line-height: 1.5;
color: var(--md-sys-color-on-surface-variant, #555);
}
}
}
// Dark theme support
:host-context(.dark-theme) {
.about-us-section {
h2,
h3 {
color: #66bb6a;
}
p {
color: rgb(255 255 255 / 70%);
}
// stylelint-disable-next-line selector-pseudo-element-no-unknown
::ng-deep a {
color: #0098ff;
}
ul li {
color: rgb(255 255 255 / 70%);
}
}
}
@@ -0,0 +1,18 @@
/**
* Copyright since 2025 Mifos Initiative
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
import { Component } from '@angular/core';
import { STANDALONE_SHARED_IMPORTS } from 'app/standalone-shared.module';
@Component({
selector: 'mifosx-about-us',
templateUrl: './about-us.component.html',
styleUrls: ['./about-us.component.scss'],
imports: [...STANDALONE_SHARED_IMPORTS]
})
export class AboutUsComponent {}
+6
View File
@@ -55,6 +55,7 @@ import { RolesAndPermissionsComponent } from './roles-and-permissions/roles-and-
import { ViewRoleComponent } from './roles-and-permissions/view-role/view-role.component';
import { SystemComponent } from './system.component';
import { SystemInformationComponent } from './system-information/system-information.component';
import { AboutUsComponent } from './about-us/about-us.component';
/** Custom Resolvers */
import { AccountNumberPreferencesResolver } from './account-number-preferences/account-number-preferences.resolver';
@@ -588,6 +589,11 @@ const routes: Routes = [
component: SystemInformationComponent,
data: { title: 'System Information', breadcrumb: 'System Information' }
},
{
path: 'about-us',
component: AboutUsComponent,
data: { title: 'About Us', breadcrumb: 'About Us' }
},
{
path: 'audit-trails',
data: { title: 'Audit Trails', breadcrumb: 'Audit Trails' },
+34
View File
@@ -568,6 +568,40 @@
</div>
</div>
</mat-list-item>
<mat-list-item [routerLink]="['about-us']">
<div class="menu-list-item-content">
<div class="menu-left-section" [routerLink]="['about-us']">
<mat-icon matListIcon>
<fa-icon icon="users" size="sm"></fa-icon>
</mat-icon>
<div matLine>
{{ 'labels.heading.About Us' | translate }}
@if (arrowBooleans[16]) {
<p matLine [routerLink]="['about-us']" class="menu-explanation">
{{ 'labels.text.Learn about the Mifos Initiative and our mission' | translate }}
</p>
}
</div>
</div>
<div class="menu-right-section">
@if (!arrowBooleans[16]) {
<fa-icon
(click)="arrowBooleansToggle(16); $event.stopPropagation()"
icon="arrow-down"
size="md"
></fa-icon>
}
@if (arrowBooleans[16]) {
<fa-icon
(click)="arrowBooleansToggle(16); $event.stopPropagation()"
icon="arrow-up"
size="md"
></fa-icon>
}
</div>
</div>
</mat-list-item>
</mat-nav-list>
</div>
</div>
+2 -2
View File
@@ -67,9 +67,9 @@ export class SystemComponent implements AfterViewInit {
@ViewChild('manageReports') manageReports: ElementRef<any>;
/* Template for popover on manage reports */
@ViewChild('templateManageReports') templateManageReports: TemplateRef<any>;
// Initialize an array of 15 boolean values, all set to false
// Initialize an array of 17 boolean values, all set to false
isDisabled: boolean = true;
arrowBooleans: boolean[] = new Array(16).fill(false);
arrowBooleans: boolean[] = new Array(17).fill(false);
/**
* Popover function
+3 -1
View File
@@ -86,6 +86,7 @@ import { ErrorLogPopoverComponent } from './manage-jobs/scheduler-jobs/error-log
import { RunSelectedJobsPopoverComponent } from './manage-jobs/scheduler-jobs/run-selected-jobs-popover/run-selected-jobs-popover.component';
import { RunSelectedJobsTableComponent } from './manage-jobs/scheduler-jobs/run-selected-jobs-popover/run-selected-jobs-table/run-selected-jobs-table.component';
import { SystemInformationComponent } from './system-information/system-information.component';
import { AboutUsComponent } from './about-us/about-us.component';
@NgModule({
imports: [
@@ -161,7 +162,8 @@ import { SystemInformationComponent } from './system-information/system-informat
ErrorLogPopoverComponent,
RunSelectedJobsPopoverComponent,
RunSelectedJobsTableComponent,
SystemInformationComponent
SystemInformationComponent,
AboutUsComponent
]
})
export class SystemModule {}