// components/DeviceQrCode.tsx 'use client'; import { QRCodeSVG } from 'qrcode.react'; type DeviceQrCodeProps = { inventoryNumber: string | null | undefined; size?: number; }; export function DeviceQrCode({ inventoryNumber, size = 180 }: DeviceQrCodeProps) { // 1. Guard: ohne Inventarnummer kein QR if (!inventoryNumber) { if (process.env.NODE_ENV === 'development') { console.warn('DeviceQrCode: inventoryNumber fehlt oder ist undefined/null', { inventoryNumber, }); } return (

Kein Inventarcode vorhanden – QR-Code kann nicht erzeugt werden.

); } const baseUrl = process.env.NEXT_PUBLIC_APP_URL ?? ''; // Immer vollständige URL für externe Scanner erzeugen const appBase = baseUrl.replace(/\/$/, ''); const qrValue = appBase ? `${appBase}/devices?device=${encodeURIComponent(inventoryNumber)}` : `/devices?device=${encodeURIComponent(inventoryNumber)}`; return (
{/* Debug-Hinweis, kannst du nach dem Testen entfernen */} {/*
{qrValue}
*/}
); }