"use client"; import { ArrowUpRight } from "lucide-react"; import { useEffect, useState } from "react"; import { cn } from "@/lib/utils"; import { WebcamPixelGrid } from "@/components/ui/webcam-pixel-grid"; /** Canvas-Hintergrund = Basiston der Raster-Palette (schließt optisch an bg-primary an). */ const PRIMARY_HERO_BG = "#B54440"; const LandingHeroSection = () => { const [liveRasterOn, setLiveRasterOn] = useState(false); const [hasWebcam, setHasWebcam] = useState(false); useEffect(() => { const mediaDevices = navigator.mediaDevices; if (!mediaDevices?.enumerateDevices) { setHasWebcam(false); return; } const updateWebcamAvailability = async () => { try { const devices = await mediaDevices.enumerateDevices(); const hasVideoInput = devices.some( (device) => device.kind === "videoinput", ); setHasWebcam(hasVideoInput); if (!hasVideoInput) { setLiveRasterOn(false); } } catch { setHasWebcam(false); setLiveRasterOn(false); } }; updateWebcamAvailability(); mediaDevices.addEventListener?.("devicechange", updateWebcamAvailability); return () => { mediaDevices.removeEventListener?.( "devicechange", updateWebcamAvailability, ); }; }, []); const handleToggleLiveRaster = () => { setLiveRasterOn((isOn) => !isOn); }; return (
Matthias Meister

Für Betriebe, die lieber arbeiten als basteln

Online Fertig Passt

Strategie trifft Umsetzung

Ich baue Websites für Handwerk, Praxen, Salons und Dienstleister aus der Region — klar genug, dass Besucher anrufen statt weiterklicken.

Antwort in 24h abmahnsicher Hosting in Sachsen
); }; export { LandingHeroSection };