diff --git a/CHANGELOG.md b/CHANGELOG.md index 6873d9c6..84c9e486 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Improved the content of the pricing page - Changed the `auth` endpoint of the login with _Security Token_ from `GET` to `POST` - Changed the `auth` endpoint of the _Internet Identity_ login provider from `GET` to `POST` +- Migrated the style of the `libs` components to `@angular/material` `15` (mdc) + - `ActivitiesFilterComponent` + - `ActivitiesTableComponent` + - `BenchmarkComponent` + - `HoldingsTableComponent` - Upgraded `angular` from version `15.1.5` to `15.2.5` - Upgraded `Nx` from version `15.7.2` to `15.9.2` diff --git a/apps/client/src/styles.scss b/apps/client/src/styles.scss index df4c9f91..a0ba70d0 100644 --- a/apps/client/src/styles.scss +++ b/apps/client/src/styles.scss @@ -267,6 +267,7 @@ body { } } + .mat-mdc-paginator, .mat-paginator { background-color: rgba(var(--palette-foreground-base-dark), 0.02); } @@ -444,9 +445,11 @@ ngx-skeleton-loader { } } +.mat-mdc-paginator, .mat-paginator { background-color: rgba(var(--palette-foreground-base-light), 0.02); + .mat-mdc-paginator-page-size, .mat-paginator-page-size { display: none; } diff --git a/apps/client/src/styles/table.scss b/apps/client/src/styles/table.scss index 8131c3da..f3e60fe1 100644 --- a/apps/client/src/styles/table.scss +++ b/apps/client/src/styles/table.scss @@ -9,6 +9,20 @@ } } + .mat-mdc-row { + &:nth-child(even) { + background-color: rgba(var(--palette-foreground-base), 0.02); + } + + &:hover { + background-color: rgba(var(--palette-foreground-base), 0.05) !important; + } + + .mat-mdc-cell { + background: none; + } + } + .mat-row { &:nth-child(even) { background-color: rgba(var(--palette-foreground-base), 0.02); @@ -20,6 +34,23 @@ } @if $darkTheme { + .mat-mdc-row { + &:nth-child(even) { + background-color: rgba(var(--palette-foreground-base-dark), 0.02); + } + + &:hover { + background-color: rgba( + var(--palette-foreground-base-dark), + 0.05 + ) !important; + } + + .mat-mdc-cell { + background: none; + } + } + .mat-row { &:nth-child(even) { background-color: rgba(var(--palette-foreground-base-dark), 0.02); diff --git a/libs/ui/src/lib/activities-filter/activities-filter.component.html b/libs/ui/src/lib/activities-filter/activities-filter.component.html index 1ade36db..56540c5e 100644 --- a/libs/ui/src/lib/activities-filter/activities-filter.component.html +++ b/libs/ui/src/lib/activities-filter/activities-filter.component.html @@ -1,7 +1,9 @@ - - - + + + + {{ filter.label | gfSymbol }} - - + + - + - + > + + diff --git a/libs/ui/src/lib/activities-filter/activities-filter.component.scss b/libs/ui/src/lib/activities-filter/activities-filter.component.scss index c0d47472..7d0649bf 100644 --- a/libs/ui/src/lib/activities-filter/activities-filter.component.scss +++ b/libs/ui/src/lib/activities-filter/activities-filter.component.scss @@ -4,30 +4,26 @@ display: block; ::ng-deep { - .mat-form-field-infix { - border-top: 0 solid transparent !important; - } - - .mat-spinner { + .mat-mdc-progress-spinner { circle { stroke: rgba(var(--dark-dividers)); } } } - .mat-chip { + .mat-mdc-chip { cursor: pointer; min-height: 1.5rem !important; } } :host-context(.is-dark-theme) { - .mat-form-field { + .mat-mdc-form-field { color: rgba(var(--light-primary-text)); } ::ng-deep { - .mat-spinner { + .mat-mdc-progress-spinner { circle { stroke: rgba(var(--light-dividers)); } diff --git a/libs/ui/src/lib/activities-filter/activities-filter.component.ts b/libs/ui/src/lib/activities-filter/activities-filter.component.ts index 1073cd75..de7318f8 100644 --- a/libs/ui/src/lib/activities-filter/activities-filter.component.ts +++ b/libs/ui/src/lib/activities-filter/activities-filter.component.ts @@ -13,10 +13,10 @@ import { } from '@angular/core'; import { FormControl } from '@angular/forms'; import { - MatLegacyAutocomplete as MatAutocomplete, - MatLegacyAutocompleteSelectedEvent as MatAutocompleteSelectedEvent -} from '@angular/material/legacy-autocomplete'; -import { MatLegacyChipInputEvent as MatChipInputEvent } from '@angular/material/legacy-chips'; + MatAutocomplete, + MatAutocompleteSelectedEvent +} from '@angular/material/autocomplete'; +import { MatChipInputEvent } from '@angular/material/chips'; import { Filter, FilterGroup } from '@ghostfolio/common/interfaces'; import { translate } from '@ghostfolio/ui/i18n'; import { groupBy } from 'lodash'; diff --git a/libs/ui/src/lib/activities-filter/activities-filter.module.ts b/libs/ui/src/lib/activities-filter/activities-filter.module.ts index ec5f0096..b85bdcb8 100644 --- a/libs/ui/src/lib/activities-filter/activities-filter.module.ts +++ b/libs/ui/src/lib/activities-filter/activities-filter.module.ts @@ -1,10 +1,11 @@ import { CommonModule } from '@angular/common'; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; -import { MatLegacyAutocompleteModule as MatAutocompleteModule } from '@angular/material/legacy-autocomplete'; -import { MatLegacyChipsModule as MatChipsModule } from '@angular/material/legacy-chips'; -import { MatLegacyInputModule as MatInputModule } from '@angular/material/legacy-input'; -import { MatLegacyProgressSpinnerModule as MatProgressSpinnerModule } from '@angular/material/legacy-progress-spinner'; +import { MatAutocompleteModule } from '@angular/material/autocomplete'; +import { MatButtonModule } from '@angular/material/button'; +import { MatChipsModule } from '@angular/material/chips'; +import { MatInputModule } from '@angular/material/input'; +import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; import { GfSymbolModule } from '@ghostfolio/client/pipes/symbol/symbol.module'; import { ActivitiesFilterComponent } from './activities-filter.component'; @@ -16,6 +17,7 @@ import { ActivitiesFilterComponent } from './activities-filter.component'; CommonModule, GfSymbolModule, MatAutocompleteModule, + MatButtonModule, MatChipsModule, MatInputModule, MatProgressSpinnerModule, diff --git a/libs/ui/src/lib/activities-table/activities-table.component.scss b/libs/ui/src/lib/activities-table/activities-table.component.scss index 6321a26c..c88f45d9 100644 --- a/libs/ui/src/lib/activities-table/activities-table.component.scss +++ b/libs/ui/src/lib/activities-table/activities-table.component.scss @@ -6,9 +6,9 @@ .activities { overflow-x: auto; - .mat-table { + .mat-mdc-table { td { - &.mat-footer-cell { + &.mat-mdc-footer-cell { border-top: 1px solid rgba( var(--palette-foreground-divider), @@ -25,7 +25,7 @@ } } - .mat-row { + .mat-mdc-row { .type-badge { background-color: rgba(var(--palette-foreground-text), 0.05); border-radius: 1rem; @@ -57,9 +57,9 @@ } :host-context(.is-dark-theme) { - .mat-table { + .mat-mdc-table { td { - &.mat-footer-cell { + &.mat-mdc-footer-cell { border-top-color: rgba( var(--palette-foreground-divider-dark), var(--palette-foreground-divider-dark-alpha) diff --git a/libs/ui/src/lib/activities-table/activities-table.component.ts b/libs/ui/src/lib/activities-table/activities-table.component.ts index 01b1deb7..3d8273ca 100644 --- a/libs/ui/src/lib/activities-table/activities-table.component.ts +++ b/libs/ui/src/lib/activities-table/activities-table.component.ts @@ -10,12 +10,9 @@ import { Output, ViewChild } from '@angular/core'; -import { - MatLegacyPaginator as MatPaginator, - LegacyPageEvent as PageEvent -} from '@angular/material/legacy-paginator'; -import { MatLegacyTableDataSource as MatTableDataSource } from '@angular/material/legacy-table'; +import { MatPaginator, PageEvent } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; +import { MatTableDataSource } from '@angular/material/table'; import { Router } from '@angular/router'; import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface'; import { DEFAULT_PAGE_SIZE } from '@ghostfolio/common/config'; diff --git a/libs/ui/src/lib/activities-table/activities-table.module.ts b/libs/ui/src/lib/activities-table/activities-table.module.ts index ab7f53ba..4d595164 100644 --- a/libs/ui/src/lib/activities-table/activities-table.module.ts +++ b/libs/ui/src/lib/activities-table/activities-table.module.ts @@ -1,11 +1,11 @@ import { CommonModule } from '@angular/common'; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; -import { MatLegacyButtonModule as MatButtonModule } from '@angular/material/legacy-button'; -import { MatLegacyCheckboxModule as MatCheckboxModule } from '@angular/material/legacy-checkbox'; -import { MatLegacyMenuModule as MatMenuModule } from '@angular/material/legacy-menu'; -import { MatLegacyPaginatorModule as MatPaginatorModule } from '@angular/material/legacy-paginator'; -import { MatLegacyTableModule as MatTableModule } from '@angular/material/legacy-table'; +import { MatButtonModule } from '@angular/material/button'; +import { MatCheckboxModule } from '@angular/material/checkbox'; +import { MatMenuModule } from '@angular/material/menu'; +import { MatPaginatorModule } from '@angular/material/paginator'; import { MatSortModule } from '@angular/material/sort'; +import { MatTableModule } from '@angular/material/table'; import { RouterModule } from '@angular/router'; import { GfSymbolIconModule } from '@ghostfolio/client/components/symbol-icon/symbol-icon.module'; import { GfSymbolModule } from '@ghostfolio/client/pipes/symbol/symbol.module'; diff --git a/libs/ui/src/lib/benchmark/benchmark.module.ts b/libs/ui/src/lib/benchmark/benchmark.module.ts index a2ab6c11..1768aa39 100644 --- a/libs/ui/src/lib/benchmark/benchmark.module.ts +++ b/libs/ui/src/lib/benchmark/benchmark.module.ts @@ -1,6 +1,6 @@ import { CommonModule } from '@angular/common'; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; -import { MatLegacyTableModule as MatTableModule } from '@angular/material/legacy-table'; +import { MatTableModule } from '@angular/material/table'; import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; import { GfValueModule } from '../value'; diff --git a/libs/ui/src/lib/holdings-table/holdings-table.component.scss b/libs/ui/src/lib/holdings-table/holdings-table.component.scss index d7c67847..e96a64f6 100644 --- a/libs/ui/src/lib/holdings-table/holdings-table.component.scss +++ b/libs/ui/src/lib/holdings-table/holdings-table.component.scss @@ -6,7 +6,7 @@ .holdings { overflow-x: auto; - .mat-table { + .mat-mdc-table { th { ::ng-deep { .mat-sort-header-container { @@ -15,7 +15,7 @@ } } - .mat-row { + .mat-mdc-row { &.cursor-pointer { cursor: pointer; } diff --git a/libs/ui/src/lib/holdings-table/holdings-table.component.ts b/libs/ui/src/lib/holdings-table/holdings-table.component.ts index 51ef7139..a4aee771 100644 --- a/libs/ui/src/lib/holdings-table/holdings-table.component.ts +++ b/libs/ui/src/lib/holdings-table/holdings-table.component.ts @@ -9,9 +9,9 @@ import { Output, ViewChild } from '@angular/core'; -import { MatLegacyPaginator as MatPaginator } from '@angular/material/legacy-paginator'; -import { MatLegacyTableDataSource as MatTableDataSource } from '@angular/material/legacy-table'; +import { MatPaginator } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; +import { MatTableDataSource } from '@angular/material/table'; import { Router } from '@angular/router'; import { PortfolioPosition, UniqueAsset } from '@ghostfolio/common/interfaces'; import { AssetClass, Order as OrderModel } from '@prisma/client'; diff --git a/libs/ui/src/lib/holdings-table/holdings-table.module.ts b/libs/ui/src/lib/holdings-table/holdings-table.module.ts index 3fb9d493..507c4559 100644 --- a/libs/ui/src/lib/holdings-table/holdings-table.module.ts +++ b/libs/ui/src/lib/holdings-table/holdings-table.module.ts @@ -1,10 +1,10 @@ import { CommonModule } from '@angular/common'; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; -import { MatLegacyButtonModule as MatButtonModule } from '@angular/material/legacy-button'; -import { MatLegacyDialogModule as MatDialogModule } from '@angular/material/legacy-dialog'; -import { MatLegacyPaginatorModule as MatPaginatorModule } from '@angular/material/legacy-paginator'; -import { MatLegacyTableModule as MatTableModule } from '@angular/material/legacy-table'; +import { MatButtonModule } from '@angular/material/button'; +import { MatDialogModule } from '@angular/material/dialog'; +import { MatPaginatorModule } from '@angular/material/paginator'; import { MatSortModule } from '@angular/material/sort'; +import { MatTableModule } from '@angular/material/table'; import { RouterModule } from '@angular/router'; import { GfPositionDetailDialogModule } from '@ghostfolio/client/components/position/position-detail-dialog/position-detail-dialog.module'; import { GfSymbolIconModule } from '@ghostfolio/client/components/symbol-icon/symbol-icon.module'; diff --git a/libs/ui/src/lib/no-transactions-info/no-transactions-info.module.ts b/libs/ui/src/lib/no-transactions-info/no-transactions-info.module.ts index 14ff2141..85869e04 100644 --- a/libs/ui/src/lib/no-transactions-info/no-transactions-info.module.ts +++ b/libs/ui/src/lib/no-transactions-info/no-transactions-info.module.ts @@ -1,6 +1,6 @@ import { CommonModule } from '@angular/common'; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; -import { MatLegacyButtonModule as MatButtonModule } from '@angular/material/legacy-button'; +import { MatButtonModule } from '@angular/material/button'; import { RouterModule } from '@angular/router'; import { GfLogoModule } from '@ghostfolio/ui/logo';