diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 6c80c5cf..fd7a5fca 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -25,6 +25,11 @@ const routes: Routes = [ loadChildren: () => import('./views/dashboard/dashboard.module').then((m) => m.DashboardModule) }, + { + path: 'epu', + loadChildren: () => + import('./views/epu/epu.module').then((m) => m.EpuModule) + }, { path: 'theme', loadChildren: () => diff --git a/src/app/containers/default-layout/_nav.ts b/src/app/containers/default-layout/_nav.ts index c5be46c5..f1a9c112 100644 --- a/src/app/containers/default-layout/_nav.ts +++ b/src/app/containers/default-layout/_nav.ts @@ -1,6 +1,15 @@ import { INavData } from '@coreui/angular'; export const navItems: INavData[] = [ + { + name: 'EPU', + url: '/epu', + iconComponent: { name: 'cil-speedometer' }, + badge: { + color: 'info', + text: 'NEW' + } + }, { name: 'Dashboard', url: '/dashboard', diff --git a/src/app/containers/default-layout/default-header/default-header.component.html b/src/app/containers/default-layout/default-header/default-header.component.html index 221f8c2f..5ca3fe97 100644 --- a/src/app/containers/default-layout/default-header/default-header.component.html +++ b/src/app/containers/default-layout/default-header/default-header.component.html @@ -12,6 +12,14 @@ size="lg" > + +

+ ПТК СТАТУС +

+
+ + + @@ -50,10 +59,15 @@ - + + + + + diff --git a/src/app/containers/default-layout/default-header/default-header.component.scss b/src/app/containers/default-layout/default-header/default-header.component.scss index e69de29b..b4e67d76 100644 --- a/src/app/containers/default-layout/default-header/default-header.component.scss +++ b/src/app/containers/default-layout/default-header/default-header.component.scss @@ -0,0 +1,11 @@ +:host{ + .ps-1{ + color: #ebedef; + } + .d-none{ + color: #ebedef; + } + .icon{ + color: #ebedef; + } +} diff --git a/src/app/containers/default-layout/default-header/default-header.component.ts b/src/app/containers/default-layout/default-header/default-header.component.ts index 5e9e6def..3d3ac079 100644 --- a/src/app/containers/default-layout/default-header/default-header.component.ts +++ b/src/app/containers/default-layout/default-header/default-header.component.ts @@ -6,6 +6,7 @@ import { ClassToggleService, HeaderComponent } from '@coreui/angular'; @Component({ selector: 'app-default-header', templateUrl: './default-header.component.html', + styleUrls: ['./default-header.component.scss'], }) export class DefaultHeaderComponent extends HeaderComponent { diff --git a/src/app/containers/default-layout/default-layout.component.html b/src/app/containers/default-layout/default-layout.component.html index 1907b1b4..514507aa 100644 --- a/src/app/containers/default-layout/default-layout.component.html +++ b/src/app/containers/default-layout/default-layout.component.html @@ -7,7 +7,7 @@ > + + + +

+ Traffic +

+
January - December 2021
+
+ + +
+ + + + + + + + + + +
+
+
+ + Main chart + +
+ + + +
Visits
+ 29.703 Users (40%) + + + +
+ +
Unique
+ 24.093 Users (20%) + + + +
+ +
Page views
+ 78.706 Views (60%) + + + +
+ +
New Users
+ 22.123 Users (80%) + + + +
+ +
Bounce Rate
+ Average Rate (40.15%) + + + +
+
+
+ + + + + + + + Traffic {{ "&" }} Sales + + + + + +
+
New Clients
+
9,123
+
+
+ +
+
+ Recurring Clients +
+
22,643
+
+
+
+ +
+ +
+
+ Monday +
+
+ + + + + + +
+
+
+
+ Tuesday +
+
+ + + + + + +
+
+
+
+ Wednesday +
+
+ + + + + + +
+
+
+
+ Thursday +
+
+ + + + + + +
+
+
+
+ Friday +
+
+ + + + + + +
+
+
+
+ Saturday +
+
+ + + + + + +
+
+
+
+ Sunday +
+
+ + + + + + +
+
+
+ +   + New clients +    +   + Recurring clients + +
+
+ + + + +
+
Page views
+
78,623
+
+
+ +
+
Organic
+
49,123
+
+
+
+ +
+ +
+
+ + Male + 43% +
+
+ + + +
+
+
+
+ + Female + 37% +
+
+ + + +
+
+ +
+
+ + Organic Search + + 191,235 (56%) + +
+
+ + + +
+
+
+
+ + Facebook + + 51,223 (15%) + +
+
+ + + +
+
+
+
+ + Twitter + + 37,564 (11%) + +
+
+ + + +
+
+
+
+ + LinkedIn + + 27,319 (8%) + +
+
+ + + +
+
+
+ +
+
+
+
+
+
+
+ + + + Users + + + + + + + + + + + + + + + + + + + + + + +
+ + UserCountryUsagePayment MethodActivity
+ + +
{{ user.name }}
+
+ {{ user.state }} | Registered: + {{ user.registered }} +
+
+ + +
+
+ {{ user.usage }}% +
+
+ + {{ user.period }} + +
+
+ + + +
+ + +
Last login
+ {{ user.activity }} +
+
+
+
+
diff --git a/src/app/views/epu/epu.component.scss b/src/app/views/epu/epu.component.scss new file mode 100644 index 00000000..3e08d939 --- /dev/null +++ b/src/app/views/epu/epu.component.scss @@ -0,0 +1,7 @@ +:host { + .legend { + small { + font-size: x-small; + } + } +} diff --git a/src/app/views/epu/epu.component.ts b/src/app/views/epu/epu.component.ts new file mode 100644 index 00000000..d388bd0b --- /dev/null +++ b/src/app/views/epu/epu.component.ts @@ -0,0 +1,127 @@ +import { Component, OnInit } from '@angular/core'; +import { UntypedFormControl, UntypedFormGroup } from '@angular/forms'; + +import { EpuChartsData, IChartProps } from './epu-charts-data'; + +interface IUser { + name: string; + state: string; + registered: string; + country: string; + usage: number; + period: string; + payment: string; + activity: string; + avatar: string; + status: string; + color: string; +} + +@Component({ + templateUrl: 'epu.component.html', + styleUrls: ['epu.component.scss'] +}) +export class EpuComponent implements OnInit { + constructor(private chartsData: EpuChartsData) { + } + + public users: IUser[] = [ + { + name: 'Yiorgos Avraamu', + state: 'New', + registered: 'Jan 1, 2021', + country: 'Us', + usage: 50, + period: 'Jun 11, 2021 - Jul 10, 2021', + payment: 'Mastercard', + activity: '10 sec ago', + avatar: './assets/img/avatars/1.jpg', + status: 'success', + color: 'success' + }, + { + name: 'Avram Tarasios', + state: 'Recurring ', + registered: 'Jan 1, 2021', + country: 'Br', + usage: 10, + period: 'Jun 11, 2021 - Jul 10, 2021', + payment: 'Visa', + activity: '5 minutes ago', + avatar: './assets/img/avatars/2.jpg', + status: 'danger', + color: 'info' + }, + { + name: 'Quintin Ed', + state: 'New', + registered: 'Jan 1, 2021', + country: 'In', + usage: 74, + period: 'Jun 11, 2021 - Jul 10, 2021', + payment: 'Stripe', + activity: '1 hour ago', + avatar: './assets/img/avatars/3.jpg', + status: 'warning', + color: 'warning' + }, + { + name: 'Enéas Kwadwo', + state: 'Sleep', + registered: 'Jan 1, 2021', + country: 'Fr', + usage: 98, + period: 'Jun 11, 2021 - Jul 10, 2021', + payment: 'Paypal', + activity: 'Last month', + avatar: './assets/img/avatars/4.jpg', + status: 'secondary', + color: 'danger' + }, + { + name: 'Agapetus Tadeáš', + state: 'New', + registered: 'Jan 1, 2021', + country: 'Es', + usage: 22, + period: 'Jun 11, 2021 - Jul 10, 2021', + payment: 'ApplePay', + activity: 'Last week', + avatar: './assets/img/avatars/5.jpg', + status: 'success', + color: 'primary' + }, + { + name: 'Friderik Dávid', + state: 'New', + registered: 'Jan 1, 2021', + country: 'Pl', + usage: 43, + period: 'Jun 11, 2021 - Jul 10, 2021', + payment: 'Amex', + activity: 'Yesterday', + avatar: './assets/img/avatars/6.jpg', + status: 'info', + color: 'dark' + } + ]; + public mainChart: IChartProps = {}; + public chart: Array = []; + public trafficRadioGroup = new UntypedFormGroup({ + trafficRadio: new UntypedFormControl('Month') + }); + + ngOnInit(): void { + this.initCharts(); + } + + initCharts(): void { + this.mainChart = this.chartsData.mainChart; + } + + setTrafficPeriod(value: string): void { + this.trafficRadioGroup.setValue({ trafficRadio: value }); + this.chartsData.initMainChart(value); + this.initCharts(); + } +} diff --git a/src/app/views/epu/epu.module.ts b/src/app/views/epu/epu.module.ts new file mode 100644 index 00000000..97cbf125 --- /dev/null +++ b/src/app/views/epu/epu.module.ts @@ -0,0 +1,48 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { ReactiveFormsModule } from '@angular/forms'; + +import { + AvatarModule, + ButtonGroupModule, + ButtonModule, + CardModule, + FormModule, + GridModule, + NavModule, + ProgressModule, + TableModule, + TabsModule +} from '@coreui/angular'; +import { IconModule } from '@coreui/icons-angular'; +import { ChartjsModule } from '@coreui/angular-chartjs'; + +import { EpuRoutingModule } from './epu-routing.module'; +import { EpuComponent } from './epu.component'; + +import { WidgetsModule } from '../widgets/widgets.module'; + +@NgModule({ + imports: [ + EpuRoutingModule, + CardModule, + NavModule, + IconModule, + TabsModule, + CommonModule, + GridModule, + ProgressModule, + ReactiveFormsModule, + ButtonModule, + FormModule, + ButtonModule, + ButtonGroupModule, + ChartjsModule, + AvatarModule, + TableModule, + WidgetsModule + ], + declarations: [EpuComponent] +}) +export class EpuModule { +} diff --git a/src/assets/img/brand/esil-logo.svg b/src/assets/img/brand/esil-logo.svg new file mode 100644 index 00000000..d3f2c8e8 --- /dev/null +++ b/src/assets/img/brand/esil-logo.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/assets/img/brand/esil-signet-logo.svg b/src/assets/img/brand/esil-signet-logo.svg new file mode 100644 index 00000000..998e5f09 --- /dev/null +++ b/src/assets/img/brand/esil-signet-logo.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/scss/_custom.scss b/src/scss/_custom.scss index 5a4593c0..d021627a 100644 --- a/src/scss/_custom.scss +++ b/src/scss/_custom.scss @@ -1,2 +1,4 @@ // Here you can add other styles - +.header{ + background-color: #313d52; +}