1import{K as O,r as c,j as a,S as D}from"./app-DDm4dLCY.js";import{E as W}from"./ElementClicks-kW2hk5aq.js";import{P as z}from"./Placeholder-W1UKt5jG.js";import{S as $}from"./SubscribePopup-BIs2wKL_.js";import{S as G}from"./switch-BT-Lzq3Z.js";import{u as q,a as K,D as V,c as Y,S as H,v as J,b as X,P as Z,d as ee,C as ae,G as oe,F as re}from"./sortable.esm-Tr8sBFKY.js";import{S as le}from"./square-pen-C2HK8B_v.js";import{C as ne}from"./chart-column-Bw2FzsCp.js";/* empty css */import"./dayjs.min-BSRjg0LM.js";import"./button-D9X3vUxO.js";import"./dialog-CEzzDisZ.js";import"./x-CHtAT9W1.js";import"./index-Cdxa91Ef.js";import"./index-AnRJGDGt.js";const I=["Twitter","TikTok"],de=["Email","Mastodon"];function se({element:l,linksDraggable:m,editing:S,showAnalytics:f,socialmediaAnalytics:u,inputRefs:t,onEditUrl:_,onUrlChange:k,onSetUrl:x,onSetToggle:v,onToggleShowAnalytics:j,onToggleDownloadEnabled:C}){const{attributes:h,listeners:N,setNodeRef:y,transform:E,transition:g,isDragging:b}=ee({id:l.name,disabled:!m}),T={transform:ae.Transform.toString(E),transition:g},p=!!S[l.name];return a.jsxs("div",{ref:y,style:T,className:`bg-card border-border mt-3 flex items-center overflow-hidden border sm:rounded-xl ${b?"ring-primary/40 relative z-10 shadow-lg ring-1":""}`,children:[a.jsx("div",{className:"px-2 sm:px-2",...h,...m?N:{},children:a.jsx(oe,{className:`${m?"text-muted-foreground cursor-grab":"text-muted-foreground/40 cursor-not-allowed"} h-4 w-4`})}),a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("div",{className:"py-4 pr-4 pl-2 sm:pr-6 sm:pl-4",children:a.jsxs("div",{className:"flex items-start justify-between",children:[a.jsxs("div",{className:"max-w-sm min-w-0",children:[a.jsx("p",{className:"text-foreground text-sm font-medium",children:l.name}),a.jsx("div",{className:"mt-2",children:l.type==="contactcard"?a.jsx("div",{className:"sm:flex",children:a.jsx("p",{className:"text-muted-foreground truncate text-sm",children:"snaptocontact.vcf"})}):a.jsxs("div",{className:"items-center sm:flex",children:[l.prepend&&a.jsx("p",{className:"text-muted-foreground/70 text-sm",children:l.prepend}),a.jsx("input",{ref:d=>t.current[`url-${l.name}`]=d,type:"text",value:l.content??"",onChange:d=>k(l,d.target.value),onBlur:()=>x(l),onKeyUp:d=>{d.key==="Enter"&&d.target.blur()},placeholder:l.placeholder,className:`text-muted-foreground placeholder:text-muted-foreground/70 w-full appearance-none border-0 bg-transparent p-0 text-sm outline-none focus:ring-0 ${p?"":"hidden"}`}),a.jsxs("div",{className:`flex max-w-xs items-center truncate ${p?"hidden":""}`,children:[a.jsx("p",{className:"text-muted-foreground max-w-xs cursor-pointer truncate text-sm",onClick:()=>_(l),children:l.content?l.content:l.placeholder}),a.jsx(le,{className:`text-muted-foreground ml-2 h-4 w-4 flex-shrink-0 cursor-pointer ${p?"hidden":""}`,onClick:()=>_(l),"aria-hidden":"true"})]})]})}),a.jsxs("div",{className:"mt-2 flex items-center space-x-2 pt-2",style:{marginLeft:"-2px"},children:[a.jsx(ne,{className:"text-muted-foreground hover:text-foreground h-4 w-auto cursor-pointer",onClick:()=>j(l)}),l.type!=="contactcard"&&a.jsx("a",{href:"#",onClick:d=>{d.preventDefault(),C(l)},title:"Include in Contact Card",children:a.jsx(re,{className:`${l.enabled_for_download?"text-primary":"text-muted-foreground/40"} h-4 w-auto cursor-pointer`})})]})]}),a.jsx("div",{className:"ml-2",children:a.jsx(G,{size:"sm",checked:!!l.enabled_for_display,onCheckedChange:d=>v(l,d)})})]})}),f[l.name]&&a.jsx("div",{children:u[l.id]?a.jsx(W,{analytics:u[l.id]}):a.jsx(z,{type:"element-clicks-preview",size:"small"})})]})]})}function Se({profile:l,socialmedia:m,socialmediaAnalytics:S,onUpdated:f}){const u=O(),[t,_]=c.useState(()=>{const e=[{name:"Contact Card",type:"contactcard",prepend:"",placeholder:"",content:l.contact_card_path,enabled_for_display:!1,enabled_for_download:!1,order:101},{name:"Email",type:"email",prepend:"",placeholder:"[email protected]",content:l.user.email,enabled_for_display:!1,enabled_for_download:!1,order:102},{name:"Telephone",type:"telephone",prepend:"",placeholder:"yournumber",value:"",enabled_for_display:!1,enabled_for_download:!1,order:103},{name:"Facebook",type:"socialmedia",prepend:"https://facebook.com/",placeholder:"yourname",value:"",enabled_for_display:!1,enabled_for_download:!1,order:104},{name:"Twitter",type:"socialmedia",prepend:"https://twitter.com/",placeholder:"yourname",value:"",enabled_for_display:!1,enabled_for_download:!1,order:105},{name:"Instagram",type:"socialmedia",prepend:"https://instagram.com/",placeholder:"yourname",value:"",enabled_for_display:!1,enabled_for_download:!1,order:106},{name:"LinkedIn",type:"socialmedia",prepend:"https://linkedin.com/in/",placeholder:"yourname",value:"",enabled_for_display:!1,enabled_for_download:!1,order:107},{name:"Pinterest",type:"socialmedia",prepend:"https://pinterest.com/",placeholder:"yourusername",value:"",enabled_for_display:!1,enabled_for_download:!1,order:108},{name:"Snapchat",type:"socialmedia",prepend:"https://www.snapchat.com/add/",placeholder:"yourusername",value:"",enabled_for_display:!1,enabled_for_download:!1,order:109},{name:"Telegram",type:"socialmedia",prepend:"https://t.me/",placeholder:"channelname",value:"",enabled_for_display:!1,enabled_for_download:!1,order:110},{name:"TikTok",type:"socialmedia",prepend:"https://www.tiktok.com/",placeholder:"yourname",value:"",enabled_for_display:!1,enabled_for_download:!1,order:111},{name:"Whatsapp",type:"socialmedia",prepend:"https://wa.me/",placeholder:"yournumber",value:"",enabled_for_display:!1,enabled_for_download:!1,order:112},{name:"Skype",type:"socialmedia",prepend:"https://join.skype.com/invite/",placeholder:"invitecode",value:"",enabled_for_display:!1,enabled_for_download:!1,order:113},{name:"YouTube (Channel)",type:"socialmedia",prepend:"https://www.youtube.com/c/",placeholder:"yourchannelname",value:"",enabled_for_display:!1,enabled_for_download:!1,order:114},{name:"YouTube (User)",type:"socialmedia",prepend:"https://www.youtube.com/@",placeholder:"yourusername",value:"",enabled_for_display:!1,enabled_for_download:!1,order:115},{name:"GitHub",type:"socialmedia",prepend:"https://github.com/",placeholder:"yourusername",value:"",enabled_for_display:!1,enabled_for_download:!1,order:116},{name:"Mastodon",type:"socialmedia",prepend:"https://",placeholder:"server/@username",value:"",enabled_for_display:!1,enabled_for_download:!1,order:117},{name:"Bitcoin",type:"socialmedia",prepend:"https://blockstream.info/address/",placeholder:"bitcoinaddress",value:"",enabled_for_display:!1,enabled_for_download:!1,order:118},{name:"Ethereum (Wallet)",type:"socialmedia",prepend:"https://etherscan.io/address/",placeholder:"ethereumaddress",value:"",enabled_for_display:!1,enabled_for_download:!1,order:119},{name:"Ethereum (Token)",type:"socialmedia",prepend:"https://etherscan.io/token/",placeholder:"ethereumaddress",value:"",enabled_for_display:!1,enabled_for_download:!1,order:120},{name:"Bandcamp",type:"socialmedia",prepend:"",placeholder:"https://you.bandcamp.com",value:"",enabled_for_display:!1,enabled_for_download:!1,order:121},{name:"Etsy",type:"socialmedia",prepend:"https://www.etsy.com/shop/",placeholder:"yourshop",value:"",enabled_for_display:!1,enabled_for_download:!1,order:122},{name:"Patreon",type:"socialmedia",prepend:"https://www.patreon.com/",placeholder:"yourusername",value:"",enabled_for_display:!1,enabled_for_download:!1,order:123},{name:"Payment",type:"socialmedia",prepend:"",placeholder:"Paypal or Venmo URL",value:"",enabled_for_display:!1,enabled_for_download:!1,order:124},{name:"Soundcloud",type:"socialmedia",prepend:"https://soundcloud.com/",placeholder:"yourusername",value:"",enabled_for_display:!1,enabled_for_download:!1,order:125},{name:"Spotify",type:"socialmedia",prepend:"https://open.spotify.com/artist/",placeholder:"artistname",value:"",enabled_for_display:!1,enabled_for_download:!1,order:126},{name:"Twitch",type:"socialmedia",prepend:"https://twitch.tv/",placeholder:"yourusername",value:"",enabled_for_display:!1,enabled_for_download:!1,order:127},{name:"OpenSea",type:"socialmedia",prepend:"https://opensea.io/",placeholder:"yourusername",value:"",enabled_for_display:!1,enabled_for_download:!1,order:128},{name:"Discord",type:"socialmedia",prepend:"https://discord.gg/",placeholder:"server",value:"",enabled_for_display:!1,enabled_for_download:!1,order:129},{name:"OnlyFans",type:"socialmedia",prepend:"https://onlyfans.com/",placeholder:"yourusername",value:"",enabled_for_display:!1,enabled_for_download:!1,order:130}
1,{name:"LooksRare",type:"socialmedia",prepend:"https://looksrare.org/accounts/",placeholder:"youraddress",value:"",enabled_for_display:!1,enabled_for_download:!1,order:131},{name:"Reddit",type:"socialmedia",prepend:"https://www.reddit.com/user/",placeholder:"yourusername",value:"",enabled_for_display:!1,enabled_for_download:!1,order:132},{name:"Dribbble",type:"socialmedia",prepend:"https://dribbble.com/",placeholder:"yourusername",value:"",enabled_for_display:!1,enabled_for_download:!1,order:133},{name:"Behance",type:"socialmedia",prepend:"https://www.behance.net/",placeholder:"yourusername",value:"",enabled_for_display:!1,enabled_for_download:!1,order:134}].map(r=>{const n=m.find(({name:i})=>i===r.name);return n||r});return e.sort((r,n)=>r.order-n.order),e}),[k,x]=c.useState({}),[v,j]=c.useState({}),[C,h]=c.useState(!0),[N,y]=c.useState(!1),[E,g]=c.useState(!1),b=c.useRef({}),T=q(K(Z)),p=u.props.auth.user.features.social_link_limit,d=u.props.auth.user.plan_name,s=o=>{_(e=>e.map(r=>r.name===o.name?o:r))},P=o=>{let e=0;const r=t.map(n=>o&&n.name===o.name?o:n);for(let n=0;n<r.length;n++)r[n].enabled_for_display==!0&&(e=e+1);return e},A=o=>{h(!1),x(e=>({...e,[o.name]:!0})),requestAnimationFrame(()=>{b.current[`url-${o.name}`]&&b.current[`url-${o.name}`].focus()})},F=(o,e)=>{const r={...o,enabled_for_display:e};if(s(r),!r.content){setTimeout(()=>s({...r,enabled_for_display:!1}),150);return}if(P(r)>p){y(!0),setTimeout(()=>{s({...r,enabled_for_display:!1,enabled_for_download:!1})},250);return}r.enabled_for_download=r.enabled_for_display?!0:r.enabled_for_download,d=="free"&&r.enabled_for_display==!1&&(r.enabled_for_download=!1),L(r)},M=({active:o,over:e})=>{if(!e||o.id===e.id)return;const r=t.findIndex(w=>w.name===o.id),n=t.findIndex(w=>w.name===e.id),i=X(t,r,n);R(i)},R=o=>{let e=o.map(n=>{if(!Object.prototype.hasOwnProperty.call(n,"id")){const i=m.find(w=>w.name===n.name);if(i)return{...n,id:i.id}}return n});e=e.map((n,i)=>({...n,order:i+1})),_(e);const r={profile_id:l.id,elements:e};D.post(route("element.reorder"),r,{preserveScroll:!0,onSuccess:()=>{f&&f()},onError:()=>{}})},U=o=>{const e={...o};e.enabled_for_display=!!(e.content&&e.content!=""),e.enabled_for_download=e.enabled_for_display?!0:e.enabled_for_download,s(e),L(e)},Q=o=>{const e={...o,enabled_for_download:!o.enabled_for_download};if(s(e),d=="free"&&!e.enabled_for_display){g(!0),setTimeout(()=>{s({...e,enabled_for_download:!e.enabled_for_download})},250);return}L(e)},B=o=>{const e=!v[o.name];j(r=>({...r,[o.name]:e})),h(!e)},L=o=>{if(h(!0),P(o)>p){y(!0),setTimeout(()=>{s({...o,enabled_for_display:!1,enabled_for_download:!1,content:""})},150);return}const e={...o,profile_id:l.id};x(r=>({...r,[e.name]:!1})),!I.includes(e.name)&&!de.includes(e.name)&&(e.content=(e.content??"").replaceAll("@","")),I.includes(e.name)&&e.content[0]!=="@"&&(e.content="@"+e.content),s(e),D.put(route("element.socialmedia"),e,{preserveScroll:!0,onSuccess:()=>{f&&f()},onError:()=>{}})};return a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"mx-auto -mt-4 max-w-3xl lg:pb-24",children:a.jsx(V,{sensors:T,collisionDetection:Y,onDragEnd:M,children:a.jsx(H,{items:t.map(o=>o.name),strategy:J,children:a.jsx("div",{className:"w-full",children:t.map(o=>a.jsx(se,{element:o,linksDraggable:C,editing:k,showAnalytics:v,socialmediaAnalytics:S,inputRefs:b,onEditUrl:A,onUrlChange:(e,r)=>s({...e,content:r}),onSetUrl:U,onSetToggle:F,onToggleShowAnalytics:B,onToggleDownloadEnabled:Q},o.name))})})})}),a.jsxs($,{show:N,onClose:()=>y(!1),children:["The Snapto Free Plan allows you to create only ",p," social media link",u.props.auth.user.features.lsocial_ink_limit>1&&a.jsx("span",{children:"s"}),". Upgrade to the Snapto Pro Plan for only $5 per month to unlock unlimited social media links and much more!"]}),a.jsx($,{show:E,onClose:()=>g(!1),children:"With the Snapto Free Plan you can only include items for download in your contact card if those items are visible on your home page. Upgrade to the Snapto Pro Plan for only $5 per month to unlock this feature and much more!"})]})}export{Se as default};
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.