diff --git a/CHANGELOG.md b/CHANGELOG.md index 24ae941d3..246ce7570 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Improved the validation of the manual currency for the activity fee and unit price +- Harmonized the axis style of charts +- Made setting `NODE_ENV: production` optional (to avoid `ENOENT: no such file or directory` errors on startup) - Removed the environment variable `ENABLE_FEATURE_CUSTOM_SYMBOLS` ## 1.242.0 - 2023-03-04 diff --git a/apps/api/src/app/frontend.middleware.ts b/apps/api/src/app/frontend.middleware.ts index a43afa3f9..ea860b0e1 100644 --- a/apps/api/src/app/frontend.middleware.ts +++ b/apps/api/src/app/frontend.middleware.ts @@ -1,11 +1,11 @@ import * as fs from 'fs'; import * as path from 'path'; +import { environment } from '@ghostfolio/api/environments/environment'; import { ConfigurationService } from '@ghostfolio/api/services/configuration.service'; import { DEFAULT_LANGUAGE_CODE } from '@ghostfolio/common/config'; import { DATE_FORMAT } from '@ghostfolio/common/helper'; import { Injectable, NestMiddleware } from '@nestjs/common'; -import { ConfigService } from '@nestjs/config'; import { format } from 'date-fns'; import { NextFunction, Request, Response } from 'express'; @@ -18,18 +18,10 @@ export class FrontendMiddleware implements NestMiddleware { public indexHtmlIt = ''; public indexHtmlNl = ''; public indexHtmlPt = ''; - public isProduction: boolean; public constructor( - private readonly configService: ConfigService, private readonly configurationService: ConfigurationService ) { - const NODE_ENV = - this.configService.get<'development' | 'production'>('NODE_ENV') ?? - 'development'; - - this.isProduction = NODE_ENV === 'production'; - try { this.indexHtmlDe = fs.readFileSync( this.getPathOfIndexHtmlFile('de'), @@ -100,7 +92,7 @@ export class FrontendMiddleware implements NestMiddleware { if ( request.path.startsWith('/api/') || this.isFileRequest(request.url) || - !this.isProduction + !environment.production ) { // Skip next(); diff --git a/apps/api/src/main.ts b/apps/api/src/main.ts index e53ade52c..6def14ad0 100644 --- a/apps/api/src/main.ts +++ b/apps/api/src/main.ts @@ -10,15 +10,10 @@ async function bootstrap() { const configApp = await NestFactory.create(AppModule); const configService = configApp.get(ConfigService); - const NODE_ENV = - configService.get<'development' | 'production'>('NODE_ENV') ?? - 'development'; - const app = await NestFactory.create(AppModule, { - logger: - NODE_ENV === 'production' - ? ['error', 'log', 'warn'] - : ['debug', 'error', 'log', 'verbose', 'warn'] + logger: environment.production + ? ['error', 'log', 'warn'] + : ['debug', 'error', 'log', 'verbose', 'warn'] }); app.enableCors(); app.enableVersioning({ diff --git a/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.html b/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.html index f7204d02f..dc64ed120 100644 --- a/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.html +++ b/apps/client/src/app/components/admin-market-data-detail/admin-market-data-detail.component.html @@ -1,6 +1,7 @@
{ + if ( + tick.value === 0 || + tick.value === scale.max || + tick.value === scale.min + ) { + return `rgba(${getTextColor(this.colorScheme)}, 0.1)`; + } + + return 'transparent'; + } }, position: 'right', ticks: { diff --git a/libs/ui/src/lib/line-chart/line-chart.component.ts b/libs/ui/src/lib/line-chart/line-chart.component.ts index 4be8fd12d..be43f9394 100644 --- a/libs/ui/src/lib/line-chart/line-chart.component.ts +++ b/libs/ui/src/lib/line-chart/line-chart.component.ts @@ -217,7 +217,6 @@ export class LineChartComponent implements AfterViewInit, OnChanges, OnDestroy { }, display: this.showXAxis, grid: { - color: `rgba(${getTextColor(this.colorScheme)}, 0.8)`, display: false }, time: { @@ -228,12 +227,23 @@ export class LineChartComponent implements AfterViewInit, OnChanges, OnDestroy { }, y: { border: { - color: `rgba(${getTextColor(this.colorScheme)}, 0.1)` + width: 0 }, display: this.showYAxis, grid: { - color: `rgba(${getTextColor(this.colorScheme)}, 0.8)`, - display: false + color: ({ scale, tick }) => { + if ( + tick.value === 0 || + tick.value === scale.max || + tick.value === scale.min || + tick.value === this.yMax || + tick.value === this.yMin + ) { + return `rgba(${getTextColor(this.colorScheme)}, 0.1)`; + } + + return 'transparent'; + } }, max: this.yMax, min: this.yMin,