{"version":3,"file":"muxPreview.mjs","names":["c","_c","useEffect","useState","MuxPlayer","jsx","_jsx","MuxPreview","props","$","playbackId","setPlaybackId","isClient","setIsClient","t0","t1","Symbol","for","t2","t3","schemaPath","collection","split","docId","window","location","pathname","pop","fetch","then","_temp","data","mux","catch","t4","streamType","disableTracking","style","height","nohotkeys","preload","res","json"],"sources":["../../../src/components/muxPreview/muxPreview.tsx"],"sourcesContent":["'use client'\n\nimport { useEffect, useState } from 'react'\nimport MuxPlayer from '@mux/mux-player-react'\n\nimport type React from 'react'\nimport type { UIFieldClientProps } from 'payload'\n\n/**\n * React component for previewing Mux video assets\n * @param props - The UI field client props containing field data\n * @returns JSX element for Mux video preview\n */\nexport function MuxPreview(props: UIFieldClientProps) {\n  const [playbackId, setPlaybackId] = useState<string | null>(null)\n  const [isClient, setIsClient] = useState(false)\n\n  // Ensure we’re on the client side\n  useEffect(() => {\n    setIsClient(true)\n  }, [])\n\n  useEffect(() => {\n    if (!isClient) {\n      return\n    }\n\n    // Get collection from schemaPath and ID from URL\n    const collection = props.schemaPath?.split('.')[0] // \"media.muxPlayer\" -> \"media\"\n    const docId = window.location.pathname.split('/').pop() // Get last part of URL\n\n    if (collection && docId && docId !== 'create' && docId !== 'admin') {\n      fetch(`/api/${collection}/${docId}`)\n        .then((res) => res.json())\n        .then((data) => setPlaybackId(data.mux?.playbackId || null))\n        .catch(() => setPlaybackId(null))\n    }\n  }, [props.schemaPath, isClient])\n\n  // Only render on client with playbackId\n  return isClient && playbackId ? (\n    <MuxPlayer\n      playbackId={playbackId}\n      streamType=\"on-demand\"\n      disableTracking={true}\n      style={{ height: '60vh' }}\n      nohotkeys={true}\n      preload=\"metadata\"\n    />\n  ) : null\n}\n"],"mappings":";;;;;;;;;;;;;AAaA,SAAOO,WAAAC,OAAA;CAAA,MAAAC,IAAAR,EAAA,EAAA;CACL,MAAA,CAAAS,YAAAC,iBAAoCR,SAAwB,KAAK;CACjE,MAAA,CAAAS,UAAAC,eAAgCV,SAAS,MAAM;CAAA,IAAAW;CAAA,IAAAC;AAAA,KAAAN,EAAA,OAAAO,OAAAC,IAAA,4BAAA,EAAA;AAGrCH,aAAA;AACRD,eAAY,KAAK;;AAChBE,OAAA,EAAE;AAAAN,IAAA,KAAAK;AAAAL,IAAA,KAAAM;QAAA;AAAAD,OAAAL,EAAA;AAAAM,OAAAN,EAAA;;AAFLP,WAAUY,IAEPC,GAAG;CAAA,IAAAG;CAAA,IAAAC;AAAA,KAAAV,EAAA,OAAAG,YAAAH,EAAA,OAAAD,MAAAY,YAAA;AAEIF,aAAA;AACR,OAAI,CAACN,SAAQ;GAKb,MAAAS,aAAmBb,MAAKY,YAAkBE,MAAC,IAAO,CAAA;GAClD,MAAAC,QAAcC,OAAMC,SAASC,SAASJ,MAAO,IAAI,CAAAK,KAAM;AAEvD,OAAIN,cAAAE,SAAuBA,UAAU,YAAYA,UAAU,QACzDK,OAAM,QAAQP,WAAU,GAAIE,QAAQ,CAAAM,KAC5BC,MAAoB,CAAAD,MACpBE,SAAUpB,cAAcoB,KAAIC,KAAgBtB,cAApB,KAA6B,CAAC,CAAAuB,YAC/CtB,cAAc,KAAK,CAAC;;AAEpCQ,OAAA,CAACX,MAAKY,YAAaR,SAAS;AAAAH,IAAA,KAAAG;AAAAH,IAAA,KAAAD,MAAAY;AAAAX,IAAA,KAAAS;AAAAT,IAAA,KAAAU;QAAA;AAAAD,OAAAT,EAAA;AAAAU,OAAAV,EAAA;;AAf/BP,WAAUgB,IAePC,GAA6B;CAAA,IAAAe;AAAA,KAAAzB,EAAA,OAAAG,YAAAH,EAAA,OAAAC,YAAA;AAGzBwB,OAAAtB,YAAAF,aAAAJ,oBACJF,WAAS;GACIM;GACDyB,YAAA;GACMC,iBAAA;GACVC,OAAA,EAAAC,QAAU,QAAQ;GACdC,WAAA;GACHC,SAAA;GAEL,CAAC,GATD;AASC/B,IAAA,KAAAG;AAAAH,IAAA,KAAAC;AAAAD,IAAA,KAAAyB;OAAAA,MAAAzB,EAAA;AAAA,QATDyB;;AA3BF,SAAAJ,MAAAW,KAAA;AAAA,QAoBgBA,IAAGC,MAAO"}