Angular 9 Dark Mode Library
A library for adding dark-mode to your Angular 9 app.
Features
- Widget appears automatically
- Saving users choice
- Automatically shows Darkmode if the OS prefered theme is dark (if the browsers supports prefers-color-scheme)
- Can be used programmatically without widget
How to Use ngx-darkmode
?
Navigate to your project's folder and run the following command:
$ npm install --save ngx-darkmode
Next, import NgxDarkmodeModule
and add it to the imports
array f your app:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { NgxDarkmodeModule } from '@ngx-darkmode';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
NgxDarkmodeModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Use it
import { Component , OnInit } from '@angular/core';
import { NgxDarkmodeService , WidgetOptions } from 'ngx-darkmode';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
title = 'demo';
constructor(public darkmodeService: NgxDarkmodeService){
}
ngOnInit(): void {
var opts: WidgetOptions = {
bottom: '64px',
right: 'unset',
left: '32px',
time: '0.5s',
mixColor: '#fff',
backgroundColor: '#fff',
buttonColorDark: '#100f2c',
buttonColorLight: '#fff',
saveInCookies: false,
label: '🌓',
autoMatchOsTheme: true
}
this.darkmodeService.showWidget(opts);
}
}