Skip to content

🔦Hook to enable/disable the camera torchlight via Web APIs

License

Notifications You must be signed in to change notification settings

BlackBoxVision/use-torch-light

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UseTorchLight npm version License: MIT Known Vulnerabilities

🔦 useTorchLight is a hook to enable/disable camera flash. Check out the demo.

Install

You can install this library via NPM or YARN.

NPM

npm i @blackbox-vision/use-torch-light

YARN

yarn add @blackbox-vision/use-torch-light

Warning

useTorchLight relies on ImageCapture API whose spec isn't complete at all browsers currently. You can check the state of ImageCapture in browsers here.

We're currently trying to make the hook most consistent as possible by providing cross-browser checks and dispatching errors or alerts via success and error callbacks.

Usage

The usage is really simple:

import React, { useState, useRef } from 'react';
import { QrReader } from '@blackbox-vision/react-qr-reader';
import { useTorchLight } from '@blackbox-vision/use-torch-light';

const Test = (props) => {
  const streamRef = useRef(null);

  const [error, setError] = useState(null);
  const [data, setData] = useState('No result');

  const [on, toggle] = useTorchLight(streamRef.current);

  const setRef = ({ stream }) => {
    streamRef.current = stream;
  };

  return (
    <>
      <QrReader
        onLoad={setRef}
        onScan={setData}
        onError={setError}
        style={{ width: '100%' }}
      />
      <button onClick={toggle}>{on ? 'Disable Torch' : 'Enable Torch'}</button>
      <p>{JSON.stringify(data, null, 2)}</p>
      <p>{JSON.stringify(error, null, 2)}</p>
    </>
  );
};

Issues

Please, open an issue following one of the issues templates. We will do our best to fix them.

Contributing

If you want to contribute to this project see contributing for more information.

License

Distributed under the MIT license. See LICENSE for more information.

Releases

No releases published

Packages

No packages published