FPSMS-frontend
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 

27 Zeilen
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. };