From ce966df569eff73f025fcd746750e94e3cd72a27 Mon Sep 17 00:00:00 2001
From: "Clayton, Brandon Scott" <bclayton@usgs.gov>
Date: Tue, 10 Dec 2024 21:11:38 +0000
Subject: [PATCH] Template

---
 package-lock.json                             | 16 ++---
 package.json                                  |  4 +-
 projects/nshmp-apps/src/app/app.routes.ts     | 27 +++++++++
 .../src/app/dashboard/app.component.scss      |  1 -
 .../src/app/designmaps/design-maps.routes.ts  |  3 +
 .../src/app/dev/dashboard/app.component.scss  |  1 -
 projects/nshmp-apps/src/app/dev/dev.routes.ts |  9 +++
 .../nshmp-apps/src/app/dev/gmm/gmm.routes.ts  |  3 +
 .../src/app/dev/hazard/hazard.routes.ts       |  3 +
 .../control-panel.component.html              |  1 -
 .../src/app/dev/math/math.routes.ts           |  3 +
 .../app/error-pages/404/404.component.spec.ts |  3 +-
 .../app/error-pages/410/410.component.spec.ts |  3 +-
 .../app/error-pages/500/500.component.spec.ts |  3 +-
 .../src/app/error-pages/error-pages.routes.ts |  9 +++
 projects/nshmp-apps/src/app/gmm/gmm.routes.ts |  9 +++
 .../event-parameters.component.html           |  2 +-
 .../control-panel.component.html              |  6 +-
 .../src/app/hazard/hazard.routes.ts           |  9 +++
 .../src/app/internal/aws/aws.routes.ts        | 12 ++++
 .../components/content/content.component.html |  1 -
 .../app/internal/dashboard/app.component.scss |  1 -
 .../src/app/internal/internal.routes.ts       |  3 +
 projects/nshmp-apps/src/app/ncm/ncm.routes.ts |  3 +
 .../control-panel.component.html              |  8 ---
 .../control-panel/control-panel.component.ts  |  2 -
 .../src/app/source/source.routes.ts           |  9 +++
 .../nshmp-apps/src/styles/_dashboards.scss    | 60 -------------------
 projects/nshmp-apps/src/styles/_forms.scss    |  3 +-
 .../nshmp-apps/src/styles/_scrolling.scss     | 22 ++++---
 projects/nshmp-apps/src/styles/styles.scss    | 13 +++-
 31 files changed, 147 insertions(+), 105 deletions(-)
 delete mode 100644 projects/nshmp-apps/src/styles/_dashboards.scss

diff --git a/package-lock.json b/package-lock.json
index 52b2f63e7..10f9760bd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -21,8 +21,8 @@
         "@asymmetrik/ngx-leaflet": "^18.0.1",
         "@compodoc/compodoc": "^1.1.26",
         "@ghsc/disagg-d3": "^0.13.0",
-        "@ghsc/nshmp-lib-ng": "^18.23.1",
-        "@ghsc/nshmp-template": "^18.2.0",
+        "@ghsc/nshmp-lib-ng": "^18.24.0",
+        "@ghsc/nshmp-template": "^18.3.0",
         "@ghsc/nshmp-utils-ts": "^3.12.1",
         "angular-plotly.js": "^6.0.0",
         "d3": "^7.9.0",
