PageSourceSearch

https://streetartcities.com/_next/static/chunks/0kmoncu9rh6va.js

js streetartcities.com collected 2026-09-24 08:58:47 UTC 34,820 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,490030,e=>{"use strict";var t=e.i(26863),s=e.i(122525),a=e.i(939217),r=e.i(255897),l=e.i(122605),i=e.i(782584),n=e.i(509239);let o=({count:e})=>(0,t.jsxs)("div",{className:"absolute bottom-2 right-2 bg-white/90 shadow-sm text-black/90 text-xs font-medium px-1.5 py-0.5 rounded-xl",children:["+",e,(0,t.jsxs)("span",{className:"hidden @md:inline",children:[" image",1!==e?"s":""]})]}),d=({marker:e})=>{let[a,r]=(0,s.useState)(null);if(!e.images||0===e.images.length)return null;let d=e.images?.length>1?"col-span-3":"col-span-4",c=e.images?.length>2?"row-span-4":"row-span-8";return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"grid @lg:grid-cols-4 @lg:grid-rows-12 gap-3 @xl:gap-6",children:[(0,t.jsx)("div",{className:(0,n.cn)("row-span-12 aspect-4/3 bg-gray-200 bg-cover bg-center rounded-lg cursor-pointer",d),title:e.artistsString+"—"+e.title,style:{backgroundImage:`url(${e.images[0]?.sizes.large})`},onClick:()=>r([0,e.images.map(e=>e.url)])}),e.images.slice(1,3).map((s,a)=>(0,t.jsx)("div",{className:(0,n.cn)("bg-gray-200 bg-cover bg-center rounded-lg cursor-pointer hidden @lg:block relative",c),style:{backgroundImage:`url(${s?.sizes.large})`},onClick:()=>r([a+1,e.images.map(e=>e.url)]),children:1===a&&e.images.length>3&&(0,t.jsx)(o,{count:e.images.length-3})},s?.sizes.large+a)),e.images.length>1&&(0,t.jsx)(i.Map,{zoom:13,allowInteraction:!1,centerPoint:[e.location.lat,e.location.lng],style:{backgroundColor:"#8cd4f6"},className:"rounded-lg overflow-hidden relative z-0 bg-gray-200 hidden @lg:block row-span-4",markers:[{...e,onClick:()=>{}}]})]},"marker-images"),e.images.length>2&&(0,t.jsx)("div",{className:"@lg:hidden flex gap-3 mt-3",children:e.images.slice(1,5).map((s,a)=>(0,t.jsx)("div",{className:"flex-1 aspect-4/3 bg-gray-200 bg-cover bg-center rounded-lg cursor-pointer relative",style:{backgroundImage:`url(${s?.sizes.large})`},onClick:()=>r([a+1,e.images.map(e=>e.url)]),children:3===a&&e.images.length>5&&(0,t.jsx)(o,{count:e.images.length-5})},s?.sizes.large+a))}),(0,t.jsx)(l.default,{src:a,onClose:()=>r(null)},"fullscreen-image")]})};var c=e.i(657580),m=e.i(401851);let u=({marker:e})=>{let s=e?.relationships?.filter(e=>"previously_on_this_wall"===e.type).sort((e,t)=>t.marker.timestamp-e.marker.timestamp);return s&&0!==s.length?(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm mb-4",children:"History of this wall:"}),(0,t.jsxs)("div",{className:"flex flex-col relative gap-5",children:[(0,t.jsx)("div",{className:"absolute top-3 left-1 bottom-5 w-px ml-[-0.5px] bg-gray-200 rounded-full"}),(0,t.jsx)("div",{className:"absolute top-[calc(100%-1.5rem)] left-1 -bottom-6 w-px ml-[-0.5px] bg-linear-to-b from-gray-200 to-transparent rounded-full"}),s.map((s,r)=>(0,t.jsxs)("div",{className:"w-full grid grid-cols-4 gap-4 relative",children:[(0,t.jsx)("div",{className:"col-span-3 flex flex-col",children:(0,t.jsxs)("div",{className:"flex flex-col pl-4.5",children:[(0,t.jsx)("div",{className:"absolute left-0 top-1 size-2 bg-gray-400 rounded-full"}),(0,t.jsxs)("h4",{className:"font-medium text-xs flex items-center gap-1 mb-1",children:[(0,m.format)(new Date(1e3*s.marker.timestamp),"MMM, yyyy"),"removed"===s.marker.status&&(0,t.jsx)("span",{className:"text-[10px] text-zinc-600 uppercase bg-zinc-100 rounded-xl font-bold px-1.5 py-0.5",children:"Removed"})]}),s.marker.artistsString&&(0,t.jsx)("p",{className:"text-sm font-semibold",children:s.marker.artistsString}),s.marker.id===e.id?(0,t.jsx)("span",{className:"text-sm text-zinc-600",children:"This artwork"}):(0,t.jsx)(a.default,{href:`/markers/${s.marker.id}`,className:"text-sm text-red-500 hover:underline",children:s.marker.title||"Untitled"})]})}),(0,t.jsx)(c.MarkerTile,{marker:s.marker,showDetails:!1})]},s.marker.id))]})]}):(0,t.jsx)("p",{className:"text-sm text-gray-700",children:"No previous artworks recorded on this wall."})};var h=e.i(136163),x=e.i(911755);let g=e=>e.toLocaleString("en-US",{maximumFractionDigits:e>=100?0:1}),p={m:{length:"m",area:"m²"},ft:{length:"ft",area:"sq ft"}},f=({value:e,type:s,unit:a,onUnitChange:r})=>(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{children:"area"===s?((e,t,s=!1)=>{let a="ft"===t?g(10.7639104167*e):g(e);return s?`${a} ${"ft"===t?"sq ft":"m²"}`:a})(e,a):((e,t,s=!1)=>{let a="ft"===t?g(3.280839895*e):g(e);return s?`${a} ${"ft"===t?"ft":"m"}`:a})(e,a)}),(0,t.jsx)("span",{className:"inline-flex gap-0.5 rounded-full bg-zinc-100 p-0.5 text-xs",children:Object.keys(p).map(e=>(0,t.jsx)("button",{type:"button","aria-pressed":e===a,onClick:()=>r(e),className:(0,n.cn)("rounded-full px-1.5 py-0.5 leading-tight",e===a?"bg-white font-medium text-zinc-900 shadow-sm":"text-zinc-500 hover:text-zinc-900"),children:p[e][s]},e))})]}),j=(e,t)=>{var s;let a,r=e.find(e=>e.id===t)?.values;return r?.length===1&&Number.isFinite(a="number"==typeof(s=r[0].value)?s:"string"==typeof s&&/^\d+([.,]\d+)?$/.test(s.trim())?Number.parseFloat(s.trim().replace(",",".")):NaN)&&a>0?a:null},k=({marker:e})=>{let a=[...(e=>
1{let[a,r]=(0,s.useState)("m");return(0,s.useMemo)(()=>{let s=j(e,"height"),l=j(e,"width"),i=e.map(e=>{let i="height"===e.id?s:"width"===e.id?l:null;return i?{...e,component:(0,t.jsx)(f,{value:i,type:"length",unit:a,onUnitChange:r})}:e});if(!s||!l)return i;let n={id:"total_area",name:"Total area",description:"Calculated from the height and width of the artwork",component:(0,t.jsx)(f,{value:s*l,type:"area",unit:a,onUnitChange:r})},o=i.reduce((e,{id:t},s)=>"height"===t||"width"===t?s:e,-1);return[...i.slice(0,o+1),n,...i.slice(o+1)]},[e,a])})(e.attributesDetails||[]),{id:"marker_type",name:"Marker type",description:"Type of the marker",values:[{value:e.type}]},"no-site"!==e.siteId&&{id:"city",name:"City",description:"City in which the marker is located",values:[{value:e.cityName,href:`/cities/${e.siteId}`}]},{id:"country",name:"Country",description:"Country in which the marker is located",values:[{value:e.cityCountry,href:`/cities/countries/${(0,h.default)(e.cityCountry||"")}`}]},...e.locationWords?[{id:"what3words",name:"What3Words",description:"What3Words location of the marker",component:(0,t.jsxs)("a",{className:"flex items-center gap-2 text-red-500 hover:text-red-800",href:`https://map.what3words.com/${e.locationWords}`,target:"_blank",rel:"noreferrer noopener",children:[(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 122 120",children:(0,t.jsxs)("g",{fill:"currentColor",children:[(0,t.jsx)("path",{d:"M116.08 4.92v110.16H5.92V4.92h110.16m3.934-3.934H1.986v118.028h118.028V.986z"}),(0,t.jsx)("path",{d:"M31.609 84.791c.452.164.922.247 1.397.247 1.71 0 3.253-1.08 3.838-2.689l15.253-41.906a4.09 4.09 0 0 0-2.441-5.236 4.095 4.095 0 0 0-5.235 2.441L29.168 79.555a4.054 4.054 0 0 0 .137 3.123 4.054 4.054 0 0 0 2.304 2.113zM49.673 82.679a4.055 4.055 0 0 0 2.304 2.112c.452.164.922.247 1.397.247 1.71 0 3.253-1.08 3.838-2.689l15.253-41.906a4.09 4.09 0 0 0-2.441-5.236 4.094 4.094 0 0 0-5.235 2.441L49.536 79.555a4.065 4.065 0 0 0 .137 3.124zM70.041 82.679a4.055 4.055 0 0 0 2.304 2.112c.452.164.922.247 1.397.247a4.097 4.097 0 0 0 3.839-2.689l15.253-41.906a4.09 4.09 0 0 0-2.441-5.236 4.094 4.094 0 0 0-5.235 2.441L69.904 79.555a4.065 4.065 0 0 0 .137 3.124z"})]})}),(0,t.jsx)("span",{children:e.locationWords})]})}]:[]].filter(Boolean).filter(e=>!e.values?.some(({type:e})=>"markers"===e));return(0,t.jsx)(x.EntityAttributesTable,{entityType:"marker",entity:e,attributes:a,className:"-mt-4",tableClassName:"min-w-full"})};var y=e.i(276643),v=e.i(498180);let b=(0,v.default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var w=e.i(644537),N=e.i(739419),C=e.i(970717),S=e.i(821504),D=e.i(922152),M=e.i(99461),z=e.i(634263),I=e.i(83089),$=e.i(18605),L=e.i(128020),T=e.i(713341),A=e.i(230823),F=e.i(699254),_=e.i(989743),B=e.i(979077),H=e.i(69458);let R=(0,s.forwardRef)(({entityType:e,entityId:a,onCommentAdded:r,threadUsers:l},i)=>{let{isLoaded:o,isLoggedIn:d}=(0,L.useAccessToken)(),c=(0,D.useCurrentUser)(),m=(0,s.useId)(),[u,h]=(0,s.useState)(""),[x,g]=(0,s.useState)([]),[p,f]=(0,s.useState)(!1),[j,k]=(0,s.useState)(!1),y=(0,_.useMentions)({value:u,onChange:h,threadUsers:l}),v=(0,A.isUploadingAttachments)(x);(0,s.useImperativeHandle)(i,()=>({reply:e=>{if(!d)return void(0,$.redirectToLogin)();let t=`<@${e.displayName}|${e.href}>`;u.includes(t)||h(`${u.trimEnd()} ${t} `.trimStart()),k(!0);let s=y.textareaRef.current;s?.focus(),requestAnimationFrame(()=>{let e=s?.value.length??0;s?.setSelectionRange(e,e)})}}));let b=async t=>{if(t.preventDefault(),!d)return void(0,$.redirectToLogin)();let s=u.trim();if(s&&!p&&!v){f(!0);try{await B.default.post(`reporting/reports/${e}.${a}`,{type:"comment",comment:s,attachments:(0,A.attachmentUrls)(x)}),h(""),g([]),k(!1),r?.(),I.default.success("Comment added")}catch(e){console.error("[AddComment] Failed to add comment",e),I.default.error("Sorry, we couldn't add your comment")}finally{f(!1)}}};if(!o)return null;if(!d)return(0,t.jsxs)(T.Button,{variant:"outline",size:"sm",onClick:$.redirectToLogin,children:[(0,t.jsx)(z.MessageCircleIcon,{}),"Leave a comment"]});let w=j||x.length>0;return(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)(H.default,{user:c,className:"w-8 h-8 mr-0"}),(0,t.jsxs)("form",{className:"flex flex-col gap-2 flex-1",onSubmit:b,children:[(0,t.jsx)("label",{className:"sr-only",htmlFor:m,children:"Comment"}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(A.TextareaWithAttachment,{id:m,className:(0,n.cn)("transition-all",w?"rounded-lg":"rounded-3xl"),textareaClassName:(0,n.cn)("pl-4 py-2.25 transition-all",!w&&"h-8"),placeholder:"Leave a comment...",rows:3,showButton:j,onFocus:()=>k(!0),textareaRef:y.textareaRef,value:y.text,onChange:y.setText,onKeyDown:y.onKeyDown,onSelect:y.onSelect,onBlur:y.onBlur,attachments:x,onAttachmentsChange:g,disabled:p}),(0,t.jsx)(F.MentionSuggestions,{...y.suggestions})]}),w&&(0,t.jsxs)(T.Button,{className:"self-end",type:"submit",size:"sm",disabled:!u.trim()||p||v,children:[p&&(0,t.jsx)(M.Lo
1ader2Icon,{className:"animate-spin"}),"Comment"]})]})]})});var O=e.i(279044);let U=({count:e,children:a})=>{let[r,l]=(0,s.useState)(!1);return(0,t.jsxs)("div",{children:[(0,t.jsxs)("button",{type:"button",onClick:()=>l(e=>!e),"aria-expanded":r,className:"flex items-center gap-2 text-sm text-zinc-500 transition-colors hover:text-zinc-700 dark:hover:text-zinc-300",children:[(0,t.jsx)(y.CheckIcon,{className:"size-4"}),e," resolved comment",1!==e?"s":"",(0,t.jsx)(O.ChevronDownIcon,{className:(0,n.cn)("size-4 transition-transform",r&&"rotate-180")})]}),r&&(0,t.jsx)("div",{className:"mt-6 opacity-70",children:a})]})};var E=e.i(34485);let P=({marker:e})=>{let{data:a,isValidating:r,mutate:l}=(0,E.useData)(`/markers/${e.id}/history`),i=(0,s.useRef)(null),n=a?.items||[],o={site:a?.site,country:a?.country},d=e=>e.resolved&&"seen"!==e.noteType,c=n.filter(e=>!d(e)),u=n.filter(d),h=(0,N.threadMentionUsers)(n),x=(0,s.useMemo)(()=>{let e=new Date().valueOf();return new Date(a?.lastSeenAt||0).valueOf()<e-6048e5?(0,m.format)(new Date(a?.lastSeenAt||0),"PPP"):(0,w.formatRelative)(new Date(a?.lastSeenAt||0),new Date).replace(/^last /,"")},[a?.lastSeenAt]);if(r&&!a)return(0,t.jsx)("div",{children:"Loading..."});let g=a?.seenCount||0;return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[g?(0,t.jsxs)("div",{className:"text-sm text-gray-600 flex items-center gap-2",children:[(0,t.jsx)(y.CheckIcon,{className:"size-4"}),"Marked as seen ",g," time",1!==g?"s":""]}):null,a?.lastSeenAt?(0,t.jsxs)("div",{className:"text-sm text-gray-600 flex items-center gap-2",children:[(0,t.jsx)(b,{className:"size-4"}),(0,t.jsxs)("span",{children:["Last seen on"," ",(0,t.jsx)("span",{title:(0,m.format)(new Date(a.lastSeenAt),"PPPPpp"),children:x})]})]}):null,g||a?.lastSeenAt?(0,t.jsx)("div",{className:"h-5"}):(0,t.jsx)("div",{className:"h-1"}),(0,t.jsx)(R,{ref:i,entityType:"artwork"===e.type?"artwork":"marker",entityId:e.id,onCommentAdded:()=>l(),threadUsers:h}),c.length>0&&(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsx)(S.default,{feed:c,className:"mb-4",onNoteReported:()=>l(),noteScope:o,threadUsers:h,markerId:e.id,onReply:e=>i.current?.reply(e)})}),u.length>0&&(0,t.jsx)(U,{count:u.length,children:(0,t.jsx)(S.default,{feed:u,className:"mb-4",onNoteReported:()=>l(),noteScope:o,threadUsers:h,markerId:e.id,onReply:e=>i.current?.reply(e)})}),(0,t.jsx)(C.default,{className:"mt-6",downloadReason:"To collect artworks you've seen and discover more community features."})]})};var W=e.i(813464);let V=({marker:e})=>{let s=e?.relationships?.filter(e=>"previously_on_this_wall"===e.type).length>0;return(0,t.jsx)("div",{className:"mt-10 @xl:mt-0",children:(0,t.jsxs)(W.Tabs,{children:[(0,t.jsx)("div",{"data-title":"Community",children:(0,t.jsx)(P,{marker:e})}),s&&(0,t.jsx)("div",{"data-title":"Timeline",children:(0,t.jsx)(u,{marker:e})}),(0,t.jsx)("div",{"data-title":"Details",children:(0,t.jsx)(k,{marker:e})})]})})},q=({marker:e})=>(0,t.jsx)("div",{children:e.attributionsHtml&&e.attributionsHtml.length?(0,t.jsx)("div",{className:"prose prose-sm mb-1",dangerouslySetInnerHTML:{__html:e.attributionsHtml}}):e.attributions&&e.attributions.length?(0,t.jsx)("p",{className:"prose prose-sm mb-1",children:e.attributions.join("\n")}):null}),K=({marker:e})=>e.htmlDescription?(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"font-semibold text-lg mb-1",children:"Description"}),(0,t.jsx)("div",{className:"w-full overflow-x-hidden",children:(0,t.jsx)("div",{className:"prose",dangerouslySetInnerHTML:{__html:e.htmlDescription}})}),e.attributes.website&&(0,t.jsx)(a.default,{className:"prose prose-m text-red-500",href:e.attributes.website,children:e.attributes.website})]}):null,G=({marker:e})=>e.hunter?.displayName?(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"font-semibold text-lg mb-1.5",children:e.hunterTitle||"Hunter"}),(0,t.jsxs)("div",{className:"rounded-lg bg-gray-100 p-4 pt-3 flex gap-4",children:[(0,t.jsx)("img",{src:e.hunter.avatar,className:"size-10 rounded-full bg-white mt-1"}),(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)(a.default,{href:e.hunter.href,className:"text-red-500 hover:underline",children:e.hu
1nter.displayName}),(0,t.jsx)("div",{className:"text-ellipsis line-clamp-2 text-sm text-gray-600",children:e.hunter.bio})]})]})]}):null,Y=(0,v.default)("compass",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}]]);var J=e.i(61463);let Q=({marker:e})=>{let s=new Date(e?.attributes.date_created?e.attributes.date_created:1e3*parseInt(e?.timestamp)),{lat:a,lng:r}=e?.location??{lat:0,lng:0},l=e?.attributes.date_created?"Created on ":"Hunted on ";return(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"font-semibold text-lg mb-1.5",children:"Location"}),(0,t.jsxs)("div",{className:"p-4 py-3 leading-relaxed bg-gray-100 text-sm flex justify-between items-center rounded-t-md",children:[(0,t.jsxs)("div",{className:"flex-3",children:[(0,t.jsxs)("div",{className:"text-gray-500",children:[e?.type==="artwork"?`${l}${s.toLocaleString?s.toLocaleString("en-us",{month:"long",day:"numeric",year:"numeric"}):s.toDateString()}`:"Location","removed"===e.status?(0,t.jsx)("span",{className:"text-red-500 ml-2 font-bold",children:e?.type==="artwork"?"Removed":"Closed down"}):null]}),(0,t.jsx)("div",{children:e.location.address})]}),(0,t.jsxs)(J.default,{href:`https://www.google.com/maps/dir/?api=1&destination=${a},${r}&travelmode=walking&dir_action=navigate`,className:"ml-2 my-1",target:"_blank",children:[(0,t.jsx)(Y,{className:"mr-2",size:14,color:"white"}),"Navigate"]})]},"location"),(0,t.jsx)(i.Map,{zoom:12,centerPoint:[a,r],style:{height:"200px",width:"100%",backgroundColor:"#8cd4f6"},className:"rounded-b-md overflow-hidden relative z-0 bg-gray-100",markers:[e]})]})},X=["previously_on_this_wall"],Z=({marker:e})=>{let s=((e=[])=>{let t=new Map;for(let s of e)X.includes(s.type)||(t.has(s.type)||t.set(s.type,{type:s.type,name:s.name||"Related markers",markers:[]}),t.get(s.type).markers.push(s.marker));return Array.from(t.values())})(e?.relationships);return s.length?(0,t.jsx)("div",{className:"flex flex-col gap-8",children:s.map(e=>(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"font-semibold text-lg mb-1.5",children:e.name}),(0,t.jsx)("div",{className:"grid grid-cols-3 @md:grid-cols-4 gap-4",children:e.markers.map(e=>(0,t.jsx)(c.MarkerTile,{marker:e},e.id))})]},e.type))}):null};var ee=e.i(744267),et=e.i(435276),es=e.i(86323),ea=e.i(61940),er=e.i(246171);let el=(0,v.default)("video",[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]),ei=(0,v.default)("music",[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]]),en=(0,v.default)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]),eo=(0,v.default)("newspaper",[["path",{d:"M15 18h-5",key:"95g1m2"}],["path",{d:"M18 14h-8",key:"sponae"}],["path",{d:"M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-4 0v-9a2 2 0 0 1 2-2h2",key:"39pd36"}],["rect",{width:"8",height:"4",x:"10",y:"6",rx:"1",key:"aywv1n"}]]);var ed=e.i(702187),ed=ed,ec=e.i(687407);let em={globe:ea.Globe,link:er.Link,video:el,music:ei,book:en,newspaper:eo,map:ed.default,shopping:ec.ShoppingCart,instagram:et.InstagramIcon,facebook:ee.FacebookIcon,youtube:e=>(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:e.size,height:e.size,fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[(0,t.jsx)("path",{d:"M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z"}),(0,t.jsx)("polygon",{points:"9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02"})]})},eu=({item:e,eventEntity:s,eventName:a})=>{let r=e.href||e.url||e.id;r+=r?.includes("?")?"&":"?",r+="utm_source=streetartcities&utm_medium=marker&utm_campaign=streetartcodes&utm_content="+s;let l=em[e.icon||"globe"]||ea.Globe;return(0,t.jsx)("a",{href:r,target:"_blank",rel:"noopener noreferrer",onClick:()=>{(0,es.trackEvent)(s,a)},className:"mt-3 block rounded-[10px] border border-gray-200 overflow-hidden hover:bg-gray-50 transition-colors",children:(0,t.jsxs)("div",{className:"flex items-center p-3 gap-4",children:[e.image?(0,t.jsx)("img",{src:e.image,alt:e.title||"",className:"h-12 w-12 object-cover rounded-md shrink-0"}):(0,t.jsx)("div",{className:`h-12 w-12 rounded-md flex items-center justify-center shrink-0 ${e.primary?"bg-red-500 text-white":"bg-gray-100 text-gray-500"}`,children:(0,t.jsx)(l,{size:24})}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[e.title&&(0,t.jsxs)("div",{className:"flex items-center gap-1.5 mb-1",children:[e.image&&e.icon&&(0,t.jsx)(l,{size:16,className:"text-gray-900 shrink-0"}),(0,t.jsx)("span",{className:"text-[15px] font-semibold leading-5 text-gray-900 truncate",children:e.title})]}),(e.description||e.source)&&(0,t.jsx)("span",{className:"text-sm leading-4.25 text-gray-500 truncate block",children:e.description||e.source})]})]})})},eh=({marker:e})=>e.media?.length||e.streetArtCode?.customLinks?.length?(0,t.jsxs)("div",{children:[e.streetArtCode?.customLinks?.map(s=>(0,t.jsx)(eu,{item:s,eventEntity:`marker.${e.id}`,eventName:"streetartcodes-custom-link.click"},s.url)),e.media?.map(s=>(0,t.jsx)(eu,{item:s,eventEntity:`marker.${e.id}`,eventName:`marker.${s.type}.click`},s.href))]}):null;var ex=e.i(645332),eg=e.i(150509),ep=e.i(437197);let ef=({markerId:e,className:a})=>{let{isLoggedIn:r}=(0,L.useAccessToken)(),{data:l,mutate:i}=(0,E.useData)(r&&`/me/likes?entity=marker.${e}`),{data:o,mutate:d}=(0,E.useData)(`/markers/${e}
1/history`),[c,m]=(0,s.useState)(!1),u=`marker.${e}`,h=l?.includes(u),x=async(t=!1)=>{if(!r)return(0,$.redirectToLogin)();if(!c){m(!0);try{let e=h?l?.filter(e=>e!==u):[...l||[],u];i(e,!1);let t={...o,likesCount:Math.max(0,(o?.likesCount||0)+(h?-1:1))};d(t,!1)}catch(e){console.log(e)}try{h?(await B.default.post(`markers/${e}/unlike`),t&&I.default.success("Unliked")):(await B.default.post(`markers/${e}/likes`),t&&I.default.success("Liked!"))}catch(e){console.error("[LikeButton] Failed to toggle like",e),I.default.error("Failed to toggle like"),i(l,!1)}m(!1)}};return(0,ep.useHotkeys)("shift+l",()=>x(!0),[]),(0,t.jsxs)(T.Button,{variant:"outline",size:"sm",title:"Like this artwork (⇧L)",onClick:()=>x(!0),disabled:c,"aria-pressed":h,"aria-label":h?"Unlike":"Like",className:(0,n.cn)(h&&"border-red-100 bg-red-100 text-red-600 hover:bg-red-200 hover:text-red-700 hover:border-red-200",a),children:[(0,t.jsx)(eg.HeartIcon,{className:(0,n.cn)(h&&"fill-current")}),o?.likesCount?Math.max(+!!h,o?.likesCount):h?"Liked":"Like"]})};var ej=e.i(352339),ek=e.i(902031),ey=e.i(372700),ev=e.i(972326);let eb=({open:e,onOpenChange:a,onSubmit:r})=>{let[l,i]=(0,s.useState)(),[n,o]=(0,s.useState)(""),[d,c]=(0,s.useState)(!1),m=()=>{i(void 0),o("")},u=async()=>{if(l&&!d){c(!0);try{await r(new Date(l),n.trim()),a(!1),m()}catch{}finally{c(!1)}}};return(0,t.jsx)(ey.Dialog,{open:e,onOpenChange:e=>{a(e),e||m()},children:(0,t.jsxs)(ey.DialogContent,{className:"sm:max-w-sm",children:[(0,t.jsxs)(ey.DialogHeader,{children:[(0,t.jsx)(ey.DialogTitle,{children:"Log a past visit"}),(0,t.jsx)(ey.DialogDescription,{children:"When did you see this artwork? You can add a private note just for yourself."})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-2 block text-sm font-medium",children:"Date seen"}),(0,t.jsx)(ev.DateSelector,{value:l,setValue:i,placeholderText:"Select a date...",allowFuture:!1,allowPast:!0})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"mb-2 block text-sm font-medium",htmlFor:"seen-note",children:["Private note"," ",(0,t.jsx)("span",{className:"text-muted-foreground",children:"(optional)"})]}),(0,t.jsx)("textarea",{id:"seen-note",className:"w-full resize-none rounded-lg border border-zinc-300 p-3 text-sm",placeholder:"Add a note for yourself...",rows:3,value:n,onChange:e=>o(e.target.value)})]})]}),(0,t.jsx)(ey.DialogFooter,{children:(0,t.jsx)(T.Button,{disabled:!l||d,onClick:u,children:"Log as seen"})})]})})},ew=({markerId:e,hunterId:a,className:r})=>{let{isLoggedIn:l}=(0,L.useAccessToken)(),i=(0,D.useCurrentUser)(),{data:o,mutate:d}=(0,E.useData)(l&&"/me/saved"),{data:c,mutate:m}=(0,E.useData)(`/markers/${e}/history`),[u,h]=(0,s.useState)(!1),[x,g]=(0,s.useState)(!1),p=o?.seen?.includes(e)||a&&i?.id===a,f=async()=>{if(!l)return(0,$.redirectToLogin)();if(!u&&!p){h(!0),d({...o,seen:[...o?.seen||[],e]},!1),m({...c,seenCount:Math.max(0,(c?.seenCount||0)+(p?-1:1))},!1);try{await B.default.post(`reporting/reports/marker.${e}`,{type:"seen"}),I.default.success("Marked as seen")}catch(e){console.error("[SeenButton] Failed to mark as seen",e),I.default.error("Failed to mark as seen"),d(o,!1)}finally{h(!1)}}},j=async(t,s)=>{if(!l)return(0,$.redirectToLogin)();d({...o,seen:[...o?.seen||[],e]},!1);try{await B.default.post(`reporting/reports/marker.${e}`,{type:"seen",seenAt:t.toISOString(),note:s||void 0}),m(),I.default.success("Logged as seen")}catch(e){throw console.error("[SeenButton] Failed to log past visit",e),I.default.error("Failed to log visit"),d(o,!1),e}};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(ek.DropdownMenu,{children:[(0,t.jsx)(ek.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsxs)(T.Button,{variant:"outline",size:"sm",disabled:u,"aria-pressed":p,"aria-label":p?"Seen":"Mark as seen",className:(0,n.cn)(p&&"border-green-100 bg-green-100 text-green-700 hover:bg-green-100 hover:text-green-700 hover:border-green-100 cursor-default",r),children:[(0,t.jsx)(y.CheckIcon,{}),"Seen",c?.seenCount?(0,t.jsx)("span",{className:"opacity-60 -ml-0.5",children:Math.max(+!!p,c?.seenCount)}):""]})}),!p&&(0,t.jsxs)(ek.DropdownMenuContent,{sideOffset:6,children:[(0,t.jsxs)(ek.DropdownMenuItem,{onSelect:f,disabled:u||p,children:[(0,t.jsx)(y.CheckIcon,{}),"Mark as seen"]}),(0,t.jsxs)(ek.DropdownMenuItem,{onSelect:()=>{if(!l)return(0,$.redirectToLogin)();g(!0)},children:[(0,t.jsx)(ej.CalendarIcon,{}),"Log in past..."]})]})]}),(0,t.jsx)(eb,{open:x,onOpenChange:g,onSubmit:j})]})},eN=(0,v.default)("bookmark",[["path",{d:"M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z",key:"oz39mx"}]]),eC=(0,v.default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);var eS=e.i(505695),eD=e.i(932554),eM=e.i(713752);let ez=(0,v.default)("pen",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]);var eI=e.i(938513),e$=e.i(456321);let eL=({markerId:e,thumbnail:a,onCreateNew:r})=>{let{data:l,mutate:i}=(0,E.useData)("/collections"),n=(0,s.useMemo)(()=>l?.some(t=>t.artworks?.some(t=>t.id===e)),[l,e]),o=async t=>{let s=t.artworks?.some(t=>t.id===e);i((l||[]).map(r=>r.id===t.id?{...r,artworks:s?(r.artworks||[]).filter(t=>t.id!==e):[...r.artworks||[],{id:e,thumbnail:a}]}:r),!1);try{s?(await B.default.post(`collections/${t.id}`,{name:t.name,artworks:(t.artworks||[]).filter(t=>t.id!==e)}),I.default.success(`Removed from "${t.name}"`)):(await B.default.post(`collections/${t.id}/items`,{id:e,thumbnail:a}),I.default.success(`Added to "${t.name}"`))}catch(e){console.error("[CollectionMenu] Failed to update collection",e),I.default.error("Failed to update collection"),i(l,!1)}};return(0,t.jsxs)(ek.DropdownMenuSub,{children:[(0,t.jsxs)(ek.DropdownMenuSubTrigger,{children:[(0,t.jsx)(eN,{fill:n?"currentColor":"none"}),"Save to collection"]}),(0,t.jsxs)(ek.DropdownMenuSubContent,{className:"max-h-[40vh] overflow-auto",children:[l?l.map(s=>(0,t.jsx)(ek.DropdownMenuCheckboxItem,{checked:s.artworks?.some(t=>t.id===e),onCheckedChange:()=>o(s),children:s.name},s.id)):(0,t.jsx)(ek.DropdownMenuItem,{disabled:!0,children:"Loading..."}),l?.length?(0,t.jsx)(ek.DropdownMenuSeparator,{}):null,(0,t.jsxs)(ek.DropdownMenuItem,{onSelect:r,children:[(0,t.jsx)(e$.PlusIcon,{}),"New collection..."]})]})]})};var eT=e.i(860421);let eA=({open:e,onOpenChange:a,markerId:r,thumbnail:l})=>{let{mutate:i}
1=(0,eT.useSWRConfig)(),[n,o]=(0,s.useState)(""),[d,c]=(0,s.useState)(!1),m=async()=>{let e=n.trim();if(e&&!d){c(!0);try{await B.default.post("collections",{name:e,artworks:l?[{id:r,thumbnail:l}]:[]}),await i("/collections"),I.default.success(`Saved to ${e}`),a(!1),o("")}catch(e){console.error("[CreateCollectionDialog] Failed to create",e),I.default.error("Failed to create collection")}finally{c(!1)}}};return(0,t.jsx)(ey.Dialog,{open:e,onOpenChange:e=>{a(e),e||o("")},children:(0,t.jsxs)(ey.DialogContent,{className:"sm:max-w-sm",children:[(0,t.jsxs)(ey.DialogHeader,{children:[(0,t.jsx)(ey.DialogTitle,{children:"New collection"}),(0,t.jsx)(ey.DialogDescription,{children:"Give your collection a name. We'll add this artwork to it."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-2 block text-sm font-medium",htmlFor:"collection-name",children:"Name"}),(0,t.jsx)("input",{id:"collection-name",className:"w-full rounded-lg border border-zinc-300 p-3 text-sm",placeholder:"e.g. Favourites",value:n,autoFocus:!0,onChange:e=>o(e.target.value),onKeyDown:e=>{"Enter"===e.key&&m()}})]}),(0,t.jsx)(ey.DialogFooter,{children:(0,t.jsx)(T.Button,{disabled:!n.trim()||d,onClick:m,children:"Create collection"})})]})})};var eF=e.i(906176),e_=e.i(633578);let eB={small:320,medium:480,large:640},eH=[{key:"small",label:"Small"},{key:"medium",label:"Medium"},{key:"large",label:"Large"}],eR=({open:e,onOpenChange:a,marker:r})=>{let[l,i]=(0,s.useState)("medium"),[o,d]=(0,s.useState)(!1),c=(0,s.useMemo)(()=>{var e,t,s;let a,i,n,o;return e=e_.DOMAIN,t=r.id,s=r.title,a=eB[l],i=Math.round(+a),n=`https://${e}/markers/${t}/embed`,o=s?` title="${s.replace(/"/g,"&quot;")}"`:"",`<iframe src="${n}" width="${a}" height="${i}" style="border:none;border-radius:12px;max-width:100%;" loading="lazy" allow="fullscreen; storage-access"${o}></iframe>`},[r.id,r.title,l]),m=async()=>{try{await navigator.clipboard.writeText(c),d(!0),(0,es.trackEvent)(`marker.${r.id}`,"share.embed"),I.default.success("Embed code copied"),setTimeout(()=>d(!1),2e3)}catch{I.default.error("Couldn't copy, please select and copy it manually")}},u=`/markers/${r.id}/embed`;return(0,t.jsx)(ey.Dialog,{open:e,onOpenChange:a,children:(0,t.jsxs)(ey.DialogContent,{className:"sm:max-w-xl",children:[(0,t.jsxs)(ey.DialogHeader,{children:[(0,t.jsx)(ey.DialogTitle,{children:"Embed this marker"}),(0,t.jsx)(ey.DialogDescription,{children:"Add this to your site to show off this marker. It scales to fit the space you give it."})]}),(0,t.jsx)("div",{className:"flex gap-2",children:eH.map(({key:e,label:s})=>(0,t.jsxs)("button",{type:"button",onClick:()=>i(e),className:(0,n.cn)("flex-1 rounded-lg border px-3 py-2 text-sm font-medium transition-colors",l===e?"border-zinc-900 bg-zinc-900 text-white":"border-zinc-200 bg-white text-zinc-700 hover:bg-zinc-50"),children:[s,(0,t.jsxs)("span",{className:"ml-1 text-xs opacity-60",children:[eB[e],"px"]})]},e))}),(0,t.jsx)("div",{className:"overflow-hidden bg-zinc-50 p-6 -mx-6 hidden md:block",children:(0,t.jsx)("div",{className:"mx-auto",style:{maxWidth:eB[l]},children:(0,t.jsx)("iframe",{src:u,width:"100%",height:Math.round(+eB[l]),style:{border:"none",borderRadius:12,display:"block"},title:"Embed preview"},l)})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"mb-2 block text-sm font-medium",children:"Embed code"}),(0,t.jsx)("textarea",{readOnly:!0,value:c,onFocus:e=>e.target.select(),onClick:e=>e.target.select(),className:"block h-24 w-full resize-none rounded-lg border border-zinc-300 bg-zinc-50 p-3 font-mono text-xs"})]}),(0,t.jsx)(ey.DialogFooter,{children:(0,t.jsxs)(T.Button,{onClick:m,children:[o?(0,t.jsx)(y.CheckIcon,{}):(0,t.jsx)(eF.CopyIcon,{}),o?"Copied":"Copy embed code"]})})]})})};var eO=e.i(563552);let eU=({marker:e})=>{let{isLoggedIn:r}=(0,L.useAccessToken)(),l=(0,ex.useOpenSuggestEdit)(),[i,n]=(0,s.useState)(!1),[o,d]=(0,s.useState)(!1),[c,m]=(0,s.useState)(!1),[u,h]=(0,s.useState)(!1);(0,s.useEffect)(()=>{n(!!navigator.share)},[]);let x=e.images?.[0]?.sizes?.medium,g="artwork"===e.type&&"removed"!==e.status,{lat:p,lng:f}=e.location??{},j=e.siteId&&"no-site"!==e.siteId,k=p&&f?`${j?`/cities/${e.siteId}`:"/"}?map=${p},${f},16`:null;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ex.SuggestEditSlideOver,{}),(0,t.jsx)(eA,{open:o,onOpenChange:d,markerId:e.id,thumbnail:x}),(0,t.jsx)(eR,{open:c,onOpenChange:m,marker:e}),(0,t.jsx)(eO.EditHistorySheet,{entityType:"marker",entityId:e.id,open:u,onOpenChange:h}),(0,t.jsxs)("div",{className:"flex items-center gap-2 shrink-0 mb-2 md:mb-0",children:[(0,t.jsx)(ef,{markerId:e.id}
1),g&&(0,t.jsx)(ew,{markerId:e.id,hunterId:e.hunter?.id}),(0,t.jsxs)(T.Button,{onClick:()=>{if(!r)return(0,$.redirectToLogin)();l("marker",e)},variant:"outline",size:"sm",children:[(0,t.jsx)(ez,{}),"Edit"]}),(0,t.jsxs)(ek.DropdownMenu,{children:[(0,t.jsx)(ek.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsx)(T.Button,{variant:"outline",size:"sm-icon",children:(0,t.jsx)(eM.MoreHorizontalIcon,{})})}),(0,t.jsxs)(ek.DropdownMenuContent,{sideOffset:6,children:[i&&(0,t.jsxs)(ek.DropdownMenuItem,{onSelect:()=>navigator.share({title:document.title,text:window.location.href}),children:[(0,t.jsx)(eI.ShareIcon,{}),"Share"]}),r?(0,t.jsx)(eL,{markerId:e.id,thumbnail:x,onCreateNew:()=>d(!0)}):(0,t.jsxs)(ek.DropdownMenuItem,{onSelect:$.redirectToLogin,children:[(0,t.jsx)(eN,{}),"Save to collection"]}),(0,t.jsxs)(ek.DropdownMenuItem,{onSelect:()=>h(!0),children:[(0,t.jsx)(eS.HistoryIcon,{}),"View history"]}),k&&(0,t.jsx)(ek.DropdownMenuItem,{asChild:!0,children:(0,t.jsxs)(a.default,{href:k,children:[(0,t.jsx)(eD.MapIcon,{}),"Show on map"]})}),(0,t.jsxs)(ek.DropdownMenuItem,{onSelect:()=>m(!0),children:[(0,t.jsx)(eC,{}),"Embed marker"]})]})]})]})]})};var eE=e.i(344950);e.s(["default",0,({marker:e})=>{let l=e.title&&"untitled"!==e.title.toLowerCase().trim(),i="artwork"===e.type,n=e.artists?.length?e.artists:i&&e.cityName?[{title:`Unknown - ${e.cityName}`}]:[];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex flex-col @xl:flex-row @xl:items-center justify-between mb-4 @xl:mb-6 gap-4",children:[(0,t.jsxs)("div",{children:[n.length?(0,t.jsx)("div",{className:l?"font-semibold text-sm mb-2 block":"text-2xl font-heading font-semibold @md:text-4xl tracking-tight",children:n.map((s,r)=>(0,t.jsxs)(a.default,{href:s.title?.startsWith("Unknown - ")&&(!s.id||s.id.startsWith("unknown-"))?`/community/missing-data?city=${e.siteId}&tab=unknown-artist`:`/artists/${s.id}`,className:"text-red-500",children:[s.title,r!==n.length-1?", ":""]},s.id||s.title))},"marker-artists"):!i&&e.type?(0,t.jsx)("div",{className:"font-semibold text-sm mb-2 block",children:(0,eE.getPlaceTypeLabel)(e.type)},"marker-type"):null,l||!n.length?(0,t.jsx)("h1",{className:"text-2xl font-heading font-semibold @md:text-4xl tracking-tight",children:e.title||"Untitled"},"marker-title"):null,(0,t.jsx)(r.default,{tags:e.tags})]}),(0,t.jsx)(s.Suspense,{fallback:null,children:(0,t.jsx)(eU,{marker:e})})]}),(0,t.jsx)(s.Suspense,{fallback:(0,t.jsx)("header",{className:"aspect-4/3 bg-gray-200 bg-cover bg-center rounded-lg",style:{backgroundImage:`url(${e.images?.[0]?.sizes.large})`}}),children:(0,t.jsx)(d,{marker:e})}),(0,t.jsxs)("div",{className:"@xl:grid @xl:grid-cols-3 overflow-x-hidden gap-8 @md:gap-12 @xl:gap-16 my-7 @md:my-10 @xl:my-12",children:[(0,t.jsxs)("div",{className:"w-full @xl:col-span-2",children:[(0,t.jsxs)("div",{className:"col-span-2 flex flex-col gap-10",children:[(0,t.jsx)(K,{marker:e}),(0,t.jsx)(eh,{marker:e}),(0,t.jsx)(G,{marker:e}),(0,t.jsx)(Z,{marker:e})]}),(0,t.jsxs)("div",{className:"hidden @xl:flex mt-10 col-span-2 flex-col gap-10",children:[(0,t.jsx)(Q,{marker:e}),(0,t.jsx)(q,{marker:e})]})]}),(0,t.jsx)(V,{marker:e}),(0,t.jsxs)("div",{className:"flex @xl:hidden mt-10 col-span-2 flex-col gap-10",children:[(0,t.jsx)(Q,{marker:e}),(0,t.jsx)(q,{marker:e})]})]})]})}],490030)}]);

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.