@frak-labs/components
Version:
Frak Wallet components, helping any person to interact with the Frak wallet.
1 lines • 6.13 kB
JavaScript
export const __webpack_ids__=["766"];export const __webpack_modules__={"./src/components/ButtonShare/index.ts":function(e,t,o){o.r(t),o.d(t,{ButtonShare:()=>S});var n=o("./src/utils/registerWebComponent.ts"),r=o("../../node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js"),s=o("../../node_modules/class-variance-authority/dist/index.mjs");let i="spinner__leaf-xtOJmT",a=({ref:e,className:t,...o})=>(0,r.BX)("span",{...o,ref:e,className:(0,s.cx)("spinner-KHk8mw"),children:[(0,r.tZ)("span",{className:i}),(0,r.tZ)("span",{className:i}),(0,r.tZ)("span",{className:i}),(0,r.tZ)("span",{className:i}),(0,r.tZ)("span",{className:i}),(0,r.tZ)("span",{className:i}),(0,r.tZ)("span",{className:i}),(0,r.tZ)("span",{className:i})]});a.displayName="Spinner";var l=o("./src/hooks/useClientReady.ts"),d=o("./src/hooks/useReward.ts"),c=o("../core/dist/actions.js"),u=o("../../node_modules/preact/hooks/dist/hooks.module.js");let p={marginTop:"16px",padding:"16px",backgroundColor:"#FEE2E2",border:"1px solid #FCA5A5",borderRadius:"4px",color:"#991B1B"},m={display:"flex",alignItems:"center",gap:"8px",marginBottom:"12px"},f={margin:0,fontSize:"16px",fontWeight:500},h={fontSize:"14px",lineHeight:"1.5",margin:"0 0 12px 0"},y={color:"#991B1B",textDecoration:"underline",textUnderlineOffset:"2px"},x={display:"inline-flex",alignItems:"center",gap:"8px",marginBottom:"10px",padding:"8px 12px",backgroundColor:"white",border:"1px solid #D1D5DB",borderRadius:"4px",color:"black",fontSize:"14px",fontWeight:500};function b({debugInfo:e}){let[t,o]=(0,u.eJ)(!1);return(0,r.BX)("div",{children:[(0,r.tZ)("button",{type:"button",style:x,onClick:()=>o(!t),children:"Ouvrir les informations"}),t&&(0,r.tZ)("textarea",{style:{display:"block",width:"100%",height:"200px",fontSize:"12px"},children:e})]})}function w({debugInfo:e}){let{copied:t,copy:o}=function(e={}){let{successDuration:t=2e3}=e,[o,n]=(0,u.eJ)(!1);return{copy:(0,u.I4)(async e=>{try{if(navigator.clipboard&&window.isSecureContext)await navigator.clipboard.writeText(e),n(!0);else{let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.focus(),t.select();try{document.execCommand("copy"),n(!0)}catch(e){return console.error("Failed to copy text:",e),!1}finally{t.remove()}}return setTimeout(()=>{n(!1)},t),!0}catch(e){return console.error("Failed to copy text:",e),!1}},[t]),copied:o}}();return(0,r.BX)("div",{style:p,children:[(0,r.tZ)("div",{style:m,children:(0,r.tZ)("h3",{style:f,children:"Oups ! Nous avons rencontr\xe9 un petit probl\xe8me"})}),(0,r.BX)("p",{style:h,children:["Impossible d'ouvrir le menu de partage pour le moment. Si le probl\xe8me persiste, copiez les informations ci-dessous et collez-les dans votre mail \xe0"," ",(0,r.tZ)("a",{href:"mailto:help@frak-labs.com?subject=Debug",style:y,children:"help@frak-labs.com"})," ",(0,r.tZ)("br",{}),"Merci pour votre retour, nous traitons votre demande dans les plus brefs d\xe9lais."]}),(0,r.tZ)("button",{type:"button",onClick:()=>o(e??""),style:x,children:t?"Informations copi\xe9es !":"Copier les informations de d\xe9bogage"}),(0,r.tZ)(b,{debugInfo:e})]})}var g=o("./src/utils/setup.ts"),k=o("../core/dist/index.js");async function v(){if(!window.FrakSetup?.client)throw Error("Frak client not found");await (0,c.s9)(window.FrakSetup.client,window.FrakSetup?.modalWalletConfig??{})}function S({text:e="Share and earn!",classname:t="",useReward:o,noRewardText:n,targetInteraction:i,showWallet:c}){let p=(0,u.Ye)(()=>void 0!==o,[o]),m=(0,u.Ye)(()=>void 0!==c,[c]),{isClientReady:f}=(0,l.t)(),{reward:h}=(0,d.w)(p&&f,i),{handleShare:y,isError:x,debugInfo:b}=function(e){let[t,o]=(0,u.eJ)(void 0),[n,r]=(0,u.eJ)(!1);return{handleShare:(0,u.I4)(async()=>{if(!window.FrakSetup?.client){console.error("Frak client not found"),o(k.oC.empty().formatDebugInfo("Frak client not found")),r(!0);return}let t=(0,g.Gt)();if(!t)throw Error("modalBuilderSteps not found");try{await t.sharing(window.FrakSetup?.modalShareConfig??{}).display(t=>({...t,targetInteraction:e}))}catch(e){if(e instanceof k.u&&e.code===k.ss.clientAborted)return void console.debug("User aborted the modal");o(window.FrakSetup.client.debugInfo.formatDebugInfo(e)),r(!0),console.error("Error while opening the modal",e)}},[e]),isError:n,debugInfo:t}}(i),S=(0,u.Ye)(()=>p?h?e.includes("{REWARD}")?e.replace("{REWARD}",h):`${e} ${h}`:n??e.replace("{REWARD}",""):e,[p,e,n,h]),Z=(0,u.I4)(async()=>await (m?v():y()),[m,y]);return(0,r.BX)(r.HY,{children:[(0,r.BX)("button",{type:"button",className:(0,s.cx)("buttonShare-F23Y9m",t,"override"),onClick:Z,children:[!f&&(0,r.tZ)(a,{})," ",S]}),x&&(0,r.tZ)(w,{debugInfo:b})]})}(0,n.A)(S,"frak-button-share",["text"],{shadow:!1})},"./src/hooks/useClientReady.ts":function(e,t,o){o.d(t,{t:()=>s});var n=o("./src/utils/clientReady.ts"),r=o("../../node_modules/preact/hooks/dist/hooks.module.js");function s(){let[e,t]=(0,r.eJ)(!0),o=(0,r.I4)(()=>{t(!1)},[]);return(0,r.d4)(()=>((0,n.D)("add",o),()=>(0,n.D)("remove",o)),[o]),{isClientReady:!e}}},"./src/hooks/useReward.ts":function(e,t,o){o.d(t,{w:()=>a});var n=o("../core/dist/index.js"),r=o("../core/dist/actions.js");async function s({targetInteraction:e}){let t=window.FrakSetup?.client;if(!t)return void console.warn("Frak client not ready yet");let{maxReferrer:o,rewards:s}=await (0,r.pO)(t);if(!o)return;let i=(0,n.Up)(t.config.metadata?.currency),a=Math.ceil(o[i]);if(e){let t=s.filter(t=>t.interactionTypeKey===e).map(e=>e.referrer[i]).reduce((e,t)=>t>e?t:e,0);t>0&&(a=Math.ceil(t))}return(0,n.dN)(a,t.config.metadata?.currency)}var i=o("../../node_modules/preact/hooks/dist/hooks.module.js");function a(e,t){let[o,n]=(0,i.eJ)(void 0);return(0,i.d4)(()=>{e&&s({targetInteraction:t}).then(e=>{e&&n(e)})},[e,t]),{reward:o}}},"./src/utils/registerWebComponent.ts":function(e,t,o){o.d(t,{A:()=>i});var n=o("../../packages/shared/module/utils/onDocumentReady.ts"),r=o("../../node_modules/preact-custom-element/dist/preact-custom-element.esm.js"),s=o("./src/utils/initFrakSdk.ts");function i(e,t,o=[],a={shadow:!1}){"undefined"!=typeof window&&((0,n.E)(s.m),customElements.get(t)||(0,r.Z)(e,t,o,a))}}};