From 386229d884b71a78198c3e1cfac2bddb2125f3dc Mon Sep 17 00:00:00 2001 From: Artem Dychenko <s192441@student.pg.edu.pl> Date: Mon, 24 Feb 2025 23:11:31 +0100 Subject: [PATCH] add expansion panel for statistics and charts --- .../dashboard/dashboard.component.html | 16 +++++++-- .../dashboard/dashboard.component.scss | 36 +++++++++++++++++++ .../dashboard/dashboard.component.ts | 15 +++++++- 3 files changed, 64 insertions(+), 3 deletions(-) diff --git a/src/app/components/dashboard/dashboard.component.html b/src/app/components/dashboard/dashboard.component.html index cb0f201..99042da 100644 --- a/src/app/components/dashboard/dashboard.component.html +++ b/src/app/components/dashboard/dashboard.component.html @@ -1,6 +1,18 @@ <app-page-wrapper> <div header>Monitoring and Analysis</div> - - Dashboard content goes here + <mat-accordion class="accordion__header" multi> + <mat-expansion-panel class="accordion__panel"> + <mat-expansion-panel-header class="accordion__panel-header"> + <mat-panel-title class="accordion__panel-title"> Statistics </mat-panel-title> + </mat-expansion-panel-header> + <p>Statistics info</p> + </mat-expansion-panel> + <mat-expansion-panel class="accordion__panel"> + <mat-expansion-panel-header class="accordion__panel-header"> + <mat-panel-title class="accordion__panel-title"> Charts </mat-panel-title> + </mat-expansion-panel-header> + <p>Charts info</p> + </mat-expansion-panel> + </mat-accordion> <p-skeleton height="10rem" width="100%" /> </app-page-wrapper> diff --git a/src/app/components/dashboard/dashboard.component.scss b/src/app/components/dashboard/dashboard.component.scss index 2995308..23599fd 100644 --- a/src/app/components/dashboard/dashboard.component.scss +++ b/src/app/components/dashboard/dashboard.component.scss @@ -1,4 +1,40 @@ +@use '../../../vars'; +@use 'sass:map'; + :host { height: 100%; width: 100%; + + .actions { + display: flex; + gap: map.get(vars.$spacing, 'md'); + } + + .accordion__panel { + border-radius: map.get(vars.$radius, 'xs'); + background-color: map.get(vars.$grey, 10); + padding: map.get(vars.$spacing, 'xs') map.get(vars.$spacing, 'xs'); + + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); + + border-bottom: 1px solid map.get(vars.$grey, 30); + + &:last-child { + border-bottom: none; + } + + &-header { + display: flex; + align-items: center; + justify-content: space-between; + transition: background-color 0.3s ease-in-out; + + &:hover { + background-color: map.get(vars.$grey, 30); + } + } + } + } + + diff --git a/src/app/components/dashboard/dashboard.component.ts b/src/app/components/dashboard/dashboard.component.ts index ad068b9..3357fa5 100644 --- a/src/app/components/dashboard/dashboard.component.ts +++ b/src/app/components/dashboard/dashboard.component.ts @@ -1,10 +1,23 @@ import { Component } from '@angular/core'; import { PageWrapperComponent } from '../page-wrapper/page-wrapper.component'; import { Skeleton } from 'primeng/skeleton'; +import { MatExpansionModule } from '@angular/material/expansion'; +import { + MatExpansionPanel, + MatExpansionPanelDescription, + MatExpansionPanelTitle, +} from '@angular/material/expansion'; @Component({ selector: 'app-dashboard', - imports: [PageWrapperComponent, Skeleton], + imports: [ + PageWrapperComponent, + Skeleton, + MatExpansionPanel, + MatExpansionPanelTitle, + MatExpansionPanelDescription, + MatExpansionModule, + ], templateUrl: './dashboard.component.html', styleUrl: './dashboard.component.scss', }) -- GitLab