1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7807],{89792:function(e,t,i){var l=i(85893);t.Z=e=>(0,l.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",justifyContent:"center",alignItems:"center",gap:"30px",padding:"20px",textAlign:"left"},children:[(0,l.jsx)("img",{src:"/images/data-protection-at-tangra.webp",alt:"We Protect Your Data at Tangra",style:{width:"512px",maxWidth:"100%"}}),(0,l.jsxs)("div",{children:[(0,l.jsx)("h3",{style:{fontSize:"34px"},children:"We Protect Your Data"}),(0,l.jsxs)("ul",{style:{fontSize:"20px",lineHeight:"2"},children:[(0,l.jsx)("li",{style:{listStyleType:"'â '"},children:"Your data is reliably encrypted and stored."}),(0,l.jsx)("li",{style:{listStyleType:"'â '"},children:"Tangra undergoes regular security audits."}),(0,l.jsx)("li",{style:{listStyleType:"'â '"},children:"Cloud architecture that is GDPR compliant."})]})]})]})},45534:function(e,t,i){var l=i(85893),n=i(67294),s=i(11555),a=i(91940),r=i(2664);let o=e=>{let{refEl:t,open:i,onToggle:n,label:a,iconPath:r,userLists:o,currentListId:g,onPick:m,onCreate:p,newName:h,setNewName:x,closeMenu:v,t:f}=e;return(0,l.jsxs)("div",{ref:t,style:{position:"relative"},children:[(0,l.jsxs)("button",{type:"button",onClick:n,style:c(),title:a,children:[(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",style:d(),children:(0,l.jsx)("path",{d:r})}),(0,l.jsx)("span",{children:a}),(0,l.jsx)("span",{style:{fontSize:"10px",opacity:.7},children:"â¾"})]}),i&&(0,l.jsxs)("div",{style:{position:"absolute",bottom:"calc(100% + 8px)",left:0,minWidth:"240px",maxHeight:"320px",overflowY:"auto",background:"rgba(28, 28, 28, 0.98)",border:"1px solid rgba(255,255,255,0.12)",borderRadius:"12px",padding:"6px",boxShadow:"0 8px 24px rgba(0,0,0,0.45)",zIndex:10},children:[0===o.length&&(0,l.jsx)("div",{style:{padding:"8px 12px",opacity:.6,fontSize:"13px"},children:f("bulk-no-lists",{defaultValue:"No lists yet â create one below."})}),o.map(e=>(0,l.jsxs)("button",{type:"button",onClick:()=>m(e._id),style:u(e._id===g),disabled:e._id===g,title:e._id===g?f("bulk-already-here",{defaultValue:"Already in this list"}):e.name,children:[e.imageThumbUrl?(0,l.jsx)(s.ZP,{image:{_id:e._id,imageThumbUrl:e.imageThumbUrl},alt:"",style:{width:"24px",height:"24px",borderRadius:"50%",objectFit:"cover"}}):(0,l.jsx)("div",{style:{width:"24px",height:"24px",borderRadius:"50%",background:"rgba(255,255,255,0.1)"}}),(0,l.jsx)("span",{style:{flex:1,textAlign:"left",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]},e._id)),(0,l.jsx)("div",{style:{height:"1px",background:"rgba(255,255,255,0.08)",margin:"6px 0"}}),(0,l.jsxs)("div",{style:{display:"flex",gap:"6px",padding:"4px"},children:[(0,l.jsx)("input",{type:"text",value:h,placeholder:f("bulk-new-list-placeholder",{defaultValue:"New list nameâ¦"}),onChange:e=>x(e.target.value),onKeyDown:e=>{"Enter"===e.key&&p(),"Escape"===e.key&&v()},style:{flex:1,padding:"6px 10px",borderRadius:"999px",border:"1px solid rgba(255,255,255,0.15)",background:"rgba(255,255,255,0.05)",color:"#fff",outline:"none",fontSize:"13px"}}),(0,l.jsx)("button",{type:"button",onClick:p,disabled:!h.trim(),style:{...c(),background:h.trim()?"linear-gradient(135deg, #E8056D 0%, #FB6E00 100%)":"rgba(255,255,255,0.08)",cursor:h.trim()?"pointer":"not-allowed"},children:"â"})]})]})]})},c=()=>({display:"inline-flex",alignItems:"center",gap:"6px",padding:"8px 14px",height:"36px",borderRadius:"999px",border:"none",background:"rgba(255,255,255,0.08)",color:"#fff",fontSize:"13px",fontWeight:300,cursor:"pointer",whiteSpace:"nowrap"}),d=()=>({width:"14px",height:"14px",fill:"#fff"}),u=e=>({display:"flex",alignItems:"center",gap:"10px",width:"100%",padding:"8px 10px",border:"none",background:"transparent",color:"#fff",fontSize:"13px",fontWeight:300,cursor:e?"not-allowed":"pointer",opacity:e?.45:1,borderRadius:"8px",textAlign:"left"});t.Z=e=>{let{selectionCount:t,totalCount:i=0,userLists:s=[],currentListId:u,isInUserList:g,onMoveToList:m,onCreateAndMove:p,onAddToList:h,onCreateAndAdd:x,onRemoveFromList:v,onDownload:f,onDelete:w,onSelectAll:b,onCancel:y}=e,{t:j}=(0,a.$G)("images"),k=(0,r.v9)(e=>{var t,i;return null===(i=e.images)||void 0===i?void 0:null===(t=i.musicPlayer)||void 0===t?void 0:t.currentTrack}),C=(0,r.v9)(e=>{var t;return null===(t=e.images)||void 0===t?void 0:t.selectedImage}
1),L=k&&!(C&&C.url)?window.innerWidth<768?64:72:0,[S,z]=(0,n.useState)(null),[M,E]=(0,n.useState)(""),N=(0,n.useRef)(null),U=(0,n.useRef)(null);if((0,n.useEffect)(()=>{if(!S)return;let e=e=>{var t,i;let l=null===(t=N.current)||void 0===t?void 0:t.contains(e.target),n=null===(i=U.current)||void 0===i?void 0:i.contains(e.target);l||n||(z(null),E(""))};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[S]),!t)return null;let I=()=>{z(null),E("")},_=e=>t=>{"move"===e?null==m||m(t):null==h||h(t),I()},A=e=>()=>{let t=M.trim();t&&("move"===e?null==p||p(t):null==x||x(t),I())},B=i>0&&t>=i;return(0,l.jsx)("div",{className:"image-bulk-action-bar",style:{position:"fixed",left:0,right:0,bottom:L,zIndex:1040,display:"flex",justifyContent:"center",padding:"12px 16px",pointerEvents:"none",transition:"bottom 0.2s ease"},children:(0,l.jsxs)("div",{style:{pointerEvents:"auto",display:"flex",alignItems:"center",gap:"8px",padding:"10px 14px",background:"rgba(20, 20, 20, 0.92)",backdropFilter:"blur(10px)",border:"1px solid rgba(255,255,255,0.1)",borderRadius:"999px",color:"#fff",boxShadow:"0 6px 24px rgba(0,0,0,0.45)",maxWidth:"calc(100vw - 24px)",flexWrap:"wrap"},children:[(0,l.jsx)("span",{style:{fontSize:"14px",fontWeight:300,padding:"0 6px",whiteSpace:"nowrap"},children:j("bulk-selected-count",{count:t,defaultValue:"{{count}} selected"})}),b&&i>0&&(0,l.jsx)("button",{type:"button",onClick:b,style:{...c(),background:"transparent",textDecoration:"underline",padding:"6px 8px",fontSize:"12px",opacity:.85},title:B?j("bulk-deselect-all",{defaultValue:"Deselect all"}):j("bulk-select-all",{defaultValue:"Select all"}),children:B?j("bulk-deselect-all",{defaultValue:"Deselect all"}):j("bulk-select-all",{defaultValue:"Select all"})}),(0,l.jsx)(o,{refEl:N,open:"move"===S,onToggle:()=>z(e=>"move"===e?null:"move"),label:j("bulk-move-to-list",{defaultValue:"Move to list"}),iconPath:"M438.6 150.6c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.7 96 32 96C14.3 96 0 110.3 0 128s14.3 32 32 32l306.7 0-41.4 41.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96zm-333.2 352c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 416 416 416c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0 41.4-41.4c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96z",userLists:s,currentListId:u,onPick:_("move"),onCreate:A("move"),newName:M,setNewName:E,closeMenu:I,t:j}),(0,l.jsx)(o,{refEl:U,open:"add"===S,onToggle:()=>z(e=>"add"===e?null:"add"),label:j("bulk-add-to-list",{defaultValue:"Add to list"}),iconPath:"M64 80c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-320c0-8.8-7.2-16-16-16L64 80zM0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM200 344l0-64-64 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l64 0 0-64c0-13.3 10.7-24 24-24s24 10.7 24 24l0 64 64 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-64 0 0 64c0 13.3-10.7 24-24 24s-24-10.7-24-24z",userLists:s,currentListId:u,onPick:_("add"),onCreate:A("add"),newName:M,setNewName:E,closeMenu:I,t:j}),(0,l.jsxs)("button",{type:"button",onClick:f,style:c(),title:j("download",{defaultValue:"Download"}),children:[(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",style:d(),children:(0,l.jsx)("path",{d:"M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 242.7-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7 288 32zM64 352c-35.3 0-64 28.7-64 64l0 32c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-32c0-35.3-28.7-64-64-64l-101.5 0-45.3 45.3c-25 25-6
15.5 25-90.5 0L165.5 352 64 352zm368 56a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"})}),(0,l.jsx)("span",{className:"hide-on-very-small-screen",children:j("download",{defaultValue:"Download"})})]}),g&&(0,l.jsxs)("button",{type:"button",onClick:v,style:c(),title:j("bulk-remove-from-list",{defaultValue:"Remove from this list"}),children:[(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",style:d(),children:(0,l.jsx)("path",{d:"M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"})}),(0,l.jsx)("span",{className:"hide-on-very-small-screen",children:j("bulk-remove-from-list",{defaultValue:"Remove from this list"})})]}),(0,l.jsxs)("button",{type:"button",onClick:w,style:{...c(),color:"#FB7185"},title:j("bulk-delete",{defaultValue:"Delete"}),children:[(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",style:{...d(),fill:"#FB7185"},children:(0,l.jsx)("path",{d:"M135.2 17.7L128 32 32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0-7.2-14.3C307.4 6.8 296.3 0 284.2 0L163.8 0c-12.1 0-23.2 6.8-28.6 17.7zM416 128L32 128 53.2 467c1.6 25.3 22.6 45 47.9 45l245.8 0c25.3 0 46.3-19.7 47.9-45L416 128z"})}),(0,l.jsx)("span",{className:"hide-on-very-small-screen",children:j("bulk-delete",{defaultValue:"Delete"})})]}),(0,l.jsx)("div",{style:{width:"1px",height:"24px",background:"rgba(255,255,255,0.12)",margin:"0 4px"}}),(0,l.jsx)("button",{type:"button",onClick:y,style:{...c(),background:"transparent"},title:j("cancel",{ns:"default",defaultValue:"Cancel"}),children:j("cancel",{ns:"default",defaultValue:"Cancel"})})]})})}},50046:function(e,t,i){var l=i(85893),n=i(67294),s=i(91940),a=i(67402),r=i(75256),o=i(98008),c=i(2664),d=i(82785),u=i(10955),g=i(86144),m=i(67056),p=i(81282);t.Z=e=>{let{image:t,setShowDescription:h,viewNext:x,t:v,selectedGroupImages:f,downloadImage:w,downloadedMessage:b,hideInfo:y}=e,{t:j}=(0,s.$G)("common"),k=(0,p.a)(),C=(0,c.v9)(e=>"video"===e.images.view),L=(0,c.v9)(e=>"music"===e.images.view),S=(0,c.v9)(e=>"photos"===e.images.view),z=(0,c.I0)(),[M,E]=(0,n.useState)(!1),[N,U]=(0,n.useState)(!1),[I,_]=(0,n.use
1State)(!1),[A,B]=(0,n.useState)(!1),[D,T]=(0,n.useState)(),[V,O]=(0,n.useState)(!1),[P,Z]=(0,n.useState)(""),R=(0,n.useMemo)(()=>(null==t?void 0:t.filename)?C||(null==t?void 0:t.video)?"".concat("https://tangra.link","/video"):L?"".concat("https://tangra.link","/music"):"".concat("https://tangra.link","/images"):"",[null==t?void 0:t.filename,null==t?void 0:t.video,L,C,S]),q=(0,n.useMemo)(()=>(null==t?void 0:t.filename)?(null==t?void 0:t.private)?(null==t?void 0:t.shareLink)?(0,m.bE)("".concat(R,"/").concat(null==t?void 0:t.shareLink),k):void 0:(0,m.bE)("".concat(R,"/").concat(null==t?void 0:t.filename),k):"",[R,null==t?void 0:t.filename,null==t?void 0:t.private,null==t?void 0:t.shareLink,k]),F=(0,n.useCallback)(async()=>{if(void 0!==q)return q;try{let e=await (0,d.getJson)("".concat(i.g.serverUrl,"/images/sharelink/").concat(null==t?void 0:t.filename));if(null==e?void 0:e.shareLink)return(0,m.bE)("".concat(R,"/").concat(e.shareLink),k)}catch(e){console.error("Failed to generate image share link",e)}return""},[q,R,null==t?void 0:t.filename,k]),W=()=>{E(!0),setTimeout(()=>{E(!1)},2e3)};(0,n.useEffect)(()=>{if(navigator.share||window.Android&&window.Android.share){U(!0);return}if(U(!1),T(q),void 0!==q)return;let e=!1;return F().then(t=>{e||T(t)}),()=>{e=!0}},[q,F]),(0,n.useEffect)(()=>{_(!(C||L))},[C,L]);let G=D?(0,l.jsx)(a.Z,{url:D,onlyButton:!0,marginBottom:"10px",onCopied:W}):(0,l.jsx)("button",{className:"submit-btn-circle",title:j("copy-link"),disabled:!0,style:{marginBottom:"10px"},children:(0,l.jsx)("i",{className:"icon icon-copy"})}),H=async()=>{var e,i;let l=await F();if(!l)return;let n="Tangra AI - "+(C?"Video":L?"Music":"Image")+" - "+t.name;if(null===(e=window.chrome)||void 0===e?void 0:e.webview)Z(l),O(!0);else if(navigator.share)try{await navigator.share({text:l,title:n,url:l})}catch(e){console.error("Share failed:",e)}else(null===(i=window.Android)||void 0===i?void 0:i.share)&&window.Android.share(l,n)};return(0,l.jsxs)("div",{style:{marginTop:"auto",backgroundColor:"black",height:"60px",width:"100%",position:"fixed",bottom:0},children:[(0,l.jsx)("center",{children:(0,l.jsxs)("div",{style:{display:"flex",padding:"10px",justifyContent:"space-evenly",maxWidth:"600px"},children:[!y&&I&&(0,l.jsx)("button",{className:"submit-btn-circle",title:v("show-info"),children:(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",style:{cursor:"pointer",filter:"none",background:"white"},onClick:()=>h(e=>!e),children:(0,l.jsx)("path",{d:"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h24V272H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h48c13.3 0 24 10.7 24 24v88h8c13.3 0 24 10.7 24 24s-10.7 24-24 24H216c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"})})}),(0,l.jsx)("button",{className:"submit-btn-circle",title:v("download"),disabled:b,onClick:w,children:(0,l.jsx)("i",{className:"icon icon-download"})}),(0,l.jsx)(u.Z,{image:t,onShareModalRequest:()=>B(!0)}),N?(0,l.jsx)("button",{className:"submit-btn-circle",title:v("share-title"),children:(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",style:{cursor:"pointer",width:"50%"},onClick:H,children:(0,l.jsx)("path",{d:"M352 224l-46.5 0c-45 0-81.5 36.5-81.5 81.5c0 22.3 10.3 34.3 19.2 40.5c6.8 4.7 12.8 12 12.8 20.3c0 9.8-8 17.8-17.8 17.8l-2.5 0c-2.4 0-4.8-.4-7.1-1.4C210.8 374.8 128 333.4 128 240c0-79.5 64.5-144 144-144l80 0 0-61.3C352 15.5 367.5 0 386.7 0c8.6 0 16.8 3.2 23.2 8.9L548.1 133.3c7.6 6.8 11.9 16.5 11.9 26.7s-4.3 19.9-11.9 26.7l-139 125.1c-5.9 5.3-13.5 8.2-21.4 8.2l-3.7 0c-17.7 0-32-14.3-32-32l0-64zM80 96c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-48c0-17.7 14.3-32 32-32s32 14.3 32 32l0 48c0 44.2-35.8 80-80 80L80 512c-44.2 0-80-35.8-80-80L0 112C0 67.8 35.8 32 80 32l48 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L80 96z"})})}):G,f&&f.length>1&&(0,l.jsx)("button",{className:"submit-btn-circle",title:v(C?"next-video":L?"next-music":"next-image"),children:(0,l.jsx)("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",style:{cursor:"pointer",width:"50%"},onClick:L?()=>z((0,g.iB)()):x,children:(0,l.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.538 4.113a1 1 0 0 1 1.035.068l10 7a1 1 0 0 1 0 1.638l-10 7A1 1 0 0 1 2 19V5a1 1 0 0 1 .538-.887ZM16 5.8A1.8 1.8 0 0 1 17.8 4h1.4A1.8 1.8 0 0 1 21 5.8v12.4a1.8 1.8 0 0 1-1.8 1.8h-1.4a1.8 1.8 0 0 1-1.8-1.8V5.8Z"})})})]})}),(0,l.jsx)(o.Z,{show:M,onHide:()=>E(!1),children:(0,l.jsx)(o.Z.Body,{style:{textAlign:"center"},children:v("link-copied-to-clipboard")})}),(0,l.jsx)(r.Z,{show:V,onHide:()=>O(!1),url:P,title:v("share-title"),onCopied:W}),(0,l.jsxs)(o.Z,{show:A,onHide:()=>B(!1),centered:!0,children:[(0,l.jsx)(o.Z.Header,{closeButton:!0,style:{background:"var(--background)"},children:(0,l.jsx)(o.Z.Title,{children:v("share-reminder-title")})}),(0,l.jsx)(o.Z.Body,{children:(0,l.jsxs)("center",{children:[v("share-reminder-text"),
1(0,l.jsx)("br",{}),(0,l.jsx)("br",{}),N?(0,l.jsx)("button",{className:"submit-btn-circle",title:v("share-title"),children:(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",style:{cursor:"pointer",width:"50%"},onClick:H,children:(0,l.jsx)("path",{d:"M352 224l-46.5 0c-45 0-81.5 36.5-81.5 81.5c0 22.3 10.3 34.3 19.2 40.5c6.8 4.7 12.8 12 12.8 20.3c0 9.8-8 17.8-17.8 17.8l-2.5 0c-2.4 0-4.8-.4-7.1-1.4C210.8 374.8 128 333.4 128 240c0-79.5 64.5-144 144-144l80 0 0-61.3C352 15.5 367.5 0 386.7 0c8.6 0 16.8 3.2 23.2 8.9L548.1 133.3c7.6 6.8 11.9 16.5 11.9 26.7s-4.3 19.9-11.9 26.7l-139 125.1c-5.9 5.3-13.5 8.2-21.4 8.2l-3.7 0c-17.7 0-32-14.3-32-32l0-64zM80 96c-8.8 0-16 7.2-16 16l0 320c0 8.8 7.2 16 16 16l320 0c8.8 0 16-7.2 16-16l0-48c0-17.7 14.3-32 32-32s32 14.3 32 32l0 48c0 44.2-35.8 80-80 80L80 512c-44.2 0-80-35.8-80-80L0 112C0 67.8 35.8 32 80 32l48 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L80 96z"})})}):G]})})]})]})}},10972:function(e,t,i){i(85893),i(67294),i(91940),i(22419),i(97215),i(2664)},44727:function(e,t,i){i(85893),i(67994),i(2664)},55024:function(e,t,i){var l=i(85893),n=i(67294),s=i(22419),a=i(9267),r=i(55074),o=i(54288),c=i(71278),d=i(11555);let u=(0,a.createUseGesture)([r.e,r.f]);t.Z=e=>{let{image:t}=e,[i,a]=(0,n.useState)(),[r,g]=(0,n.useState)(),{viewportWidth:m,viewportHeight:p}=(0,s.n)(),[h,x]=(0,o.q_)(()=>({x:0,y:0,scale:1,rotateZ:0})),v=(0,n.useRef)(),f=(0,d.Zy)({imageUrl:e.imageUrl},!1)||e.imageUrl;return(0,n.useEffect)(()=>{x.set({scale:1,rotateZ:0})},[t,x]),(0,n.useEffect)(()=>{if(t&&m>0){(0,c.updateImageSize)(t);let e=(0,c.calculateSizeToFitViewport)(m,p,t);g("".concat(e.height,"px")),a("".concat(e.width,"px")),x.start({x:Math.floor((m-e.width)/2),y:Math.floor((p-84-e.height)/2)})}},[t,m,p,x]),(0,n.useEffect)(()=>{var e=document.getElementById("__next");let t=window.scrollY;return e&&(e.style.overflow="hidden"),()=>{var e=document.getElementById("__next");e&&(e.style.overflow="",window.scrollTo({top:t,left:0,behavior:"instant"}))}},[]),(0,n.useEffect)(()=>{let e=e=>{let t=h.scale.get();e.deltaY<0?t<2&&x.start({scale:2*t}):t>.5&&x.start({scale:t/2})},t=v.current;return t.addEventListener("wheel",e),()=>{t.removeEventListener("wheel",e)}},[x,h.scale]),(0,n.useEffect)(()=>{let e=e=>e.preventDefault();return document.addEventListener("gesturestart",e),document.addEventListener("gesturechange",e),document.addEventListener("gestureend",e),()=>{document.removeEventListener("gesturestart",e),document.removeEventListener("gesturechange",e),document.removeEventListener("gestureend",e)}},[]),u({onDrag:e=>{let{pinching:t,cancel:i,offset:[l,n],...s}=e;if(t)return i();x.start({x:l,y:n})},onPinch:e=>{let{origin:[t,i],first:l,movement:[n],offset:[s,a],memo:r}=e;if(l){let{width:e,height:l,x:n,y:s}=v.current.getBoundingClientRect();r=[h.x.get(),h.y.get(),t-(n+e/2),i-(s+l/2)]}let o=r[0]-(n-1)*r[2],c=r[1]-(n-1)*r[3];return x.start({scale:s,rotateZ:a,x:o,y:c}),r}},{target:v,drag:{from:()=>[h.x.get(),h.y.get()]},pinch:{scaleBounds:{min:.5,max:2},rubberband:!0}}),(0,l.jsxs)("div",{children:[(0,l.jsx)("div",{className:"backdrop-filter"}),(0,l.jsx)("div",{className:"square-content",style:{height:"calc(100% - 60px)",overflow:"hidden"},children:(0,l.jsxs)(o.q.div,{className:"zoom-image",ref:v,style:{...h,backgroundImage:"url(".concat(f,")"),width:i,height:r},children:[" ",(0,l.jsx)("div",{className:"watermark"})]})})]})}},25759:function(e,t,i){i.d(t,{J:function(){return d}});var l=i(85893),n=i(67294),s=i(67421),a=i(44698),r=i(82785),o=i(2664),c=i(22419);let d=e=>{var t,d;let{t:u}=(0,s.$G)("images"),g=(0,o.v9)(e=>e.images.view),m=e.forceView||g,{viewportWidth:p}
1=(0,c.n)(),h=p<=1300,[x,v]=(0,n.useState)(!1),[f,w]=(0,n.useState)(1),[b,y]=(0,n.useState)(0),[j,k]=(0,n.useState)([]),[C,L]=(0,n.useState)([]),S=(0,n.useRef)(0),z=(0,n.useRef)(),M=(0,n.useCallback)(async()=>{try{let e=(await (0,r.getJson)("".concat(i.g.serverUrl,"/images/client-reviews?lang=").concat((0,a.G3)(),"&product=").concat(m))).testimonials;e=e.sort(()=>.5-Math.random()),L(e),y(Math.ceil(e.length/3)),w(0),S.current=0}catch(e){S.current++<3&&(z.current=setTimeout(M,4e3*S.current))}},[m]);(0,n.useEffect)(()=>{v(!0)},[]),(0,n.useEffect)(()=>(e.testimonials?(L(e.testimonials),y(Math.ceil(e.testimonials.length/3)),w(0)):(S.current=0,M()),()=>clearTimeout(z.current)),[m,e.testimonials,M]),(0,n.useEffect)(()=>{let e=3*f,t=C.slice(e,e+3);t.sort((e,t)=>e.text.length-t.text.length),3==t.length?k([t[0],t[2],t[1]]):k(t)},[f,C,h]),(0,n.useEffect)(()=>{h&&C.length>0&&(k(C),w(0))},[h,C]);let E=x&&p<1100;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("div",{style:{display:"flex",width:"100%",marginTop:E?"16px":"40px",alignItems:"center",justifyContent:"center"},children:(0,l.jsx)("div",{style:{width:"100%"},children:(0,l.jsx)("div",{className:"text-center",children:null!==(t=e.title)&&void 0!==t?t:(0,l.jsx)("h2",{style:E?{paddingBottom:0}:void 0,children:(0,l.jsxs)(s.cC,{i18nKey:"reviews-from-clients",t:u,children:["What ",(0,l.jsx)("span",{className:"gradient-text",children:"Clients"})," are Saying"]})})})})}),x&&!h&&(0,l.jsxs)("div",{style:{display:"flex",width:"100%",alignItems:"center",justifyContent:"center",gap:"5px",height:"64px"},children:[(0,l.jsx)("button",{onClick:()=>w(f-1),className:"submit-btn-circle",style:{fontSize:"24px"},disabled:0==f,children:"<"}),Array.from({length:b}).map((e,t)=>(0,l.jsx)("div",{className:"page-link",style:{fontSize:t==f?"128px":"64px",color:"black"},children:"\xb7"},t)),(0,l.jsx)("button",{onClick:()=>w(f+1),className:"submit-btn-circle",style:{fontSize:"24px"},disabled:f>=b-1,children:">"})]}),(0,l.jsx)("div",{style:null!==(d=e.containerStyle)&&void 0!==d?d:E?{marginTop:6}:{minHeight:"600px"},children:(0,l.jsx)("div",{style:{display:"flex",width:"100%",alignItems:"center",justifyContent:"center",flexDirection:x&&h?"column":"row",gap:E?"12px":"40px",flexWrap:"wrap"},children:j.map(e=>(0,l.jsxs)("div",{className:"images-testimonial",children:["âââââ",(0,l.jsx)("br",{}),(0,l.jsx)("br",{}),e.title&&(0,l.jsxs)("b",{children:[e.title," ",(0,l.jsx)("br",{}),(0,l.jsx)("br",{})]}),e.text,(0,l.jsx)("br",{}),(0,l.jsx)("br",{}),e.name,(0,l.jsx)("br",{}),(0,l.jsx)("br",{})]},e.text))})})]})}},2326:function(e,t,i){i.d(t,{Z:function(){return I}});var l=i(85893),n=i(67294),s=i(82785),a=i(71337),r=i(3364),o=i(11555),c=i(91542),d=i(45534),u=i(26948),g=i(8100),m=i(20466),p=i(44698),h=i(91940);i(44727);var x=i(33299),v=i(2664),f=i(37081);i(1296),i(22578);var w=i(57011),b=i(71278),y=i(52562),j=i(50539),k=i(10955),C=i(9143),L=e=>{let{image:t,onNameUpdate:n}=e,{t:a}=(0,h.$G)("images"),r=async e=>{try{let l="".concat(i.g.serverUrl,"/images/user/").concat(t._id,"/name");await (0,s.putJson)(l,{name:e}),null==n||n(t._id,e)}catch(e){console.error("Error updating image name:",e)}};return(0,l.jsx)(C.Z,{value:t.name,onSave:r,placement:"overlay",editLabel:a("edit-name"),saveLabel:a("tool-save"),className:"my-name hide-on-very-small-screen",style:{textAlign:"center",padding:"0 5px"}})},S=i(11163),z=i(27724);let M="undefined"!=typeof navigator&&/iPhone|iPad|iPod|Macintosh|Android/i.test(navigator.userAgent);"undefined"!=typeof navigator&&/Macintosh/i.test(navigator.userAgent);let E=0,N=0,U=0;var I=e=>{var t;let C=(0,n.useRef)(0);C.current+=1;let{t:I}=(0,h.$G)("images"),{checkSubscription:_,subscription:A,imageSelector:B}=e,{refreshCredits:D}=(0,y.D)(),T=(0,v.v9)(e=>e.images.view)||"images",V="video"===T&&!B,O="music"===T&&!B,P="photos"===T&&!B,Z=V?"my-videos":O?"my-music":P?"my-photos":"my-images",R=!V&&!O,q=(0,v.v9)(e=>e.images.credits),F=(0,v.v9)(e=>e.images.subscriptionCredits),W=(0,v.I0)(),G=(0,S.useRouter)(),{inApp:H}=(0,z.Fe)(),J=!!(e.inApp||H),Y=()=>{J?W((0,f.Ug)(!0)):G.push("/pricing")}
1,[$,K]=(0,n.useState)(!1),[X,Q]=(0,n.useState)(!1),[ee,et]=(0,n.useState)(!1),[ei,el]=(0,n.useState)(!1),[en,es]=(0,n.useState)(!1),[,ea]=(0,n.useState)(0),[er,eo]=(0,n.useState)(0),{keywords:ec,tags:ed,model:eu,size:eg,vertical:em,verticalCategory:ep}=e,eh="".concat(i.g.serverUrl,"/images/mine/all"),[ex,ev]=(0,n.useState)([]),[ef,ew]=(0,n.useState)(!1),[eb,ey]=(0,n.useState)(!0),ej=(0,v.v9)(e=>e.images.libraryBundle),ek=(0,n.useCallback)(e=>W((0,f.E$)(e)),[W]),eC=(e,t)=>{e.newLyrics!=t&&(e.newLyrics=t,ev([...ex]))},eL=(e,t)=>{e.newDescription!=t&&(e.newDescription=t,ev([...ex]))},eS=(e,t)=>{let i=ex.find(t=>t._id===e);i&&(i.name=t,ev([...ex]))},ez=(0,n.useRef)(0),eM=(0,n.useCallback)(async e=>{let t=++ez.current;try{let i=await (0,s.uz)(eh,{index:e,limit:20,keywords:ec,tags:ed,model:eu,size:eg,bundleId:null==ej?void 0:ej.bundleId,collapseBundles:!ej&&!B,language:(0,p.G3)(),models:V?b.videoModelsList:O?b.musicModelsList:P?b.photoModelsList:b.imageModelsList,photoOnly:P});if(t!==ez.current)return;i.length<20&&ey(!1),ev(t=>0===e?i:[...t,...i])}catch(i){console.error("ImagesMine error loading page",e,i),t===ez.current&&ey(!1)}},[eh,ec,ed,eu,eg,ej,B,V,O,P]),eE=(0,n.useRef)({});(0,n.useEffect)(()=>{let e={keywords:ec,tags:ed,model:eu,size:eg,bundleId:null==ej?void 0:ej.bundleId,view:T},t=eE.current;JSON.stringify(e)!==JSON.stringify(t)&&(eE.current=e,ev([]),U=0,ey(!0),eM(0))},[ec,ed,eu,eg,ej,T,eM]);let{data:eN,mutate:eU}=(0,g.ZP)("".concat(i.g.serverUrl,"/images/queue"),e=>(0,s.uz)(e,{}).then(e=>e),{refreshInterval:er});(0,n.useRef)(0);let eI=(0,n.useCallback)(async()=>{let e=++ez.current,t=[],i=!0;for(let l=0;l<=U&&i;l++)try{let n=await (0,s.uz)(eh,{index:l,limit:20,keywords:ec,tags:ed,model:eu,size:eg,bundleId:null==ej?void 0:ej.bundleId,collapseBundles:!ej&&!B,language:(0,p.G3)(),models:V?b.videoModelsList:O?b.musicModelsList:P?b.photoModelsList:b.imageModelsList,photoOnly:P});if(e!==ez.current)return;t.push(...n),n.length<20&&(i=!1)}catch(e){console.error("mutateImages error loading page",l,e),i=!1}e===ez.current&&(ev(t),ey(i))},[eh,ec,ed,eu,eg,ej,B,V,O,P]),e_=(0,n.useCallback)(async()=>{eI();let e=await (0,x.getSession)();e&&(e.credits!=q&&W((0,f.B1)(e.credits)),F!=e.subscriptionCredits&&W((0,f.MB)(e.subscriptionCredits)))},[eI,q,F,W]);(0,n.useEffect)(()=>{eN&&((E!=eN.count||N!=eN.startedCount)&&(E=eN.count,N=eN.startedCount,e_()),eN.count>0?3e3!=er&&eo(3e3):0!=er&&eo(0))},[eN]),(0,n.useEffect)(()=>{ex&&ex.find(e=>e.requestedOn&&!e.finishedOn)&&(eo(3e3),eU())},[ex,eU]),(0,n.useEffect)(()=>{window.mutateMine=e_},[e_]),(0,n.useEffect)(()=>(window.onDeleteMine=e=>{e&&ev(t=>t?t.filter(t=>(null==t?void 0:t._id)!==e):t)},()=>{window.onDeleteMine=void 0}),[]),(0,n.useEffect)(()=>{eA().catch(e=>console.error("ImagesMine auto-start failed",e))},[ex]);let eA=async()=>{if("trialpro"==A||"trialpremium"==A||"freetrial"==A||"paidtrial"==A){let e=ex&&ex.find(e=>!e.isBundle);!e||ex.find(e=>e.requestedOn)||e.requestedOn||(0,j.xs)(e._id)||await eB(e,!0)}},eB=async(t,l)=>{if(!(0,j.Y2)(t._id))return;let n=!1,a=!1;try{var r,o,c;let d=await _(!0),u=(0,b.calculateCredits)(t.model,d,t.width,t.height,t.steps,t.length,t.audio,t.description,t.selectedVoice)||1,g=await D(),m=g.credits+(null!==(r=g.subscriptionCredits)&&void 0!==r?r:0);if(eN){let e=null!==(o=b.queueLimits[""+d])&&void 0!==o?o:b.queueLimits.default;if(e<b.queueLimits.true&&m>1e3&&(e=b.queueLimits.true),eN.count>=e){es(!0);return}}if(d&&m>=u){let r="".concat(i.g.serverUrl,"/images/user/").concat(t._id,"/generate");t.requestedOn=new Date,ea(e=>e+1),n=!0;let o=t.newLyrics?await (0,s.putJson)(r,{newLyrics:t.newLyrics,newDescription:t.newDescription,private:!0}):await (0,s.putJson)(r,{});if(!(0,j.X5)(o)){a=!0,t.requestedOn=void 0,ea(e=>e+1),o.error!==b.NO_CREDITS_MESSAGE||l||W((0,f.gv)(!0));return}e_(),eo(3e3),eU(),null===(c=e.onGenerate)||void 0===c||c.call(e)}else l||W((0,f.gv)(!0))}finally{n&&!a?(0,j.p2)(t._id):(0,j.OW)(t._id)}},eD=async()=>{let e="".concat(i.g.serverUrl,"/images/user/").concat(ee._id);et(!1),(0,s.XL)(e,{}),ev(ex.filter(e=>e._id!=ee._id))},eT=async e=>{if(e){let t="".concat(i.g.serverUrl,"/images/user/").concat(e._id);await (0,s.XL)(t,{}),e.requestedOn=void 0,ev([...ex]),eN.count--}},eV=async(e,t)=>{let i={finishedOn:e.finishedOn,message:e.message,requestedOn:e.requestedOn};delete e.finishedOn,delete e.message,e.requestedOn=new Date,ev([...ex]);let l=await (0,s.uz)(t,{id:e._id});if(null==l?void 0:l.error){Object.assign(e,i),ev([...ex]);return}eo(3e3),eU()},eO=async e=>eV(e,"".concat(i.g.serverUrl,"/images/restart")),eP=ex&&ex.filter(e=>e.finishedOn&&e.imageUrl&&"error"!=e.imageUrl)||[];(0,b.isPremiumTier)(A);
1let[eZ,eR]=(0,n.useState)([]);(0,n.useEffect)(()=>{let e=!1;return B||(0,s.getJson)("".concat(i.g.serverUrl,"/images/lists?type=").concat(T)).then(t=>{e||eR(Array.isArray(t)?t:(null==t?void 0:t.data)||[])}).catch(e=>console.error("Failed to load lists for bulk bar:",e)),()=>{e=!0}},[T,B]);let{selection:eq,confirmBulkDelete:eF,setConfirmBulkDelete:eW,toggleSelect:eG,exitSelection:eH,selectAllVisible:eJ,handleAddToList:eY,handleCreateAndAdd:e$,handleMoveToList:eK,handleCreateAndMove:eX,handleBulkDownload:eQ,handleBulkDelete:e0,performBulkDelete:e2}=(0,u.Z)({images:eP,view:T,onRemoveIds:e=>ev(t=>t.filter(t=>!e.includes(t._id))),onListCreated:e=>eR(t=>[...t,e])}),e1=eq.size>0;return(0,l.jsxs)("center",{"data-tour":"my-gallery",children:[em&&ep==Z&&ec&&(!ex||0==ex.length)&&I("no-results"),(!em||ep==Z)&&(0,l.jsx)(r.Z,{files:ex,vertical:em,loadMore:()=>{if(ef||!eb||0===ex.length)return;ew(!0);let e=U+1;U=e,eM(e).finally(()=>ew(!1))},showLoadMore:eb,title:ej?ej.bundleName:I(Z),groupClassName:"my-music-group",inApp:e.inApp,inPopup:e.inPopup,itemHeight:null!==(t=e.itemHeight)&&void 0!==t?t:400,itemRender:(t,i,n)=>{var s,a,r;if(t.isBundle)return(0,l.jsx)(c.G,{bundle:t,width:i,height:n,onOpen:ek},"bundle".concat(t.bundleId));if(B&&!(t.finishedOn&&t.imageUrl&&"error"!=t.imageUrl))return"";let d=t.finishedOn&&t.imageUrl&&"error"!=t.imageUrl,u=d&&eq.has(t._id),g=i=>{var l,n,s;if((e1||(null==i?void 0:i.shiftKey))&&d&&!B){null==i||null===(n=i.preventDefault)||void 0===n||n.call(i),null==i||null===(s=i.stopPropagation)||void 0===s||s.call(i),eG(i,t);return}return i&&(null===(l=i.preventDefault)||void 0===l||l.call(i)),t.private?e.onPrivateClick(t,eP):e.onClick(t,eP)};return(0,l.jsxs)("div",{className:"my-item image-container"+(u?" is-selected":"")+(e1?" has-selection":"")+(M?" buttons-always-visible":""),style:{width:i},children:[(0,l.jsx)("div",{className:"tile-badge tile-badge-model",children:(0,b.getModelNameByModel)(t.model)||("custom"==t.model?"":"Automatic")}),t.selectedVoice&&(0,l.jsxs)("div",{className:"tile-badge tile-badge-voice",children:["Voice: ",(0,b.getVoiceName)(t.selectedVoice.id),t.style?" (".concat(t.style).concat(t.styleIntensity?" ".concat(t.styleIntensity):"",")"):""]}),d?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("a",{href:"#",onClick:e=>g(e),children:(0,l.jsx)(o.ZP,{image:t,preferThumb:!0,style:em?{width:i,height:n,objectFit:"contain",objectPosition:"center"}:{width:i,height:n},loading:"lazy",alt:t.description,title:t.description})}),!B&&(0,l.jsx)("button",{type:"button",className:"select-circle",onClick:e=>{e.preventDefault(),e.stopPropagation(),eG(e,t)},title:u?I("deselect",{ns:"default",defaultValue:"Deselect"}):I("select",{defaultValue:"Select"}),"aria-label":u?"Deselect image":"Select image",children:u&&(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",style:{width:"60%",height:"60%",fill:"currentColor"},children:(0,l.jsx)("path",{d:"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"})})}),!B&&!e1&&(0,l.jsxs)("div",{className:"image-overlay",style:{width:i,height:n,paddingRight:"10px"},onClick:e=>g(e),children:[t.private&&(0,l.jsx)("div",{className:"tile-badge tile-badge-private",children:"PRIVATE"}),(0,l.jsx)("div",{className:M?"":"show-on-hover",children:(0,l.jsxs)("div",{style:{display:"flex",gap:"10px"},children:[(R||P||O||V)&&(0,l.jsx)("button",{className:"submit-btn-circle",title:I("ai-edit"),onClick:e=>{e.preventDefault(!0),e.stopPropagation(!0),W((0,f.rh)(t))},children:(0,l.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",style:{cursor:"pointer",width:"50%"},children:(0,l.jsx)("path",{d:"M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160L0 416c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-96c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7-14.3 32-32 32L96 448c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 64z"})})}),P?(0,l.jsx)("button",{onClick:e=>{e.preventDefault(!0),e.stopPropagation(!0),et(t)},disabled:t.creating,className:"submit-btn-circle",style:{marginBottom:"0px"},title:I("delete-image"),children:(0,l.jsx)("svg",{style:{cursor:"pointer",width:"50%"},xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",children:(0,l.jsx)("path",{d:"M135.2 17.7L128 32 32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0-7.2-14.3C307.4 6.8 296.3 0 284.2 0L163.8 0c-12.1 0-23.2 6.8-28.6 17.7zM416 128L32 128 53.2 467c1.6 25.3 22.6 45 47.9 45l245.8 0c25.3 0 46.3-19.7 47.9-45L416 128z"})})}):"",(0,l.jsx)("div",{onClick:e=>{e.preventDefault(),e.stopPropagation()},children:(0,l.jsx)(k.Z,{image:t})})]})})]}),(0,l.jsx)(L,{image:t,onNameUpdate:eS})]}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)("div",{style:{width:i,height:n},className:t.requestedOn?"processing-image generating-image":"processing-image ",children:[(0,l.jsx)("br",{}),(0,l.jsx)("textarea",{className:t.newLyrics||t.newDescription?"form-control gradient-input"
1:"",readOnly:!t.newLyrics&&!t.newDescription,value:null!==(r=null!==(a=null!==(s=t.newDescription)&&void 0!==s?s:t.newLyrics)&&void 0!==a?a:t.lyrics)&&void 0!==r?r:t.description+(t.tags?" "+t.tags.join(", "):""),onChange:e=>{t.lyrics?eC(t,e.target.value):eL(t,e.target.value)}}),(0,l.jsx)("br",{}),(0,l.jsx)("br",{}),(0,l.jsx)("div",{style:{display:"flex",gap:"18px",alignItems:"center",justifyContent:"center",flexWrap:"wrap"},children:t.requestedOn&&(!t.finishedOn||b.musicModelsList.includes(t.model)&&!t.imageThumbUrl&&!t.message)?(0,l.jsxs)(l.Fragment,{children:[t.startedOn&&(!t.finishedOn||b.musicModelsList.includes(t.model)&&!t.imageThumbUrl)?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(m.Z,{}),(0,l.jsx)("br",{})]}):(0,l.jsxs)("div",{style:{width:"100%"},children:[" ",(0,b.isPremiumTier)(A)?I("in-the-queue"):(0,l.jsxs)(l.Fragment,{children:[I("for-faster-generations")," ",(0,l.jsx)("button",{className:"submit-btn-2",onClick:Y,children:I("upgrade")})]})]})," ",(0,l.jsx)("button",{onClick:()=>eT(t),className:"submit-btn-circle",style:{marginBottom:"0px"},title:I("image-cancel"),children:(0,l.jsx)("svg",{style:{cursor:"pointer",width:"50%"},xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",children:(0,l.jsx)("path",{d:"M135.2 17.7L128 32 32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0-7.2-14.3C307.4 6.8 296.3 0 284.2 0L163.8 0c-12.1 0-23.2 6.8-28.6 17.7zM416 128L32 128 53.2 467c1.6 25.3 22.6 45 47.9 45l245.8 0c25.3 0 46.3-19.7 47.9-45L416 128z"})})})]}):(0,l.jsxs)(l.Fragment,{children:[t.finishedOn&&!t.imageUrl?t.message==b.NO_CREDITS_MESSAGE?(0,l.jsxs)("div",{style:{marginBottom:"0px"},children:[I("no-credits"),q+(null!=F?F:0)>=t.credits?(0,l.jsx)("button",{className:"submit-btn-2",onClick:()=>eO(t),title:I("retry-enough-credits"),style:{margin:"5px"},children:I("retry-enough-credits")}):(0,l.jsx)("button",{className:"submit-btn-2",onClick:()=>W((0,f.gv)(!0)),title:I("get-more-credits"),style:{margin:"5px"},children:I("get-more-credits")})]}):(0,l.jsx)(l.Fragment,{children:t.model===b.models.VIDEO_EDITOR_RENDER?I("export-failed"):(0,b.isPaidTier)(A)?t.message===b.INTERNAL_FILTER?(0,l.jsx)(w.Z,{text:I("block-message")}):I("block-message-external"):(0,l.jsxs)("div",{style:{display:"flex",flexWrap:"nowrap",alignItems:"center",gap:"5px"},children:[(0,l.jsx)(w.Z,{text:I("block-message-free")}),(0,l.jsx)("button",{className:"submit-btn-2",onClick:()=>W((0,f.Ug)(!0)),children:"Subscribe"})]})}):(0,l.jsxs)(l.Fragment,{children:[t.lyrics&&(0,l.jsx)("button",{onClick:()=>eC(t,t.lyrics),disabled:t.creating,className:"submit-btn-2 remove-min-width",title:I("generate"),children:I("edit-lyrics")}),t.video&&(0,l.jsx)("button",{onClick:()=>eL(t,t.description),disabled:t.creating,className:"submit-btn-2 remove-min-width",title:I("generate"),children:I("edit-description")}),(0,l.jsx)("button",{onClick:()=>{eB(t).catch(e=>console.error("ImagesMine generate failed",e))},disabled:t.creating,className:"submit-btn-2 remove-min-width",title:I("generate"),children:I("generate")})]}),(0,l.jsx)("button",{onClick:()=>{et(t)},disabled:t.creating,className:"submit-btn-circle",style:{marginBottom:"0px"},title:I("delete-image"),children:(0,l.jsx)("svg",{style:{cursor:"pointer",width:"50%"},xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",children:(0,l.jsx)("path",{d:"M135.2 17.7L128 32 32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0-7.2-14.3C307.4 6.8 296.3 0 284.2 0L163.8 0c-12.1 0-23.2 6.8-28.6 17.7zM416 128L32 128 53.2 467c1.6 25.3 22.6 45 47.9 45l245.8 0c25.3 0 46.3-19.7 47.9-45L416 128z"})})})]})})]}),(0,l.jsx)(L,{image:t,onNameUpdate:eS})]}),(0,l.jsx)("br",{})]},"my".concat(t._id))}}),!B&&(0,l.jsx)(d.Z,{selectionCount:eq.size,totalCount:eP.length,userLists:eZ,currentListId:null,isInUserList:!1,onMoveToList:eK,onCreateAndMove:eX,onAddToList:eY,onCreateAndAdd:e$,onDownload:eQ,onDelete:e0,onSelectAll:()=>{eq.size>=eP.length?eH():eJ()},onCancel:eH}),(0,l.jsx)(a.Z,{show:eF,onHide:()=>eW(!1),title:I("bulk-delete-title",{defaultValue:"Delete selected?"}),content:I("bulk-delete-confirm",{count:eq.size,defaultValue:"{{count}} item(s) will be permanently deleted. This cannot be undone."}),buttonText:I("bulk-delete",{defaultValue:"Delete"}),onConfirm:e2}),(0,l.jsx)(a.Z,{show:!1!==ee,onHide:()=>et(!1),title:I("image-delete-title"),content:(0,l.jsx)(l.Fragment,{children:I("image-delete-question",{name:ee.name})}),buttonText:I("image-delete-confirm"),onConfirm:()=>eD(ee)}),(0,l.jsx)(a.Z,{show:ei,onHide:()=>el(!1),content:(0,l.jsxs)(l.Fragment,{children:["We couldn't create prompts for the requested keywords. You can try using ",(0,l.jsx)("b",{children:"advanced mode"})," to craft an image."]}),buttonText:"OK",onConfirm:()=>el(ee)}),(0,l.jsx)(a.Z,{show:en,onHide:()=>es(!1),content:(0,l.jsx)(l.Fragment,{children:"Upgrade to add more requests to your queue."}),buttonText:"Upgrade",onConfirm:()=>{es(!1),W((0,f.Ug)(!0))}})]})}},99449:function(e,t,i){var l=i(85893);
1i(67294);var n=i(19168);t.Z=e=>{let{view:t}=e,i=[{imageUrl:"https://cdn.tangra.link/videos/tangra-ai-images-tutorial.png",videoUrl:"https://cdn.tangra.link/videos/tangra-ai-images-tutorial-small.webm",title:"AI Images Tutorial",description:"Learn to create stunning AI-generated images"},{imageUrl:"https://cdn.tangra.link/videos/tangra-ai-video-tutorial.png",videoUrl:"https://cdn.tangra.link/videos/tangra-ai-video-tutorial-small.webm",title:"AI Video Tutorial",description:"Produce videos with AI assistance"},{imageUrl:"https://cdn.tangra.link/videos/tangra-ai-voice-tutorial.png",videoUrl:"https://cdn.tangra.link/videos/tangra-ai-voice-tutorial-small.webm",title:"AI Voice Tutorial",description:"Create voiceovers and audio with AI"},{imageUrl:"https://tangra.link/images/products/tangra-ai-photo-editor.jpg",videoUrl:"https://cdn.tangra.link/videos/tangra-ai-photo-editor-promo-video.mp4",title:"AI Photo Editor",description:"Edit photos with powerful AI tools"},{imageUrl:"https://tangra.link/images/products/tangra-ai-voice-generator.jpg",videoUrl:"https://cdn.tangra.link/videos/tangra-ai-voice-generator-promo-video.mp4",title:"AI Voice Generator",description:"Generate realistic voices for your tutorials, videos, or ads"}],s=null;return("image"===t?s=i[0]:"video"===t?s=i[1]:"voice"===t?s=i[2]:"photos"===t&&(s=i[3]),s)?(0,l.jsx)("div",{style:{margin:"20px 0",textAlign:"center"},children:(0,l.jsx)(n.Z,{url:s.videoUrl,poster:s.imageUrl,width:600,height:"auto",controls:!0,autoplay:!1})}):null}},50539:function(e,t,i){i.d(t,{OW:function(){return r},X5:function(){return o},Y2:function(){return s},p2:function(){return a},xs:function(){return n}});let l=new Map,n=e=>l.has(e),s=e=>{let t=l.get(e);return(null==t||!t.charging)&&(l.set(e,{charging:!0,sent:(null==t?void 0:t.sent)===!0}),!0)},a=e=>{l.set(e,{charging:!1,sent:!0})},r=e=>{let t=l.get(e);t&&(t.sent?l.set(e,{charging:!1,sent:!0}):l.delete(e))},o=e=>!(e&&e.error)},26948:function(e,t,i){i.d(t,{Z:function(){return r}});var l=i(67294),n=i(82785),s=i(22578),a=i(11555);function r(e){let{images:t,listId:r,isInUserList:o=!1,view:c="images",onRemoveIds:d,onRefreshAfterAdd:u,onListCreated:g}=e,[m,p]=(0,l.useState)(()=>new Set),[h,x]=(0,l.useState)(null),[v,f]=(0,l.useState)(!1),[w,b]=(0,l.useState)(!1);(0,l.useEffect)(()=>{p(new Set),x(null)},[r,c]);let y=()=>{p(new Set),x(null)},j=(0,l.useMemo)(()=>Array.from(m),[m]),k=(0,l.useMemo)(()=>(t||[]).filter(e=>m.has(e._id)),[t,m]),C=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];window.dispatchEvent(new CustomEvent("listChanged",{detail:{action:"imageModified",removedFromLists:e}}))},L=async e=>{if(!v&&e&&0!==m.size){f(!0);try{await Promise.all(j.map(t=>(0,n.uz)("".concat(i.g.serverUrl,"/images/lists/").concat(e,"/add/").concat(t),{}))),C(),u&&await u()}catch(e){console.error("Bulk add failed:",e)}finally{f(!1),y()}}},S=async e=>{if(!v&&e&&0!==m.size){f(!0);try{let t=await (0,n.uz)("".concat(i.g.serverUrl,"/images/lists"),{name:e,type:c});if(!(null==t?void 0:t._id))throw Error("Failed to create list");null==g||g(t),await Promise.all(j.map(e=>(0,n.uz)("".concat(i.g.serverUrl,"/images/lists/").concat(t._id,"/add/").concat(e),{}))),C(),u&&await u()}catch(e){console.error("Create-and-add failed:",e)}finally{f(!1),y()}}},z=async e=>{if(v||!e||0===m.size)return;f(!0);let t=o&&!!r&&e!==r;try{await Promise.all(j.map(t=>(0,n.uz)("".concat(i.g.serverUrl,"/images/lists/").concat(e,"/add/").concat(t),{}))),t?(await Promise.all(j.map(e=>(0,n.uz)("".concat(i.g.serverUrl,"/images/lists/").concat(r,"/remove/").concat(e),{}))),null==d||d([...j])):u&&await u(),C(t?[r]:[])}catch(e){console.error("Bulk move failed:",e)}finally{f(!1),y()}},M=async e=>{if(!v&&e&&0!==m.size){f(!0);try{let t=await (0,n.uz)("".concat(i.g.serverUrl,"/images/lists"),{name:e,type:c});if(!(null==t?void 0:t._id))throw Error("Failed to create list");null==g||g(t),await Promise.all(j.map(e=>(0,n.uz)("".concat(i.g.serverUrl,"/images/lists/").concat(t._id,"/add/").concat(e),{}))),o&&r?(await Promise.all(j.map(e=>(0,n.uz)("".concat(i.g.serverUrl,"/images/lists/").concat(r,"/remove/").concat(e),{}))),null==d||d([...j]),C([r])):(u&&await u(),C())}catch(e){console.error("Create-and-move failed:",e)}finally{f(!1),y()}}},E=async()=>
1{if(!v&&o&&r&&0!==m.size){f(!0);try{await Promise.all(j.map(e=>(0,n.uz)("".concat(i.g.serverUrl,"/images/lists/").concat(r,"/remove/").concat(e),{}))),null==d||d([...j]),C([r])}catch(e){console.error("Bulk remove failed:",e)}finally{f(!1),y()}}},N=async e=>{let t=!0===e.video||"true"===e.video||"mp4"===e.video,i=t?"mp4"===e.video?"https://cdn.tangra.link/videos/".concat(e.filename,".mp4"):(e.imageUrl||"").replace(".webp",".webm"):(e.imageUrl||"").replace(".webp",".png"),l=t?"mp4"===e.video?"mp4":"webm":"png",n="".concat(e.filename||e.name||"image",".").concat(l);if(!i)return;let r=e.private?await (0,a._U)({imageUrl:i},!1):null;await (0,s.yf)(r||i,n)},U=async()=>{if(v||0===m.size)return;f(!0);let e=[...k];try{for(let t of e)await N(t),await new Promise(e=>setTimeout(e,800))}finally{f(!1),y()}},I=async()=>{if(v||0===m.size){b(!1);return}f(!0);try{await Promise.all(j.map(e=>(0,n.XL)("".concat(i.g.serverUrl,"/images/user/").concat(e),{}))),null==d||d([...j]),C()}catch(e){console.error("Bulk delete failed:",e)}finally{f(!1),b(!1),y()}};return{selection:m,bulkBusy:v,confirmBulkDelete:w,setConfirmBulkDelete:b,toggleSelect:(e,i)=>{if(!i)return;let l=i._id,n=new Set(m);if((null==e?void 0:e.shiftKey)&&h){let e=(t||[]).map(e=>e._id),i=e.indexOf(h),s=e.indexOf(l);if(i>=0&&s>
1=0){let[t,a]=i<=s?[i,s]:[s,i],r=!n.has(l);for(let i=t;i<=a;i++)r?n.add(e[i]):n.delete(e[i])}else n.has(l)?n.delete(l):n.add(l)}else n.has(l)?n.delete(l):n.add(l);x(l),p(n)},exitSelection:y,selectAllVisible:()=>{t&&p(new Set(t.map(e=>null==e?void 0:e._id).filter(Boolean)))},handleAddToList:L,handleCreateAndAdd:S,handleMoveToList:z,handleCreateAndMove:M,handleRemoveFromList:E,handleBulkDownload:U,handleBulkDelete:()=>b(!0),performBulkDelete:I}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.