PageSourceSearch

https://hbs.studio/static/js/48.5cc7fc27.chunk.js

js hbs.studio collected 2026-10-01 03:40:17 UTC 10,230 bytes, 3 lines download raw bytes

1/*! For license information please see 48.5cc7fc27.chunk.js.LICENSE.txt */
2"use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[48],{5727(e,t,s){s.d(t,{A:()=>o});const o=(0,s(7784).A)("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]])},6048(e,t,s){s.r(t),s.d(t,{default:()=>m});var o=s(5043),n=s(5685),r=s(537),a=s(5469),i=s(5727),c=s(8384),d=s(1818),l=s(1787),p=s(567),x=s(7383),u=s(579);function m(){const{slug:e}=(0,n.g)(),[t,s]=(0,o.useState)(null),[m,h]=(0,o.useState)(null),[f,g]=(0,o.useState)(!1),[y,k]=(0,o.useState)(!d.LP.readToken()),[j,b]=(0,o.useState)(""),[v,N]=(0,o.useState)(!1),[w,P]=(0,o.useState)("");(0,x.g)({title:t?"".concat(t.title," \u2014 On-site docket \xb7 HBS Architecture"):"On-site docket \xb7 HBS Architecture",description:"Private on-site progress docket. Password protected.",robots:"noindex, nofollow, noarchive"});const S=(0,o.useCallback)(async()=>{g(!0),h(null);try{const t=await d.LP.get(e);s(t),k(!1)}catch(o){var t;const e=null===o||void 0===o||null===(t=o.response)||void 0===t?void 0:t.status;401===e?(d.LP.clearToken(),k(!0)):h(404===e?"not-found":"network")}finally{g(!1)}},[e]);(0,o.useEffect)(()=>{d.LP.readToken()?S():k(!0)},[S]);const z=async e=>{if(e.preventDefault(),j.trim()){N(!0),P("");try{const{token:e}=await d.LP.verify(j.trim());d.LP.storeToken(e),b(""),await S()}catch(n){var t,s,o;const e=(null===n||void 0===n||null===(t=n.response)||void 0===t||null===(s=t.data)||void 0===s?void 0:s.detail)||"";P(401===(null===n||void 0===n||null===(o=n.response)||void 0===o?void 0:o.status)?"Incorrect password. Please try again.":e||"Could not verify \u2014 please try again.")}finally{N(!1)}}else P("Please enter the password.")};if(y)return(0,u.jsx)("div",{"data-testid":"on-site-docket-gate",className:"min-h-screen flex items-center justify-center px-5 py-24 bg-background",children:(0,u.jsxs)(r.P.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.55,ease:[.16,1,.3,1]},className:"w-full max-w-md rounded-[28px] border border-border/70 bg-secondary/25 backdrop-blur px-7 sm:px-10 py-10 sm:py-12",children:[(0,u.jsxs)("div",{className:"flex items-center gap-3 mb-6",children:[(0,u.jsx)("span",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-foreground text-background",children:(0,u.jsx)(i.A,{size:16})}),(0,u.jsx)("p",{className:"font-mono-display text-[10px] uppercase tracking-[0.32em] text-foreground/60",children:"(On-site docket)"})]}),(0,u.jsx)("h1",{className:"font-display text-3xl sm:text-4xl leading-[1.05] tracking-tight",children:"This is a private docket."}),(0,u.jsx)("p",{className:"mt-3 text-foreground/70 text-sm leading-[1.7]",children:"The photos on this page are shared privately by the studio. Please enter the password provided by your project team to continue."}),(0,u.jsxs)("form",{onSubmit:z,className:"mt-8 flex flex-col gap-3",children:[(0,u.jsx)("label",{className:"font-mono-display text-[10px] uppercase tracking-[0.32em] text-foreground/60",children:"Password"}),(0,u.jsx)("input",{type:"password",value:j,onChange:e=>{b(e.target.value),w&&P("")},autoFocus:!0,autoComplete:"current-password","data-testid":"on-site-docket-password-input",className:"rounded-full border border-border bg-background/70 px-5 py-3 min-h-[44px] font-body text-sm focus:outline-none focus:ring-2 focus:ring-foreground/25 focus:border-foreground
2/40 transition-colors",placeholder:"Enter docket password"}),w&&(0,u.jsx)("p",{"data-testid":"on-site-docket-password-error",className:"font-mono-display text-[11px] uppercase tracking-[0.24em] text-destructive",children:w}),(0,u.jsxs)("button",{type:"submit","data-testid":"on-site-docket-password-submit",disabled:v,className:"mt-2 inline-flex items-center justify-center gap-2 rounded-full bg-foreground text-background px-5 py-3 min-h-[44px] disabled:opacity-50 hover:bg-foreground/90 transition-colors",children:[(0,u.jsx)(c.A,{size:14}),(0,u.jsx)("span",{className:"font-mono-display text-[11px] uppercase tracking-[0.28em]",children:v?"Verifying\u2026":"Unlock docket"})]})]}),(0,u.jsxs)("div",{className:"mt-8 flex items-center justify-between text-[11px] font-mono-display uppercase tracking-[0.28em] text-foreground/55",children:[(0,u.jsxs)(n.N_,{to:"/portfolio/".concat(e),"data-testid":"on-site-docket-back-link",className:"inline-flex items-center gap-2 hover:text-foreground transition-colors",children:[(0,u.jsx)(a.A,{size:12}),"Back to project"]}),(0,u.jsx)("span",{children:"Session \xb7 24h"})]})]})});if(f&&!t)return(0,u.jsx)("div",{className:"min-h-screen flex items-center justify-center",children:(0,u.jsx)("span",{className:"font-mono-display text-[11px] uppercase tracking-[0.32em] text-foreground/60",children:"Loading on-site docket\u2026"})});if("not-found"===m)return(0,u.jsxs)("div",{className:"min-h-screen flex flex-col items-center justify-center gap-4 px-5",children:[(0,u.jsx)("p",{className:"font-mono-display text-[11px] uppercase tracking-[0.32em] text-foreground/60",children:"Project not found"}),(0,u.jsx)(n.N_,{to:"/works",className:"underline underline-offset-4",children:"Back to selected works"})]});if("network"===m||!t)return(0,u.jsxs)("div",{className:"min-h-screen flex flex-col items-center justify-center gap-4 px-5",children:[(0,u.jsx)("p",{className:"font-mono-display text-[11px] uppercase tracking-[0.32em] text-foreground/60",children:"Something went wrong loading this docket."}),(0,u.jsx)("button",{type:"button",onClick:S,className:"rounded-full border border-foreground
2/30 px-5 py-3 min-h-[44px] hover:border-foreground/60 transition-colors",children:(0,u.jsx)("span",{className:"font-mono-display text-[11px] uppercase tracking-[0.28em]",children:"Retry"})})]});const C=t.on_site_images||[];return(0,u.jsxs)("div",{"data-testid":"on-site-docket-page",children:[(0,u.jsx)("div",{className:"sticky top-0 z-[40] border-b border-border/60 bg-background/85 backdrop-blur",children:(0,u.jsxs)("div",{className:"mx-auto max-w-[1400px] px-5 sm:px-8 lg:px-12 py-3 flex items-center justify-between gap-4",children:[(0,u.jsxs)("div",{className:"flex items-center gap-3",children:[(0,u.jsx)("span",{className:"flex h-7 w-7 items-center justify-center rounded-full bg-foreground text-background",children:(0,u.jsx)(i.A,{size:12})}),(0,u.jsx)("span",{className:"font-mono-display text-[10px] uppercase tracking-[0.32em] text-foreground/70",children:"Private on-site docket"})]}),(0,u.jsxs)("div",{className:"flex items-center gap-3",children:[(0,u.jsxs)(n.N_,{to:"/portfolio/".concat(e),"data-testid":"on-site-docket-project-link",className:"inline-flex items-center gap-2 rounded-full border border-foreground
2/20 px-3 py-1.5 min-h-[36px] hover:border-foreground/50 transition-colors font-mono-display text-[10px] uppercase tracking-[0.24em]",children:[(0,u.jsx)(a.A,{size:11}),"Project"]}),(0,u.jsx)("button",{type:"button",onClick:()=>{d.LP.clearToken(),s(null),k(!0)},"data-testid":"on-site-docket-signout-button",className:"inline-flex items-center gap-2 rounded-full border border-foreground/20 px-3 py-1.5 min-h-[36px] hover:border-foreground/50 transition-colors font-mono-display text-[10px] uppercase tracking-[0.24em]",children:"Sign out"})]})]})}),(0,u.jsx)("section",{className:"pt-16 sm:pt-24",children:(0,u.jsxs)("div",{className:"mx-auto max-w-[1240px] px-5 sm:px-8 lg:px-12",children:[(0,u.jsx)(l.gN,{children:(0,u.jsxs)("p",{className:"font-mono-display text-[11px] uppercase tracking-[0.32em] text-foreground/60",children:["(On-site docket) \u2014 ",t.category]})}),(0,u.jsx)("h1",{className:"mt-6 font-display text-5xl sm:text-7xl lg:text-[6.5vw] leading-[0.95] tracking-tight",children:(0,u.jsx)(l.RT,{text:t.title})}),(0,u.jsx)(l.gN,{delay:.25,className:"mt-6 flex flex-wrap gap-x-8 gap-y-3",children:[["Year",t.year],["Location",t.location],["Status",t.status],["Photos",C.length]].filter(e=>{let[,t]=e;return""!==t&&null!==t&&void 0!==t}).map(e=>{let[t,s]=e;return(0,u.jsxs)("div",{className:"min-w-[120px]",children:[(0,u.jsx)("span",{className:"font-mono-display text-[10px] uppercase tracking-[0.32em] text-foreground/55",children:t}),(0,u.jsx)("p",{className:"mt-1 font-display text-lg leading-[1.1]",children:s})]},t)})})]})}),(0,u.jsx)("section",{className:"py-16 sm:py-20",children:(0,u.jsx)("div",{className:"mx-auto max-w-[1400px] px-5 sm:px-8 lg:px-12",children:0===C.length?(0,u.jsxs)("div",{"data-testid":"on-site-docket-empty-state",className:"rounded-[28px] border border-dashed border-border/70 px-8 py-20 text-center",children:[(0,u.jsx)("p",{className:"font-display text-2xl leading-tight",children:"No on-site photos have been uploaded yet."}),(0,u.jsx)("p",{className:"mt-3 text-sm text-foreground/60 max-w-md mx-auto",children:"Check back once the studio uploads the next batch of progress photographs. Your session will remain unlocked for 24 hours."})]}):(0,u.jsx)("div",{className:"grid grid-cols-1 lg:grid-cols-6 gap-6",children:C.map((e,s)=>{const o=s%3===0;return(0,u.jsxs)(l.gN,{delay:Math.min(.04*s,.4),className:"overflow-hidden rounded-[24px] ".concat(o?"lg:col-span-6":"lg:col-span-3"),children:[(0,u.jsx)(l.iJ,{children:(0,u.jsx)(p.p,{src:e.url,alt:e.alt||"".concat(t.title," \u2014 on-site progress photo ").concat(s+1),sizes:o?"(max-width: 1024px) 100vw, 1200px":"(max-width: 1024px) 100vw, 600px",wrapperClassName:"h-[360px] sm:h-[520px] w-full",className:"w-full h-[360px] sm:h-[520px] object-cover",zoom:e.zoom,protectedMedia:!0})}),e.caption&&(0,u.jsx)("p",{className:"mt-2 font-mono-display text-[10px] uppercase tracking-[0.28em] text-foreground/60",children:e.caption})]},"".concat(e.url,"-").concat(s))})})})}),(0,u.jsx)("div",{className:"h-16 sm:h-20","aria-hidden":"true"}),(0,u.jsx)("div",{hidden:!0,"aria-hidden":"true","data-resolve-helper":!0,children:C.map((e,t)=>(0,d.z6)(e.url)&&null)})]})}},8384(e,t,s){s.d(t,{A:()=>o});const o=(0,s(7784).A)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])}}]);
3//# sourceMappingURL=48.5cc7fc27.chunk.js.map

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.