FPSMS-frontend
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 

27 righe
671 B

  1. "use client";
  2. import { CameraDevice, Html5Qrcode } from "html5-qrcode";
  3. import React, { createContext, useContext, useEffect, useState } from "react";
  4. export const CameraContext = createContext<CameraDevice[]>([]);
  5. export const CameraProvider: React.FC<{ children: React.ReactNode }> = ({
  6. children,
  7. }) => {
  8. const [cameras, setCameras] = useState<CameraDevice[]>([]);
  9. useEffect(() => {
  10. const fetchCameras = async () => {
  11. const res = await Html5Qrcode.getCameras();
  12. if (res) {
  13. setCameras(res);
  14. }
  15. };
  16. fetchCameras();
  17. }, []);
  18. return (
  19. <CameraContext.Provider value={cameras}>{children}</CameraContext.Provider>
  20. );
  21. };