@@ -4632,9 +4632,9 @@
       }
     },
     "node_modules/@ghsc/nshmp-lib-ng": {
-      "version": "18.23.1",
-      "resolved": "https://code.usgs.gov/api/v4/projects/12416/packages/npm/@ghsc/nshmp-lib-ng/-/@ghsc/nshmp-lib-ng-18.23.1.tgz",
-      "integrity": "sha1-Tl0NKxnzEuNXYg52VYKCLgb5HUw=",
+      "version": "18.24.0",
+      "resolved": "https://code.usgs.gov/api/v4/projects/12416/packages/npm/@ghsc/nshmp-lib-ng/-/@ghsc/nshmp-lib-ng-18.24.0.tgz",
+      "integrity": "sha1-CZaWKhpn24v0dowD7jB6qb0eX7M=",
       "dependencies": {
         "tslib": "^2.3.0"
       },
@@ -4644,9 +4644,9 @@
       }
     },
     "node_modules/@ghsc/nshmp-template": {
-      "version": "18.2.0",
-      "resolved": "https://code.usgs.gov/api/v4/projects/1416/packages/npm/@ghsc/nshmp-template/-/@ghsc/nshmp-template-18.2.0.tgz",
-      "integrity": "sha1-iR13fpkP/V5I6xH2kWTlP8xRLXE=",
+      "version": "18.3.0",
+      "resolved": "https://code.usgs.gov/api/v4/projects/1416/packages/npm/@ghsc/nshmp-template/-/@ghsc/nshmp-template-18.3.0.tgz",
+      "integrity": "sha1-UIuGtvLUtgPgQ6gVr2Ko32QIJGM=",
       "dependencies": {
         "tslib": "^2.3.1"
       },
diff --git a/package.json b/package.json
index 3f7c8fe03..5f5509149 100644
--- a/package.json
+++ b/package.json
@@ -45,8 +45,8 @@
     "@asymmetrik/ngx-leaflet": "^18.0.1",
     "@compodoc/compodoc": "^1.1.26",
     "@ghsc/disagg-d3": "^0.13.0",
-    "@ghsc/nshmp-lib-ng": "^18.23.1",
-    "@ghsc/nshmp-template": "^18.2.0",
+    "@ghsc/nshmp-lib-ng": "^18.24.0",
+    "@ghsc/nshmp-template": "^18.3.0",
     "@ghsc/nshmp-utils-ts": "^3.12.1",
     "angular-plotly.js": "^6.0.0",
     "d3": "^7.9.0",
diff --git a/projects/nshmp-apps/src/app/app.routes.ts b/projects/nshmp-apps/src/app/app.routes.ts
index 005133679..8a399b38d 100644
--- a/projects/nshmp-apps/src/app/app.routes.ts
+++ b/projects/nshmp-apps/src/app/app.routes.ts
@@ -22,40 +22,64 @@ const routes: Routes = [
   // NCM applications
   {
     children: ncmRoutes(),
+    data: {
+      label: 'NCM Dashboard',
+    },
     path: 'ncm',
   },
   // Design maps applications
   {
     children: designMapsRoutes(),
+    data: {
+      label: 'Design Maps Dashboard',
+    },
     path: 'designmaps',
   },
   // Development applications
   {
     children: devRoutes(),
+    data: {
+      label: 'Dev Dashboard',
+    },
     path: 'dev',
   },
   // Ground motion model applications
   {
     children: gmmRoutes(),
+    data: {
+      label: 'GMM Dashboard',
+    },
     path: 'gmm',
   },
   // Hazard applications
   {
     children: hazardRoutes(),
+    data: {
+      label: 'Hazard Dashboard',
+    },
     path: 'hazard',
   },
   // Internal applications
   {
     children: internalRoutes(),
+    data: {
+      label: 'Internal Dashboard',
+    },
     path: 'internal',
   },
   // Source model applications
   {
     children: sourceRoutes(),
+    data: {
+      label: 'Source Model Dashboard',
+    },
     path: 'source',
   },
   // Services application
   {
+    data: {
+      label: 'Services',
+    },
     loadComponent: () =>
       import('./services/app.component').then(com => com.AppComponent),
     path: 'services',
@@ -63,6 +87,9 @@ const routes: Routes = [
   // Error pages for reverse proxy errors
   {
     children: errorRoutes(),
+    data: {
+      label: 'Error Page',
+    },
     path: 'error-pages',
   },
   // Catch all
diff --git a/projects/nshmp-apps/src/app/dashboard/app.component.scss b/projects/nshmp-apps/src/app/dashboard/app.component.scss
index 0f4dc4d31..e69de29bb 100644
--- a/projects/nshmp-apps/src/app/dashboard/app.component.scss
+++ b/projects/nshmp-apps/src/app/dashboard/app.component.scss
@@ -1 +0,0 @@
-@import '../../styles/dashboards';
diff --git a/projects/nshmp-apps/src/app/designmaps/design-maps.routes.ts b/projects/nshmp-apps/src/app/designmaps/design-maps.routes.ts
index ab715b048..2db029a41 100644
--- a/projects/nshmp-apps/src/app/designmaps/design-maps.routes.ts
+++ b/projects/nshmp-apps/src/app/designmaps/design-maps.routes.ts
@@ -7,6 +7,9 @@ const routes: Routes = [
     path: '',
   },
   {
+    data: {
+      label: 'RTGM',
+    },
     loadComponent: () =>
       import('./rtgm/app.component').then(com => com.AppComponent),
     path: 'rtgm',
diff --git a/projects/nshmp-apps/src/app/dev/dashboard/app.component.scss b/projects/nshmp-apps/src/app/dev/dashboard/app.component.scss
index 9725bdd50..e69de29bb 100644
--- a/projects/nshmp-apps/src/app/dev/dashboard/app.component.scss
+++ b/projects/nshmp-apps/src/app/dev/dashboard/app.component.scss
@@ -1 +0,0 @@
-@import '../../../styles/dashboards';
diff --git a/projects/nshmp-apps/src/app/dev/dev.routes.ts b/projects/nshmp-apps/src/app/dev/dev.routes.ts
index 64f3fdc46..5c6129ac4 100644
--- a/projects/nshmp-apps/src/app/dev/dev.routes.ts
+++ b/projects/nshmp-apps/src/app/dev/dev.routes.ts
@@ -18,16 +18,25 @@ const routes: Routes = [
   // Math applications
   {
     children: devMathRoutes(),
+    data: {
+      label: 'Math Dashboard',
+    },
     path: 'math',
   },
   // Hazard applications
   {
     children: devHazardRoutes(),
+    data: {
+      label: 'Hazard Dashboard',
+    },
     path: 'hazard',
   },
   // GMM applications
   {
     children: devGmmRoutes(),
+    data: {
+      label: 'GMM Dashboard',
+    },
     path: 'gmm',
   },
   // Redirect AWS applications
diff --git a/projects/nshmp-apps/src/app/dev/gmm/gmm.routes.ts b/projects/nshmp-apps/src/app/dev/gmm/gmm.routes.ts
index 8cf6b0c4c..1bd5e5e8a 100644
--- a/projects/nshmp-apps/src/app/dev/gmm/gmm.routes.ts
+++ b/projects/nshmp-apps/src/app/dev/gmm/gmm.routes.ts
@@ -8,6 +8,9 @@ const routes: Routes = [
     path: '',
   },
   {
+    data: {
+      label: 'Hanging Wall Effects',
+    },
     loadComponent: () =>
       import('./hanging-wall-effects/app.component').then(
         com => com.AppComponent
diff --git a/projects/nshmp-apps/src/app/dev/hazard/hazard.routes.ts b/projects/nshmp-apps/src/app/dev/hazard/hazard.routes.ts
index 8b81c2fb1..97c7d1e48 100644
--- a/projects/nshmp-apps/src/app/dev/hazard/hazard.routes.ts
+++ b/projects/nshmp-apps/src/app/dev/hazard/hazard.routes.ts
@@ -12,6 +12,9 @@ const routes: Routes = [
   },
   {
     canActivate: [() => inject(DynamicHazardCompareGuard).canActivate()],
+    data: {
+      label: 'Dynamic Hazard Compare',
+    },
     loadComponent: () =>
       import('./dynamic-compare/app.component').then(com => com.AppComponent),
     path: 'dynamic-compare',
diff --git a/projects/nshmp-apps/src/app/dev/math/exceedance-explorer/components/control-panel/control-panel.component.html b/projects/nshmp-apps/src/app/dev/math/exceedance-explorer/components/control-panel/control-panel.component.html
index 84de955a7..9c264a431 100644
--- a/projects/nshmp-apps/src/app/dev/math/exceedance-explorer/components/control-panel/control-panel.component.html
+++ b/projects/nshmp-apps/src/app/dev/math/exceedance-explorer/components/control-panel/control-panel.component.html
@@ -54,7 +54,6 @@
 
   <!-- Truncation -->
   <mat-checkbox
-    color="primary"
     class="margin-left-1 truncation-checkbox"
     [formControl]="form.controls.truncation"
   >
diff --git a/projects/nshmp-apps/src/app/dev/math/math.routes.ts b/projects/nshmp-apps/src/app/dev/math/math.routes.ts
index 864c1b0af..d586487f0 100644
--- a/projects/nshmp-apps/src/app/dev/math/math.routes.ts
+++ b/projects/nshmp-apps/src/app/dev/math/math.routes.ts
@@ -8,6 +8,9 @@ const routes: Routes = [
     path: '',
   },
   {
+    data: {
+      label: 'Exceedance Explorer',
+    },
     loadComponent: () =>
       import('./exceedance-explorer/app.component').then(
         com => com.AppComponent
diff --git a/projects/nshmp-apps/src/app/error-pages/404/404.component.spec.ts b/projects/nshmp-apps/src/app/error-pages/404/404.component.spec.ts
index 067a50e76..8c85b4f25 100644
--- a/projects/nshmp-apps/src/app/error-pages/404/404.component.spec.ts
+++ b/projects/nshmp-apps/src/app/error-pages/404/404.component.spec.ts
@@ -1,4 +1,5 @@
 import {ComponentFixture, TestBed} from '@angular/core/testing';
+import {provideNoopAnimations} from '@angular/platform-browser/animations';
 import {provideRouter} from '@angular/router';
 
 import {Error404Component} from './404.component';
@@ -10,7 +11,7 @@ describe('Error404Component', () => {
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       imports: [Error404Component],
-      providers: [provideRouter([])],
+      providers: [provideRouter([]), provideNoopAnimations()],
     }).compileComponents();
   });
 
diff --git a/projects/nshmp-apps/src/app/error-pages/410/410.component.spec.ts b/projects/nshmp-apps/src/app/error-pages/410/410.component.spec.ts
index c80da365a..d765c32ef 100644
--- a/projects/nshmp-apps/src/app/error-pages/410/410.component.spec.ts
+++ b/projects/nshmp-apps/src/app/error-pages/410/410.component.spec.ts
@@ -1,4 +1,5 @@
 import {ComponentFixture, TestBed} from '@angular/core/testing';
+import {provideNoopAnimations} from '@angular/platform-browser/animations';
 import {provideRouter} from '@angular/router';
 
 import {Error410Component} from './410.component';
@@ -10,7 +11,7 @@ describe('Error410Component', () => {
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       imports: [Error410Component],
-      providers: [provideRouter([])],
+      providers: [provideRouter([]), provideNoopAnimations()],
     }).compileComponents();
   });
 
diff --git a/projects/nshmp-apps/src/app/error-pages/500/500.component.spec.ts b/projects/nshmp-apps/src/app/error-pages/500/500.component.spec.ts
index ecd1d0f3c..2512b8b74 100644
--- a/projects/nshmp-apps/src/app/error-pages/500/500.component.spec.ts
+++ b/projects/nshmp-apps/src/app/error-pages/500/500.component.spec.ts
@@ -1,4 +1,5 @@
 import {ComponentFixture, TestBed} from '@angular/core/testing';
+import {provideNoopAnimations} from '@angular/platform-browser/animations';
 import {provideRouter} from '@angular/router';
 
 import {Error500Component} from './500.component';
@@ -10,7 +11,7 @@ describe('Error500Component', () => {
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       imports: [Error500Component],
-      providers: [provideRouter([])],
+      providers: [provideRouter([]), provideNoopAnimations()],
     }).compileComponents();
   });
 
diff --git a/projects/nshmp-apps/src/app/error-pages/error-pages.routes.ts b/projects/nshmp-apps/src/app/error-pages/error-pages.routes.ts
index 992113a82..5f6510e2f 100644
--- a/projects/nshmp-apps/src/app/error-pages/error-pages.routes.ts
+++ b/projects/nshmp-apps/src/app/error-pages/error-pages.routes.ts
@@ -3,16 +3,25 @@ import {Routes} from '@angular/router';
 /** Error pages routes */
 const routes: Routes = [
   {
+    data: {
+      label: '404 Error',
+    },
     loadComponent: () =>
       import('./404/404.component').then(com => com.Error404Component),
     path: '404',
   },
   {
+    data: {
+      label: '410 Error',
+    },
     loadComponent: () =>
       import('./410/410.component').then(com => com.Error410Component),
     path: '410',
   },
   {
+    data: {
+      label: '500 Error',
+    },
     loadComponent: () =>
       import('./500/500.component').then(com => com.Error500Component),
     path: '500',
diff --git a/projects/nshmp-apps/src/app/gmm/gmm.routes.ts b/projects/nshmp-apps/src/app/gmm/gmm.routes.ts
index 15ec2ed76..b42491a77 100644
--- a/projects/nshmp-apps/src/app/gmm/gmm.routes.ts
+++ b/projects/nshmp-apps/src/app/gmm/gmm.routes.ts
@@ -8,16 +8,25 @@ const routes: Routes = [
     path: '',
   },
   {
+    data: {
+      label: 'Ground Motion vs. Distance',
+    },
     loadComponent: () =>
       import('./distance/app.component').then(com => com.AppComponent),
     path: 'distance',
   },
   {
+    data: {
+      label: 'Ground Motion vs. Magnitude',
+    },
     loadComponent: () =>
       import('./magnitude/app.component').then(com => com.AppComponent),
     path: 'magnitude',
   },
   {
+    data: {
+      label: 'Response Spectra',
+    },
     loadComponent: () =>
       import('./spectra/app.component').then(com => com.AppComponent),
     path: 'spectra',
diff --git a/projects/nshmp-apps/src/app/gmm/spectra/components/event-parameters/event-parameters.component.html b/projects/nshmp-apps/src/app/gmm/spectra/components/event-parameters/event-parameters.component.html
index 8fb3b9cf3..f8987d501 100644
--- a/projects/nshmp-apps/src/app/gmm/spectra/components/event-parameters/event-parameters.component.html
+++ b/projects/nshmp-apps/src/app/gmm/spectra/components/event-parameters/event-parameters.component.html
@@ -78,8 +78,8 @@
       <div class="grid-col-8">
         <mat-checkbox
           class="down-dip-checkbox"
-          color="primary"
           [formControl]="form.controls.zHypCentered"
+          color="primary"
         >
           Centered down-dip
         </mat-checkbox>
diff --git a/projects/nshmp-apps/src/app/hazard/disagg/components/control-panel/control-panel.component.html b/projects/nshmp-apps/src/app/hazard/disagg/components/control-panel/control-panel.component.html
index 2a0dbe5dc..8a16b44da 100644
--- a/projects/nshmp-apps/src/app/hazard/disagg/components/control-panel/control-panel.component.html
+++ b/projects/nshmp-apps/src/app/hazard/disagg/components/control-panel/control-panel.component.html
@@ -63,10 +63,7 @@
   <div class="display-flex">
     <!-- Target selector -->
     <div class="disagg-target-selector">
-      <mat-radio-group
-        color="primary"
-        [formControl]="form.controls.disaggTarget"
-      >
+      <mat-radio-group [formControl]="form.controls.disaggTarget">
         <mat-radio-button
           [value]="DisaggTarget.RETURN_PERIOD"
           aria-label="Select return period"
@@ -106,7 +103,6 @@
 
           <div class="grid-col-6 center-y">
             <mat-checkbox
-              color="primary"
               class="padding-left-1"
               [formControl]="form.controls.maxDirection"
             >
diff --git a/projects/nshmp-apps/src/app/hazard/hazard.routes.ts b/projects/nshmp-apps/src/app/hazard/hazard.routes.ts
index 58efd4ed6..59e783ecc 100644
--- a/projects/nshmp-apps/src/app/hazard/hazard.routes.ts
+++ b/projects/nshmp-apps/src/app/hazard/hazard.routes.ts
@@ -8,16 +8,25 @@ const routes: Routes = [
     path: '',
   },
   {
+    data: {
+      label: 'Disaggregation',
+    },
     loadComponent: () =>
       import('./disagg/app.component').then(com => com.AppComponent),
     path: 'disagg',
   },
   {
+    data: {
+      label: 'Dynamic Hazard',
+    },
     loadComponent: () =>
       import('./dynamic/app.component').then(com => com.AppComponent),
     path: 'dynamic',
   },
   {
+    data: {
+      label: 'Static Hazard',
+    },
     loadComponent: () =>
       import('./static/app.component').then(com => com.AppComponent),
     path: 'static',
diff --git a/projects/nshmp-apps/src/app/internal/aws/aws.routes.ts b/projects/nshmp-apps/src/app/internal/aws/aws.routes.ts
index 966d2a81f..e6de16c84 100644
--- a/projects/nshmp-apps/src/app/internal/aws/aws.routes.ts
+++ b/projects/nshmp-apps/src/app/internal/aws/aws.routes.ts
@@ -7,16 +7,25 @@ const routes: Routes = [
     path: '',
   },
   {
+    data: {
+      label: 'Check Jobs',
+    },
     loadComponent: () =>
       import('./check-haz-jobs/app.component').then(com => com.AppComponent),
     path: 'check-haz-jobs',
   },
   {
+    data: {
+      label: 'Job Histroy',
+    },
     loadComponent: () =>
       import('./haz-job-history/app.component').then(com => com.AppComponent),
     path: 'haz-job-history',
   },
   {
+    data: {
+      label: 'Terminate Jobs',
+    },
     loadComponent: () =>
       import('./terminate-haz-jobs/app.component').then(
         com => com.AppComponent
@@ -24,6 +33,9 @@ const routes: Routes = [
     path: 'terminate-haz-jobs',
   },
   {
+    data: {
+      label: 'Submit Jobs',
+    },
     loadComponent: () =>
       import('./submit-haz-jobs/app.component').then(com => com.AppComponent),
     path: 'submit-haz-jobs',
diff --git a/projects/nshmp-apps/src/app/internal/aws/check-haz-jobs/components/content/content.component.html b/projects/nshmp-apps/src/app/internal/aws/check-haz-jobs/components/content/content.component.html
index 2c059b466..e3d7925dd 100644
--- a/projects/nshmp-apps/src/app/internal/aws/check-haz-jobs/components/content/content.component.html
+++ b/projects/nshmp-apps/src/app/internal/aws/check-haz-jobs/components/content/content.component.html
@@ -18,7 +18,6 @@
 
       <mat-slide-toggle
         class="logs-toolbar-item"
-        color="primary"
         [formControl]="form?.controls?.autoRefresh"
         (change)="onRefreshChange($event)"
       >
diff --git a/projects/nshmp-apps/src/app/internal/dashboard/app.component.scss b/projects/nshmp-apps/src/app/internal/dashboard/app.component.scss
index 9725bdd50..e69de29bb 100644
--- a/projects/nshmp-apps/src/app/internal/dashboard/app.component.scss
+++ b/projects/nshmp-apps/src/app/internal/dashboard/app.component.scss
@@ -1 +0,0 @@
-@import '../../../styles/dashboards';
diff --git a/projects/nshmp-apps/src/app/internal/internal.routes.ts b/projects/nshmp-apps/src/app/internal/internal.routes.ts
index 8fd1ea962..899ea06cf 100644
--- a/projects/nshmp-apps/src/app/internal/internal.routes.ts
+++ b/projects/nshmp-apps/src/app/internal/internal.routes.ts
@@ -17,6 +17,9 @@ const routes: Routes = [
   {
     canActivate: [networkGuard],
     children: devAwsRoutes(),
+    data: {
+      label: 'Internal Dashboard',
+    },
     path: 'aws',
   },
 ];
diff --git a/projects/nshmp-apps/src/app/ncm/ncm.routes.ts b/projects/nshmp-apps/src/app/ncm/ncm.routes.ts
index 6db1834d1..c6255150f 100644
--- a/projects/nshmp-apps/src/app/ncm/ncm.routes.ts
+++ b/projects/nshmp-apps/src/app/ncm/ncm.routes.ts
@@ -7,6 +7,9 @@ const routes: Routes = [
     path: '',
   },
   {
+    data: {
+      label: 'Geophysical Profiles',
+    },
     loadComponent: () =>
       import('./geophysical-profiles/app.component').then(
         com => com.AppComponent
diff --git a/projects/nshmp-apps/src/app/source/model-maps/components/control-panel/control-panel.component.html b/projects/nshmp-apps/src/app/source/model-maps/components/control-panel/control-panel.component.html
index a2253b5e1..67e0d3417 100644
--- a/projects/nshmp-apps/src/app/source/model-maps/components/control-panel/control-panel.component.html
+++ b/projects/nshmp-apps/src/app/source/model-maps/components/control-panel/control-panel.component.html
@@ -11,7 +11,6 @@
         <!-- NSHM boundary layer toggle -->
         <div class="grid-col-12 nshm-boundary-toggle">
           <mat-slide-toggle
-            color="primary"
             [formControl]="formGroup.controls.hasNshmBoundaryLayer"
           >
             NSHM Border
@@ -22,7 +21,6 @@
         <!-- Test sites layer toggle -->
         <div class="grid-col-12 layer-toggle">
           <mat-slide-toggle
-            color="primary"
             [formControl]="formGroup.controls.hasTestSitesLayer"
           >
             Test Sites
@@ -38,7 +36,6 @@
         <!-- Decollement layer toggle -->
         <div class="grid-col-12 layer-toggle">
           <mat-slide-toggle
-            color="primary"
             [formControl]="formGroup.controls.hasDecollementLayer"
           >
             Décollement Sections
@@ -49,7 +46,6 @@
         <!-- Fault sections layer toggle -->
         <div class="grid-col-12 layer-toggle">
           <mat-slide-toggle
-            color="primary"
             [formControl]="formGroup.controls.hasFaultSectionLayer"
           >
             Fault Sections
@@ -60,7 +56,6 @@
         <!-- Interface sections layer toggle -->
         <div class="grid-col-12 layer-toggle">
           <mat-slide-toggle
-            color="primary"
             [formControl]="formGroup.controls.hasInterfaceSectionsLayer"
           >
             Interface Sections
@@ -71,7 +66,6 @@
         <!-- Zone sources layer toggle -->
         <div class="grid-col-12 layer-toggle">
           <mat-slide-toggle
-            color="primary"
             [formControl]="formGroup.controls.hasZoneSourcesLayer"
           >
             Zone Sources
@@ -83,7 +77,6 @@
         <div>
           <div class="grid-col-12 layer-toggle">
             <mat-slide-toggle
-              color="primary"
               [formControl]="formGroup.controls.hasEarthquakesLayer"
             >
               Latest Earthquakes
@@ -131,7 +124,6 @@
           <div>
             <div class="grid-col-12 layer-toggle">
               <mat-slide-toggle
-                color="primary"
                 [formControl]="formGroup.controls.hasHazardTiles"
               >
                 Hazard Map
diff --git a/projects/nshmp-apps/src/app/source/model-maps/components/control-panel/control-panel.component.ts b/projects/nshmp-apps/src/app/source/model-maps/components/control-panel/control-panel.component.ts
index b5df333ff..d0d0b89dc 100644
--- a/projects/nshmp-apps/src/app/source/model-maps/components/control-panel/control-panel.component.ts
+++ b/projects/nshmp-apps/src/app/source/model-maps/components/control-panel/control-panel.component.ts
@@ -1,4 +1,3 @@
-import {AsyncPipe} from '@angular/common';
 import {Component, OnDestroy, OnInit} from '@angular/core';
 import {ReactiveFormsModule} from '@angular/forms';
 import {MatOption} from '@angular/material/core';
@@ -26,7 +25,6 @@ import {AppService} from '../../services/app.service';
     MatFormField,
     MatSelect,
     MatOption,
-    AsyncPipe,
     ReactiveFormsModule,
   ],
   selector: 'app-control-panel',
diff --git a/projects/nshmp-apps/src/app/source/source.routes.ts b/projects/nshmp-apps/src/app/source/source.routes.ts
index 5054debe4..322a5ad21 100644
--- a/projects/nshmp-apps/src/app/source/source.routes.ts
+++ b/projects/nshmp-apps/src/app/source/source.routes.ts
@@ -9,6 +9,9 @@ const routes: Routes = [
   },
   // model maps application
   {
+    data: {
+      label: 'Source Model Maps',
+    },
     loadComponent: () =>
       import('./model-maps/app.component').then(com => com.AppComponent),
     path: 'model-maps',
@@ -20,12 +23,18 @@ const routes: Routes = [
   },
   // MFD application
   {
+    data: {
+      label: 'Magnitude Frequency Distribution',
+    },
     loadComponent: () =>
       import('./mfd/app.component').then(com => com.AppComponent),
     path: 'mfd',
   },
   // Rates application
   {
+    data: {
+      label: 'Rates and Probabilities',
+    },
     loadComponent: () =>
       import('./rates/app.component').then(com => com.AppComponent),
     path: 'rates',
diff --git a/projects/nshmp-apps/src/styles/_dashboards.scss b/projects/nshmp-apps/src/styles/_dashboards.scss
deleted file mode 100644
index de6d86685..000000000
--- a/projects/nshmp-apps/src/styles/_dashboards.scss
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-* Styling for the dashboards
-*/
-@use '@angular/material' as mat;
-@import '@ghsc/nshmp-template/styles/variables';
-
-/* ---- Dashboards ---- */
-.dashboard {
-  background-repeat: no-repeat;
-  height: 100%;
-  overflow: auto;
-  width: 100%;
-
-  .app-section {
-    margin-top: clamp(1em, 1rem + 1vw, 3em);
-
-    .app-section--title {
-      font-size: clamp(20px, 10px + 1vw, 32px);
-      font-weight: 300;
-      margin: 0 16px;
-    }
-  }
-
-  .dashboard--description {
-    font-size: clamp(18px, 10px + 1vw, 24px);
-    font-weight: 300;
-    margin: 18px;
-  }
-
-  .dashboard--title {
-    font-size: clamp(32px, 32px + 1vw, 64px);
-    font-weight: 550;
-    margin: clamp(24px, 18px + 1vw, 64px) 16px 16px 14px;
-  }
-
-  mat-card {
-    margin: 1em;
-  }
-
-  mat-card:hover {
-    background-color: #dedede;
-  }
-
-  mat-card-content {
-    font-size: clamp(14px, 10px + 1vw, 22px);
-    font-weight: 500;
-  }
-}
-
-body:not(.dark-mode) :host {
-  mat-card {
-    background-color: mat.m2-get-color-from-palette($nshmp-accent);
-  }
-}
-
-body.dark-mode :host {
-  mat-card:hover {
-    background-color: mat.m2-get-color-from-palette($nshmp-accent, 700);
-  }
-}
diff --git a/projects/nshmp-apps/src/styles/_forms.scss b/projects/nshmp-apps/src/styles/_forms.scss
index fef64fd5c..4b04af7d5 100644
--- a/projects/nshmp-apps/src/styles/_forms.scss
+++ b/projects/nshmp-apps/src/styles/_forms.scss
@@ -18,6 +18,7 @@ nshmp-template-control-panel form {
   width: $side-panel-width;
   z-index: 10;
   background-color: mat.m2-get-color-from-palette($nshmp-accent);
+  box-shadow: 0 0 1px rgba(0, 0, 0, 0.8);
 }
 
 .form-buttons.full-width {
@@ -37,5 +38,5 @@ nshmp-template-control-panel form {
 }
 
 body.dark-mode .form-buttons {
-  background-color: #282828;
+  background-color: mat.m2-get-color-from-palette($nshmp-accent, 800);
 }
diff --git a/projects/nshmp-apps/src/styles/_scrolling.scss b/projects/nshmp-apps/src/styles/_scrolling.scss
index 35f7d9882..4ff287541 100644
--- a/projects/nshmp-apps/src/styles/_scrolling.scss
+++ b/projects/nshmp-apps/src/styles/_scrolling.scss
@@ -9,12 +9,17 @@ $spacing: 1em !default;
 
 /* Horizontal Scrolling can be used to wrap tables and make them responsive */
 .horizontal-scrolling {
-  background: linear-gradient(to right, #fff 30%, rgba(255, 255, 255, 0)),
+  background:
+    linear-gradient(to right, #fff 30%, rgba(255, 255, 255, 0)),
     linear-gradient(to left, #fff 30%, rgba(255, 255, 255, 0)) right,
     linear-gradient(to right, rgba(0, 0, 0, 0.15), transparent 70%),
     linear-gradient(to left, rgba(0, 0, 0, 0.15), transparent 70%) right;
   background-repeat: no-repeat;
-  background-size: 20px 100%, 20px 100%, 10px 100%, 10px 100%;
+  background-size:
+    20px 100%,
+    20px 100%,
+    10px 100%,
+    10px 100%;
   background-attachment: local, local, scroll, scroll;
   margin: $spacing 0 0;
   overflow: auto;
@@ -30,16 +35,17 @@ $dark-mode-accent: mat.m2-get-color-from-palette($nshmp-accent, 800);
 
 body.dark-mode {
   .horizontal-scrolling {
-    background: linear-gradient(
-        to right,
-        $dark-mode-accent 30%,
-        rgba(0, 0, 0, 0)
-      ),
+    background:
+      linear-gradient(to right, $dark-mode-accent 30%, rgba(0, 0, 0, 0)),
       linear-gradient(to left, $dark-mode-accent 30%, rgba(0, 0, 0, 0)) right,
       linear-gradient(to right, rgba(0, 0, 0, 0.25), transparent 70%),
       linear-gradient(to left, rgba(0, 0, 0, 0.25), transparent 70%) right;
     background-repeat: no-repeat;
-    background-size: 20px 100%, 20px 100%, 10px 100%, 10px 100%;
+    background-size:
+      20px 100%,
+      20px 100%,
+      10px 100%,
+      10px 100%;
     background-attachment: local, local, scroll, scroll;
   }
 }
diff --git a/projects/nshmp-apps/src/styles/styles.scss b/projects/nshmp-apps/src/styles/styles.scss
index 1030dff5a..c0fb170ca 100644
--- a/projects/nshmp-apps/src/styles/styles.scss
+++ b/projects/nshmp-apps/src/styles/styles.scss
@@ -54,7 +54,16 @@ a {
 }
 
 body.dark-mode {
-  mat-tab-group .mdc-tab {
-    filter: brightness(1.5);
+  mat-tab-group mat-tab-header {
+    --mdc-tab-indicator-focus-indicator-color: white;
+    --mdc-tab-indicator-active-indicator-color: white;
+    --mat-tab-header-pagination-icon-color: white;
+    --mat-tab-header-active-label-text-color: white;
+    --mat-tab-header-active-ripple-color: white;
+    --mat-tab-header-inactive-ripple-color: white;
+    --mat-tab-header-active-focus-label-text-color: white;
+    --mat-tab-header-active-hover-label-text-color: white;
+    --mat-tab-header-active-focus-indicator-color: white;
+    --mat-tab-header-active-hover-indicator-color: white;
   }
 }
-- 
GitLab