Browse Source

Refactoring

pull/2135/head
Thomas 2 years ago
parent
commit
624191157e
  1. 14
      apps/client/src/app/app-routing.module.ts
  2. 6
      apps/client/src/app/app.component.html
  3. 2
      apps/client/src/app/core/auth.guard.ts
  4. 13
      apps/client/src/app/pages/alternatives/alternatives-page.module.ts
  5. 15
      apps/client/src/app/pages/personal-finance-tools/page-template.html
  6. 8
      apps/client/src/app/pages/personal-finance-tools/personal-finance-tools-page-routing.module.ts
  7. 8
      apps/client/src/app/pages/personal-finance-tools/personal-finance-tools-page.component.ts
  8. 2
      apps/client/src/app/pages/personal-finance-tools/personal-finance-tools-page.html
  9. 13
      apps/client/src/app/pages/personal-finance-tools/personal-finance-tools-page.module.ts
  10. 0
      apps/client/src/app/pages/personal-finance-tools/personal-finance-tools-page.scss
  11. 0
      apps/client/src/app/pages/personal-finance-tools/products.ts
  12. 0
      apps/client/src/app/pages/personal-finance-tools/products/altoo-page.component.ts
  13. 0
      apps/client/src/app/pages/personal-finance-tools/products/getquin-page.component.ts
  14. 0
      apps/client/src/app/pages/personal-finance-tools/products/kubera-page.component.ts
  15. 0
      apps/client/src/app/pages/personal-finance-tools/products/maybe-finance-page.component.ts
  16. 0
      apps/client/src/app/pages/personal-finance-tools/products/parqet-page.component.ts
  17. 0
      apps/client/src/app/pages/personal-finance-tools/products/simple-portfolio-page.component.ts
  18. 0
      apps/client/src/app/pages/personal-finance-tools/products/utluna-page.component.ts
  19. 0
      apps/client/src/app/pages/personal-finance-tools/products/yeekatee-page.component.ts
  20. 54
      apps/client/src/assets/sitemap.xml

14
apps/client/src/app/app-routing.module.ts

