Skip to main content

Add 'Night mode' using AngularJS

Night mode is said to decrease the light intensity and cause less stress to viewer's eyes. Adding night mode to your websites and blogs would be beneficial to your viewers who prefer reading at night. Although most of the users generally have a browser add-on, adding this small feature won't do you any harm. Also, if you are a web developer, you can integrate this with your project.

Night mode is usually turning a white page black and black font white. Other changes can also be added easily in AngularJS.
This post assumes that you have basic knowledge about AngularJS.




Follow the steps:

1. Import AngularJS script into your project.

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>

2. Add ng-app and ng-controller to your <HTML> tag.

<html ng-app="" ng-controller="myCtrl">

3. Add ng-style to your body or any particular div where you want to see the effect.

<div ng-style="myStyle">

4.  Add script of your controller.

<script>
function myCtrl($scope) {
 $scope.myStyle = {};
}
</script>

5. Now create a button which will trigger the night mode.

<button ng-click="myStyle={'background-color':'black', text:'white'}">
  Night Mode
</button>


On clicking this button, the style will be changed to that of night mode.

6. (Optional) Create a button to go back to your normal style.

<button ng-click="myStyle={'background-color':'white', text:'black'}">
  Normal Mode
</button>


Note: The CSS of your project may vary. In that case, make the necessary changes.

Here is the full snippet:

<html ng-app="" ng-controller="myCtrl">
 <head>
  <title>Night Mode example </title>
 </head>
 <body ng-style="myStyle">


<div>
<button ng-click="myStyle={'background-color':'black', text:'white'}">
  Night Mode
</button>
<button ng-click="myStyle={'background-color':'white', text:'black'}">
  Normal Mode
</button>
<script>
function myCtrl($scope) {
 $scope.myStyle = {};
}
</script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>

<p> Here goes the content</p>
</body>
</html>

Comments

Popular posts from this blog

Shake a view(edit text) on incorrect input at OTP,passwords,etc (Android)

Hello devs! This is another short tutorial to show how to shake an Edit text view if the input is incorrect. Note : The tutorial assumes that you have the basic knowledge about android development. It involves the following steps : 1. Create the Edit text and cast it inside the onCreate. EditText edittext=findViewById(R.id.edit_text); Recommended : https://github.com/GoodieBag/Pinview Optional - Put the edit text inside a dialog to take an input from the dialog. 2. Write an animation XML. Here is an example: ( shake.xml ) Courtesy : https://gist.github.com/simon-heinen/9795036 <? xml version = " 1.0 " encoding = " utf-8 " ?> < set xmlns : android = " http://schemas.android.com/apk/res/android " > < rotate android : duration = " 70 " android : fromDegrees = " -5 " androi...

Fix for eclipse oxygen icon not displaying in ubuntu.

There is a bug in the latest version of eclipse IDE. The icon is not displayed. If you are facing the same problem then I might have a fix for you. There are various reasons why this may occur. One of the problems is caused because icon of eclipse is not present in pixmaps folder. To add it simply copy the icon of eclipse into /use/share/pixmaps folder. Note: You need to have root access to do that.  Also, make sure the name of the icon is eclipse.xpm  For this, use the terminal to fire the command: sudo cp /eclipse_path/icon.xpm /usr/share/pixmaps/eclipse.xpm Here replace the eclipse_path with your eclipse folder path. E.g. /home/leena/eclipse/java-oxygen/eclipse/icon.xpm

Fix 'UNEXPECTED INCONSISTENCY; Run fsck manually' on Ubuntu

If you have the following Ubuntu error, I might have a fix for it. fsck from util-linux 2.26.2 /dev/sda1 contains a file system with errors, check forced. /dev/sda1: Inodes that were part of a corrupted orphan linked list found. /dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.         (i.e., without -a or -p options) fsck exited with status code 4 The root filesystem on /dev/sda1 requires a manual fsck Busybox v1.22.1 (Ubuntu 1:1.22.0-15ubuntu1) built in shell (ash) Enter 'help' for a list of built-in commands. (initramfs) _ And believe me help command does nothing. Solution: Just fire a simple command to execute  fsck manually. fsck /dev/sda1 If some other filesystem is causing the error then mention that name after fsck. It will show some processing. If it asks any questions like Fix(y/n)? always enter y . In the end when (initramfs) reappears enter: reboot Well, that's all! It worked for me. Hope it works for ...