PageSourceSearch

https://trips.off-the-path.com/assets/PartnerLayout-DnvjAZTv.js

js off-the-path.com collected 2026-10-02 05:04:41 UTC 3,296 bytes, 1 lines download raw bytes

1import{i as N,r as v,j as e,L as r}from"./react-vendor-oGnIhQt2.js";import{b0 as k,c as m,A as w,o as y,B as h,al as u,X as A,an as O,a9 as P}from"./index-DVrUGVMO.js";import C from"./message-square-CdTbnfTX.js";import f from"./plane-Bdijs-LI.js";import S from"./house-B0nFDdHy.js";import"./radix-core-kiNkrX5-.js";const n=[{href:"/partner",icon:S,label:"Overview",exact:!0},{href:"/partner/trips",icon:f,label:"My trips"},{href:"/partner/account",icon:P,label:"Account & 2FA"}];function I({children:p}){const{partner:s,access:t,signOut:g}=k(),c=N(),[o,l]=v.useState(!1),i=t!=null&&t.show_feedback?[...n.slice(0,2),{href:"/partner/feedback",icon:C,label:"Feedback"},...n.slice(2)]:n,d=(a,j)=>j?c.pathname===a:c.pathname.startsWith(a),x=async()=>{await g(),window.location.href="/partner/auth"},b=((s==null?void 0:s.name)??"P").slice(0,2).toUpperCase();return e.jsxs("div",{className:"min-h-screen bg-background",children:[e.jsxs("header",{className:"sticky top-0 z-40 border-b border-border bg-background/85 backdrop-blur",children:[e.jsxs("div",{className:"container mx-auto flex h-16 items-center justify-between gap-4 px-4",children:[e.jsxs(r,{to:"/partner",className:"flex items-center gap-3",children:[e.jsx("div",{className:"h-9 w-9 rounded-full bg-safari-gold/15 flex items-center justify-center text-safari-gold",children:e.jsx(f,{className:"h-4 w-4"})}),e.jsxs("div",{className:"leading-tight",children:[e.jsx("div",{className:"font-heading text-sm font-semibold tracking-wide",children:"Partner Portal"}),e.jsx("div",{className:"text-[10px] uppercase tracking-[0.25em] text-muted-foreground",children:"Off the Path"})]})]}),e.jsx("nav",{className:"hidden md:flex items-center gap-1",children:i.map(a=>e.jsxs(r,{to:a.href,className:m("flex items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors",d(a.href,a.exact)?"bg-safari-gold/15 text-safari-gold":"text-muted-foreground hover:text-foreground hover:bg-muted"),children:[e.jsx(a.icon,{className:"h-4 w-4"}),a.label]},a.href))}),e.jsxs("div",{className:"hidden md:flex items-center gap-2",children:[e.jsx("span",{className:"text-sm text-muted-foreground max-w-[160px] truncate",children:s==null?void 0:s.name}),e.jsx(w,{className:"h-8 w-8",children:e.jsx(y,{className:"text-xs bg-safari-sand text-safari-earth",children:b})}),e.jsx(h,{variant:"ghost",size:"icon",onClick:x,"aria-label":"Sign out",children:e.jsx(u,{className:"h-4 w-4"})})]}),e.jsx("button",{type:"button",className:"md:hidden",onClick:()=>l(a=>!a),"aria-label":"Menu",children:o?e.jsx(A,{className:"h-5 w-5"}):e.jsx(O,{className:"h-5 w-5"})})]}),o&&e.jsx("div",{className:"md:hidden border-t border-border bg-background",children:e.jsxs("div",{className:"container mx-auto px-4 py-3 flex flex-col gap-1",children:[i.map(a=>e.jsxs(r,{to:a.href,onClick:()=>l(!1),className:m("flex items-center gap-3 rounded-md px-3 py-2 text-sm",d(a.href,a.exact)?"bg-safari-gold/15 text-safari-gold":"text-muted-foreground hover:text-foreground hover:bg-muted"),children:[e.jsx(a.icon,{className:"h-4 w-4"}),a.label]},a.href)),e.jsxs(h,{variant:"ghost",className:"justify-start gap-3 px-3",onClick:x,children:[e.jsx(u,{className:"h-4 w-4"})," Sign out"]})]})})]}),e.jsx("main",{className:"container mx-auto px-4 py-6",children:p})]})}export{I as PartnerLayout,I 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.