PageSourceSearch

https://maclaine.org/assets/BusinessGatherings-CGhn_2TH.js

js maclaine.org collected 2026-10-02 19:47:22 UTC 3,399 bytes, 1 lines download raw bytes

1import{j as s,L as c}from"./vendor-react-CbELOEYt.js";import{i as d,L as m,S as p,aU as x,d1 as u,c as h,g as j,O as o,B as f}from"./index-2jtzXSdH.js";import{a6 as N}from"./useBusinessNetwork-Cv7hGUt_.js";import{w as g,q as y,D as b,H as _}from"./icons-CnCnIleo.js";import"./charts-DbFxHTAl.js";import"./vendor-ui-CMQ6LlpP.js";import"./vendor-supabase-DFdou4aS.js";import"./vendor-date-cgj7qViA.js";function H(){const{user:e}=d(),{data:t,isLoading:i}=N(),n=(t??[]).filter(a=>a.business_count>0||a.people_count>0||a.is_business_event),r=(t??[]).filter(a=>!n.includes(a));return s.jsxs(m,{children:[s.jsx(p,{title:"Business at Maclaine gatherings — Business Network",description:"Which Highland Games and Maclaine gatherings have businesses coming along and members happy to talk business.",path:"/business/gatherings"}),s.jsxs("div",{className:"container mx-auto px-4 py-10 max-w-5xl space-y-8",children:[s.jsxs("header",{className:"space-y-2",children:[s.jsx("h1",{className:"text-3xl font-bold",children:"Business at our gatherings"}),s.jsx("p",{className:"text-muted-foreground",children:"Members bring their businesses to Highland Games and clan occasions. Open a gathering to see who is going, and to say you are happy to meet people there."})]}),!e&&s.jsx(x,{action:"see who is happy to meet people at a gathering",returnTo:"/business/gatherings"}),i&&s.jsx("p",{className:"text-sm text-muted-foreground",children:"Looking these up…"}),!i&&n.length===0&&s.jsx("p",{className:"text-sm text-muted-foreground",children:"No gathering has business interest recorded yet. Open any gathering and add yours."}),s.jsx("div",{className:"space-y-4",children:n.map(a=>s.jsx(l,{gathering:a},a.edition_id))}),r.length>0&&s.jsxs("section",{className:"space-y-4",children:[s.jsx("h2",{className:"text-xl font-semibold",children:"Other upcoming gatherings"}),s.jsx("div",{className:"space-y-4",children:r.slice(0,20).map(a=>s.jsx(l,{gathering:a},a.edition_id))})]})]})]})}function l({gathering:e}){const t=e.start_date?u(e.start_date):e.year?String(e.year):"Date to be confirmed";return s.jsx(h,{children:s.jsxs(j,{className:"p-5 flex flex-wrap items-start justify-between gap-4",children:[s.jsxs("div",{className:"min-w-0 space-y-1",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsx("h3",{className:"font-semibold",children:e.name}),e.is_business_event&&s.jsx(o,{variant:"secondary",children:"Business event"}),e.date_is_provisional&&s.jsx(o,{variant:"outline",children:"Date provisional"})]}),s.jsxs("p",{className:"text-sm text-muted-foreground flex items-center gap-1",children:[s.jsx(g,{className:"h-3.5 w-3.5"})," ",t]}),(e.venue_name||e.region)&&s.jsxs("p",{className:"text-sm text-muted-foreground flex items-center gap-1",children:[s.jsx(y,{className:"h-3.5 w-3.5"}),[e.venue_name,e.region].filter(Boolean).join(", ")]}),s.jsxs("p",{className:"text-xs text-muted-foreground flex flex-wrap gap-x-4",children:[s.jsxs("span",{className:"flex items-center gap-1",children:[s.jsx(b,{className:"h-3 w-3"})," ",e.business_count," business",e.business_count===1?"":"es"]}),s.jsxs("span",{className:"flex items-center gap-1",children:[s.jsx(_,{className:"h-3 w-3"})," ",e.people_count," happy to meet people"]})]})]}),s.jsx(f,{variant:"outline",asChild:!0,children:s.jsx(c,{to:`/passport/games/${e.games_id}`,children:"Open the gathering"})})]})})}export{H 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.