diff --git a/apps/client/src/app/pages/account/account-page.module.ts b/apps/client/src/app/pages/account/account-page.module.ts
index 3c44a988f..324be3654 100644
--- a/apps/client/src/app/pages/account/account-page.module.ts
+++ b/apps/client/src/app/pages/account/account-page.module.ts
@@ -1,6 +1,7 @@
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
+import { MatButtonModule } from '@angular/material/button';
import { MatCardModule } from '@angular/material/card';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatSelectModule } from '@angular/material/select';
@@ -17,6 +18,7 @@ import { AccountPageComponent } from './account-page.component';
CommonModule,
FormsModule,
GfPortfolioAccessTableModule,
+ MatButtonModule,
MatCardModule,
MatFormFieldModule,
MatSelectModule,
diff --git a/apps/client/src/app/pages/admin/admin-page.component.ts b/apps/client/src/app/pages/admin/admin-page.component.ts
index 2a17a0eae..3cdb58877 100644
--- a/apps/client/src/app/pages/admin/admin-page.component.ts
+++ b/apps/client/src/app/pages/admin/admin-page.component.ts
@@ -5,7 +5,7 @@ import { DataService } from '@ghostfolio/client/services/data.service';
import { UserService } from '@ghostfolio/client/services/user/user.service';
import { DEFAULT_DATE_FORMAT } from '@ghostfolio/common/config';
import { AdminData, User } from '@ghostfolio/common/interfaces';
-import { formatDistanceToNowStrict, isValid, parseISO, sub } from 'date-fns';
+import { formatDistanceToNowStrict, isValid, parseISO } from 'date-fns';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
@@ -76,16 +76,11 @@ export class AdminPageComponent implements OnInit {
public formatDistanceToNow(aDateString: string) {
if (aDateString) {
- const distanceString = formatDistanceToNowStrict(
- sub(parseISO(aDateString), { seconds: 10 }),
- {
- addSuffix: true
- }
- );
+ const distanceString = formatDistanceToNowStrict(parseISO(aDateString), {
+ addSuffix: true
+ });
- return distanceString === 'less than a minute ago'
- ? 'just now'
- : distanceString;
+ return distanceString === '0 seconds ago' ? 'just now' : distanceString;
}
return '';
diff --git a/apps/client/src/app/pages/pricing/pricing-page.html b/apps/client/src/app/pages/pricing/pricing-page.html
index 1ade326bb..9ae8a579a 100644
--- a/apps/client/src/app/pages/pricing/pricing-page.html
+++ b/apps/client/src/app/pages/pricing/pricing-page.html
@@ -2,17 +2,21 @@
Pricing Plans
-
- Our official
- Ghostfolio cloud offering is the easiest way to get
- started. Due to the time it saves, this will be the best option for most
- people. The revenue is used for covering the hosting costs.
-
-
- If you prefer to run Ghostfolio on your own
- infrastructure, please find the source code and further instructions on
- GitHub.
-
+
+
+
+ Our official
+ Ghostfolio cloud offering is the easiest way to get
+ started. Due to the time it saves, this will be the best option for
+ most people. The revenue is used for covering the hosting costs.
+
+
+ If you prefer to run Ghostfolio on your own
+ infrastructure, please find the source code and further instructions
+ on GitHub.
+
+
+
diff --git a/apps/client/src/styles.scss b/apps/client/src/styles.scss
index 2497bcd87..b113b5779 100644
--- a/apps/client/src/styles.scss
+++ b/apps/client/src/styles.scss
@@ -126,14 +126,16 @@ ngx-skeleton-loader {
}
}
-.mat-card-header-text {
- margin: 0 !important;
+.mat-card {
+ &:not([class*='mat-elevation-z']) {
+ border: 1px solid
+ rgba(var(--dark-primary-text), var(--palette-foreground-divider-alpha));
+ box-shadow: none;
+ }
}
-.mat-card:not([class*='mat-elevation-z']) {
- border: 1px solid
- rgba(var(--dark-primary-text), var(--palette-foreground-divider-alpha));
- box-shadow: none;
+.mat-card-header-text {
+ margin: 0 !important;
}
.mat-row {