Giter Site home page Giter Site logo

dark-mode-toggle's Introduction

A simple dark mode toggle

Add dark mode styling to your app/website with a simple toggle button. The selection is saved in localStorage.

Install

npm install @luukone/darkmode-toggle

Usage

Create an element where you want to inject the toggle button in:

<div id="screen-mode">
  // the toggle button will be injected here
</div>

Create a .dark-mode class in your css file:

.dark-mode {
  background: #000;
}

.dark-mode h1 {
  color: #CCC;
}

Import the package in your javascript file and create an instance with the following arguments:

  • the element you want to inject the toggle button in
  • the name of the css class where your dark mode styles will live

Example:

import Dark from '@luukone/darkmode-toggle';

new Dark(document.querySelector('#screen-mode'), 'dark-mode')

Add the following script right after the <body> tag:

<body>
  <script>
    if (localStorage.getItem('screen_mode')) {
      document.querySelector('body').classList.add('dark-mode')
    }
  </script>

  // content

This way the browser will render the dark mode styles before rendering any other styles.

[optional] get a nice looking toggle button by importing the following css file or by directly copying the css code from w3schools.

@import '~@luukone/darkmode-toggle/dark-mode';

dark-mode-toggle's People

Contributors

lhafkamp avatar

Stargazers

Lucas Litton avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.