diff --git a/.DS_Store b/.DS_Store index 84a8090..fd257a6 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/angular.json b/angular.json index eedcb61..30d7834 100644 --- a/angular.json +++ b/angular.json @@ -112,6 +112,7 @@ } }, "cli": { + "analytics": "173eaed1-7bb5-40f9-98fd-6a7163045565", "schematicCollections": [ "@angular-eslint/schematics" ] diff --git a/package.json b/package.json index e290ca7..bc63ae1 100644 --- a/package.json +++ b/package.json @@ -13,10 +13,10 @@ "private": true, "dependencies": { "@angular/animations": "^14.2.1", + "@angular/cdk": "^14.2.1", "@angular/common": "^14.2.1", "@angular/compiler": "^14.2.1", "@angular/core": "^14.2.1", - "@angular/cdk": "^14.2.1", "@angular/flex-layout": "^14.0.0-beta.40", "@angular/forms": "^14.2.1", "@angular/material": "^14.2.1", diff --git a/src/.DS_Store b/src/.DS_Store index f609d3e..0b8a21b 100644 Binary files a/src/.DS_Store and b/src/.DS_Store differ diff --git a/src/app/.DS_Store b/src/app/.DS_Store index 294f89b..3974319 100644 Binary files a/src/app/.DS_Store and b/src/app/.DS_Store differ diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index ef223db..39e786f 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -13,16 +13,7 @@ const appRoutes: Routes = [ loadChildren: () => import('./features/dashboard/dashboard.module').then(m => m.DashboardModule), canActivate: [AuthGuard] }, - { - path: 'customers', - loadChildren: () => import('./features/customers/customers.module').then(m => m.CustomersModule), - canActivate: [AuthGuard] - }, - { - path: 'users', - loadChildren: () => import('./features/users/users.module').then(m => m.UsersModule), - canActivate: [AuthGuard] - }, + { path: 'account', loadChildren: () => import('./features/account/account.module').then(m => m.AccountModule), @@ -43,6 +34,18 @@ const appRoutes: Routes = [ loadChildren: () => import('./features/about/about.module').then(m => m.AboutModule), canActivate: [AuthGuard] }, + {path:'stock-market', + loadChildren:()=>import('./features/stok-market/stock-market').then(m=>m.StockMarketModule), + canActivate:[AuthGuard] +}, +{path:'currency-market', +loadChildren:()=>import('./features/cur-market/cur-market').then(m=>m.CurMarketModule), +canActivate:[AuthGuard] +}, +{path:'derivative', +loadChildren:()=>import('./features/derivatives/derivative').then(m=>m.DerivativeModule), +canActivate:[AuthGuard] +}, { path: '**', redirectTo: 'dashboard', diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 027530c..9c2f3aa 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -9,6 +9,7 @@ import { CustomMaterialModule } from './custom-material/custom-material.module'; import { AppRoutingModule } from './app-routing.module'; import { LoggerModule } from 'ngx-logger'; import { environment } from '../environments/environment'; +import { HttpClientModule } from '@angular/common/http'; @NgModule({ declarations: [ @@ -20,7 +21,9 @@ import { environment } from '../environments/environment'; CoreModule, SharedModule, CustomMaterialModule.forRoot(), + AppRoutingModule, + HttpClientModule, LoggerModule.forRoot({ serverLoggingUrl: `http://my-api/logs`, level: environment.logLevel, diff --git a/src/app/core/http/http.service.spec.ts b/src/app/core/http/http.service.spec.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/app/core/http/http.service.ts b/src/app/core/http/http.service.ts new file mode 100644 index 0000000..6aea469 --- /dev/null +++ b/src/app/core/http/http.service.ts @@ -0,0 +1,17 @@ +import { Injectable } from '@angular/core'; +import {HttpClient} from "@angular/common/http"; +import {catchError, map, Observable} from "rxjs"; +import {environment} from "../../../environments/environment"; + +@Injectable({ + providedIn: 'root' +}) +export class HttpService { + + constructor(private http: HttpClient) { } + + getData(){ + return this.http.get('http://192.168.4.18:8084/stock?vDateStart=20221030&vDateEnd=20221102') + } + +} diff --git a/src/app/core/services/auth.service.ts b/src/app/core/services/auth.service.ts index a26e264..0fb8416 100644 --- a/src/app/core/services/auth.service.ts +++ b/src/app/core/services/auth.service.ts @@ -27,11 +27,11 @@ export class AuthenticationService { this.localStorage.setItem('currentUser', JSON.stringify({ token: 'aisdnaksjdn,axmnczm', isAdmin: true, - email: 'john.doe@gmail.com', + email: 'roman@mail.ru', id: '12312323232', - alias: 'john.doe@gmail.com'.split('@')[0], + alias: 'roman@mail.ru'.split('@')[0], expiration: moment().add(1, 'days').toDate(), - fullName: 'John Doe' + fullName: 'Roman Dubrovskiy' })); return true; @@ -49,11 +49,11 @@ export class AuthenticationService { return { token: 'aisdnaksjdn,axmnczm', isAdmin: true, - email: 'john.doe@gmail.com', + email: 'roman@mail.ru', id: '12312323232', - alias: 'john.doe@gmail.com'.split('@')[0], + alias: 'roman@mail.ru'.split('@')[0], expiration: moment().add(1, 'days').toDate(), - fullName: 'John Doe' + fullName: 'Roman Dubrovskiy' }; } diff --git a/src/app/features/auth/auth-routing.module.ts b/src/app/features/auth/auth-routing.module.ts index 9a934db..b3b3698 100644 --- a/src/app/features/auth/auth-routing.module.ts +++ b/src/app/features/auth/auth-routing.module.ts @@ -1,5 +1,6 @@ import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; +import { LoginCreateComponent } from './login-create/login-create.component'; import { LoginComponent } from './login/login.component'; import { PasswordResetRequestComponent } from './password-reset-request/password-reset-request.component'; @@ -8,7 +9,8 @@ import { PasswordResetComponent } from './password-reset/password-reset.componen const routes: Routes = [ { path: 'login', component: LoginComponent }, { path: 'password-reset-request', component: PasswordResetRequestComponent }, - { path: 'password-reset', component: PasswordResetComponent } + { path: 'password-reset', component: PasswordResetComponent }, + { path: 'login-create', component: LoginCreateComponent } ]; @NgModule({ diff --git a/src/app/features/auth/auth.module.ts b/src/app/features/auth/auth.module.ts index 3ef111a..b886f1d 100644 --- a/src/app/features/auth/auth.module.ts +++ b/src/app/features/auth/auth.module.ts @@ -6,6 +6,7 @@ import { LoginComponent } from './login/login.component'; import { PasswordResetRequestComponent } from './password-reset-request/password-reset-request.component'; import { PasswordResetComponent } from './password-reset/password-reset.component'; import { SharedModule } from 'src/app/shared/shared.module'; +import { LoginCreateComponent } from './login-create/login-create.component'; @NgModule({ imports: [ @@ -13,6 +14,6 @@ import { SharedModule } from 'src/app/shared/shared.module'; SharedModule, AuthRoutingModule ], - declarations: [LoginComponent, PasswordResetRequestComponent, PasswordResetComponent] + declarations: [LoginComponent, PasswordResetRequestComponent, PasswordResetComponent,LoginCreateComponent] }) export class AuthModule { } diff --git a/src/app/features/auth/login-create/login-create.component.css b/src/app/features/auth/login-create/login-create.component.css new file mode 100644 index 0000000..a0d2ed6 --- /dev/null +++ b/src/app/features/auth/login-create/login-create.component.css @@ -0,0 +1,31 @@ +.a{ + background-color: white; + padding: 50px 0 50px 0; +}.bb{ + align-items: center; + display: flex; + justify-content: center; + padding-top: 100px; +padding-bottom: 100px; + +} +.d{ + flex-flow: column!important; +} +.c{ + color: #525252; +} + + .mat-card:not([class*=mat-elevation-z]) { + box-shadow: none!important + } +mat{ + background-color: green; +} +.mat-slide-toggle.mat-checked .mat-slide-toggle-bar { + background-color:none!important; +} +.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb { + background-color: + none !important; +} diff --git a/src/app/features/auth/login-create/login-create.component.html b/src/app/features/auth/login-create/login-create.component.html new file mode 100644 index 0000000..c07ff3b --- /dev/null +++ b/src/app/features/auth/login-create/login-create.component.html @@ -0,0 +1,70 @@ +
+ +
+
+ + Create an Account + + + Name + + + + Surname + + + + + Company + + Issuers + Users + Brokers + + + + Email + + + + Password + + + + +
+ Remember me + +
+ +
+
+ + + + + +
+
\ No newline at end of file diff --git a/src/app/features/auth/login-create/login-create.component.ts b/src/app/features/auth/login-create/login-create.component.ts new file mode 100644 index 0000000..c9a5725 --- /dev/null +++ b/src/app/features/auth/login-create/login-create.component.ts @@ -0,0 +1,35 @@ +import { Router } from '@angular/router'; +import { Component, OnInit } from '@angular/core'; +import { UntypedFormGroup, UntypedFormControl, Validators } from '@angular/forms'; +import { Title } from '@angular/platform-browser'; + +import { NotificationService } from 'src/app/core/services/notification.service'; +import { AuthenticationService } from 'src/app/core/services/auth.service'; + +@Component({ + selector: 'app-login-create', + templateUrl: './login-create.component.html', + styleUrls: ['./login-create.component.css'] +}) +export class LoginCreateComponent implements OnInit { +login() { +throw new Error('Method not implemented.'); +} + + + form!: UntypedFormGroup; + loading!: boolean; + + constructor( + private titleService: Title, + private router: Router) { } + + ngOnInit() { + this.titleService.setTitle('Admin-panel - Login create'); + + } + + cancel() { + this.router.navigate(['/']); + } +} diff --git a/src/app/features/auth/login/login.component.css b/src/app/features/auth/login/login.component.css index e69de29..a0d2ed6 100644 --- a/src/app/features/auth/login/login.component.css +++ b/src/app/features/auth/login/login.component.css @@ -0,0 +1,31 @@ +.a{ + background-color: white; + padding: 50px 0 50px 0; +}.bb{ + align-items: center; + display: flex; + justify-content: center; + padding-top: 100px; +padding-bottom: 100px; + +} +.d{ + flex-flow: column!important; +} +.c{ + color: #525252; +} + + .mat-card:not([class*=mat-elevation-z]) { + box-shadow: none!important + } +mat{ + background-color: green; +} +.mat-slide-toggle.mat-checked .mat-slide-toggle-bar { + background-color:none!important; +} +.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb { + background-color: + none !important; +} diff --git a/src/app/features/auth/login/login.component.html b/src/app/features/auth/login/login.component.html index 29058af..75a5f3c 100644 --- a/src/app/features/auth/login/login.component.html +++ b/src/app/features/auth/login/login.component.html @@ -1,7 +1,7 @@ -
+ +
+ +
+
+ + Login to your Account + + + + + + + + Please enter a valid email address + + + Email is + required + + + + + + + + Password is + required + + + +
+ Remember me + +
+ +
+ +
+ +
+ Not Registered Yet? + +
+ + + + +
\ No newline at end of file diff --git a/src/app/features/auth/login/login.component.ts b/src/app/features/auth/login/login.component.ts index d68874b..3e725a7 100644 --- a/src/app/features/auth/login/login.component.ts +++ b/src/app/features/auth/login/login.component.ts @@ -22,7 +22,7 @@ export class LoginComponent implements OnInit { } ngOnInit() { - this.titleService.setTitle('angular-material-template - Login'); + this.titleService.setTitle('Admin-panel - Login'); this.authenticationService.logout(); this.createForm(); } @@ -64,4 +64,8 @@ export class LoginComponent implements OnInit { resetPassword() { this.router.navigate(['/auth/password-reset-request']); } + createAccount(){ + this.router.navigate(['/auth/login-create']) + } + } diff --git a/src/app/features/auth/password-reset-request/password-reset-request.component.ts b/src/app/features/auth/password-reset-request/password-reset-request.component.ts index bdf3568..8ac6127 100644 --- a/src/app/features/auth/password-reset-request/password-reset-request.component.ts +++ b/src/app/features/auth/password-reset-request/password-reset-request.component.ts @@ -23,7 +23,7 @@ export class PasswordResetRequestComponent implements OnInit { private router: Router) { } ngOnInit() { - this.titleService.setTitle('angular-material-template - Password Reset Request'); + this.titleService.setTitle('Admin-panel - Password Reset Request'); this.form = new UntypedFormGroup({ email: new UntypedFormControl('', [Validators.required, Validators.email]) diff --git a/src/app/features/auth/password-reset/password-reset.component.html b/src/app/features/auth/password-reset/password-reset.component.html index 4e95c66..072db7e 100644 --- a/src/app/features/auth/password-reset/password-reset.component.html +++ b/src/app/features/auth/password-reset/password-reset.component.html @@ -1,7 +1,7 @@
- angular-material-template + Admin-panel Reset your password diff --git a/src/app/features/auth/password-reset/password-reset.component.ts b/src/app/features/auth/password-reset/password-reset.component.ts index 3157e2e..96a7e0e 100644 --- a/src/app/features/auth/password-reset/password-reset.component.ts +++ b/src/app/features/auth/password-reset/password-reset.component.ts @@ -25,7 +25,7 @@ export class PasswordResetComponent implements OnInit { private notificationService: NotificationService, private titleService: Title) { - this.titleService.setTitle('angular-material-template - Password Reset'); + this.titleService.setTitle('admin-panel-template - Password Reset'); this.hideNewPassword = true; this.hideNewPasswordConfirm = true; } diff --git a/src/app/features/brokers/broker-list/broker-list.component.css b/src/app/features/brokers/broker-list/broker-list.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/features/brokers/broker-list/broker-list.component.html b/src/app/features/brokers/broker-list/broker-list.component.html new file mode 100644 index 0000000..bc35c76 --- /dev/null +++ b/src/app/features/brokers/broker-list/broker-list.component.html @@ -0,0 +1,51 @@ +
+
+ + + +

Брокеры +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
No. {{i+1}} Брокеры {{myData$.role}} Услуга + +
+
+ {{r}} +
+ + +
+ +
+
+ +
+
\ No newline at end of file diff --git a/src/app/features/brokers/broker-list/broker-list.component.ts b/src/app/features/brokers/broker-list/broker-list.component.ts new file mode 100644 index 0000000..b295456 --- /dev/null +++ b/src/app/features/brokers/broker-list/broker-list.component.ts @@ -0,0 +1,143 @@ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { MatSort } from '@angular/material/sort'; +import { MatTableDataSource } from '@angular/material/table'; +import { NGXLogger } from 'ngx-logger'; +import { Title } from '@angular/platform-browser'; +import { NotificationService } from 'src/app/core/services/notification.service'; +import { HttpService } from 'src/app/core/http/http.service'; + + + + +export interface PeriodicElement { + name: string; + position: number; + weight: number; + + } + + const ELEMENT_DATA: PeriodicElement[] = [ + + + ]; +export interface roles{ +roles:any +} +export interface test{ + id: number; + role: any; + service: any; + + +} +let i:number + +@Component({ + selector: 'app-broker-list', + templateUrl: './broker-list.component.html', + styleUrls: ['./broker-list.component.css'] +}) +export class BrokerListComponent implements OnInit { + displayedColumns: string[] = ['position', 'name', 'weight']; + dataSource: any; + + +myData:any +myData$:any[] = []; + constructor( + private logger: NGXLogger, + private notificationService: NotificationService, + private titleService: Title, + private myDataService:HttpService + ) { } + + ngOnInit() { + this.titleService.setTitle('angular-material-template - Customers'); + this.logger.log('Customers loaded'); + this.notificationService.openSnackBar('Customers loaded'); + + this.myDataService.getData('BROKER').subscribe((next: any) =>{ + //@ts-ignore + + const ob: roles = { + roles: undefined + }; + // for(let i=0; i<5;i++){ + // next.forEach((element: any)=> { + // console.log(element) + // // obj.role = next.roles[0] + + // obj.role = element.services[i].company; + + + + // const c: any[]=[] + // element.services[0].services.forEach((element2: any) =>{ + // console.log('---') + // console.log(element2.service_name ) + // b.push(element2.service_name); + // }) + + // obj.service = b + + + + // }); + + + + + + + // const a= this.myData$.push(obj) + // console.log(obj)} + + + + + + next.forEach((element:any) =>{ + //console.log(element) + element.services.forEach((el:any)=>{ + + //@ts-ignore + let obj: test = {} + let b: any[] = []; + obj.role = el.company + obj.id = el.id; + console.log(el.id) + //@ts-ignore + //b = []; + el.services.forEach((element2: any) =>{ + + // console.log(element2.service_name) + b.push(element2.service_name); + obj.service = []; + obj.service = b; + }) + + + + // console.log(obj) + this.myData$.push(obj) + }) + + + + }) + + + + console.log(this.myData$) + this.dataSource = new MatTableDataSource(this.myData$) + } + + + ); + + + + + } +} +; \ No newline at end of file diff --git a/src/app/features/brokers/broker-routing.module.ts b/src/app/features/brokers/broker-routing.module.ts new file mode 100644 index 0000000..18e9560 --- /dev/null +++ b/src/app/features/brokers/broker-routing.module.ts @@ -0,0 +1,21 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; +import { LayoutComponent } from 'src/app/shared/layout/layout.component'; + +import {BrokerListComponent } from './broker-list/broker-list.component'; + +const routes: Routes = [ + { + path: '', + component: LayoutComponent, + children: [ + { path: '', component: BrokerListComponent }, + ] + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class BrokerRoutingModule { } diff --git a/src/app/features/brokers/broker.module.ts b/src/app/features/brokers/broker.module.ts new file mode 100644 index 0000000..f47fd1e --- /dev/null +++ b/src/app/features/brokers/broker.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { BrokerRoutingModule } from './broker-routing.module'; +import { SharedModule } from 'src/app/shared/shared.module'; +import { BrokerListComponent } from './broker-list/broker-list.component'; + +@NgModule({ + imports: [ + CommonModule, + BrokerRoutingModule, + SharedModule + ], + declarations: [ + BrokerListComponent + ] +}) +export class BrokersModule { } diff --git a/src/app/features/cur-market/cur-market-list/cur-market-list.component.html b/src/app/features/cur-market/cur-market-list/cur-market-list.component.html new file mode 100644 index 0000000..db0ecef --- /dev/null +++ b/src/app/features/cur-market/cur-market-list/cur-market-list.component.html @@ -0,0 +1,101 @@ +
+
+

Информация по валютному рынку +

+ + + + Валюта + + + + + Вид счета + + + + + Данные по датам + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Код организации {{myData$.orgCode}} Дата {{myData$.dateTime}} Дебет {{myData$.debet}} + Кредит {{myData$.credit}} + Валюта + {{myData$.currency}} + Вид операции + {{myData$.operType}} + Вид счета + {{myData$.accountType}} +
+ +
+
+ +
+
\ No newline at end of file diff --git a/src/app/features/cur-market/cur-market-list/cur-market-list.component.scss b/src/app/features/cur-market/cur-market-list/cur-market-list.component.scss new file mode 100644 index 0000000..b9e2e8e --- /dev/null +++ b/src/app/features/cur-market/cur-market-list/cur-market-list.component.scss @@ -0,0 +1,22 @@ +::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline { + color: #038726; + margin: 0; + } + .search { + &__form { + display: flex; + flex-flow: row wrap; + justify-content: center; + + &_field { + width: 250px; + margin: 0 8px 16px 8px; + } + } + &__table { + margin: 0 18px 18px 18px; + } + } + h2{ + text-align: center; + } \ No newline at end of file diff --git a/src/app/features/cur-market/cur-market-list/cur-market-list.component.ts b/src/app/features/cur-market/cur-market-list/cur-market-list.component.ts new file mode 100644 index 0000000..2c27c2e --- /dev/null +++ b/src/app/features/cur-market/cur-market-list/cur-market-list.component.ts @@ -0,0 +1,73 @@ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { MatSort } from '@angular/material/sort'; +import { NGXLogger } from 'ngx-logger'; +import { Title } from '@angular/platform-browser'; +import { NotificationService } from 'src/app/core/services/notification.service'; +import { HttpService } from 'src/app/core/http/http.service'; +import { MatTableDataSource } from '@angular/material/table'; +import { HttpClient } from '@angular/common/http'; +import { AbstractControl, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; +import { DataSource } from '@angular/cdk/collections'; +@Component({ + selector: 'app-cur-market-list', + templateUrl: './cur-market-list.component.html', + styleUrls: ['./cur-market-list.component.scss'] +}) +export class CurMarketListComponent implements OnInit { + displayedColumns: string[] = ['code','date','debit','credit','currency','type-op','type_ac']; + dataSource = new MatTableDataSource(); +public search:FormGroup | undefined; +public date=''; +public currency=''; +public type_ac='' + + @ViewChild(MatSort, { static: true }) sort!: MatSort; +myData:any +myData$:any[] = []; + constructor( + private logger: NGXLogger, + private notificationService: NotificationService, + private titleService: Title, + private myDataService:HttpService, + private httpClient:HttpClient, + formBuilder: FormBuilder + ) { + + + } + filter(event: Event) { + const filter = (event.target as HTMLInputElement).value; + this.dataSource.filter = filter.trim().toLowerCase(); + } + ngOnInit() { + this.titleService.setTitle('draft - Issuers'); + this.logger.log('Issuers loaded'); + this.notificationService.openSnackBar('Issuers loaded'); + + this.httpClient.get('http://192.168.4.18:8084/currency?vDateStart=20221030&vDateEnd=20221102').subscribe((next: any) =>{ + //@ts-ignore + + + + next.forEach((element:any) =>{ + console.log(element) + this.myData$.push(element) + + }) + + console.log(this.myData$) + this.dataSource.data =this.myData$ + this.dataSource.sort = this.sort; + + + + } + + + ); + + +} + +} +; \ No newline at end of file diff --git a/src/app/features/cur-market/cur-market-routing.module.ts b/src/app/features/cur-market/cur-market-routing.module.ts new file mode 100644 index 0000000..7b7a65a --- /dev/null +++ b/src/app/features/cur-market/cur-market-routing.module.ts @@ -0,0 +1,21 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; +import { LayoutComponent } from 'src/app/shared/layout/layout.component'; + +import {CurMarketListComponent } from './cur-market-list/cur-market-list.component'; + +const routes: Routes = [ + { + path: '', + component: LayoutComponent, + children: [ + { path: '', component: CurMarketListComponent}, + ] + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class ViewExRoutingModule { } diff --git a/src/app/features/cur-market/cur-market.ts b/src/app/features/cur-market/cur-market.ts new file mode 100644 index 0000000..d883664 --- /dev/null +++ b/src/app/features/cur-market/cur-market.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import {ViewExRoutingModule } from './cur-market-routing.module'; +import { SharedModule } from 'src/app/shared/shared.module'; +import {CurMarketListComponent } from './cur-market-list/cur-market-list.component'; + +@NgModule({ + imports: [ + CommonModule, + ViewExRoutingModule, + SharedModule + ], + declarations: [ + CurMarketListComponent + ] +}) +export class CurMarketModule { } diff --git a/src/app/features/customers/customer-list/customer-list.component.html b/src/app/features/customers/customer-list/customer-list.component.html index b6039cf..6df46bb 100644 --- a/src/app/features/customers/customer-list/customer-list.component.html +++ b/src/app/features/customers/customer-list/customer-list.component.html @@ -3,38 +3,40 @@ -

Customers

- - - +

Эмитенты +

+
+ - + - - - + + + - - - - - - - - + + +
No. {{element.position}} {{i+1}} Name {{element.name}} Эмитенты {{myData$.role}} Weight {{element.weight}} Symbol {{element.symbol}} Услуга + +
+
+ {{r}} +
+ + +
-
diff --git a/src/app/features/customers/customer-list/customer-list.component.ts b/src/app/features/customers/customer-list/customer-list.component.ts index 80a00f9..11b2196 100644 --- a/src/app/features/customers/customer-list/customer-list.component.ts +++ b/src/app/features/customers/customer-list/customer-list.component.ts @@ -1,53 +1,78 @@ import { Component, OnInit, ViewChild } from '@angular/core'; import { MatSort } from '@angular/material/sort'; -import { MatTableDataSource } from '@angular/material/table'; import { NGXLogger } from 'ngx-logger'; import { Title } from '@angular/platform-browser'; import { NotificationService } from 'src/app/core/services/notification.service'; - -export interface PeriodicElement { - name: string; - position: number; - weight: number; - symbol: string; -} - -const ELEMENT_DATA: PeriodicElement[] = [ - { position: 1, name: 'Hydrogen', weight: 1.0079, symbol: 'H' }, - { position: 2, name: 'Helium', weight: 4.0026, symbol: 'He' }, - { position: 3, name: 'Lithium', weight: 6.941, symbol: 'Li' }, - { position: 4, name: 'Beryllium', weight: 9.0122, symbol: 'Be' }, - { position: 5, name: 'Boron', weight: 10.811, symbol: 'B' }, - { position: 6, name: 'Carbon', weight: 12.0107, symbol: 'C' }, - { position: 7, name: 'Nitrogen', weight: 14.0067, symbol: 'N' }, - { position: 8, name: 'Oxygen', weight: 15.9994, symbol: 'O' }, - { position: 9, name: 'Fluorine', weight: 18.9984, symbol: 'F' }, - { position: 10, name: 'Neon', weight: 20.1797, symbol: 'Ne' }, -]; - +import { HttpService } from 'src/app/core/http/http.service'; +import { MatTableDataSource } from '@angular/material/table'; @Component({ selector: 'app-customer-list', templateUrl: './customer-list.component.html', styleUrls: ['./customer-list.component.css'] }) export class CustomerListComponent implements OnInit { - displayedColumns: string[] = ['position', 'name', 'weight', 'symbol']; - dataSource = new MatTableDataSource(ELEMENT_DATA); - - @ViewChild(MatSort, { static: true }) - sort: MatSort = new MatSort; - + displayedColumns: string[] = ['position', 'name', 'weight']; + dataSource: any; + +myData:any +myData$:any[] = []; constructor( private logger: NGXLogger, private notificationService: NotificationService, - private titleService: Title + private titleService: Title, + private myDataService:HttpService ) { } - ngOnInit() { - this.titleService.setTitle('angular-material-template - Customers'); - this.logger.log('Customers loaded'); - this.notificationService.openSnackBar('Customers loaded'); - this.dataSource.sort = this.sort; + this.titleService.setTitle('draft - Issuers'); + this.logger.log('Issuers loaded'); + this.notificationService.openSnackBar('Issuers loaded'); + this.myDataService.getData('ISSUER').subscribe((next: any) =>{ + //@ts-ignore + + - } + next.forEach((element:any) =>{ + //console.log(element) + element.services.forEach((el:any)=>{ + + //@ts-ignore + let obj: test = {} + let b: any[] = []; + obj.role = el.company + obj.id = el.id; + console.log(el.id) + //@ts-ignore + //b = []; + el.services.forEach((element2: any) =>{ + + // console.log(element2.service_name) + b.push(element2.service_name); + obj.service = []; + obj.service = b; + }) + + + + // console.log(obj) + this.myData$.push(obj) + }) + + + + }) + + + + console.log(this.myData$) + this.dataSource = new MatTableDataSource(this.myData$) + } + + + ); + + + + +} } +; \ No newline at end of file diff --git a/src/app/features/dashboard/dashboard-home/dashboard-home.component.ts b/src/app/features/dashboard/dashboard-home/dashboard-home.component.ts index ff74518..8066b4e 100644 --- a/src/app/features/dashboard/dashboard-home/dashboard-home.component.ts +++ b/src/app/features/dashboard/dashboard-home/dashboard-home.component.ts @@ -20,7 +20,8 @@ export class DashboardHomeComponent implements OnInit { ngOnInit() { this.currentUser = this.authService.getCurrentUser(); - this.titleService.setTitle('angular-material-template - Dashboard'); + this.titleService.setTitle('Admin-template'); + this.logger.log('Dashboard loaded'); setTimeout(() => { diff --git a/src/app/features/derivatives/derivative-list/derivative-list.component.html b/src/app/features/derivatives/derivative-list/derivative-list.component.html new file mode 100644 index 0000000..49e61dd --- /dev/null +++ b/src/app/features/derivatives/derivative-list/derivative-list.component.html @@ -0,0 +1,102 @@ +
+
+

Информация по рынку деривативов +

+
+ + + Валюта + + + + + Вид счета + + + + + Данные по датам + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Код организации {{myData$.orgCode}} Дата {{myData$.dateTime}} Дебет {{myData$.debet}} + Кредит {{myData$.credit}} + Валюта + {{myData$.currency}} + Вид операции + {{myData$.operType}} + Вид счета + {{myData$.accountType}} +
+ +
+
+ +
+
\ No newline at end of file diff --git a/src/app/features/derivatives/derivative-list/derivative-list.component.scss b/src/app/features/derivatives/derivative-list/derivative-list.component.scss new file mode 100644 index 0000000..b9e2e8e --- /dev/null +++ b/src/app/features/derivatives/derivative-list/derivative-list.component.scss @@ -0,0 +1,22 @@ +::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline { + color: #038726; + margin: 0; + } + .search { + &__form { + display: flex; + flex-flow: row wrap; + justify-content: center; + + &_field { + width: 250px; + margin: 0 8px 16px 8px; + } + } + &__table { + margin: 0 18px 18px 18px; + } + } + h2{ + text-align: center; + } \ No newline at end of file diff --git a/src/app/features/derivatives/derivative-list/derivative-list.component.ts b/src/app/features/derivatives/derivative-list/derivative-list.component.ts new file mode 100644 index 0000000..239254c --- /dev/null +++ b/src/app/features/derivatives/derivative-list/derivative-list.component.ts @@ -0,0 +1,61 @@ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { MatSort } from '@angular/material/sort'; +import { NGXLogger } from 'ngx-logger'; +import { Title } from '@angular/platform-browser'; +import { NotificationService } from 'src/app/core/services/notification.service'; +import { HttpService } from 'src/app/core/http/http.service'; +import { MatTableDataSource } from '@angular/material/table'; +import { HttpClient } from '@angular/common/http'; +@Component({ + selector: 'app-derivative-list', + templateUrl: './derivative-list.component.html', + styleUrls: ['./derivative-list.component.scss'] +}) +export class DerivativeListComponent implements OnInit { + displayedColumns: string[] = ['code','date','debit','credit','currency','type-op','type-ac']; + currencyList: string[] = ['AUD', 'CAD', 'CHF','CNY','DEM','EUR','GBP','JPY','KZT','MYR','RUB','USD']; + dataSource: any; + filterValues={ + currency:[], + type:'' + + } + @ViewChild(MatSort, { static: true }) sort!: MatSort; +myData:any +myData$:any[] = []; + constructor( + private logger: NGXLogger, + private notificationService: NotificationService, + private titleService: Title, + private myDataService:HttpService, + private httpClient:HttpClient + ) { } + filter(event: Event) { + const filter = (event.target as HTMLInputElement).value; + this.dataSource.filter = filter.trim().toLowerCase(); + } + ngOnInit() { + this.titleService.setTitle('draft - Issuers'); + this.logger.log('Issuers loaded'); + this.notificationService.openSnackBar('Issuers loaded'); + this.httpClient.get('http://192.168.4.18:8084/currency?vDateStart=20221030&vDateEnd=20221102').subscribe((next: any) =>{ + //@ts-ignore + + + + next.forEach((element:any) =>{ + console.log(element) + this.myData$.push(element) + + }) + console.log(this.myData$) + this.dataSource = new MatTableDataSource(this.myData$) + this.dataSource.sort = this.sort; + + } + + ); + +} +} +; \ No newline at end of file diff --git a/src/app/features/derivatives/derivative-routing.module.ts b/src/app/features/derivatives/derivative-routing.module.ts new file mode 100644 index 0000000..5cb9b39 --- /dev/null +++ b/src/app/features/derivatives/derivative-routing.module.ts @@ -0,0 +1,21 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; +import { LayoutComponent } from 'src/app/shared/layout/layout.component'; + +import {DerivativeListComponent } from './derivative-list/derivative-list.component'; + +const routes: Routes = [ + { + path: '', + component: LayoutComponent, + children: [ + { path: '', component: DerivativeListComponent}, + ] + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class ViewExRoutingModule { } diff --git a/src/app/features/derivatives/derivative.ts b/src/app/features/derivatives/derivative.ts new file mode 100644 index 0000000..e16e5a6 --- /dev/null +++ b/src/app/features/derivatives/derivative.ts @@ -0,0 +1,19 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import {ViewExRoutingModule } from './derivative-routing.module'; +import { SharedModule } from 'src/app/shared/shared.module'; +import {DerivativeListComponent } from './derivative-list/derivative-list.component'; +import { MatSortModule } from '@angular/material/sort'; + +@NgModule({ + imports: [ + CommonModule, + ViewExRoutingModule, + SharedModule, + MatSortModule, + ], + declarations: [ + DerivativeListComponent + ] +}) +export class DerivativeModule { } diff --git a/src/app/features/stok-market/filter/filter.component.css b/src/app/features/stok-market/filter/filter.component.css new file mode 100644 index 0000000..4bb277f --- /dev/null +++ b/src/app/features/stok-market/filter/filter.component.css @@ -0,0 +1,42 @@ +.f-main{ + display: flex; +flex-direction: column; +align-items: flex-start; +padding: 0px; +gap: 24px; +height: 322px; +} +.second{ + display: flex; +flex-direction: column; +align-items: flex-start; +padding: 8px 12px; +gap: 4px; +width: 492px; +height: 66px; +background: #FFFFFF; +box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.05), 0px 1px 5px rgba(0, 0, 0, 0.15); +border-radius: 8px; +} +.container{ + display: flex; +flex-direction: row; +align-items: flex-start; +padding: 0px; +gap: 16px; + +width: 189px; +height: 29px; +}.card{ + box-sizing: border-box; +display: flex; +flex-direction: row; +align-items: center; +padding: 6px 12px; +gap: 12px; +height: 29px; +background: #FFFFFF; +border: 1px solid #D1D1D1; +box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1), 0px 1px 2px rgba(0, 0, 0, 0.06); +border-radius: 50px; +} diff --git a/src/app/features/stok-market/filter/filter.component.html b/src/app/features/stok-market/filter/filter.component.html new file mode 100644 index 0000000..05e3e05 --- /dev/null +++ b/src/app/features/stok-market/filter/filter.component.html @@ -0,0 +1,37 @@ +

Фильтр

+
+
+ + Enter a date range + + + + + MM/DD/YYYY – MM/DD/YYYY + + + +
+
+ Вид счета +
+
CLTI
+
KASI
+
OWNI
+
+
+
Валюта +
+
AUD
+
CAD
+
CHF
+
CNY
+
DEM
+
EUR
+
GBP
+
+
+
+
+ +
diff --git a/src/app/features/stok-market/filter/filter.component.ts b/src/app/features/stok-market/filter/filter.component.ts new file mode 100644 index 0000000..cb332ba --- /dev/null +++ b/src/app/features/stok-market/filter/filter.component.ts @@ -0,0 +1,40 @@ +import {Component, Injectable} from '@angular/core'; +import {MatDialog} from '@angular/material/dialog'; +import { MatFormField } from '@angular/material/form-field'; +import { + MatDateRangeSelectionStrategy, + DateRange, + MAT_DATE_RANGE_SELECTION_STRATEGY, + } from '@angular/material/datepicker'; +import { DateAdapter } from '@angular/material/core'; +@Injectable() +export class FiveDayRangeSelectionStrategy implements MatDateRangeSelectionStrategy { + constructor(private _dateAdapter: DateAdapter) {} + + selectionFinished(date: D | null): DateRange { + return this._createFiveDayRange(date); + } + + createPreview(activeDate: D | null): DateRange { + return this._createFiveDayRange(activeDate); + } + + private _createFiveDayRange(date: D | null): DateRange { + if (date) { + const start = this._dateAdapter.addCalendarDays(date, -2); + const end = this._dateAdapter.addCalendarDays(date, 2); + return new DateRange(start, end); + } + + return new DateRange(null, null); + } +} + +@Component({ + selector: 'filter.component', + templateUrl: 'filter.component.html', + styleUrls: ['./filter.component.css'] + }) + export class FilterComponent { +reportField: any; +} \ No newline at end of file diff --git a/src/app/features/stok-market/stock-market-list/stock-market-list.component.css b/src/app/features/stok-market/stock-market-list/stock-market-list.component.css new file mode 100644 index 0000000..a37cc36 --- /dev/null +++ b/src/app/features/stok-market/stock-market-list/stock-market-list.component.css @@ -0,0 +1,19 @@ +.bl{ + color: #1E212B; +} +.dialog{ +color:white; +gap: 8px; + +width: 161px; +height: 36px; + + +background: #12BA3E; +border-radius: 8px; +} +.c{ + display: flex; + flex-direction: row; + justify-content: space-between; +} \ No newline at end of file diff --git a/src/app/features/stok-market/stock-market-list/stock-market-list.component.html b/src/app/features/stok-market/stock-market-list/stock-market-list.component.html new file mode 100644 index 0000000..337f1f5 --- /dev/null +++ b/src/app/features/stok-market/stock-market-list/stock-market-list.component.html @@ -0,0 +1,73 @@ +
+
+
+

Информация по фондовому рынку + +

+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Код организации {{myData$.orgCode}} Дата {{myData$.dateTime}} Дебет {{myData$.debet}} + Кредит {{myData$.credit}} + Валюта + {{myData$.currency}} + Вид операции + {{myData$.operType}} + Вид счета + {{myData$.accountType}} +
+ +
+
+ +
+
\ No newline at end of file diff --git a/src/app/features/stok-market/stock-market-list/stock-market-list.component.ts b/src/app/features/stok-market/stock-market-list/stock-market-list.component.ts new file mode 100644 index 0000000..f6cb6eb --- /dev/null +++ b/src/app/features/stok-market/stock-market-list/stock-market-list.component.ts @@ -0,0 +1,64 @@ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { MatSort } from '@angular/material/sort'; +import { NGXLogger } from 'ngx-logger'; +import { Title } from '@angular/platform-browser'; +import { NotificationService } from 'src/app/core/services/notification.service'; +import { HttpService } from 'src/app/core/http/http.service'; +import { MatTableDataSource } from '@angular/material/table'; +import { HttpClient } from '@angular/common/http'; +import { MatDialog } from '@angular/material/dialog'; +import { FilterComponent } from '../filter/filter.component'; +@Component({ + selector: 'app-stock-market-list', + templateUrl: './stock-market-list.component.html', + styleUrls: ['./stock-market-list.component.css'] +}) +export class StockMarketListComponent implements OnInit { + displayedColumns: string[] = ['code','date','debit','credit','currency','type-op','type-ac']; + dataSource: any; + +myData:any +myData$:any[] = []; + + constructor( + private logger: NGXLogger, + private notificationService: NotificationService, + private titleService: Title, + private myDataService:HttpService, + private httpClient:HttpClient, + public dialog: MatDialog + ) { } + openDialog() { + this.dialog.open(FilterComponent); + } + ngOnInit() { + this.titleService.setTitle('draft - Issuers'); + this.logger.log('Issuers loaded'); + this.notificationService.openSnackBar('Issuers loaded'); + this.httpClient.get('http://192.168.4.18:8084/stock?vDateStart=20221030&vDateEnd=20221102').subscribe((next: any) =>{ + //@ts-ignore + + + + next.forEach((element:any) =>{ + console.log(element) + + + this.myData$.push(element) + + }) + + + + console.log(this.myData$) + this.dataSource = new MatTableDataSource(this.myData$) + } + + + ); + + + +} +} +; diff --git a/src/app/features/stok-market/stock-market-routing.module.ts b/src/app/features/stok-market/stock-market-routing.module.ts new file mode 100644 index 0000000..0fbbb56 --- /dev/null +++ b/src/app/features/stok-market/stock-market-routing.module.ts @@ -0,0 +1,21 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; +import { LayoutComponent } from 'src/app/shared/layout/layout.component'; + +import {StockMarketListComponent } from './stock-market-list/stock-market-list.component'; + +const routes: Routes = [ + { + path: '', + component: LayoutComponent, + children: [ + { path: '', component: StockMarketListComponent}, + ] + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class ViewExRoutingModule { } diff --git a/src/app/features/stok-market/stock-market.ts b/src/app/features/stok-market/stock-market.ts new file mode 100644 index 0000000..ed07e96 --- /dev/null +++ b/src/app/features/stok-market/stock-market.ts @@ -0,0 +1,29 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import {ViewExRoutingModule } from './stock-market-routing.module'; +import { SharedModule } from 'src/app/shared/shared.module'; +import { StockMarketListComponent } from './stock-market-list/stock-market-list.component'; +import { MatDatepickerModule } from '@angular/material/datepicker'; +import { MatFormFieldModule } from '@angular/material/form-field'; +import { MatInputModule } from '@angular/material/input'; +import { MatNativeDateModule } from '@angular/material/core'; +import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field' +import { FilterComponent } from './filter/filter.component'; + +@NgModule({ + imports: [ + CommonModule, + ViewExRoutingModule, + SharedModule, + MatDatepickerModule, + MatInputModule, + MatFormFieldModule, + MatNativeDateModule, + + ], + declarations: [ + StockMarketListComponent, + FilterComponent + ] +}) +export class StockMarketModule { } diff --git a/src/app/features/users/user-list/user-list.component.html b/src/app/features/users/user-list/user-list.component.html index 88cb815..0a88771 100644 --- a/src/app/features/users/user-list/user-list.component.html +++ b/src/app/features/users/user-list/user-list.component.html @@ -3,17 +3,42 @@ -

Users

+

Пользователи +

+ + + + + + + + + + + + + + + + + + + + + + + +
No. {{i+1}} Пользователи {{myData$.role}} Услуга + +
+
+ {{r}} +
-
-
- people_outline -

No users exist.

-
- -
+
+
diff --git a/src/app/features/users/user-list/user-list.component.ts b/src/app/features/users/user-list/user-list.component.ts index 3e0b1fb..fae6ccc 100644 --- a/src/app/features/users/user-list/user-list.component.ts +++ b/src/app/features/users/user-list/user-list.component.ts @@ -1,24 +1,83 @@ -import { Component, OnInit } from '@angular/core'; -import { Title } from '@angular/platform-browser'; - +import { Component, OnInit, ViewChild } from '@angular/core'; +import { MatSort } from '@angular/material/sort'; +import { MatTableDataSource } from '@angular/material/table'; import { NGXLogger } from 'ngx-logger'; +import { Title } from '@angular/platform-browser'; import { NotificationService } from 'src/app/core/services/notification.service'; - +import { HttpService } from 'src/app/core/http/http.service'; +import { tap } from 'rxjs'; +export interface test{ + role: string; + service: any; + id:number +} @Component({ selector: 'app-user-list', templateUrl: './user-list.component.html', styleUrls: ['./user-list.component.css'] }) export class UserListComponent implements OnInit { - + displayedColumns: string[] = ['position', 'name', 'weight']; + dataSource:any; +myData:any +myData$:any[] = []; constructor( private logger: NGXLogger, private notificationService: NotificationService, - private titleService: Title + private titleService: Title, + private myDataService:HttpService ) { } - ngOnInit() { - this.titleService.setTitle('angular-material-template - Users'); + this.titleService.setTitle('draft-User'); this.logger.log('Users loaded'); - } + this.notificationService.openSnackBar('Users loaded'); + this.myDataService.getData('KASE').subscribe((next: any) =>{ + //@ts-ignore + + + + next.forEach((element:any) =>{ + //console.log(element) + element.services.forEach((el:any)=>{ + + //@ts-ignore + let obj: test = {} + let b: any[] = []; + obj.role = el.company + obj.id = el.id; + console.log(el.id) + //@ts-ignore + //b = []; + el.services.forEach((element2: any) =>{ + + // console.log(element2.service_name) + b.push(element2.service_name); + obj.service = []; + obj.service = b; + }) + + + + // console.log(obj) + this.myData$.push(obj) + }) + + + + }) + + + + console.log(this.myData$) + this.dataSource = new MatTableDataSource(this.myData$) + } + + + ); + + + + +} } +; \ No newline at end of file diff --git a/src/app/shared/layout/assets/images/kase-logo.svg b/src/app/shared/layout/assets/images/kase-logo.svg new file mode 100644 index 0000000..9426de8 --- /dev/null +++ b/src/app/shared/layout/assets/images/kase-logo.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/app/shared/layout/layout.component.css b/src/app/shared/layout/layout.component.css index 970e18a..999fce2 100644 --- a/src/app/shared/layout/layout.component.css +++ b/src/app/shared/layout/layout.component.css @@ -4,11 +4,19 @@ .navbar { z-index: 2; -} - + background: rgb(255, 255, 255); + box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25); + height: 76px; +gap:12px;} .navbar-brand { text-decoration: none; - color: white; + + display:flex; + +} +.myImage{ + background-image: url("/assets/images/kase-logo.svg"); + } .navbar-container { @@ -20,7 +28,6 @@ left: 0; right: 0; } - .navbar-is-mobile .navbar { position: fixed; /* Make sure the toolbar will stay on top of the content as it scrolls past. */ @@ -31,6 +38,7 @@ /* When the sidenav is not fixed, stretch the sidenav container to fill the available space. This causes `` to act as our scrolling element for desktop layouts. */ flex: 1; + } .navbar-is-mobile .navbar-sidenav-container { @@ -42,7 +50,7 @@ /*Set sidenav width*/ mat-sidenav { - min-width: 180px !important; + max-width: 280px !important; border-right: 1px solid #eee; box-shadow: 6px 0 6px rgba(0, 0, 0, .1); /* background-color:rgb(63, 81, 181); */ @@ -56,9 +64,44 @@ mat-sidenav { a.mat-list-item.active { background: rgba(0, 0, 0, .04); + } #push-bottom { position: absolute; bottom: 0; +} +.header_inner-left { + display: flex; + gap: 16px; +} +.date{ + display:flex; + flex-direction: column; + font-size:13px +} + + h1{ + padding: 12px 0px 10px 10px + } + +.items{ + padding: 0px 10px 0px 16px; +} +.mat-h{ +padding-right: 20px; +} +.button{ + height:100% !important + ; + border-color: aqua; + padding: 15px 10px !important; +gap: 20px; +border-radius: 8px; +color: #343434; + +} + +.pl-18{ + padding-left: 18px; } \ No newline at end of file diff --git a/src/app/shared/layout/layout.component.html b/src/app/shared/layout/layout.component.html index a5cdab0..17ca3be 100644 --- a/src/app/shared/layout/layout.component.html +++ b/src/app/shared/layout/layout.component.html @@ -1,17 +1,22 @@