<div class="navbar-fixed">
  <nav>
  <div class="nav-wrapper">
    <div class="row">
      <div class="col s12">
        <a href="#" data-target="slide-out" class="sidenav-trigger show-on-large"><i class="material-icons">menu</i></a>
        <a href="https://codepen.io/collection/nbBqgY" target="_blank" class="brand-logo">Materialize <span class="hide-on-small-only">Framework</span>
          <span class="hide-on-small-only" style="font-weight: 100; font-size: 0.4em; opacity:0.5;">
            v1.0.0
          </span>
        </a>
        <ul class="right">
          <li><a href="https://s.codepen.io/j_holtslander/fullpage/MRbpLX" target="_blank"><i class="material-icons">fullscreen</i></a></li>
        </ul>
      </div>
    </div>
  </div>
</nav>
</div>

<ul id="slide-out" class="sidenav">
  <li><a class="subheader">Links</a></li>
  <li><a href="#!">First Link</a></li>
  <li><a href="#!">Second Link</a></li>
  <li><div class="divider"></div></li>
  <li><a class="subheader">More links</a></li>
  <li><a href="#!">Third Link</a></li>
  <li><a href="#!">Fourth Link</a></li>
  <li><a href="https://codepen.io/collection/nbBqgY">More Materialize Pens</a></li>
  <li><a class="dark-toggle" href="#" onclick="localStorage.setItem('mode', (localStorage.getItem('mode') || 'dark') === 'dark' ? 'light' : 'dark'); localStorage.getItem('mode') === 'dark' ? document.querySelector('body').classList.add('dark') : document.querySelector('body').classList.remove('dark')" title="Dark/light"><i class="material-icons left">brightness_4</i> Toggle Dark Mode</a></li>
</ul>



<div class="container">
  <div class="row">
    <div class="col s12">
      <h4>Dark mode toggle in materialize</h4>
      <p>Toggle the button to enable or disable dark mode. Hit the heart button above if you liked this.</p>
      <p>Another way to do dark mode is based off of system settings. See: <a href="https://medium.com/front-end-field-guide/automatic-dark-mode-for-your-website-b446d8a3b8a5" target="_blank">this link</a> to learn how to do that.</p>
      
      <a class="btn dark-toggle" href="#" onclick="localStorage.setItem('mode', (localStorage.getItem('mode') || 'dark') === 'dark' ? 'light' : 'dark'); localStorage.getItem('mode') === 'dark' ? document.querySelector('body').classList.add('dark') : document.querySelector('body').classList.remove('dark')" title="Dark/light"><i class="material-icons left">brightness_4</i> Toggle Dark Mode</a>
    </div>
  </div>
  <div class="row">
    <div class="col s12 m6 l4">
      <div class="card">
        <div class="card-image">
          <img src="https://materializecss.com/images/sample-1.jpg">
          <span class="card-title">Card Title</span>
          <a class="btn-floating halfway-fab waves-effect waves-light red"><i class="material-icons">add</i></a>
        </div>
        <div class="card-content">
          <p>I am a very simple card. I am good at containing small bits of information. I am convenient because I require little markup to use effectively.</p>
        </div>
      </div>
    </div>
    <div class="col s12 m6 l4">
      <div class="card">
        <div class="card-image">
          <img src="https://materializecss.com/images/sample-1.jpg">
          <span class="card-title">Card Title</span>
          <a class="btn-floating halfway-fab waves-effect waves-light red"><i class="material-icons">add</i></a>
        </div>
        <div class="card-content">
          <p>I am a very simple card. I am good at containing small bits of information. I am convenient because I require little markup to use effectively.</p>
        </div>
      </div>
    </div>
  </div>
  
  <div class="row">
    <ul class="collection">
      <li class="collection-item avatar">
        <img src="https://materializecss.com/images/yuna.jpg" alt="" class="circle">
        <span class="title">Title</span>
        <p>First Line <br>
           Second Line
        </p>
        <a href="#!" class="secondary-content"><i class="material-icons">grade</i></a>
      </li>
      <li class="collection-item avatar">
        <i class="material-icons circle">folder</i>
        <span class="title">Title</span>
        <p>First Line <br>
           Second Line
        </p>
        <a href="#!" class="secondary-content"><i class="material-icons">grade</i></a>
      </li>
      <li class="collection-item avatar">
        <i class="material-icons circle green">insert_chart</i>
        <span class="title">Title</span>
        <p>First Line <br>
           Second Line
        </p>
        <a href="#!" class="secondary-content"><i class="material-icons">grade</i></a>
      </li>
      <li class="collection-item avatar">
        <i class="material-icons circle red">play_arrow</i>
        <span class="title">Title</span>
        <p>First Line <br>
           Second Line
        </p>
        <a href="#!" class="secondary-content"><i class="material-icons">grade</i></a>
      </li>
    </ul>
  </div>
  
  
  
</div>


<!-- Gitter Chat Link -->
<div class="fixed-action-btn"><a class="btn-floating btn-large red" href="https://gitter.im/Dogfalo/materialize" target="_blank"><i class="large material-icons">chat</i></a></div>

$transition-effects: color 1s ease, background-color 1s ease;

body {
  background-color: #eee;
  transition: $transition-effects;
  &.dark {
    background-color: #202123;
    color: #fff;
    nav {
      background-color: #26A69A;
    }
    .card {
      background-color: rgba(255,255,255,0.2);
    }
    .btn {
      background-color: #EE6F73;
    }
    .divider {
      opacity: 0.2;
    }
    .sidenav {
      background-color: #2D2D31;
      li {
        a {
          &:not(.subheader){
            color: #89B2F5;
            &:hover {
              background-color: #3B4043;
            }
          }
          &.subheader {
            color:#9AA0A6; 
          }
          .material-icons {
            color: #9AA0A6;
          }
        }
      }
    }
    .collection {
      border: 1px solid rgba(255,255,255,0.2);
      .collection-item {
        background-color: rgba(255,255,255,0.2);
        border-bottom: 1px solid rgba(255,255,255,0.2);;
      }
    }
  }
}
View Compiled
// SIDENAV
$(document).ready(function(){
    $('.sidenav').sidenav();
  
  
  // SWAP ICON ON CLICK
  // Source: https://stackoverflow.com/a/34254979/751570
  $('.dark-toggle').on('click',function(){
    if ($(this).find('i').text() == 'brightness_4'){
        $(this).find('i').text('brightness_high');
    } else {
        $(this).find('i').text('brightness_4');
    }
  });
  
  
});

External CSS

  1. https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css
  2. https://fonts.googleapis.com/icon?family=Material+Icons

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js
  2. https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js