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: () =>
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',
loadChildren: () =>
@ -119,6 +112,13 @@ const routes: Routes = [
(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',
loadChildren: () =>

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

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

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

@ -17,7 +17,6 @@ export class AuthGuard implements CanActivate {
'/about',
'/about/changelog',
'/about/privacy-policy',
'/alternatives',
'/blog',
'/de/blog',
'/demo',
@ -27,6 +26,7 @@ export class AuthGuard implements CanActivate {
'/markets',
'/open',
'/p',
'/personal-finance-tools',
'/pricing',
'/register',
'/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>
<div class="mb-4 text-center">
<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>
</div>
<section class="mb-4">
@ -130,7 +131,7 @@
<span class="badge badge-light">App</span>
</li>
<li class="list-inline-item">
<span class="badge badge-light">{{ product2.name }}</span>
<span class="badge badge-light">{{ product1.name }}</span>
</li>
<li class="list-inline-item">
<span class="badge badge-light">{{ product2.name }}</span>
@ -141,12 +142,20 @@
<li class="list-inline-item">
<span class="badge badge-light">Personal Finance</span>
</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>
</section>
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a i18n [routerLink]="['/alternatives']">Alternatives</a>
<a i18n i18n [routerLink]="['/personal-finance-tools']"
>Personal Finance Tools</a
>
</li>
<li
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 { 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';
const routes: Routes = [
{
canActivate: [AuthGuard],
component: AlternativesPageComponent,
component: PersonalFinanceToolsPageComponent,
path: '',
title: $localize`Alternatives`
title: $localize`Personal Finance Tools`
},
...products
.filter(({ key }) => {
@ -31,4 +31,4 @@ const routes: Routes = [
imports: [RouterModule.forChild(routes)],
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({
host: { class: 'page' },
selector: 'gf-alternatives-page',
styleUrls: ['./alternatives-page.scss'],
templateUrl: './alternatives-page.html'
selector: 'gf-personal-finance-tools-page',
styleUrls: ['./personal-finance-tools-page.scss'],
templateUrl: './personal-finance-tools-page.html'
})
export class AlternativesPageComponent implements OnDestroy {
export class PersonalFinanceToolsPageComponent implements OnDestroy {
public products = products.filter(({ key }) => {
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">
<a
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="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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</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>
</url>
<url>
<loc>https://ghostfol.io/en/markets</loc>
<changefreq>daily</changefreq>
<loc>https://ghostfol.io/en/personal-finance-tools/open-source-alternative-to-utluna</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://ghostfol.io/en/open</loc>
<changefreq>daily</changefreq>
<loc>https://ghostfol.io/en/personal-finance-tools/open-source-alternative-to-yeekatee</loc>
<lastmod>2023-07-01T00:00:00+00:00</lastmod>
</url>
<url>

Loading…
Cancel
Save