FPSMS-frontend
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

CameraProvider.tsx 671 B

6 månader sedan
1234567891011121314151617181920212223242526
  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. };