@ -37,13 +37,6 @@ const routes: Routes = [
loadChildren: () => loadChildren: () =>
import('./pages/admin/admin-page.module').then((m) => m.AdminPageModule) import('./pages/admin/admin-page.module').then((m) => m.AdminPageModule)
}, },
...['alternatives'].map((path) => ({
path,
loadChildren: () =>
import('./pages/alternatives/alternatives-page.module').then(
(m) => m.AlternativesPageModule
)
})),
{ {
path: 'auth', path: 'auth',
loadChildren: () => loadChildren: () =>
@ -119,6 +112,13 @@ const routes: Routes = [
(m) => m.PublicPageModule (m) => m.PublicPageModule
) )
}, },
...['personal-finance-tools'].map((path) => ({
path,
loadChildren: () =>
import(
'./pages/personal-finance-tools/personal-finance-tools-page.module'
).then((m) => m.PersonalFinanceToolsPageModule)
})),
{ {
path: 'portfolio', path: 'portfolio',
loadChildren: () => loadChildren: () =>

6
apps/client/src/app/app.component.html

@ -45,12 +45,12 @@
<footer <footer
*ngIf=" *ngIf="
(currentRoute === 'alternatives' || (currentRoute === 'blog' ||
currentRoute === 'blog' ||
currentRoute === 'faq' || currentRoute === 'faq' ||
currentRoute === 'features' || currentRoute === 'features' ||
currentRoute === 'markets' || currentRoute === 'markets' ||
currentRoute === 'open' || currentRoute === 'open' ||
currentRoute === 'personal-finance-tools' ||
currentRoute === 'pricing' || currentRoute === 'pricing' ||
currentRoute === 'resources' || currentRoute === 'resources' ||
currentRoute === 'register' || currentRoute === 'register' ||
@ -70,8 +70,8 @@
<li *ngIf="hasPermissionToAccessFearAndGreedIndex"> <li *ngIf="hasPermissionToAccessFearAndGreedIndex">
<a i18n [routerLink]="['/markets']">Markets</a> <a i18n [routerLink]="['/markets']">Markets</a>
</li> </li>
<li><a i18n [routerLink]="['/personal-finance-tools']">Tools</a></li>
<li><a i18n [routerLink]="['/resources']">Resources</a></li> <li><a i18n [routerLink]="['/resources']">Resources</a></li>
<li><a i18n [routerLink]="['/alternatives']">Alternatives</a></li>
</ul> </ul>
</div> </div>
<div class="col-sm"> <div class="col-sm">

2
apps/client/src/app/core/auth.guard.ts

@ -17,7 +17,6 @@ export class AuthGuard implements CanActivate {
'/about', '/about',
'/about/changelog', '/about/changelog',
'/about/privacy-policy', '/about/privacy-policy',
'/alternatives',
'/blog', '/blog',
'/de/blog', '/de/blog',
'/demo', '/demo',
@ -27,6 +26,7 @@ export class AuthGuard implements CanActivate {
'/markets', '/markets',
'/open', '/open',
'/p', '/p',
'/personal-finance-tools',
'/pricing', '/pricing',
'/register', '/register',
'/resources' '/resources'

13
apps/client/src/app/pages/alternatives/alternatives-page.module.ts

@ -1,13 +0,0 @@
import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
import { MatCardModule } from '@angular/material/card';
import { AlternativesPageRoutingModule } from './alternatives-page-routing.module';
import { AlternativesPageComponent } from './alternatives-page.component';
@NgModule({
declarations: [AlternativesPageComponent],
imports: [AlternativesPageRoutingModule, CommonModule, MatCardModule],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class AlternativesPageModule {}

15
apps/client/src/app/pages/alternatives/page-template.html → apps/client/src/app/pages/personal-finance-tools/page-template.html

@ -4,7 +4,8 @@
<article> <article>
<div class="mb-4 text-center"> <div class="mb-4 text-center">
<h1 class="mb-1"> <h1 class="mb-1">
Ghostfolio: The open source alternative to {{ product2.name }} <strong>Ghostfolio</strong>: The Open Source Alternative to
<strong>{{ product2.name }}</strong>
</h1> </h1>
</div> </div>
<section class="mb-4"> <section class="mb-4">
@ -130,7 +131,7 @@
<span class="badge badge-light">App</span> <span class="badge badge-light">App</span>
</li> </li>
<li class="list-inline-item"> <li class="list-inline-item">
<span class="badge badge-light">{{ product2.name }}</span> <span class="badge badge-light">{{ product1.name }}</span>
</li> </li>
<li class="list-inline-item"> <li class="list-inline-item">
<span class="badge badge-light">{{ product2.name }}</span> <span class="badge badge-light">{{ product2.name }}</span>
@ -141,12 +142,20 @@
<li class="list-inline-item"> <li class="list-inline-item">
<span class="badge badge-light">Personal Finance</span> <span class="badge badge-light">Personal Finance</span>
</li> </li>
<li class="list-inline-item">
<span class="badge badge-light">Software</span>
</li>
<li class="list-inline-item">
<span class="badge badge-light">Tool</span>
</li>
</ul> </ul>
</section> </section>
<nav aria-label="breadcrumb"> <nav aria-label="breadcrumb">
<ol class="breadcrumb"> <ol class="breadcrumb">
<li class="breadcrumb-item"> <li class="breadcrumb-item">
<a i18n [routerLink]="['/alternatives']">Alternatives</a> <a i18n i18n [routerLink]="['/personal-finance-tools']"
>Personal Finance Tools</a
>
</li> </li>
<li <li
aria-current="page" aria-current="page"

8
apps/client/src/app/pages/alternatives/alternatives-page-routing.module.ts → apps/client/src/app/pages/personal-finance-tools/personal-finance-tools-page-routing.module.ts

@ -2,15 +2,15 @@ import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router'; import { RouterModule, Routes } from '@angular/router';
import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; import { AuthGuard } from '@ghostfolio/client/core/auth.guard';
import { AlternativesPageComponent } from './alternatives-page.component'; import { PersonalFinanceToolsPageComponent } from './personal-finance-tools-page.component';
import { products } from './products'; import { products } from './products';
const routes: Routes = [ const routes: Routes = [
{ {
canActivate: [AuthGuard], canActivate: [AuthGuard],
component: AlternativesPageComponent, component: PersonalFinanceToolsPageComponent,
path: '', path: '',
title: $localize`Alternatives` title: $localize`Personal Finance Tools`
}, },
...products ...products
.filter(({ key }) => { .filter(({ key }) => {
@ -31,4 +31,4 @@ const routes: Routes = [
imports: [RouterModule.forChild(routes)], imports: [RouterModule.forChild(routes)],
exports: [RouterModule] exports: [RouterModule]
}) })
export class AlternativesPageRoutingModule {} export class PersonalFinanceToolsPageRoutingModule {}

8
apps/client/src/app/pages/alternatives/alternatives-page.component.ts → apps/client/src/app/pages/personal-finance-tools/personal-finance-tools-page.component.ts

@ -5,11 +5,11 @@ import { products } from './products';
@Component({ @Component({
host: { class: 'page' }, host: { class: 'page' },
selector: 'gf-alternatives-page', selector: 'gf-personal-finance-tools-page',
styleUrls: ['./alternatives-page.scss'], styleUrls: ['./personal-finance-tools-page.scss'],
templateUrl: './alternatives-page.html' templateUrl: './personal-finance-tools-page.html'
}) })
export class AlternativesPageComponent implements OnDestroy { export class PersonalFinanceToolsPageComponent implements OnDestroy {
public products = products.filter(({ key }) => { public products = products.filter(({ key }) => {
return key !== 'ghostfolio'; return key !== 'ghostfolio';
}); });

2
apps/client/src/app/pages/alternatives/alternatives-page.html → apps/client/src/app/pages/personal-finance-tools/personal-finance-tools-page.html

@ -14,7 +14,7 @@
<div class="flex-nowrap no-gutters row"> <div class="flex-nowrap no-gutters row">
<a <a
class="d-flex overflow-hidden w-100" class="d-flex overflow-hidden w-100"
[routerLink]="['/alternatives', 'open-source-alternative-to-' + product.key]" [routerLink]="['/personal-finance-tools', 'open-source-alternative-to-' + product.key]"
> >
<div class="flex-grow-1 overflow-hidden"> <div class="flex-grow-1 overflow-hidden">
<div class="h6 m-0 text-truncate"> <div class="h6 m-0 text-truncate">

13
apps/client/src/app/pages/personal-finance-tools/personal-finance-tools-page.module.ts

@ -0,0 +1,13 @@
import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
import { MatCardModule } from '@angular/material/card';
import { PersonalFinanceToolsPageRoutingModule } from './personal-finance-tools-page-routing.module';
import { PersonalFinanceToolsPageComponent } from './personal-finance-tools-page.component';
@NgModule({
declarations: [PersonalFinanceToolsPageComponent],
imports: [CommonModule, MatCardModule, PersonalFinanceToolsPageRoutingModule],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
})
export class PersonalFinanceToolsPageModule {}

0
apps/client/src/app/pages/alternatives/alternatives-page.scss → apps/client/src/app/pages/personal-finance-tools/personal-finance-tools-page.scss

0
apps/client/src/app/pages/alternatives/products.ts → apps/client/src/app/pages/personal-finance-tools/products.ts

0
apps/client/src/app/pages/alternatives/products/altoo-page.component.ts → apps/client/src/app/pages/personal-finance-tools/products/altoo-page.component.ts

0
apps/client/src/app/pages/alternatives/products/getquin-page.component.ts → apps/client/src/app/pages/personal-finance-tools/products/getquin-page.component.ts

0
apps/client/src/app/pages/alternatives/products/kubera-page.component.ts → apps/client/src/app/pages/personal-finance-tools/products/kubera-page.component.ts

0
apps/client/src/app/pages/alternatives/products/maybe-finance-page.component.ts → apps/client/src/app/pages/personal-finance-tools/products/maybe-finance-page.component.ts

0
apps/client/src/app/pages/alternatives/products/parqet-page.component.ts → apps/client/src/app/pages/personal-finance-tools/products/parqet-page.component.ts

0
apps/client/src/app/pages/alternatives/products/simple-portfolio-page.component.ts → apps/client/src/app/pages/personal-finance-tools/products/simple-portfolio-page.component.ts

0
apps/client/src/app/pages/alternatives/products/utluna-page.component.ts → apps/client/src/app/pages/personal-finance-tools/products/utluna-page.component.ts

0
apps/client/src/app/pages/alternatives/products/yeekatee-page.component.ts → apps/client/src/app/pages/personal-finance-tools/products/yeekatee-page.component.ts

54
apps/client/src/assets/sitemap.xml

@ -83,105 +83,105 @@
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/alternatives/open-source-alternative-to-altoo</loc> <loc>https://ghostfol.io/en/blog</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/alternatives/open-source-alternative-to-getquin</loc> <loc>https://ghostfol.io/en/blog/2021/07/hello-ghostfolio</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/alternatives/open-source-alternative-to-kubera</loc> <loc>https://ghostfol.io/en/blog/2022/01/ghostfolio-first-months-in-open-source</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/alternatives/open-source-alternative-to-maybe-finance</loc> <loc>https://ghostfol.io/en/blog/2022/07/ghostfolio-meets-internet-identity</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/alternatives/open-source-alternative-to-parqet</loc> <loc>https://ghostfol.io/en/blog/2022/07/how-do-i-get-my-finances-in-order</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/alternatives/open-source-alternative-to-simple-portfolio</loc> <loc>https://ghostfol.io/en/blog/2022/08/500-stars-on-github</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/alternatives/open-source-alternative-to-utluna</loc> <loc>https://ghostfol.io/en/blog/2022/10/hacktoberfest-2022</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/alternatives/open-source-alternative-to-yeekatee</loc> <loc>https://ghostfol.io/en/blog/2022/11/black-friday-2022</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/blog</loc> <loc>https://ghostfol.io/en/blog/2022/12/the-importance-of-tracking-your-personal-finances</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/blog/2021/07/hello-ghostfolio</loc> <loc>https://ghostfol.io/en/blog/2023/02/ghostfolio-meets-umbrel</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/blog/2022/01/ghostfolio-first-months-in-open-source</loc> <loc>https://ghostfol.io/en/blog/2023/03/ghostfolio-reaches-1000-stars-on-github</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/blog/2022/07/ghostfolio-meets-internet-identity</loc> <loc>https://ghostfol.io/en/blog/2023/05/unlock-your-financial-potential-with-ghostfolio</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/blog/2022/07/how-do-i-get-my-finances-in-order</loc> <loc>https://ghostfol.io/en/blog/2023/07/exploring-the-path-to-fire</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/blog/2022/08/500-stars-on-github</loc> <loc>https://ghostfol.io/en/faq</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/blog/2022/10/hacktoberfest-2022</loc> <loc>https://ghostfol.io/en/features</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/blog/2022/11/black-friday-2022</loc> <loc>https://ghostfol.io/en/markets</loc>
<changefreq>daily</changefreq>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/blog/2022/12/the-importance-of-tracking-your-personal-finances</loc> <loc>https://ghostfol.io/en/open</loc>
<changefreq>daily</changefreq>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/blog/2023/02/ghostfolio-meets-umbrel</loc> <loc>https://ghostfol.io/en/personal-finance-tools/open-source-alternative-to-altoo</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/blog/2023/03/ghostfolio-reaches-1000-stars-on-github</loc> <loc>https://ghostfol.io/en/personal-finance-tools/open-source-alternative-to-getquin</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/blog/2023/05/unlock-your-financial-potential-with-ghostfolio</loc> <loc>https://ghostfol.io/en/personal-finance-tools/open-source-alternative-to-kubera</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/blog/2023/07/exploring-the-path-to-fire</loc> <loc>https://ghostfol.io/en/personal-finance-tools/open-source-alternative-to-maybe-finance</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/faq</loc> <loc>https://ghostfol.io/en/personal-finance-tools/open-source-alternative-to-parqet</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/features</loc> <loc>https://ghostfol.io/en/personal-finance-tools/open-source-alternative-to-simple-portfolio</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/markets</loc> <loc>https://ghostfol.io/en/personal-finance-tools/open-source-alternative-to-utluna</loc>
<changefreq>daily</changefreq>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>
<loc>https://ghostfol.io/en/open</loc> <loc>https://ghostfol.io/en/personal-finance-tools/open-source-alternative-to-yeekatee</loc>
<changefreq>daily</changefreq>
<lastmod>2023-07-01T00:00:00+00:00</lastmod> <lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url> </url>
<url> <url>

Loading…
Cancel
Save