https://www.austinmann.com/_next/static/chunks/2eytf6jws9v5w.js?dpl=dpl_9Y1LNq4YPbpUz6kAgVFh5k57oan1
1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24170,e=>{"use strict";var t=e.i(18050),a=e.i(71645);e.s(["default",0,function({slug:e}){let[l,n]=(0,a.useState)([]),[r,i]=(0,a.useState)(!1),[s,o]=(0,a.useState)(""),[c,u]=(0,a.useState)(""),[d,m]=(0,a.useState)(""),[h,p]=(0,a.useState)(null),[f,x]=(0,a.useState)("idle"),[g,w]=(0,a.useState)(""),[b,j]=(0,a.useState)(null);function y(){null===b&&(j(!1),fetch("/api/admin/login").then(e=>e.json()).then(e=>j(!!e.admin)).catch(()=>{}))}async function v(t){if(t.preventDefault(),"busy"===f)return;x("busy"),w("");let a=new FormData(t.currentTarget).get("website")??"";try{let t=await fetch("/api/comments",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({slug:e,name:b?"Austin Mann":s,email:c||void 0,body:d,parent_id:h?.id,website:a})}),l=await t.json();l.ok?(x("done"),w(!1===l.held?"Posted â it will appear within a minute.":""),m("")):(x("error"),w(l.error??"Something went wrong â try again."))}catch{x("error"),w("Something went wrong â try again.")}}(0,a.useEffect)(()=>{let t=!1;return fetch(`/api/comments?slug=${encodeURIComponent(e)}`).then(e=>e.json()).then(e=>{!t&&e.ok&&n(e.comments)}).catch(()=>{}).finally(()=>{t||i(!0)}),()=>{t=!0}},[e]);let{roots:k,replies:N}=function(e){let t=new Map(e.map(e=>[e.id,e])),a=e=>{let a=e,l=new Set;for(;a.parent_id&&t.has(a.parent_id)&&!l.has(a.id);)l.add(a.id),a=t.get(a.parent_id);return a},l=[],n=new Map;for(let r of e){if(!r.parent_id||!t.has(r.parent_id)){l.push(r);continue}let e=a(r),i=n.get(e.id)??[];i.push(r),n.set(e.id,i)}return{roots:l,replies:n}}(l),C="done"===f?(0,t.jsx)("p",{className:"am-comments-done",children:g||"Thanks â your comment is awaiting moderation."}):(0,t.jsxs)("form",{className:"am-comments-form",onSubmit:v,onFocus:y,children:[h&&(0,t.jsxs)("p",{className:"am-comments-replying",children:["Replying to ",h.author_name," ",(0,t.jsx)("button",{type:"button",onClick:()=>p(null),children:"Cancel"})]}),(0,t.jsx)("input",{type:"text",name:"website",tabIndex:-1,autoComplete:"off","aria-hidden":"true",style:{position:"absolute",left:"-9999px"}}),b?(0,t.jsxs)("p",{className:"am-comments-replying",children:["Posting as Austin Mann ",(0,t.jsx)("span",{className:"am-comment-badge g-mono",children:"Author"})]}):(0,t.jsxs)("div",{className:"am-comments-fields",children:[(0,t.jsx)("input",{type:"text",required:!0,placeholder:"Name",value:s,onChange:e=>o(e.target.value),"aria-label":"Name"}),(0,t.jsx)("input",{type:"email",placeholder:"Email (optional, never shown)",value:c,onChange:e=>u(e.target.value),"aria-label":"Email (optional, never shown)"})]}),(0,t.jsx)("textarea",{required:!0,placeholder:"Your comment",rows:4,maxLength:5e3,value:d,onChange:e=>m(e.target.value),"aria-label":"Comment"}),(0,t.jsxs)("div",{className:"am-comments-actions",children:[(0,t.jsx)("button",{type:"submit",disabled:"busy"===f,children:"busy"===f?"Postingâ¦":"Post comment"}),"error"===f&&(0,t.jsx)("p",{className:"am-comments-error",children:g})]})]}),S=(e,a)=>(0,t.jsxs)("li",{className:`am-comment${a?" reply":""}`,children:[(0,t.jsxs)("p",{className:"am-comment-meta",children:[(0,t.jsx)("span",{className:"am-comment-author",children:e.author_name}),"author"===e.source&&(0,t.jsx)("span",{className:"am-comment-badge g-mono",children:"Author"}),(0,t.jsx)("span",{className:"am-comment-date",children:new Date(e.created_at).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})})]}),(0,t.jsx)("p",{className:"am-comment-body",children:e.body}),(0,t.jsx)("button",{type:"button",className:"am-comment-reply",onClick:()=>{p(e),y(),"done"===f&&x("idle")},children:"Reply"}),h?.id===e.id&&C]},e.id);return(0,t.jsxs)("section",{className:"am-comments",id:"comments",children:[(0,t.jsxs)("p",{className:"am-comments-header g-mono",children:["Comments",r&&l.length>0?` \xb7 ${l.length}`:""]}),r&&0===l.length&&(0,t.jsx)("p",{className:"am-comments-empty",children:"No comments yet."}),l.length>0&&(0,t.jsx)("ul",{className:"am-comments-list",children:k.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)("ul",{className:"am-comments-group",children:[S(e,!1),(N.get(e.id)??[]).map(e=>S(e,!0))]})},e.id))}),!h&&C]})}])},26288,e=>{"use strict";var t=e.i(71645);e.s(["default",0,function(){return(0,t.useEffect)(()=>{let e=decodeURIComponent(window.location.hash.slice(1));if(!e)return;let t=-1,a=0,l=0,n=!1,r=-1,i=()=>{let t=document.getElementById(e);if(!t)return;let a=Math.max(0,t.getBoundingClientRect().top+window.scrollY);r=a,Math.abs(a-window.scrollY)>2&&window.scrollTo({top:a,behavior:"auto"})},s=()=>{r>=0&&Math.abs(window.scrollY-r)>120&&(n=!0)};i(),window.addEventListener("scroll",s,{passive:!0});let o=setInterval(()=>{l+=250;let e=document.documentElement.scrollHeight;e===t?a++:(a=0,t=e,n||i()),(a>=4||l>=15e3||n)&&(clearInterval(o),window.removeEventListener("scroll",s))},250);return()=>{clearInterval(o),window.removeEventListener("scroll",s)}},[]),null}])},67585,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"BailoutToCSR",{enumerable:!0,get:function(){return n}});let l=e.r(32061);function n({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new l.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,
1configurable:!0});return t}},9885,(e,t,a)=>{"use strict";function l(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"encodeURIPath",{enumerable:!0,get:function(){return l}})},52157,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"PreloadChunks",{enumerable:!0,get:function(){return o}});let l=e.r(18050),n=e.r(74080),r=e.r(63599),i=e.r(9885),s=e.r(43369);function o({moduleIds:e}){if("u">typeof window)return null;let t=r.workAsyncStorage.getStore();if(void 0===t)return null;let a=[];if(t.reactLoadableManifest&&e){let l=t.reactLoadableManifest;for(let t of e){if(!l[t])continue;let e=l[t].files;a.push(...e)}}if(0===a.length)return null;let c=(0,s.getAssetTokenQuery)();return(0,l.jsx)(l.Fragment,{children:a.map(e=>{let a=`${t.assetPrefix}/_next/${(0,i.encodeURIPath)(e)}${c}`;return e.endsWith(".css")?(0,l.jsx)("link",{precedence:"dynamic",href:a,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,n.preload)(a,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},69093,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return c}});let l=e.r(18050),n=e.r(71645),r=e.r(67585),i=e.r(52157);function s(e){return{default:e&&"default"in e?e.default:e}}let o={loader:()=>Promise.resolve(s(()=>null)),loading:null,ssr:!0},c=function(e){let t={...o,...e},a=(0,n.lazy)(()=>t.loader().then(s)),c=t.loading;function u(e){let s=c?(0,l.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,o=!t.ssr||!!t.loading,u=o?n.Suspense:n.Fragment,d=t.ssr?(0,l.jsxs)(l.Fragment,{children:["u"<typeof window?(0,l.jsx)(i.PreloadChunks,{moduleIds:t.modules}):null,(0,l.jsx)(a,{...e})]}):(0,l.jsx)(r.BailoutToCSR,{reason:"next/dynamic",children:(0,l.jsx)(a,{...e})});return(0,l.jsx)(u,{...o?{fallback:s}:{},children:d})}return u.displayName="LoadableComponent",u}},70703,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return n}});let l=e.r(55682)._(e.r(69093));function n(e,t){let a={};"function"==typeof e&&(a.loader=e);let n={...a,...t};return(0,l.default)({...n,modules:n.loadableGenerated?.modules})}("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},2971,e=>{"use strict";var t=e.i(18050),a=e.i(71645),l=e.i(10377);e.s(["default",0,function({title:e,compact:n=!1,label:r,getUrl:i}){let[s,o]=(0,a.useState)(!1),c=()=>i?.()??window.location.href;async function u(){let e=c();try{await navigator.clipboard.writeText(e),o(!0),setTimeout(()=>o(!1),2200),(0,l.track)("share",{how:"copy"})}catch{(0,l.track)("share",{how:"copy-failed"})}}async function d(){let t=c();if(!navigator.share)return u();try{await navigator.share({title:e,url:t}),(0,l.track)("share",{how:"native"})}catch{}}let m=(e,t)=>
1{(0,l.track)("share",{how:e}),window.open(t,"_blank","noopener,width=620,height=560")},h=encodeURIComponent(e);return(0,t.jsxs)("div",{className:`am-share${n?" compact":""}`,children:[r&&(0,t.jsx)("p",{className:"am-share-label g-mono",children:r}),(0,t.jsxs)("div",{className:"am-share-row",children:[(0,t.jsx)("button",{type:"button",className:"am-pill g-mono",onClick:u,children:s?"Link copied":"Copy link"}),"u">typeof navigator&&"share"in navigator&&(0,t.jsx)("button",{type:"button",className:"am-pill g-mono am-share-native",onClick:d,children:"Share"}),(0,t.jsx)("button",{type:"button",className:"am-pill g-mono",onClick:()=>m("x",`https://x.com/intent/post?text=${h}&url=${encodeURIComponent(c())}`),children:"X"}),(0,t.jsx)("button",{type:"button",className:"am-pill g-mono",onClick:()=>m("threads",`https://www.threads.net/intent/post?text=${h}%20${encodeURIComponent(c())}`),children:"Threads"}),(0,t.jsx)("button",{type:"button",className:"am-pill g-mono",onClick:()=>m("email",`mailto:?subject=${h}&body=${encodeURIComponent(c())}`),children:"Email"})]})]})}])},74708,e=>{"use strict";e.s(["default",()=>p,"reviewPath",()=>h,"useReview",()=>m],74708);var t=e.i(18050),a=e.i(71645),l=e.i(57688),n=e.i(74080),r=e.i(10377),i=e.i(22125),s=e.i(70703),o=e.i(2971);let c=(0,s.default)(()=>e.A(54571),{loadableGenerated:{modules:[87163]},ssr:!1});function u({photos:e,startIdx:s,onClose:d,onStep:m}){let p=e.findIndex(e=>e.idx===s),[f,x]=(0,a.useState)(p<0?0:p),[g,w]=(0,a.useState)(!1),[b,j]=(0,a.useState)(void 0),y=(0,a.useRef)(null),v=e[f],k=(0,a.useCallback)(t=>{w(!1),x(a=>{let l=a+t;return l<0||l>=e.length?a:(m(e[l].idx),l)})},[e,m]);if((0,a.useEffect)(()=>{let e=e=>{"Escape"===e.key&&(g?w(!1):d()),"ArrowLeft"===e.key&&k(-1),"ArrowRight"===e.key&&k(1)};return document.addEventListener("keydown",e),(0,i.lockScroll)(),(0,i.hidePageBehind)(),()=>{document.removeEventListener("keydown",e),(0,i.unlockScroll)(),(0,i.showPageBehind)()}},[k,d,g]),!v)return null;let N=!!v.tiles;return(0,n.createPortal)((0,t.jsxs)("div",{className:"g-viewer am-viewer",role:"dialog","aria-label":"Photograph viewer",onTouchStart:e=>y.current=e.touches[0].clientX,onTouchEnd:e=>{if(g||null===y.current)return;let t=e.changedTouches[0].clientX-y.current;Math.abs(t)>48&&k(t<0?1:-1),y.current=null},children:[(0,t.jsxs)("div",{className:"g-viewer-top",children:[(0,t.jsxs)("span",{className:"g-mono",children:[String(f+1).padStart(2,"0")," / ",String(e.length).padStart(2,"0")]}),(0,t.jsx)("button",{className:"g-menu-link",onClick:d,"aria-label":"Close viewer",children:"Ã"})]}),!g&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{className:"g-viewer-arrow prev",onClick:()=>k(-1),disabled:0===f,"aria-label":"Previous photograph",children:(0,t.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("polyline",{points:"15 6 9 12 15 18"})})}),(0,t.jsx)("button",{className:"g-viewer-arrow next",onClick:()=>k(1),disabled:f===e.length-1,"aria-label":"Next photograph",children:(0,t.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,t.jsx)("polyline",{points:"9 6 15 12 9 18"})})})]}),(0,t.jsx)("div",{className:`g-viewer-stage${g?" am-viewer-stage--zoom":""}`,children:g&&v.tiles?(0,t.jsx)(c,{tiles:v.tiles,onToggleOut:()=>w(!1),openAt:b,fallback:{src:v.src,width:v.width,height:v.height,alt:v.alt}}):(0,t.jsx)(l.default,{src:v.src,alt:v.alt,width:v.width,height:v.height,sizes:"100vw",quality:90,priority:!0,style:N?{cursor:"zoom-in"}:void 0,onClick:e=>{if(!N)return;let t=e.currentTarget.getBoundingClientRect(),a=Math.min(t.width/v.width,t.height/v.height),l=v.width*a,n=v.height*a,i=t.left+(t.width-l)/2,s=t.top+(t.height-n)/2,o=e=>Math.min(1,Math.max(0,e));j({x:o((e.clientX-i)/l),y:o((e.clientY-s)/n)}),(0,r.track)("zoom_enter",{file:v.id,from:"click"}),w(!0)}},v.src)}),(0,t.jsxs)("div",{className:"am-viewer-foot",children:[v.caption&&(0,t.jsx)("p",{className:`am-viewer-caption${/^f\/[\d.]+$/i.test(v.caption)?" am-viewer-caption--label":""}`,children:v.caption}),v.chips.length>0&&(0,t.jsx)("p",{className:"am-chips",children:v.chips.map(e=>(0,t.jsx)("span",{className:"am-chip",children:e},e))}),(0,t.jsxs)("div",{className:"am-viewer-tools",children:[N&&(0,t.jsx)("button",{type:"button",className:"am-pill g-mono",onClick:()=>{g||(0,r.track)("zoom_enter",{file:v.id}),j(void 0),w(e=>!e)},children:g?"Fit to screen":"100%"}),v.raw&&(0,t.jsx)("a",{className:"am-pill g-mono",href:"#raw-files",onClick:()=>{d()},children:"Download the RAW"}),(0,t.jsx)(o.default,{compact:!0,title:v.caption||v.alt||"Photograph",getUrl:()=>`${window.location.origin}${h()}/photo/${encodeURIComponent(v.id)}`})]})]}),!g&&(0,t.jsx)("div",{style:{display:"none"},children:[f-1,f+1].filter(t=>t>=0&&t<e.length).map(a=>(0,t.jsx)(l.default,{src:e[a].src,alt:"",width:e[a].width,height:e[a].height,sizes:"100vw",quality:90},e[a].src))})]}),document.body)}let d=(0,a.createContext)(null);function m(){return(0,a.useContext)(d)}function h(){return window.location.pathname.replace(/\/photo\/[^/]+\/?$/,"")}function p({children:e}){let l=(0,a.useRef)(new Map),[n,r]=(0,a.useState)(null),[i,s]=(0,a.useState)(0),o=(0,a.useCallback)(e=>{l.current.get(e.idx)?.src!==e.src&&(l.current.set(e.idx,e),s(e=>e+1))},[]),c=(0,a.useCallback)(e=>{let t=new URL(window.location.href);t.pathname=h(),null===e?t.searchParams.delete("photo"):t.searchParams.set("photo",String(e)),window.history.replaceState(null,"",t)},[]),m=(0,a.useCallback)(e=>{r(e),c(e)},[c]),f=(0,a.useCallback)(()=>{r(null),c(null)},[c]),x=(0,a.useRef)(null),g=(0,a.useRef)(null);(0,a.useEffect)(()=>{let e=window.location.pathname.match(/\/photo\/([^/]+)\/?$/);e&&(g.current=decodeURIComponent(e[1]));let t=new URLSearchParams(window.location.search).get("photo");if(null===t)return;let a=Number(t);Number.isInteger(a)&&a>=0&&(x.current=a)},[]),(0,a.useEffect)(()=>
1{if(null!==g.current){let e=[...l.current.values()].find(e=>e.id===g.current);if(e){g.current=null,r(e.idx),c(e.idx);return}}if(null===x.current)return;if(l.current.has(x.current)){r(x.current),x.current=null;return}let e=setTimeout(()=>{let e=x.current;if(null===e)return;let t=[...l.current.keys()].sort((e,t)=>e-t).reduce((t,a)=>null===t||Math.abs(a-e)<Math.abs(t-e)?a:t,null);null!==t&&r(t),x.current=null},1200);return()=>clearTimeout(e)},[i,c]);let w=(0,a.useMemo)(()=>[...l.current.values()].sort((e,t)=>e.idx-t.idx),[i]),b=(0,a.useMemo)(()=>({register:o,open:m}),[o,m]);return(0,t.jsxs)(d.Provider,{value:b,children:[e,null!==n&&(0,t.jsx)(u,{photos:w,startIdx:n,onClose:f,onStep:c})]})}},81881,e=>{"use strict";var t=e.i(18050),a=e.i(71645),l=e.i(10377),n=e.i(74708);e.s(["default",0,function({photo:e,className:r,children:i}){let s=(0,n.useReview)();return((0,a.useEffect)(()=>{s?.register(e)},[s,e]),s)?(0,t.jsx)("a",{href:`?photo=${e.idx}`,className:r,"aria-label":e.alt?`Open ${e.alt}`:"Open photograph",onClick:t=>{t.metaKey||t.ctrlKey||t.shiftKey||(t.preventDefault(),(0,l.track)("photo_open",{idx:e.idx,file:e.id}),s.open(e.idx))},children:i}):(0,t.jsx)(t.Fragment,{children:i})}])},17334,e=>{"use strict";var t=e.i(18050),a=e.i(57688),l=e.i(81881);e.s(["default",0,function({items:e,cols:n,aspect:r,fit:i,variant:s}){return(0,t.jsx)("div",{className:`am-gallery${s?` ${s}`:""}`,"data-cols":n,"data-aspect":r,"data-fit":i,children:e.map(({photo:e,caption:n,href:r})=>{let i=(0,t.jsx)(a.default,{src:e.src,alt:e.alt,width:e.width,height:e.height,sizes:"(max-width: 700px) 50vw, 420px",placeholder:e.blur?"blur":"empty",blurDataURL:e.blur});return(0,t.jsxs)("figure",{children:[r?(0,t.jsx)("a",{href:r,children:i}):(0,t.jsx)(l.default,{photo:e,children:i}),n&&(0,t.jsx)("figcaption",{children:n})]},e.src)})})}])},68602,e=>{"use strict";var t=e.i(18050),a=e.i(57688),l=e.i(71645),n=e.i(10377);e.s(["default",0,function({a:e,b:r,mode:i="slider",start:s=50}){let[o,c]=(0,l.useState)(s),[u,d]=(0,l.useState)(!1),m=(0,l.useRef)(null),h=(0,l.useRef)(!1),p=()=>{h.current||(h.current=!0,(0,n.track)("compare",{mode:i,pair:`${e.id}|${r.id}`}))},f=(0,l.useCallback)(e=>{let t=m.current;if(!t)return;let a=t.getBoundingClientRect();c(Math.max(0,Math.min(100,(e-a.left)/a.width*100)))},[]),x=Math.max(e.height/e.width,r.height/r.width);if("toggle"===i){let l=u?r:e;return(0,t.jsxs)("figure",{className:"am-compare am-compare--toggle",children:[(0,t.jsxs)("button",{type:"button",className:"am-compare-box",style:{aspectRatio:`1 / ${x}`},onClick:()=>{p(),d(e=>!e)},"aria-label":`Showing ${l.label??l.alt}. Tap to switch.`,children:[(0,t.jsx)(a.default,{src:e.src,alt:e.alt,fill:!0,sizes:"(max-width: 1330px) 100vw, 1240px",style:{objectFit:"contain",opacity:+!u},placeholder:e.blur?"blur":"empty",blurDataURL:e.blur}),(0,t.jsx)(a.default,{src:r.src,alt:r.alt,fill:!0,sizes:"(max-width: 1330px) 100vw, 1240px",style:{objectFit:"contain",opacity:+!!u},placeholder:r.blur?"blur":"empty",blurDataURL:r.blur}),(0,t.jsx)("span",{className:"am-compare-pill g-mono",children:l.label??(u?"B":"A")})]}),(0,t.jsxs)("figcaption",{className:"am-cap",children:[(0,t.jsx)("span",{className:"am-cap-desc",children:"Tap the photograph to switch between them."}),l.chips.length>0&&(0,t.jsx)("span",{className:"am-chips",children:l.chips.map(e=>(0,t.jsx)("span",{className:"am-chip",children:e},e))})]})]})}return(0,t.jsx)("figure",{className:"am-compare am-compare--slider",children:(0,t.jsxs)("div",{ref:m,className:"am-compare-box",style:{aspectRatio:`1 / ${x}`},onPointerDown:e=>{p(),e.target.setPointerCapture?.(e.pointerId),f(e.clientX)},onPointerMove:e=>{1===e.buttons&&f(e.clientX)},children:[(0,t.jsx)(a.default,{src:e.src,alt:e.alt,fill:!0,sizes:"(max-width: 1330px) 100vw, 1240px",style:{objectFit:"contain"},placeholder:e.blur?"blur":"empty",blurDataURL:e.blur}),(0,t.jsx)("div",{className:"am-compare-clip",style:{clipPath:`inset(0 0 0 ${o}%)`},children:(0,t.jsx)(a.default,{src:r.src,alt:r.alt,fill:!0,sizes:"(max-width: 1330px) 100vw, 1240px",style:{objectFit:"contain"},placeholder:r.blur?"blur":"empty",blurDataURL:r.blur})}),e.label&&(0,t.jsx)("span",{className:"am-compare-pill left g-mono",children:e.label}),r.label&&(0,t.jsx)("span",{className:"am-compare-pill right g-mono",children:r.label}),(0,t.jsx)("div",{className:"am-compare-handle",style:{left:`${o}%`},"aria-hidden":"true",children:(0,t.jsx)("span",{})}),(0,t.jsx)("input",{type:"range",min:0,max:100,value:o,className:"am-compare-range","aria-label":`Wipe between ${e.label??"A"} and ${r.label??"B"}`,onChange:e=>{p(),c(Number(e.target.value))}})]})})}])},48514,e=>{"use strict";var t=e.i(18050),a=e.i(71645),l=e.i(10377);let n=(0,e.i(70703).default)(()=>e.A(54571),{loadableGenerated:{modules:[87163]},ssr:!1});e.s(["default",0,function({a:e,b:r,start:i}){let s=(0,a.useRef)(null),o=(0,a.useRef)(null),[c,u]=(0,a.useState)(!0),d=(0,a.useRef)(!1),m=(0,a.useRef)(0),h=e.tiles?.width??e.width,p=r.tiles?.width??r.width,f=c?1:p/h,x=(0,a.useCallback)((e,t,a)=>{let l=e?.read();l&&t&&t.write(l,a)},[]),g=(0,a.useCallback)(()=>{d.current||(d.current=!0,(0,l.track)("compare",{mode:"loupe",pair:`${e.id}|${r.id}`})),x(s.current,o.current,f)},[x,f,e.id,r.id]),w=(0,a.useCallback)(()=>{d.current||(d.current=!0,(0,l.track)("compare",{mode:"loupe",pair:`${e.id}|${r.id}`})),x(o.current,s.current,1/f)},[x,f,e.id,r.id]),b=(0,a.useCallback)(()=>{m.current+=1,m.current<2||(i&&(s.current?.write({x:i.x,y:i.y,zoom:0},1),s.current?.toRatio(i.zoom)),setTimeout(()=>x(s.current,o.current,f),0))},[i,x,f]),j=e=>{e(s.current),e(o.current)};return(0,t.jsxs)("figure",{className:"am-loupe",children:[(0,t.jsxs)("div",{className:"am-loupe-panes",children:[(0,t.jsx)(n,{onHandle:e=>s.current=e,tiles:e.tiles,label:e.label??e.alt,fallback:{src:e.src,width:e.width,height:e.height,alt:e.alt},onMove:g,onReady:b}),(0,t.jsx)(n,{onHandle:e=>o.current=e,tiles:r.tiles,label:r.label??r.alt,fallback:{src:r.src,width:r.width,height:r.height,alt:r.alt},onMove:w,onReady:b})]}),(0,t.jsxs)("div",{className:"am-loupe-tools",role:"radiogroup","aria-label":"How to line the two frames up",children:[(0,t.jsx)("button",{type:"button",role:"radio","aria-checked":c,className:`am-pill g-mono${c?" on":""}`,onClick:()=>{u(!0),setTimeout(()=>x(s.current,o.current,1),0)},children:"Match framing"}),(0,t.jsx)("button",{type:"button",role:"radio","aria-checked":!c,className:`am-pill g-mono${!c?" on":""}`,onClick:()=>{u(!1),j(e=>e?.toRatio(1)),setTimeout(()=>x(s.current,o.current,p/h),0)},children:"1:1 pixels"}),(0,t.jsx)("button",{type:"button",className:"am-pill g-mono",onClick:()=>j(e=>e?.home()),children:"Reset"})]}),(0,t.jsx)("figcaption",{className:"am-cap",children:(0,t.jsxs)("span",{className:"am-cap-desc",children:["Drag either photograph â both move together. Pinch or scroll to zoom."," ",c?"Both frames are showing the same field of view, so the difference you see is detail rather than scale.":"Both frames are at one image pixel per screen pixel â the sharper file shows a smaller slice of the scene, which is the extra detail."]})})]})}])},957,e=>{"use strict";var t=e.i(18050),a=e.i(57688),l=e.i(71645),n=e.i(10377),r=e.i(74708);e.s(["default",0,function({items:e,layout:i="steps"}){let[s,o]=(0,l.useState)(0),c=(0,r.useReview)();(0,l.useEffect)(()=>{for(let t of e)c?.register("grid"===i?{...t,caption:t.caption||t.label}:t)},[c,e]);let u=e[s];if(!u)return null;let d=u.height/u.width;return"grid"===i?(0,t.jsx)("figure",{className:"am-ladder am-ladder--gri
1d",children:(0,t.jsx)("div",{className:"am-ladder-grid",children:e.map((e,l)=>(0,t.jsxs)("button",{type:"button",className:"am-ladder-tile",onClick:()=>{c?.open(e.idx),(0,n.track)("ladder",{step:e.label??String(l),from:"grid"})},"aria-label":`Open ${e.label??l+1}`,children:[(0,t.jsx)(a.default,{src:e.src,alt:e.alt,fill:!0,sizes:"(max-width: 800px) 50vw, 620px",style:{objectFit:"cover"},placeholder:e.blur?"blur":"empty",blurDataURL:e.blur}),(0,t.jsx)("span",{className:"am-ladder-tile-label g-mono",children:e.label??`${l+1}`})]},e.src))})}):(0,t.jsxs)("figure",{className:"am-ladder",children:[(0,t.jsx)("div",{className:"am-ladder-frame",style:{aspectRatio:`1 / ${d}`,cursor:c?"zoom-in":void 0},onClick:()=>c?.open(u.idx),children:e.map((e,l)=>(0,t.jsx)(a.default,{src:e.src,alt:e.alt,fill:!0,sizes:"(max-width: 1330px) 100vw, 1240px",style:{objectFit:"contain",opacity:+(l===s)},placeholder:e.blur?"blur":"empty",blurDataURL:e.blur,priority:0===l},e.src))}),(0,t.jsx)("div",{className:"am-ladder-steps",role:"tablist","aria-label":"Focal length",children:e.map((e,a)=>(0,t.jsx)("button",{type:"button",role:"tab","aria-selected":a===s,className:`am-pill g-mono${a===s?" on":""}`,onClick:()=>{o(a),(0,n.track)("ladder",{step:e.label??String(a)})},children:e.label??`${a+1}`},e.src))}),u.caption&&(0,t.jsx)("figcaption",{className:"am-cap",children:(0,t.jsx)("span",{className:"am-cap-desc",children:u.caption})})]})}])},40362,e=>{"use strict";let t=[0,250,700,1500];e.s(["REFUSED_AFTER",0,2800,"autoplayUrl",0,function(e,t=!1){let a=e.includes("?")?"&":"?";return e.includes("player.vimeo.com")?`${e}${a}autoplay=1&playsinline=1${t?"&muted=1":""}`:`${e}${a}autoplay=1&rel=0&playsinline=1&enablejsapi=1${t?"&mute=1":""}`},"nudgePlay",0,function(e){let a;if(!e?.contentWindow)return;try{a=new URL(e.src).origin}catch{return}let l=e.src.includes("player.vimeo.com"),n=t=>e.contentWindow?.postMessage(JSON.stringify(t),a),r=()=>{l?n({method:"play"}):(n({event:"listening",id:1,channel:"widget"}),n({event:"command",func:"playVideo",args:[]}))};for(let e of(r(),t.slice(1)))setTimeout(r,e)},"watchPlayerState",0,function(e){let t=t=>{let a,l=String(t.origin);if(!l.includes("youtube")&&!l.includes("vimeo"))return;try{a="string"==typeof t.data?JSON.parse(t.data):t.data}catch{return}let n=a?.info?.playerState;"number"==typeof n?e(n):a?.event==="playProgress"&&e(1)};return window.addEventListener("message",t),()=>window.removeEventListener("message",t)}])},27842,e=>{"use strict";var t=e.i(18050),a=e.i(71645),l=e.i(74080),n=e.i(10377),r=e.i(40362),i=e.i(67768);e.s(["default",0,function({src:e,poster:s,aspect:o="16:9",title:c,autoplay:u=!1}){let[d,m]=(0,a.useState)(!1),[h,p]=(0,a.useState)(!u),f=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(!u||h||!f.current)return;let e=new IntersectionObserver(t=>{t.some(e=>e.isIntersecting)&&(p(!0),e.disconnect())},{rootMargin:"600px 0px"});return e.observe(f.current),()=>e.disconnect()},[u,h]);let x=(()=>{let t=e.match(/^youtube:(.+)$/);if(t)return(0,r.autoplayUrl)(`https://www.youtube-nocookie.com/embed/${t[1]}`);let a=e.match(/^vimeo:([0-9]+)(?::([A-Za-z0-9]+))?$/);if(a){let e=a[2]?`?h=${a[2]}`:"";return(0,r.autoplayUrl)(`https://player.vimeo.com/video/${a[1]}${e}`)}return null})(),g=()=>{(0,l.flushSync)(()=>m(!0)),(0,n.track)("video_play",{src:e})};return(0,t.jsx)("figure",{ref:f,className:"am-videoblock",style:{aspectRatio:"9:16"===o?"9 / 16":"1:1"===o?"1 / 1":"16 / 9"},children:x?d?(0,t.jsx)("iframe",{src:x,title:c??"Video",allow:"autoplay; fullscreen; picture-in-picture",allowFullScreen:!0,onLoad:e=>(0,r.nudgePlay)(e.currentTarget)}):(0,t.jsxs)("button",{type:"button",className:"am-video-poster",onClick:g,"aria-label":"Play the video",children:[s&&(0,t.jsx)("img",{src:(0,i.cdn)(s),alt:""}),(0,t.jsx)("span",{className:"am-video-play","aria-hidden":"true",children:(0,t.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:(0,t.jsx)("path",{d:"M8 5.5v13l11-6.5z"})})})]}):u?(0,t.jsx)("video",{src:h?(0,i.cdn)(e):void 0,poster:s&&(0,i.cdn)(s),autoPlay:!0,muted:!0,loop:!0,playsInline:!0,preload:"auto","aria-label":c}):d?(0,t.jsx)("video",{src:(0,i.cdn)(e),poster:s&&(0,i.cdn)(s),controls:!0,autoPlay:!0,playsInl
1ine:!0,"aria-label":c}):(0,t.jsxs)("button",{type:"button",className:"am-video-poster",onClick:g,"aria-label":"Play the video",children:[s&&(0,t.jsx)("img",{src:(0,i.cdn)(s),alt:""}),(0,t.jsx)("span",{className:"am-video-play","aria-hidden":"true",children:(0,t.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:(0,t.jsx)("path",{d:"M8 5.5v13l11-6.5z"})})})]})})}])},52881,e=>{"use strict";var t=e.i(18050),a=e.i(71645),l=e.i(10377);e.s(["default",0,function({slug:e,files:n}){let[r,i]=(0,a.useState)(""),[s,o]=(0,a.useState)(null),[c,u]=(0,a.useState)(""),[d,m]=(0,a.useState)(!1),h=(0,a.useRef)(null),p=d||/^\S+@\S+\.\S+$/.test(r.trim());async function f(t){if(!p){u("An email address, and the file is yours."),h.current?.focus();return}o(t.id),u("");try{let a=await fetch("/api/raw",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:r,slug:e,id:t.id,page:window.location.pathname,session:(0,l.analyticsSession)()})}),n=await a.json();n.ok&&n.url?(m(!0),window.location.href=n.url):u(n.error??"Couldn't fetch that just now â try once more?")}catch{u("Couldn't fetch that just now â try once more?")}finally{o(null)}}return(0,t.jsxs)("aside",{className:"am-raw",id:"raw-files",children:[(0,t.jsx)("p",{className:"am-raw-title",children:"Enter your email to download the full-res files"}),(0,t.jsx)("p",{className:"am-raw-lede",children:"High res images, straight from the iPhone 18 Pro. Pull them into Lightroom or Bridge if you want to take a closer look!"}),!d&&(0,t.jsxs)("div",{className:"am-raw-gate",children:[(0,t.jsx)("input",{ref:h,type:"email",value:r,onChange:e=>{i(e.target.value),u("")},placeholder:"[email protected]","aria-label":"Email address",autoComplete:"email"}),(0,t.jsx)("span",{className:"am-raw-fine",children:"Enter email address to download and receive my every-so-often newsletter."})]}),c&&(0,t.jsx)("p",{className:"am-raw-error",children:c}),(0,t.jsx)("ul",{className:"am-raw-list",children:n.map(e=>{let a;return(0,t.jsxs)("li",{children:[(0,t.jsx)("img",{src:e.thumb,alt:"",className:"am-raw-thumb"}),(0,t.jsxs)("span",{className:"am-raw-meta",children:[(0,t.jsx)("span",{className:"am-raw-name",children:e.name}),(0,t.jsx)("span",{className:"g-mono",children:[e.width&&e.height?`${e.width} \xd7 ${e.height}`:null,e.lens,(a=e.bytes,`${(a/1e6).toFixed(a>1e8?0:1)} MB`)].filter(Boolean).join(" · ")})]}),(0,t.jsx)("button",{type:"button",className:`am-pill g-mono ${p?"on":"am-raw-locked"}`,"aria-disabled":!p,"data-tip":p?void 0:"Enter email above to download",disabled:s===e.id,onClick:()=>f(e),children:s===e.id?"â¦":"Download"})]},e.id)})})]})}])},30726,e=>{"use strict";var t=e.i(18050),a=e.i(57688),l=e.i(22016),n=e.i(10377);e.s(["CourseCta",0,function({variant:e="block",source:a="review-mid"}){return(0,t.jsxs)("aside",{className:`am-next am-next--course${"inline"===e?" inline":""}`,children:[(0,t.jsx)("p",{className:"am-next-kicker g-mono",children:"Traveling Light"}),(0,t.jsx)("h2",{className:"am-next-title",children:"Join the waitlist and get notified when it releases."}),(0,t.jsx)("p",{className:"am-next-sub",children:"A photography course â timeless principles, how to see, how to shoot and how to work your powerful iPhone camera, so you make images youâre proud of. Coming in October."}),(0,t.jsx)(l.default,{href:"/learn/traveling-light",className:"am-next-cta g-mono",onClick:()=>(0,n.track)("course_click",{source:a}),children:"Join the waitlist â"})]})},"SafariCta",0,function({source:e="review-close",variant:r="block"}){let i="inline"===r;return(0,t.jsxs)("aside",{className:`am-next am-next--safari${i?" inline":""}`,children:[!i&&(0,t.jsx)("p",{className:"am-next-onemore",children:"One more thingâ¦"}),(0,t.jsx)(a.default,{className:"am-next-photo",src:"/content/trek/iphone-16-pro-camera-review-kenya/images/_C2_A9Mann_CraigtheElephant-web.jpg",alt:"Craig, a super tusker elephant, photographed in Amboseli",width:2048,height:1261,sizes:"(max-width: 900px) 100vw, 860px"}),(0,t.jsx)("p",{className:"am-next-photo-note g-mono",children:"Shot on iPhone 16 Pro"}),(0,t.jsx)("p",{className:"am-next-kicker g-mono",children:"Kenya · October 7â17, 2027"}),!i&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h2",{className:"am-next-title",children:"Or come and shoot one of these with me."}),(0,t.jsx)("p",{className:"am-next-sub",children:"Eleven days across the Mara and Amboseli on a private safari, learning the camera in your pocket in the place I keep coming back to. Six seats."})]}),(0,t.jsx)(l.default,{href:"/safari",className:"am-next-cta g-mono",onClick:()=>(0,n.track)("safari_click",{source:e}),children:"The iPhone Photo Safari â"})]})}])},15885,e=>{"use strict";var t=e.i(18050),a=e.i(10377);e.s(["default",0,function({children:e}){return(0,t.jsx)("aside",{className:"am-kit",onClick:e=>{let t=e.target.closest("a");t&&(0,a.track)("kit_click",{item:t.textContent?.trim().slice(0,80)})},children:e})}])},2967,e=>{"use strict";var t=e.i(18050),a=e.i(71645),l=e.i(74080),n=e.i(10377),r=e.i(22125),i=e.i(40362),s=e.i(67768);e.s(["default",0,function({src:e,poster:o,posterFocus:c,film:u,filmLabel:d="Watch the film",credits:m,children:h}){let p=(0,a.useRef)(null),[f,x]=(0,a.useState)(!1),[g,w]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=p.current;e&&(e.muted=!0,e.play().catch(()=>{}))},[]),(0,a.useEffect)(()=>
1{if(!f)return;(0,r.lockScroll)();let e=e=>"Escape"===e.key&&x(!1);return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e),(0,r.unlockScroll)()}},[f]),(0,a.useEffect)(()=>{if(!f||g)return;let e=-1,t=(0,i.watchPlayerState)(t=>e=t),a=setTimeout(()=>{1!==e&&w(!0)},i.REFUSED_AFTER);return()=>{t(),clearTimeout(a)}},[f,g]),(0,t.jsxs)("header",{className:"am-rhero",children:[!e&&o&&(0,t.jsx)("img",{className:"am-rhero-video",src:(0,s.cdn)(o),alt:"","aria-hidden":"true",style:{objectPosition:c}}),e&&(0,t.jsx)("video",{ref:p,className:"am-rhero-video",src:(0,s.cdn)(e),poster:o&&(0,s.cdn)(o),autoPlay:!0,muted:!0,loop:!0,playsInline:!0,preload:"metadata","aria-hidden":"true"}),(0,t.jsxs)("div",{className:"am-rhero-inner",children:[h,u&&(0,t.jsxs)("button",{type:"button",className:"am-rhero-play",onClick:()=>{w(!1),(0,l.flushSync)(()=>x(!0)),(0,n.track)("film_play")},children:[(0,t.jsx)("span",{className:"am-rhero-play-mark","aria-hidden":"true",children:(0,t.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:(0,t.jsx)("path",{d:"M8 5.5v13l11-6.5z"})})}),(0,t.jsx)("span",{className:"g-mono",children:d})]}),m&&(0,t.jsx)("p",{className:"am-hero-credits g-mono",children:m})]}),f&&u&&(0,t.jsxs)("div",{className:"am-film",role:"dialog","aria-label":"The film",children:[(0,t.jsx)("button",{className:"am-film-close g-menu-link",onClick:()=>x(!1),"aria-label":"Close",children:"Ã"}),(0,t.jsx)("div",{className:"am-film-stage",children:(0,t.jsx)("iframe",{src:(0,i.autoplayUrl)(u,g),title:"The film",allow:"autoplay; fullscreen; picture-in-picture",allowFullScreen:!0,onLoad:e=>(0,i.nudgePlay)(e.currentTarget)},g?"silent":"sound")}),g&&(0,t.jsx)("p",{className:"am-film-note g-mono",children:"Your browser starts films without sound. Turn it on in the player."})]})]})}])},78898,e=>{"use strict";var t=e.i(18050),a=e.i(10377);e.s(["default",0,function({items:e}){return e?.length?(0,t.jsxs)("section",{className:"am-faq","aria-label":"Common questions",children:[(0,t.jsx)("h2",{className:"am-faq-title",children:"Questions I get every year"}),e.map(({q:e,a:l})=>(0,t.jsxs)("details",{onToggle:t=>t.target.open&&(0,a.track)("faq_open",{q:e}),children:[(0,t.jsx)("summary",{children:e}),(0,t.jsx)("p",{children:l})]},e))]}):null}])},31993,e=>{"use strict";var t=e.i(18050),a=e.i(57688),l=e.i(22016),n=e.i(10377);e.s(["default",0,function({reviews:e,current:r}){let i=e.filter(e=>e.slug!==r);return i.length?(0,t.jsxs)("section",{className:"am-rail","aria-label":"Previous iPhone camera reviews",children:[(0,t.jsxs)("p",{className:"am-rail-kicker g-mono",children:[e.length," years of iPhone camera reviews"]}),(0,t.jsx)("ul",{children:i.map(e=>(0,t.jsx)("li",{children:(0,t.jsxs)(l.default,{href:`/trek/${e.slug}`,onClick:()=>(0,n.track)("rail_click",{slug:e.slug}),children:[e.cover&&(0,t.jsx)(a.default,{src:e.cover,alt:"",width:320,height:213,sizes:"220px"}),(0,t.jsx)("span",{className:"am-rail-model",children:e.model}),(0,t.jsx)("span",{className:"am-rail-place g-mono",children:[e.location,e.year].filter(
1Boolean).join(" · ")})]})},e.slug))})]}):null}])},57192,e=>{"use strict";var t=e.i(18050),a=e.i(71645),l=e.i(10377);let n=/^the bottom line/i;e.s(["default",0,function({chapters:e}){let r=e.filter(e=>3===e.level&&!/^(how will this|ask me anything)/i.test(e.text)),[i,s]=(0,a.useState)(null),[o,c]=(0,a.useState)(!1);return((0,a.useEffect)(()=>{if(!r.length)return;let e=r.map(e=>document.getElementById(e.id)).filter(e=>null!==e);if(!e.length)return;let t=()=>{let t=.33*window.innerHeight,a=null;for(let l of e)if(l.getBoundingClientRect().top<=t)a=l.id;else break;s(a),c(window.scrollY>.8*window.innerHeight)};t();let a=0,l=()=>{cancelAnimationFrame(a),a=requestAnimationFrame(t)};return window.addEventListener("scroll",l,{passive:!0}),window.addEventListener("resize",l),()=>{window.removeEventListener("scroll",l),window.removeEventListener("resize",l),cancelAnimationFrame(a)}},[r]),r.length)?(0,t.jsx)("nav",{className:`am-toc${o?" is-shown":""}`,"aria-label":"Sections of this review",children:(0,t.jsx)("ol",{children:r.map(e=>(0,t.jsx)("li",{className:[e.id===i?"on":"",n.test(e.text)?"key":""].join(" ").trim()||void 0,children:(0,t.jsxs)("a",{href:`#${e.id}`,title:e.text,onClick:t=>{t.preventDefault(),document.getElementById(e.id)?.scrollIntoView({behavior:"smooth",block:"start"}),history.replaceState(null,"",`#${e.id}`),(0,l.track)("toc_jump",{id:e.id})},children:[(0,t.jsx)("span",{className:"am-toc-dot","aria-hidden":"true"}),(0,t.jsx)("span",{className:"am-toc-label",children:function(e){let t=e.replace(/[*_]/g,"").trim();if(/^have a question/i.test(t))return"Comments";if(t===t.toUpperCase()){let e=t.toLowerCase();return e.charAt(0).toUpperCase()+e.slice(1)}return t}(e.text)})]})},e.id))})}):null}])},83787,e=>{"use strict";var t=e.i(18050),a=e.i(71645),l=e.i(10377);e.s(["default",0,function(){let e=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let t=e.current?.parentElement;if(!t)return;let a=e=>{let t,a=e.target.closest("a");if(!(!a?.href||a.closest(".am-kit"))){try{t=new URL(a.href)}catch{return}t.origin!==window.location.origin&&(0,l.track)("link_click",{host:t.hostname.replace(/^www\./,""),path:t.pathname,text:a.textContent?.trim().slice(0,80)})}};return t.addEventListener("click",a),()=>t.removeEventListener("click",a)},[]),(0,t.jsx)("span",{ref:e,hidden:!0})}])}]);
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.