diff --git a/src/app/pages/dashboard/dashboard.component.html b/src/app/pages/dashboard/dashboard.component.html index 81837b82..257fb80a 100644 --- a/src/app/pages/dashboard/dashboard.component.html +++ b/src/app/pages/dashboard/dashboard.component.html @@ -1,14 +1,25 @@ -
-
- -
- -
-
-
{{card.title}}
-
{{card.on ? 'ON' : 'OFF'}}
-
+ + +
+
+ + + + Content #1 + + + Content #2 + + + +
+ +
+ + + Electricity +
diff --git a/src/app/pages/dashboard/dashboard.component.scss b/src/app/pages/dashboard/dashboard.component.scss index f8e7094a..1e6ea84c 100644 --- a/src/app/pages/dashboard/dashboard.component.scss +++ b/src/app/pages/dashboard/dashboard.component.scss @@ -1,73 +1,7 @@ @import '~@nga/theme/styles_new/all'; @include nga-install-component() { - .status-cards { - nga-card { - flex-direction: row; - align-items: center; - height: 6rem; - box-shadow: 0 3px 0 0 #322f70, 4px 0 18px 0 rgba(19, 19, 94, 0.4); - overflow: visible; - cursor: pointer; + nga-card-header { - position: relative; - &::before { - position: absolute; - content: ''; - height: calc(100% + 3px); - width: 100%; - left: 0; - top: 0; - background: rgba(0, 0, 0, 0.1); - border-radius: nga-theme(card-border-radius); - } - - &.on { - box-shadow: inset 0 3px 9px 0 #322f70, 4px 0 18px 0 rgba(19, 19, 94, 0.4); - - .icon-container { - box-shadow: none; - &.success { - box-shadow: inset 0 5px 9px 0 #00967d, 0 4px 10px 0 rgba(33, 7, 77, 0.5), 0 2px 12px 0 rgba(35, 255, 181, 0.6); - } - } - &::before { - display: none; - } - } - } - - .icon-container { - font-size: 4em; - padding: 0.5rem 1.75rem; - color: nga-theme(card-foreground); - border-radius: nga-theme(card-border-radius) 0 0 nga-theme(card-border-radius); - - &.primary { - @include btn-hero-primary(); - } - &.success { - @include btn-hero-success(); - } - &.info { - @include btn-hero-info(); - } - &.warning { - @include btn-hero-warning(); - } - } - - .details { - margin-left: 1.5rem; - } - .title { - font-size: 1.5rem; - } - .status { - font-size: 1.125rem; - font-weight: nga-theme(font-weight-light); - text-transform: uppercase; - color: nga-theme(card-foreground-secondary); - } } } diff --git a/src/app/pages/dashboard/dashboard.component.ts b/src/app/pages/dashboard/dashboard.component.ts index ad0b7a0e..a4539cbc 100644 --- a/src/app/pages/dashboard/dashboard.component.ts +++ b/src/app/pages/dashboard/dashboard.component.ts @@ -6,10 +6,4 @@ import { Component } from '@angular/core'; templateUrl: './dashboard.component.html', }) export class DashboardComponent { - statusCards = [ - { title: 'Light', on: true, type: 'primary', icon: 'ion-ios-game-controller-b-outline' }, - { title: 'RollerShades', on: false, type: 'success', icon: 'ion-ios-game-controller-b-outline' }, - { title: 'Wireless Audio', on: true, type: 'info', icon: 'ion-ios-game-controller-b-outline' }, - { title: 'Coffee Maker', on: false, type: 'warning', icon: 'ion-ios-game-controller-b-outline' }, - ]; } diff --git a/src/app/pages/dashboard/dashboard.module.ts b/src/app/pages/dashboard/dashboard.module.ts new file mode 100644 index 00000000..7e7c1f7c --- /dev/null +++ b/src/app/pages/dashboard/dashboard.module.ts @@ -0,0 +1,18 @@ +import { NgModule } from '@angular/core'; +import { NgaTabsetModule } from '@nga/theme'; + +import { SharedModule } from '../../shared.module'; +import { DashboardComponent } from './dashboard.component'; +import { StatusCardsComponent } from './status-cards/status-cards.component'; + +@NgModule({ + imports: [ + SharedModule, + NgaTabsetModule, + ], + declarations: [ + DashboardComponent, + StatusCardsComponent, + ], +}) +export class DashboardModule { } diff --git a/src/app/pages/dashboard/status-cards/status-cards.component.scss b/src/app/pages/dashboard/status-cards/status-cards.component.scss new file mode 100644 index 00000000..0ec82433 --- /dev/null +++ b/src/app/pages/dashboard/status-cards/status-cards.component.scss @@ -0,0 +1,71 @@ +@import '~@nga/theme/styles_new/all'; + +@include nga-install-component() { + nga-card { + flex-direction: row; + align-items: center; + height: 6rem; + box-shadow: 0 3px 0 0 #322f70, 4px 0 18px 0 rgba(19, 19, 94, 0.4); + overflow: visible; + cursor: pointer; + + position: relative; + &::before { + position: absolute; + content: ''; + height: calc(100% + 3px); + width: 100%; + left: 0; + top: 0; + background: rgba(0, 0, 0, 0.1); + border-radius: nga-theme(card-border-radius); + } + + &.on { + box-shadow: inset 0 3px 9px 0 #322f70, 4px 0 18px 0 rgba(19, 19, 94, 0.4); + + .icon-container { + box-shadow: none; + &.success { + box-shadow: inset 0 5px 9px 0 #00967d, 0 4px 10px 0 rgba(33, 7, 77, 0.5), 0 2px 12px 0 rgba(35, 255, 181, 0.6); + } + } + &::before { + display: none; + } + } + } + + .icon-container { + font-size: 4em; + padding: 0.5rem 1.75rem; + color: nga-theme(card-foreground); + border-radius: nga-theme(card-border-radius) 0 0 nga-theme(card-border-radius); + + &.primary { + @include btn-hero-primary(); + } + &.success { + @include btn-hero-success(); + } + &.info { + @include btn-hero-info(); + } + &.warning { + @include btn-hero-warning(); + } + } + + .details { + margin-left: 1.5rem; + } + .title { + font-size: 1.5rem; + } + .status { + font-size: 1.125rem; + font-weight: nga-theme(font-weight-light); + text-transform: uppercase; + color: nga-theme(card-foreground-secondary); + } +} diff --git a/src/app/pages/dashboard/status-cards/status-cards.component.ts b/src/app/pages/dashboard/status-cards/status-cards.component.ts new file mode 100644 index 00000000..54db995e --- /dev/null +++ b/src/app/pages/dashboard/status-cards/status-cards.component.ts @@ -0,0 +1,30 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'ngx-status-cards', + styleUrls: ['./status-cards.component.scss'], + template: ` +
+
+ +
+ +
+ +
+
{{card.title}}
+
{{card.on ? 'ON' : 'OFF'}}
+
+
+
+
+ `, +}) +export class StatusCardsComponent { + statusCards = [ + { title: 'Light', on: true, type: 'primary', icon: 'ion-ios-game-controller-b-outline' }, + { title: 'RollerShades', on: false, type: 'success', icon: 'ion-ios-game-controller-b-outline' }, + { title: 'Wireless Audio', on: true, type: 'info', icon: 'ion-ios-game-controller-b-outline' }, + { title: 'Coffee Maker', on: false, type: 'warning', icon: 'ion-ios-game-controller-b-outline' }, + ]; +} diff --git a/src/app/pages/pages.module.ts b/src/app/pages/pages.module.ts index 91a99806..18d65c41 100644 --- a/src/app/pages/pages.module.ts +++ b/src/app/pages/pages.module.ts @@ -5,13 +5,12 @@ import { NgaMenuModule, NgaSidebarModule, NgaThemeModule } from '@nga/theme'; import { menuItems } from './pages-menu'; import { PagesComponent } from './pages.component'; -import { DashboardComponent } from './dashboard/dashboard.component'; +import { DashboardModule } from './dashboard/dashboard.module'; import { PagesRoutingModule } from './pages-routing.module'; import { ThemeModule } from '../@theme/theme.module'; const PAGES_COMPONENTS = [ PagesComponent, - DashboardComponent, ]; @NgModule({ @@ -22,6 +21,7 @@ const PAGES_COMPONENTS = [ NgaMenuModule.forRoot({ items: menuItems }), PagesRoutingModule, ThemeModule, + DashboardModule, ], declarations: [ ...PAGES_COMPONENTS,