Skip to content

turkyden/react-darkreader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

742cfe8 ยท Apr 13, 2023
Mar 1, 2021
Mar 1, 2021
Feb 25, 2021
Mar 1, 2021
Mar 1, 2021
Jan 6, 2021
Jan 6, 2021
Jan 10, 2021
Jan 6, 2021
Apr 13, 2023
Mar 3, 2021
Mar 3, 2021
May 4, 2021
May 4, 2021
Mar 1, 2021
Mar 1, 2021
May 4, 2021

Repository files navigation

English | ็ฎ€ไฝ“ไธญๆ–‡

react-darkreader

React Darkreader

๐ŸŒ“ A React Hook for adding a dark / night mode to your site inspired by darkreader

npm npm dumi license jsdelivr

Live Demo โœจ https://react-darkreader.vercel.app

Getting Started

Install with yarn

yarn add react-darkreader

Or you can

npm install react-darkreader

Or inject the script at your page by jsdelivr CDN

<script src="https://cdn.jsdelivr.net/npm/react-darkreader@latest/dist/index.min.js"></script>

๐Ÿš€ Usage

You can import the darkmode as a react component.

import React from 'react';
import Darkreader from 'react-darkreader';

export default () => <Darkreader />;

You can also create darkmode by the react hook useDarkreader

import React from 'react';
import { Switch, useDarkreader } from 'react-darkreader';

export default () => {
  const [isDark, { toggle }] = useDarkreader(false);

  return <Switch checked={isDark} onChange={toggle} />;
};

๐Ÿ“” API

Component

<Darkreader
  defaultDarken
  theme={/** Theme options **/}
  fixes={/** Contains fixes for the generated theme **/}
  onChange={isDark => {
    /** Callback for change **/
  }}
/>

Hook

const [isDark, { toggle, collectCSS }] = useDarkreader(defaultDarken, theme?, fixes?)

with a toggle button as ui.

<Switch checked={isDark} onChange={toggle} />

Result

Params Description Type
isDark The status of current darkmode, support true, false boolean
toggle The function for toggling the darkmode. () => void
collectCSS The async function for collecting the css of darkmode. async () => Promise<string>

Params

Params Description Type Default
defaultDarken The default status of the darkreader boolean false
theme The options of darkreader Theme refered to index.d.ts โ†’ Partial<Theme> -
fixes Contains fixes for the generated theme refered to index.d.ts โ†’ DynamicThemeFix -

๐Ÿ”ข Coming Soon

  • add the material design styling in switch
  • followSystemColorScheme
  • localstorge
  • playground for editing the config online

๐Ÿ”จ Contribute

Install dependencies,

$ npm i

Start the dev server,

$ npm start

Build documentation,

$ npm run docs:build

Build library via father-build,

$ npm run build

๐Ÿฅ‡ Who is using

Ant Design Pro Components Light Ant Design Pro Components Dark
Procomponents Light Procomponents Dark

More here โ†’ Welcome to submit.

โค๏ธ Contributors

Thanks goes to these people:

Contributors

Please Feel free to enjoy and participate in open source!

โญ Stargazers

Thanks for your star!

Stargazers repo roster for @Turkyden/react-darkreader

โœจ Follow Me

่ฟ™ๆ˜ฏไฝœ่€…็š„ๅพฎไฟกใ€Œ่ง†้ข‘ๅทใ€๏ผŒๆฏๅคฉๅˆ†ไบซไธ€ไบ›ๆœ‰่ถฃ็š„ SaaS ่ฝฏไปถไบงๅ“๏ผŒๆฌข่ฟŽๅ…ณๆณจ ~

License

MIT