1__d(function(_g,r,_i,_a,_m,e,d){var t=r(d[0]).default,o=r(d[1]).default;Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(){const t=(0,r(d[10]).useSafeAreaInsets)(),o=(0,r(d[11]).useLocalSearchParams)(),n=Array.isArray(o.findPeople)?o.findPeople[0]:o.findPeople,i=(0,r(d[12]).useUserHomeVenue)(),{currentInterest:c,allInterests:p,domainInterestIds:h}=(0,r(d[13]).useInterest)(),{user:I}=(0,r(d[14]).useAuth)(),[C,j]=(0,l.useState)(0),[w,L]=(0,l.useState)('all'),[F,k]=(0,l.useState)(null),[R,B]=(0,l.useState)(!1),[v,T]=(0,l.useState)(null);null!==v&&Object.is(v[0],n)||(T([n]),'1'===n&&B(!0));const[A,_]=(0,l.useState)(!1),[P,z]=(0,l.useState)(new Set),{data:W=[],isLoading:E}=(0,r(d[15]).useFollowedStepsFeed)(I?.id??null),{coverage:D}=(0,r(d[16]).useInterestCapabilityCoverage)(c?.id??null),{fleets:H,loading:N}=(0,r(d[17]).useUserFleets)(I?.id??null),G=(0,r(d[12]).isSailingInterest)(c?.slug),M=(0,l.useMemo)(()=>G?H.filter(t=>'active'===t.status):[],[G,H]),{groups:V,isLoading:$}=(0,r(d[18]).useUserAffinityGroups)(c?.slug),{cohorts:U,isLoading:K}=(0,r(d[19]).useUserOrgCohorts)(c?.slug),q=G?N:$||K,Y=(0,l.useMemo)(()=>{const t=M.map(t=>({id:t.fleet.id,name:t.fleet.name,kind:'fleet'}));if(G)return t;const o=new Set,l=(t,o)=>`${t.trim().toLowerCase()}::${o??''}`;for(const n of V)o.add(l(n.name,n.parent_org_id)),t.push({id:n.id,name:n.name,kind:'affinity'});for(const n of U){const i=l(n.name,n.org_id);o.has(i)||(o.add(i),t.push({id:n.id,name:n.name,kind:'cohort'}))}return t},[G,M,V,U]),J=(0,l.useMemo)(()=>(F?Y.find(t=>t.id===F):null)??Y[0]??null,[Y,F]),Q='fleet'===w?J:null,{data:X=[],isLoading:Z}=(0,r(d[20]).useFleetStepFeed)('fleet'===Q?.kind?Q.id:null,c?.id),{data:ee=[],isLoading:te}=(0,r(d[21]).useCohortStepFeed)('cohort'===Q?.kind?Q.id:null,c?.id),{data:oe=[],isLoading:le}=(0,r(d[22]).useAffinityGroupStepFeed)('affinity'===Q?.kind?Q.id:null,c?.id),ne='cohort'===J?.kind?ee:'affinity'===J?.kind?oe:X,re='cohort'===J?.kind?te:'affinity'===J?.kind?le:Z,{data:ie=[]}=(0,r(d[23]).useCohortStream)(c?.id),{data:ae=[]}=(0,r(d[24]).useFollowedPeopleForLibrary)(),se=ae.length,de=(0,l.useMemo)(()=>{const t=new Set;for(const o of W)o.sourceBlueprintId&&t.add(o.sourceBlueprintId);for(const o of ne)o.sourceBlueprintId&&t.add(o.sourceBlueprintId);return Array.from(t)},[W,ne]),{data:ce}=(0,r(d[25]).useBlueprintTitles)(de),ue=t=>t?ce?.get(t)?.title??null:null,fe=(0,l.useMemo)(()=>{const t=new Set;for(const o of W)t.add(o.id);for(const o of ne)t.add(o.id);return Array.from(t)},[W,ne]),{data:pe=new Map}=(0,r(d[26]).useStepReactionSummaries)(fe),[ge,he]=(0,l.useState)('all'),[ye,me]=(0,l.useState)(!1),Se=(0,l.useMemo)(()=>[{id:'all',label:'All'},{id:'following',label:'Their own'},{id:'blueprint',label:'From blueprints'}],[]),be=(0,l.useMemo)(()=>{const t=new Map;for(const o of W){if(!o.personId||t.has(o.personId))continue;const l=ae.find(t=>t.userId===o.personId),n=(l?.displayName??o.personName??'').trim().split(/\s+/)[0]||'Person';t.set(o.personId,{id:`person:${o.personId}`,label:n,avatar:{text:l?.avatarEmoji||l?.initials||o.personInitial||'?',color:l?.avatarColor||'#3F6FA8'}})}return Array.from(t.values())},[W,ae]),xe=(0,l.useMemo)(()=>{if('all'===ge)return W;if('following'===ge)return W.filter(t=>!t.sourceBlueprintId);if('blueprint'===ge)return W.filter(t=>Boolean(t.sourceBlueprintId));if(ge.startsWith('person:')){const t=ge.slice(7);
1return W.filter(o=>o.personId===t)}return W},[W,ge]),Oe=(0,l.useMemo)(()=>{const t=new Map;for(const o of p)t.set(o.id,o.name);return t},[p]),Ie=c?.id,Ce=(0,l.useMemo)(()=>{const t=new Set(h);return Ie&&t.delete(Ie),t},[h,Ie]),je=(0,l.useMemo)(()=>{const t=[],o=[],l=[];for(const n of xe){const i=n.interestId;i&&i!==c?.id?Ce.has(i)?o.push(n):l.push(n):t.push(n)}return{active:t,related:o,other:l}},[xe,c?.id,Ce]),we=(0,l.useMemo)(()=>je.active.map(t=>t.id),[je.active]),Le=(0,r(d[27]).useFollowedStepGapTouch)(c?.id??null,D,we),Fe=(0,l.useMemo)(()=>[...je.active].sort((t,o)=>{const l=(Le.get(t.id)?.length??0)>0?1:0,n=(Le.get(o.id)?.length??0)>0?1:0;return l!==n?n-l:o.updatedAt.localeCompare(t.updatedAt)}),[je.active,Le]),[ke,Re]=(0,l.useState)(!1),Be=W.length>0,ve=ie.length>0,Te=c?.name?`Latest in ${c.name}`:'Latest from your people';return(0,r(d[28]).jsxs)(f.default,{style:O.container,children:[R?(0,r(d[28]).jsx)(r(d[29]).DiscoverPeopleContent,{toolbarOffset:C+48,followedIds:P,onToggleFollow:t=>{z(o=>{const l=new Set(o);return l.has(t)?l.delete(t):l.add(t),l})}}):(0,r(d[28]).jsxs)(s.default,{style:O.body,contentContainerStyle:{paddingTop:C+r(d[30]).IOS_SPACING.md,paddingBottom:r(d[31]).FLOATING_TAB_BAR_HEIGHT+t.bottom+24},showsVerticalScrollIndicator:!1,children:['all'===w?(0,r(d[28]).jsx)(m,{count:se,people:ae,onPress:()=>r(d[11]).router.push('/discover/following')}):null,'all'===w&&r(d[32]).FEATURE_FLAGS.ATLAS_EVENTS_V1?(0,r(d[28]).jsx)(y,{}):null,'all'===w&&r(d[32]).FEATURE_FLAGS.MENTORSHIP_V1?(0,r(d[28]).jsxs)(a.default,{style:O.guidanceRow,onPress:()=>r(d[11]).router.push('/guidance'),accessibilityRole:"button",accessibilityLabel:"Open guidance",children:[(0,r(d[28]).jsx)(f.default,{style:O.guidanceGlyph,children:(0,r(d[28]).jsx)(u.default,{style:O.guidanceGlyphText,children:"\u2733"})}),(0,r(d[28]).jsxs)(f.default,{style:O.guidanceCopy,children:[(0,r(d[28]).jsx)(u.default,{style:O.guidanceTitle,children:"Guidance"}),(0,r(d[28]).jsx)(u.default,{style:O.guidanceBody,numberOfLines:2,children:"Find a mentor for one capability \u2014 or offer yours. Private until you send a request."})]}),(0,r(d[28]).jsx)(u.default,{style:O.guidanceChevron,children:"\u203a"})]}):null,(0,r(d[28]).jsx)(f.default,{style:O.lensRow,children:g.map(t=>{const o=t.id===w;return(0,r(d[28]).jsx)(a.default,{onPress:()=>L(t.id),style:[O.lensSeg,o&&O.lensSegActive],accessibilityRole:"button",accessibilityState:{selected:o},children:(0,r(d[28]).jsx)(u.default,{style:[O.lensSegText,o&&O.lensSegTextActive],children:t.label})},t.id)})}),'all'===w?(0,r(d[28]).jsxs)(r(d[28]).Fragment,{children:[Be?(0,r(d[28]).jsxs)(f.default,{style:O.section,children:[(0,r(d[28]).jsx)(r(d[33]).WatchFilterRow,{categories:Se,entities:be,selectedId:ge,onSelect:he}),0===xe.length?(0,r(d[28]).jsxs)(f.default,{style:O.emptyCard,children:[(0,r(d[28]).jsx)(r(d[34]).Ionicons,{name:"filter-outline",size:28,color:r(d[30]).IOS_COLORS.tertiaryLabel}),(0,r(d[28]).jsx)(u.default,{style:O.emptyTitle,children:"No steps match this filter yet"}),(0,r(d[28]).jsx)(u.default,{style:O.emptyCopy,children:"Reset the people filter to see everything you follow."}),(0,r(d[28]).jsx)(a.default,{style:O.emptyAction,onPress:()=>he('all'),children:(0,r(d[28]).jsx)(u.default,{style:O.emptyActionText,children:"Show all activity"})})]}):(0,r(d[28]).jsxs)(r(d[28]).Fragment,{children:[(0,r(d[28]).jsx)(u.default,{style:O.sectionEyebrow,children:Te}),Fe.length>0?(0,r(d[28]).jsx)(f.default,{style:O.feed,children:Fe.map(t=>(0,r(d[28]).jsx)(x,{item:t,blueprintTitle:ue(t.sourceBlueprintId),fallbackInterestId:c?.id??null,relationshipLabel:"you follow",gapCategories:Le.get(t.id)??null,reactionSummary:pe.get(t.id)},t.id))}):(0,r(d[28]).jsx)(u.default,{style:O.bandEmptyCopy,children:c?.name?`No ${c.name} activity yet \u2014 here\u2019s what your people are working on elsewhere.`:'Here\u2019s what your people are working on.'}),je.related.length>0?(0,r(d[28]).jsxs)(f.default,{style:O.bandBlock,children:[(0,r(d[28]).jsx)(u.default,{style:O.sectionEyebrow,children:"From related crafts"}),(0,r(d[28]).jsx)(f.default,{style:O.feed,children:je.related.map(t=>(0,r(d[28]).jsx)(x,{item:t,blueprintTitle:ue(t.sourceBlueprintId),fallbackInterestId:c?.id??null,relationshipLabel:"you follow",interestLabel:Oe.get(t.interestId??'')??null,reactionSummary:pe.get(t.id)},t.id))})]}):null,je.other.length>0?(0,r(d[28]).jsxs)(f.default,{style:O.bandBlock,children:[(0,r(d[28]).jsxs)(a.default,{style:O.bandDisclosure,onPress:()=>Re(t=>!t),accessibilityRole:"button",accessibilityState:{expanded:ke},children:[(0,r(d[28]).jsx)(r(d[34]).Ionicons,{name:ke?'chevron-down':'chevron-forward',size:15,color:r(d[30]).IOS_COLORS.secondaryLabel}),(0,r(d[28]).jsx)(u.default,{style:O.bandDisclosureText,children:ke?'Hide other interests':`${je.other.length} more across everything you follow`})]}),ke?(0,r(d[28]).jsx)(f.default,{style:O.feed,children:je.other.map(t=>(0,r(d[28]).jsx)(x,{item:t,blueprintTitle:ue(t.sourceBlueprintId),fallbackInterestId:c?.id??null,relationshipLabel:"you follow",interestLabel:Oe.get(t.interestId??'')??null,reactionSummary:pe.get(t.id)},t.id))}):null]}):null]})]}):null,ve?(0,r(d[28]).jsxs)(f.default,{style:O.section,children:[(0,r(d[28]).jsx)(u.default,{style:O.sectionEyebrow,children:"From your cohorts"}),(0,r(d[28]).jsx)(f.default,{style:O.feed,children:ie.map(t=>(0,r(d[28]).jsx)(b,{item:t},t.id))})]}):null,Be||ve?null:E?(0,r(d[28]).jsx)(u.default,{style:O.emptyCopy,children:"Loading\u2026"}):(0,r(d[28]).jsxs)(f.default,{style:O.emptyCard,children:[(0,r(d[28]).jsx)(r(d[34]).Ionicons,{name:"people-outline",size:28,color:r(d[30]).IOS_COLORS.tertiaryLabel}),(0,r(d[28]).jsx)(u.default,{style:O.emptyTitle,children:"Nothing to watch yet"}),(0,r(d[28]).jsx)(u.default,{style:O.emptyCopy,children:"Follow people and their step activity will appear here."}),(0,r(d[28]).jsx)(a.default,{style:O.emptyAction,onPress:()=>B(!0),children:(0,r(d[28]).jsx)(u.default,{style:O.emptyActionText,children:"Find people to follow"})})]})]}):'location'===w?(0,r(d[28]).jsx)(r(d[35]).WatchNearbySection,{homeVenueLat:i?.lat??null,homeVenueLng:i?.lng??null,homeVenueLabel:i?.venue??i?.region??null,interestSlug:c?.slug??null}):q&&0===Y.length?(0,r(d[28]).jsxs)(f.default,{style:O.emptyCard,children:[(0,r(d[28]).jsx)(r(d[34]).Ionicons,{name:"people-outline",size:28,color:r(d[30]).IOS_COLORS.tertiaryLabel}),(0,r(d[28]).jsx)(u.default,{style:O.emptyTitle,children:"Loading groups\u2026"}),(0,r(d[28]).jsxs)(u.default,{style:O.emptyCopy,children:["Checking the groups you belong to for ",c?.name??'this interest',"."]})]}):0===Y.length?(0,r(d[28]).jsxs)(f.default,{style:O.emptyCard,children:[(0,r(d[28]).jsx)(r(d[34]).Ionicons,{name:"boat-outline",size:28,color:r(d[30]).IOS_COLORS.tertiaryLabel}),(0,r(d[28]).jsx)(u.default,{style:O.emptyTitle,children:"You're not in a group yet"}),(0,r(d[28]).jsx)(u.default,{style:O.emptyCopy,children:"Join or create a group and your groupmates' step activity will appear here."}),(0,r(d[28]).jsx)(a.default,{style:O.emptyAction,onPress:()=>r(d[11]).router.push('/library?zone=groups'),children:(0,r(d[28]).jsx)(u.default,{style:O.emptyActionText,children:"Go to groups"})})]}):(0,r(d[28]).jsxs)(f.default,{style:O.section,children:[(0,r(d[28]).jsx)(S,{groups:Y,selectedGroupId:J?.i
1d??null,open:ye,onToggle:()=>me(t=>!t),onSelect:t=>{k(t),me(!1)},onOpenGroup:()=>r(d[11]).router.push('/library?zone=groups')}),(0,r(d[28]).jsxs)(u.default,{style:O.sectionEyebrow,children:["From ",J?.name??'your group']}),re?(0,r(d[28]).jsx)(u.default,{style:O.emptyCopy,children:"Loading\u2026"}):0===ne.length?(0,r(d[28]).jsxs)(f.default,{style:O.emptyCard,children:[(0,r(d[28]).jsx)(r(d[34]).Ionicons,{name:"people-outline",size:28,color:r(d[30]).IOS_COLORS.tertiaryLabel}),(0,r(d[28]).jsx)(u.default,{style:O.emptyTitle,children:"No group activity yet"}),(0,r(d[28]).jsx)(u.default,{style:O.emptyCopy,children:"When your groupmates plan, do, and reflect on steps, you'll see them here."}),(0,r(d[28]).jsx)(a.default,{style:O.emptyAction,onPress:()=>r(d[11]).router.push('/library?zone=groups'),children:(0,r(d[28]).jsx)(u.default,{style:O.emptyActionText,children:"Find or add a group"})})]}):(0,r(d[28]).jsx)(f.default,{style:O.feed,children:ne.map(t=>(0,r(d[28]).jsx)(x,{item:t,blueprintTitle:ue(t.sourceBlueprintId),fallbackInterestId:c?.id??null,relationshipLabel:"groupmate",reactionSummary:pe.get(t.id)},t.id))})]})]}),(0,r(d[28]).jsx)(r(d[36]).TabScreenToolbar,{subtitleContent:i&&(0,r(d[12]).isSailingInterest)(c?.slug)?(0,r(d[28]).jsx)(r(d[37]).LocationAnchor,{region:i.region,venue:i.venue,onPress:()=>_(!0)}):void 0,topInset:t.top,backgroundColor:"rgba(242, 242, 247, 0.94)",onMeasuredHeight:j,actions:R?void 0:[{icon:'person-add-outline',sfSymbol:'person.badge.plus',label:'Find people to follow',onPress:()=>B(!0)}]}),R?(0,r(d[28]).jsx)(f.default,{style:[O.floatingBackHeader,{top:C+4}],pointerEvents:"box-none",children:(0,r(d[28]).jsxs)(a.default,{style:O.floatingBackPill,onPress:()=>B(!1),hitSlop:8,children:[(0,r(d[28]).jsx)(r(d[34]).Ionicons,{name:"chevron-back",size:16,color:r(d[30]).IOS_COLORS.systemBlue}),(0,r(d[28]).jsx)(u.default,{style:O.floatingBackPillText,children:"Watch"})]})}):null,(0,r(d[28]).jsx)(r(d[38]).HomeVenuePickerSheet,{visible:A,onDismiss:()=>_(!1)})]})};var l=o(r(d[2])),n=t(r(d[3])),i=t(r(d[4])),a=t(r(d[5])),s=t(r(d[6])),c=t(r(d[7])),u=t(r(d[8])),f=t(r(d[9]));const p={planning:{label:'Planning',color:'#8A4B08',background:'#FFF4D6',icon:'time-outline'},doing:{label:'Doing',color:'#0A6A56',background:'#DDF8F0',icon:'play-circle-outline'},reflected:{label:'Reflected',color:'#3155B5',background:'#E5EDFF',icon:'sparkles-outline'},completed:{label:'Completed',color:'#5B2C83',background:'#F0E6FF',icon:'checkmark-done-outline'}},g=[{id:'all',label:'People'},{id:'location',label:'Nearby'},{id:'fleet',label:'Groups'}];function h(t){const o=new Date(t).getTime();if(Number.isNaN(o))return'';const l=Math.floor((Date.now()-o)/6e4);if(l<1)return'just now';if(l<60)return`${l}m ago`;const n=Math.floor(l/60);if(n<24)return`${n}h ago`;const i=Math.floor(n/24);if(i<7)return`${i}d ago`;const a=Math.floor(i/7);return a<5?`${a}w ago`:new Date(t).toLocaleDateString(void 0,{month:'short',day:'numeric'})}function y(){const{user:t}=(0,r(d[14]).useAuth)(),{data:o=[]}=(0,r(d[39]).useQuery)({queryKey:['atlas-events','watch-recordings',t?.id],queryFn:()=>r(d[40]).AtlasEventService.recordingsFromMyEvents(t.id),enabled:Boolean(t?.id),staleTime:6e4});return 0===o.length?null:(0,r(d[28]).jsxs)(f.default,{style:O.eventBand,children:[(0,r(d[28]).jsx)(u.default,{style:O.eventBandLabel,children:"FROM YOUR EVENTS"}),o.slice(0,4).map(t=>(0,r(d[28]).jsxs)(a.default,{style:O.eventBandRow,onPress:()=>i.default.openURL(t.url),accessibilityRole:"button",accessibilityLabel:`Play ${t.title}`,children:[(0,r(d[28]).jsx)(u.default,{style:O.eventBandGlyph,children:"\u25b6"}),(0,r(d[28]).jsxs)(f.default,{style:O.eventBandBody,children:[(0,r(d[28]).jsx)(u.default,{style:O.eventBandTitle,numberOfLines:1,children:t.title}),(0,r(d[28]).jsx)(u.default,{style:O.eventBandMeta,numberOfLines:1,children:t.event_title})]}),(0,r(d[28]).jsx)(u.default,{style:O.eventBandOut,children:"\u2197"})]},t.id))]})}function m({count:t,people:o,onPress:l}){const n=o.slice(0,3),i=t-n.length;return(0,r(d[28]).jsxs)(a.default,{style:O.followingLine,onPress:l,accessibilityRole:"button",accessibilityLabel:`Manage who you follow, ${t} ${1===t?'person':'people'}`,children:[n.length>0?(0,r(d[28]).jsxs)(f.default,{style:O.followStack,children:[n.map((t,o)=>(0,r(d[28]).jsx)(f.default,{style:[O.followStackAvatar,{backgroundColor:t.avatarColor||'#3F6FA8',marginLeft:0===o?0:-8}],children:(0,r(d[28]).jsx)(u.default,{style:O.followStackInitial,children:t.avatarEmoji||t.initials})}
1,t.userId)),i>0?(0,r(d[28]).jsx)(f.default,{style:[O.followStackAvatar,O.followStackMore],children:(0,r(d[28]).jsxs)(u.default,{style:O.followStackInitial,children:["+",i]})}):null]}):(0,r(d[28]).jsx)(f.default,{style:O.followStackEmpty,children:(0,r(d[28]).jsx)(r(d[34]).Ionicons,{name:"people-outline",size:18,color:r(d[30]).IOS_COLORS.systemBlue})}),(0,r(d[28]).jsxs)(f.default,{style:O.followingLineText,children:[(0,r(d[28]).jsx)(u.default,{style:O.followingLineTitle,children:t>0?`${t} ${1===t?'person':'people'} you follow`:'You don\u2019t follow anyone yet'}),(0,r(d[28]).jsx)(u.default,{style:O.followingLineSub,children:t>0?'Tap to manage who you watch':'Tap to find people to follow'})]}),(0,r(d[28]).jsx)(r(d[34]).Ionicons,{name:"chevron-forward",size:16,color:r(d[30]).IOS_COLORS.tertiaryLabel})]})}function S({groups:t,selectedGroupId:o,open:l,onToggle:n,onSelect:i,onOpenGroup:s}){const c=t.find(t=>t.id===o)??t[0],p=t.length>1;return c?(0,r(d[28]).jsxs)(f.default,{children:[(0,r(d[28]).jsxs)(a.default,{style:O.groupPicker,onPress:p?n:s,accessibilityRole:"button",accessibilityState:{expanded:p?l:void 0},children:[(0,r(d[28]).jsx)(f.default,{style:O.groupPickerAvatar,children:(0,r(d[28]).jsx)(u.default,{style:O.groupPickerInitial,children:(g=c.name,g.split(/\s+/).filter(Boolean).map(t=>t[0]).join('').slice(0,2).toUpperCase()||'?')})}),(0,r(d[28]).jsxs)(f.default,{style:O.groupPickerText,children:[(0,r(d[28]).jsx)(u.default,{style:O.groupPickerName,numberOfLines:1,children:c.name}),(0,r(d[28]).jsx)(u.default,{style:O.groupPickerSub,children:p?'Switch group':'Open group'})]}),(0,r(d[28]).jsx)(r(d[34]).Ionicons,{name:p?l?'chevron-up':'chevron-down':'chevron-forward',size:16,color:r(d[30]).IOS_COLORS.tertiaryLabel})]}),l&&p?(0,r(d[28]).jsx)(r(d[33]).WatchFilterRow,{categories:t.map(t=>({id:t.id,label:t.name})),selectedId:o??'',onSelect:i}):null]}):null;var g}function b({item:t}){const o=[t.blueprintTitle,t.stepTitle].filter(t=>Boolean(t&&t.trim())).join(' \xb7 ');return(0,r(d[28]).jsxs)(a.default,{style:O.card,onPress:()=>{t.viewerStepId&&r(d[11]).router.push(`/step/${t.viewerStepId}?scope=cohort`)},children:[(0,r(d[28]).jsxs)(f.default,{style:O.cardHeader,children:[(0,r(d[28]).jsx)(f.default,{style:O.personMark,children:t.authorAvatarUrl?(0,r(d[28]).jsx)(n.default,{source:{uri:t.authorAvatarUrl},style:O.personAvatar}):(0,r(d[28]).jsx)(u.default,{style:O.personInitial,children:t.authorInitial})}),(0,r(d[28]).jsxs)(f.default,{style:O.cardHeaderText,children:[(0,r(d[28]).jsx)(u.default,{style:O.personName,numberOfLines:1,children:t.authorName}),(0,r(d[28]).jsx)(u.default,{style:O.personMeta,numberOfLines:1,children:`${h(t.createdAt)} \xb7 cohort thread`})]}),(0,r(d[28]).jsxs)(f.default,{style:[O.statusPill,{backgroundColor:'#E5EDFF'}],children:[(0,r(d[28]).jsx)(r(d[34]).Ionicons,{name:"chatbubble-ellipses-outline",size:13,color:"#3155B5"}),(0,r(d[28]).jsx)(u.default,{style:[O.statusText,{color:'#3155B5'}],children:"Cohort"})]})]}),o?(0,r(d[28]).jsx)(u.default,{style:O.stepTitle,numberOfLines:2,children:o}):null,(0,r(d[28]).jsx)(u.default,{style:O.bodyCopy,numberOfLines:3,children:t.bodyPreview})]})}function x({item:t,blueprintTitle:o,fallbackInterestId:i,relationshipLabel:s,interestLabel:c,gapCategories:g,reactionSummary:y}){const m=p[t.status],S=(0,r(d[41]).useAdoptStep)(),b=(0,r(d[26]).useToggleStepKudos)(),[x,I]=(0,l.useState)(!1),C=[t.personName,s].filter(Boolean).join(' \xb7 '),j=t.sourceBlueprintId?'Blueprint':'Step',w=t.interestId??i??null,L=g&&g.length>0?1===g.length?`Touches your ${g[0]} gap`:`Touches ${g.length} of your gaps`:null,F=y?.kudosCount??0,k=y?.viewerKudosed??!1,R=()=>r(d[11]).router.push(`/step/${t.id}?readOnly=true&origin=watch`);return(0,r(d[28]).jsxs)(f.default,{style:O.wcard,children:[(0,r(d[28]).jsx)(f.default,{style:[O.wcardSpine,{backgroundColor:m.color}]}),(0,r(d[28]).jsxs)(f.default,{style:O.wcardInner,children:[(0,r(d[28]).jsxs)(a.default,{onPress:R,accessibilityRole:"button",children:[(0,r(d[28]).jsxs)(f.default,{style:O.wcardCrown,children:[(0,r(d[28]).jsxs)(f.default,{style:[O.stateChip,{backgroundColor:m.background}],children:[(0,r(d[28]).jsx)(f.default,{style:[O.stateDot,{backgroundColor:m.color}]}),(0,r(d[28]).jsx)(u.default,{style:[O.stateChipText,{color:m.color}],children:m.label})]}),(0,r(d[28]).jsx)(u.default,{style:O.wcardAgo,children:h(t.updatedAt)})]}),(0,r(d[28]).jsx)(u.default,{style:O.wStepTitle,numberOfLines:2,children:t.stepTitle}),(0,r(d[28]).jsxs)(f.default,{style:O.wByline,children:[(0,r(d[28]).jsx)(a.default,{style:O.wBylineAvatar,onPress:()=>r(d[11]).router.push(`/profile/${t.personId}`),hitSlop:6,children:t.personAvatarUrl?(0,r(d[28]).jsx)(n.default,{source:{uri:t.personAvatarUrl},style:O.wBylineAvatarImg}):(0,r(d[28]).jsx)(u.default,{style:O.wBylineInitial,children:t.personInitial})}),(0,r(d[28]).jsx)(u.default,{style:O.wBylineText,numberOfLines:1,children:C}),c?(0,r(d[28]).jsx)(f.default,{style:O.interestChip,children:(0,r(d[28]).jsx)(u.default,{style:O.interestChipText,numberOfLines:1,children:c})}):null,(0,r(d[28]).jsx)(f.default,{style:O.provChip,children:(0,r(d[28]).jsx)(u.default,{style:O.provChipText,children:j})})]}),L?(0,r(d[28]).jsxs)(f.default,{style:O.gapChip,children:[(0,r(d[28]).jsx)(r(d[34]).Ionicons,{name:"flag-outline",size:12,color:"#B25E00"}),(0,r(d[28]).jsx)(u.default,{style:O.gapChipText,numberOfLines:1,children:L})]}):null,t.locationName||o?(0,r(d[28]).jsxs)(f.default,{style:O.metaWrap,children:[o?(0,r(d[28]).jsxs)(f.default,{style:O.metaPill,children:[(0,r(d[28]).jsx)(r(d[34]).Ionicons,{name:"documents-outline",size:13,color:r(d[30]).IOS_COLORS.secondaryLabel}),(0,r(d[28]).jsx)(u.default,{style:O.metaPillText,numberOfLines:1,children:o})]}):null,t.locationName?(0,r(d[28]).jsxs)(f.default,{style:O.metaPill,children:[(0,r(d[28]).jsx)(r(d[34]).Ionicons,{name:"location-outline",size:13,color:r(d[30]).IOS_COLORS.secondaryLabel}),(0,r(d[28]).jsx)(u.default,{style:O.metaPillText,numberOfLines:1,children:t.locationName})]}):null]}):null,t.description?(0,r(d[28]).jsx)(u.default,{style:O.bodyCopy,numberOfLines:2,children:t.description}):null]}),(0,r(d[28]).jsxs)(f.default,{style:O.wFoot,children:[(0,r(d[28]).jsxs)(a.default,{testID:`watch-step-kudos-${t.id}`,style:[O.kudosBtn,k&&O.kudosBtnActive],onPress:()=>{b.isPending||b.mutate({stepId:t.id,currentlyKudosed:k}
1,{onError:t=>(0,r(d[42]).showAlert)('Could Not Send Kudos',t?.message||'Something went wrong. Please try again.')})},disabled:b.isPending,accessibilityRole:"button",accessibilityLabel:k?'Remove kudos from this step':'Give kudos for this step',accessibilityState:{selected:k},children:[(0,r(d[28]).jsx)(r(d[34]).Ionicons,{name:k?'sparkles':'sparkles-outline',size:15,color:k?'#B25E00':r(d[30]).IOS_COLORS.secondaryLabel}),(0,r(d[28]).jsx)(u.default,{style:[O.kudosBtnText,k&&O.kudosBtnTextActive],children:F>0?F:'Kudos'})]}),(0,r(d[28]).jsxs)(a.default,{style:[O.adaptBtn,x&&O.adaptBtnDone],onPress:()=>{x||S.isPending||!w||S.mutate({sourceStepId:t.id,interestId:w},{onSuccess:()=>I(!0),onError:t=>(0,r(d[42]).showAlert)('Could Not Add Step',t?.message||'Something went wrong. Please try again.')})},disabled:x||S.isPending||!w,accessibilityRole:"button",accessibilityLabel:x?'Added to your practice':'Adapt this step to your practice',children:[(0,r(d[28]).jsx)(r(d[34]).Ionicons,{name:x?'checkmark-circle':'add-circle-outline',size:16,color:x?'#1B9E4B':r(d[30]).IOS_COLORS.systemBlue}),(0,r(d[28]).jsx)(u.default,{style:[O.adaptBtnText,x&&O.adaptBtnTextDone],children:x?'Added to your practice':S.isPending?'Adding\u2026':'Adapt to my practice'})]}),(0,r(d[28]).jsx)(a.default,{style:O.peekBtn,onPress:R,hitSlop:6,children:(0,r(d[28]).jsx)(r(d[34]).Ionicons,{name:"arrow-forward",size:15,color:r(d[30]).IOS_COLORS.secondaryLabel})})]})]})]})}const O=c.default.create({container:{flex:1,backgroundColor:r(d[30]).IOS_COLORS.systemGroupedBackground},body:{flex:1},guidanceRow:{flexDirection:'row',alignItems:'center',gap:11,marginHorizontal:r(d[30]).IOS_SPACING.lg,marginBottom:r(d[30]).IOS_SPACING.md,paddingVertical:12,paddingHorizontal:13,borderRadius:14,backgroundColor:'#FFFFFF',borderWidth:c.default.hairlineWidth,borderColor:r(d[30]).IOS_COLORS.separator},guidanceGlyph:{width:34,height:34,borderRadius:10,backgroundColor:'rgba(217,119,87,0.13)',alignItems:'center',justifyContent:'center'},guidanceGlyphText:{color:'#D97757',fontSize:16,fontWeight:'700'},guidanceCopy:{flex:1,gap:1},guidanceTitle:{fontSize:14,fontWeight:'600',color:r(d[30]).IOS_COLORS.label},guidanceBody:{fontSize:11.5,lineHeight:15,color:r(d[30]).IOS_COLORS.secondaryLabel},guidanceChevron:{fontSize:17,color:r(d[30]).IOS_COLORS.tertiaryLabel},eventBand:{marginHorizontal:r(d[30]).IOS_SPACING.lg,marginBottom:r(d[30]).IOS_SPACING.md,backgroundColor:'#FFFFFF',borderRadius:14,borderWidth:c.default.hairlineWidth,borderColor:r(d[30]).IOS_COLORS.separator,paddingVertical:10,paddingHorizontal:13,gap:8},eventBandLabel:{fontSize:10,fontWeight:'700',letterSpacing:1.1,color:r(d[30]).IOS_COLORS.tertiaryLabel},eventBandRow:{flexDirection:'row',alignItems:'center',gap:10},eventBandGlyph:{fontSize:12,width:20,textAlign:'center',color:r(d[30]).IOS_COLORS.label},eventBandBody:{flex:1},eventBandTitle:{fontSize:13.5,fontWeight:'600',color:r(d[30]).IOS_COLORS.label},eventBandMeta:{fontSize:11.5,color:r(d[30]).IOS_COLORS.secondaryLabel},eventBandOut:{fontSize:13,color:r(d[30]).IOS_COLORS.tertiaryLabel},followingLine:{flexDirection:'row',alignItems:'center',gap:10,marginHorizontal:r(d[30]).IOS_SPACING.lg,marginBottom:r(d[30]).IOS_SPACING.md,paddingVertical:11,paddingHorizontal:13,borderRadius:14,backgroundColor:'#FFFFFF',borderWidth:c.default.hairlineWidth,borderColor:'rgba(60,60,67,0.12)'},followStack:{flexDirection:'row',alignItems:'center'},followStackAvatar:{width:26,height:26,borderRadius:13,borderWidth:1.5,borderColor:'#FFFFFF',alignItems:'center',justifyContent:'center',overflow:'hidden'},followStackMore:{backgroundColor:'#8A8A8E',marginLeft:-8},followStackInitial:{fontSize:9,fontWeight:'800',color:'#FFFFFF'},followStackEmpty:{width:30,height:30,borderRadius:15,alignItems:'center',justifyContent:'center',backgroundColor:'#E8EEF9'},followingLineText:{flex:1,gap:1},followingLineTitle:{fontSize:14,fontWeight:'700',color:r(d[30]).IOS_COLORS.label},followingLineSub:{fontSize:11,color:r(d[30]).IOS_COLORS.secondaryLabel},groupPicker:{flexDirection:'row',alignItems:'center',gap:11,marginHorizontal:r(d[30]).IOS_SPACING.lg,marginBottom:r(d[30]).IOS_SPACING.md,paddingVertical:11,paddingHorizontal:13,borderRadius:14,backgroundColor:'#FFFFFF',borderWidth:c.default.hairlineWidth,borderColor:'rgba(60,60,67,0.12)'},groupPickerAvatar:{width:32,height:32,borderRadius:16,alignItems:'center',justifyContent:'center',backgroundColor:'#2BA98E'},groupPickerInitial:{fontSize:12,fontWeight:'800',color:'#FFFFFF'},groupPickerText:{flex:1,gap:1},groupPickerName:{fontSize:15,fontWeight:'700',color:r(d[30]).IOS_COLORS.label},groupPickerSub:{fontSize:11,color:r(d[30]).IOS_COLORS.systemBlue,fontWeight:'600'},lensRow:{flexDirection:'row',gap:3,padding:3,marginHorizontal:r(d[30]).IOS_SPACING.lg,marginBottom:r(d[30]).IOS_SPACING.md,borderRadius:11,backgroundColor:'rgba(118,118,128,0.12)'},lensSeg:{flex:1,alignItems:'center',justifyContent:'center',paddingVertical:7,borderRadius:9},lensSegActive:{backgroundColor:'#FFFFFF',shadowColor:'#000',shadowOpacity:.1,shadowRadius:4,shadowOffset:{width:0,height:1},elevation:1},lensSegText:{fontSize:13,fontWeight:'600',color:r(d[30]).IOS_COLORS.secondaryLabel},lensSegTextActive:{color:r(d[30]).IOS_COLORS.label},feed:{gap:12,paddingHorizontal:r(d[30]).IOS_SPACING.lg},section:{marginBottom:r(d[30]).IOS_SPACING.lg},sectionEyebrow:{fontFamily:r(d[43]).fontFamily.mono,fontSize:11,fontWeight:'500',letterSpacing:.6,textTransform:'uppercase',color:r(d[30]).IOS_COLORS.secondaryLabel,paddingHorizontal:r(d[30]).IOS_SPACING.lg,marginBottom:8},bandBlock:{marginTop:r(d[30]).IOS_SPACING.lg},bandEmptyCopy:{fontSize:13,lineHeight:18,color:r(d[30]).IOS_COLORS.secondaryLabel,paddingHorizontal:r(d[30]).IOS_SPACING.lg},bandDisclosure:{flexDirection:'row',alignItems:'center',gap:6,paddingHorizontal:r(d[30]).IOS_SPACING.lg,paddingVertical:4,marginBottom:8},bandDisclosureText:{fontFamily:r(d[43]).fontFamily.mono,fontSize:11,fontWeight:'500',letterSpacing:.6,textTransform:'uppercase',color:r(d[30]).IOS_COLORS.secondaryLabel},card:{padding:16,borderRadius:20,backgroundColor:'#FFFFFF',borderWidth:c.default.hairlineWidth,borderColor:'rgba(60,60,67,0.12)',gap:12},cardHeader:{flexDirection:'row',alignItems:'center',gap:10},personMark:{width:40,height:40,borderRadius:20,alignItems:'center',justifyContent:'center',backgroundColor:'#E8EEF9',overflow:'hidden'},personAvatar:{width:40,height:40,borderRadius:20},personInitial:{fontSize:16,fontWeight:'800',color:r(d[30]).IOS_COLORS.systemBlue},cardHeaderText:{flex:1,gap:2},personName:{fontSize:15,fontWeight:'700',color:r(d[30]).IOS_COLORS.label},personMeta:{fontSize:12,color:r(d[30]).IOS_COLORS.secondaryLabel},statusPill:{flexDirection:'row',alignItems:'center',gap:4,borderRadius:999,paddingHorizontal:8,paddingVertical:5},statusText:{fontSize:11,fontWeight:'700'},stepTitle:{fontSize:18,lineHeight:24,fontWeight:'700',color:r(d[30]).IOS_COLORS.label},metaWrap:{flexDirection:'row',flexWrap:'wrap',gap:8},metaPill:{flexDirection:'row',alignItems:'center',gap:5,borderRadius:999,paddingHorizontal:10,paddingVertical:6,backgroundColor:r(d[30]).IOS_COLORS.secondarySystemGroupedBackgroun
1d},metaPillText:{fontSize:12,color:r(d[30]).IOS_COLORS.secondaryLabel},bodyCopy:{fontSize:14,lineHeight:20,color:r(d[30]).IOS_COLORS.secondaryLabel},wcard:{flexDirection:'row',borderRadius:16,backgroundColor:'#FFFFFF',borderWidth:c.default.hairlineWidth,borderColor:'rgba(60,60,67,0.12)',overflow:'hidden'},wcardSpine:{width:4},wcardInner:{flex:1,padding:14,gap:9},wcardCrown:{flexDirection:'row',alignItems:'center',justifyContent:'space-between'},stateChip:{flexDirection:'row',alignItems:'center',gap:5,borderRadius:7,paddingHorizontal:8,paddingVertical:4},stateDot:{width:6,height:6,borderRadius:3},stateChipText:{fontFamily:r(d[43]).fontFamily.mono,fontSize:10,fontWeight:'500',letterSpacing:.4,textTransform:'uppercase'},wcardAgo:{fontFamily:r(d[43]).fontFamily.mono,fontSize:10.5,color:r(d[30]).IOS_COLORS.tertiaryLabel},wStepTitle:{fontSize:17,lineHeight:22,fontWeight:'600',letterSpacing:-.3,color:r(d[30]).IOS_COLORS.label},wByline:{flexDirection:'row',alignItems:'center',gap:7},wBylineAvatar:{width:20,height:20,borderRadius:10,alignItems:'center',justifyContent:'center',backgroundColor:'#E8EEF9',overflow:'hidden'},wBylineAvatarImg:{width:20,height:20,borderRadius:10},wBylineInitial:{fontSize:9,fontWeight:'800',color:r(d[30]).IOS_COLORS.systemBlue},wBylineText:{flex:1,fontSize:12,color:r(d[30]).IOS_COLORS.secondaryLabel},provChip:{borderRadius:6,paddingHorizontal:7,paddingVertical:3,backgroundColor:'rgba(118,118,128,0.12)'},provChipText:{fontFamily:r(d[43]).fontFamily.mono,fontSize:10,fontWeight:'500',letterSpacing:.4,textTransform:'uppercase',color:r(d[30]).IOS_COLORS.secondaryLabel},interestChip:{maxWidth:120,borderRadius:6,paddingHorizontal:7,paddingVertical:3,backgroundColor:'rgba(0,122,255,0.10)'},interestChipText:{fontFamily:r(d[43]).fontFamily.mono,fontSize:10,fontWeight:'500',letterSpacing:.4,textTransform:'uppercase',color:r(d[30]).IOS_COLORS.systemBlue},gapChip:{flexDirection:'row',alignItems:'center',alignSelf:'flex-start',gap:4,marginTop:8,borderRadius:6,paddingHorizontal:7,paddingVertical:3,backgroundColor:'rgba(255,149,0,0.12)'},gapChipText:{fontFamily:r(d[43]).fontFamily.mono,fontSize:10,fontWeight:'600',letterSpacing:.3,color:'#B25E00'},wFoot:{flexDirection:'row',alignItems:'center',gap:9,marginTop:2,paddingTop:10,borderTopWidth:c.default.hairlineWidth,borderTopColor:'rgba(60,60,67,0.12)'},kudosBtn:{minWidth:76,flexDirection:'row',alignItems:'center',justifyContent:'center',gap:5,paddingVertical:8,paddingHorizontal:9,borderRadius:9,backgroundColor:'rgba(118,118,128,0.10)'},kudosBtnActive:{backgroundColor:'rgba(255,149,0,0.14)'},kudosBtnText:{fontSize:12,fontWeight:'700',color:r(d[30]).IOS_COLORS.secondaryLabel},kudosBtnTextActive:{color:'#B25E00'},adaptBtn:{flex:1,flexDirection:'row',alignItems:'center',justifyContent:'center',gap:6,paddingVertical:8,borderRadius:9,backgroundColor:'rgba(0,122,255,0.10)'},adaptBtnDone:{backgroundColor:'rgba(52,199,89,0.12)'},adaptBtnText:{fontSize:13,fontWeight:'600',color:r(d[30]).IOS_COLORS.systemBlue}
1,adaptBtnTextDone:{color:'#1B9E4B'},peekBtn:{width:36,height:34,borderRadius:9,alignItems:'center',justifyContent:'center',backgroundColor:'rgba(118,118,128,0.10)'},emptyCard:{marginHorizontal:r(d[30]).IOS_SPACING.lg,padding:24,borderRadius:20,backgroundColor:'#FFFFFF',borderWidth:c.default.hairlineWidth,borderColor:'rgba(60,60,67,0.12)',gap:8,alignItems:'center'},emptyTitle:{fontSize:16,fontWeight:'700',color:r(d[30]).IOS_COLORS.label},emptyCopy:{fontSize:13,lineHeight:18,color:r(d[30]).IOS_COLORS.secondaryLabel,textAlign:'center',paddingHorizontal:12},emptyAction:{marginTop:8,borderRadius:999,paddingHorizontal:16,paddingVertical:9,backgroundColor:r(d[30]).IOS_COLORS.systemBlue},emptyActionText:{fontSize:13,fontWeight:'700',color:'#FFFFFF'},floatingBackHeader:{position:'absolute',left:0,right:0,alignItems:'flex-start',paddingHorizontal:16},floatingBackPill:{flexDirection:'row',alignItems:'center',gap:2,paddingVertical:6,paddingLeft:6,paddingRight:12,borderRadius:999,backgroundColor:'rgba(242, 242, 247, 0.94)'},floatingBackPillText:{fontSize:15,fontWeight:'600',color:r(d[30]).IOS_COLORS.systemBlue}})},1279,[2,4,7,154,716,737,109,29,164,22,906,1681,1932,1758,1680,2837,2849,1907,2166,2167,2838,2839,2840,2841,2174,2842,2850,2843,914,2844,1783,1769,1776,2847,1728,2848,1949,1934,1935,1708,2177,2148,1707,1818]); 2__d(function(g,_r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.useFollowedStepsFeed=function(n,r=50){return(0,_r(d[0]).useQuery)({queryKey:['followed-steps-feed',n,r],enabled:Boolean(n),staleTime:3e4,queryFn:async()=>{if(!n)return[];const{data:o,error:s}=await _r(d[1]).supabase.from('user_follows').select('following_id').eq('follower_id',n);if(s)return console.warn('[useFollowedStepsFeed] user_follows query failed',s),[];const l=(o??[]).map(t=>t.following_id);if(0===l.length)return[];const{data:u,error:p}=await _r(d[1]).supabase.from('timeline_steps').select('id, user_id, title, description, status, interest_id, organization_id, source_blueprint_id, metadata, location_name, updated_at').in('user_id',l).order('updated_at',{ascending:!1}).order('completed_at',{ascending:!1,nullsFirst:!1}).order('created_at',{ascending:!1}).limit(r);if(p)return console.warn('[useFollowedStepsFeed] timeline_steps query failed',p),[];const _=u??[];if(0===_.length)return[];const c=Array.from(new Set(_.map(t=>t.user_id))),{data:f}=await _r(d[1]).supabase.from('profiles').select('id, full_name, first_name, last_name, avatar_url').in('id',c),w=new Map;for(const t of f??[])w.set(t.id,t);const b=Array.from(new Set(_.map(t=>t.organization_id).filter(t=>Boolean(t)))),y=new Map;if(b.length>0){const{data:t}=await _r(d[1]).supabase.from('organizations').select('id, name').in('id',b);for(const n of t??[])y.set(n.id,n.name)}return _.map(n=>{const r=w.get(n.user_id),o=[r?.first_name,r?.last_name].filter(Boolean).join(' ').trim(),s=r?.full_name??(o.length>0?o:'Sailor');return{id:n.id,personId:n.user_id,personName:s,personInitial:s.charAt(0).toUpperCase()||'?',personAvatarUrl:r?.avatar_url??null,stepTitle:n.title??'Untitled step',description:n.description,status:t[n.status??'']??'planning',organizationName:n.organization_id?y.get(n.organization_id)??null:null,locationName:(0,_r(d[2]).coarseLocationLabel)(n.location_name),updatedAt:n.updated_at,sourceBlueprintId:n.source_blueprint_id??n.metadata?.blueprint_id??null,interestId:n.interest_id}})}})};const t={pending:'planning',in_progress:'doing',settled:'reflected',completed:'completed'}},2837,[1708,1682,2851]); 3__d(function(g,_r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.useFleetStepFeed=function(n,r,l=50){return(0,_r(d[0]).useQuery)({queryKey:['fleet-step-feed',n,r??null,l],enabled:Boolean(n),staleTime:3e4,queryFn:async()=>{if(!n)return[];const{data:s,error:o}=await _r(d[1]).supabase.rpc('get_fleet_step_activity',{p_fleet_id:n,p_interest_id:r??null,p_limit:l});if(o)return console.warn('[useFleetStepFeed] get_fleet_step_activity failed',o),[];return(s??[]).map(n=>{const r=n.person_name?.trim()||'Sailor';return{id:n.id,personId:n.user_id,personName:r,personInitial:r.charAt(0).toUpperCase()||'?',personAvatarUrl:n.avatar_url??null,stepTitle:n.title??'Untitled step',description:n.description,status:t[n.status??'']??'planning',organizationName:n.organization_name??null,locationName:(0,_r(d[2]).coarseLocationLabel)(n.location_name),updatedAt:n.updated_at,sourceBlueprintId:n.source_blueprint_id,interestId:n.interest_id}})}})};const t={pending:'planning',in_progress:'doing',settled:'reflected',completed:'completed'}},2838,[1708,1682,2851]);
4__d(function(g,_r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.useCohortStepFeed=function(n,r,o=50){return(0,_r(d[0]).useQuery)({queryKey:['cohort-step-feed',n,r??null,o],enabled:Boolean(n),staleTime:3e4,queryFn:async()=>{if(!n)return[];const{data:s,error:l}=await _r(d[1]).supabase.rpc('get_cohort_step_activity',{p_cohort_id:n,p_interest_id:r??null,p_limit:o});if(l)return console.warn('[useCohortStepFeed] get_cohort_step_activity failed',l),[];return(s??[]).map(n=>{const r=n.person_name?.trim()||'A cohort member';return{id:n.id,personId:n.user_id,personName:r,personInitial:r.charAt(0).toUpperCase()||'?',personAvatarUrl:n.avatar_url??null,stepTitle:n.title??'Untitled step',description:n.description,status:t[n.status??'']??'planning',organizationName:n.organization_name??null,locationName:(0,_r(d[2]).coarseLocationLabel)(n.location_name),updatedAt:n.updated_at,sourceBlueprintId:n.source_blueprint_id,interestId:n.interest_id}})}})};const t={pending:'planning',in_progress:'doing',settled:'reflected',completed:'completed'}},2839,[1708,1682,2851]); 5__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.useAffinityGroupStepFeed=function(n,s,o=50){const{user:u}=(0,r(d[0]).useAuth)(),l=u?.id;return(0,r(d[1]).useQuery)({queryKey:['affinity-group-step-feed',n,s??null,l??null,o],enabled:Boolean(n&&l),staleTime:3e4,queryFn:async()=>{if(!n||!l)return[];const{data:u,error:p}=await r(d[2]).supabase.from('affinity_group_members').select('user_id').eq('group_id',n).eq('status','active');if(p)return console.warn('[useAffinityGroupStepFeed] group member query failed',p),[];const f=(u??[]).map(t=>t.user_id).filter(t=>t&&t!==l);if(0===f.length)return[];let _=r(d[2]).supabase.from('timeline_steps').select('id, user_id, title, description, status, interest_id, organization_id, source_blueprint_id, location_name, updated_at').in('user_id',f).order('updated_at',{ascending:!1}).limit(o);s&&(_=_.eq('interest_id',s));const{data:c,error:y}=await _;if(y)return console.warn('[useAffinityGroupStepFeed] timeline_steps query failed',y),[];const b=c??[];if(0===b.length)return[];const w=Array.from(new Set(b.map(t=>t.user_id))),{data:A}=await r(d[2]).supabase.from('profiles').select('id, full_name, first_name, last_name, avatar_url').in('id',w),q=new Map;for(const t of A??[])q.set(t.id,t);const h=Array.from(new Set(b.map(t=>t.organization_id).filter(t=>Boolean(t)))),z=new Map;if(h.length>0){const{data:t}=await r(d[2]).supabase.from('organizations').select('id, name').in('id',h);for(const n of t??[])z.set(n.id,n.name)}return b.map(n=>{const s=q.get(n.user_id),o=[s?.first_name,s?.last_name].filter(Boolean).join(' ').trim(),u=s?.full_name??(o.length>0?o:'Group member');return{id:n.id,personId:n.user_id,personName:u,personInitial:u.charAt(0).toUpperCase()||'?',personAvatarUrl:s?.avatar_url??null,stepTitle:n.title??'Untitled step',description:n.description,status:t[n.status??'']??'planning',organizationName:n.organization_id?z.get(n.organization_id)??null:null,locationName:(0,r(d[3]).coarseLocationLabel)(n.location_name),updatedAt:n.updated_at,sourceBlueprintId:n.source_blueprint_id,interestId:n.interest_id}})}})};const t={pending:'planning',in_progress:'doing',settled:'reflected',completed:'completed'}},2840,[1680,1708,1682,2851]); 6__d(function(g,_r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.useCohortStream=function(s){const{user:l}=(0,_r(d[0]).useAuth)();return(0,_r(d[1]).useQuery)({queryKey:['cohort-stream',l?.id??'anon',s??null],enabled:Boolean(l?.id),staleTime:t,queryFn:async()=>{const t=l.id,[u,o]=await Promise.all([_r(d[2]).supabase.from('plans').select('source_blueprint_id').eq('user_id',t).eq('status','active'),_r(d[2]).supabase.from('blueprint_subscriptions').select('blueprint_id').eq('subscriber_id',t)]),p=new Set;for(const t of u.data??[])t.source_blueprint_id&&p.add(t.source_blueprint_id);for(const t of o.data??[])t.blueprint_id&&p.add(t.blueprint_id);if(0===p.size)return[];const{data:_}=await _r(d[2]).supabase.from('blueprint_steps').select('id, blueprint_id, step_id').in('blueprint_id',Array.from(p)),c=_??[];if(0===c.length)return[];const b=c.map(t=>
6t.id),f=new Map(c.map(t=>[t.id,t.blueprint_id])),w=new Map(c.map(t=>[t.id,t.step_id]));let y=b;if(s){const t=Array.from(new Set(c.map(t=>t.step_id).filter(Boolean))),{data:r}=t.length?await _r(d[2]).supabase.from('timeline_steps').select('id, interest_id').in('id',t):{data:[]},n=new Map((r??[]).map(t=>[t.id,t.interest_id]));if(y=b.filter(t=>{const r=w.get(t);return null!=r&&n.get(r)===s}),0===y.length)return[]}const{data:h}=await _r(d[2]).supabase.from('step_discussions').select('id, blueprint_step_id, user_id, body, created_at').in('blueprint_step_id',y).not('blueprint_step_id','is',null).neq('user_id',t).order('created_at',{ascending:!1}).limit(r),v=h??[];if(0===v.length)return[];const A=new Set,M=new Set,S=new Set;for(const t of v){const r=f.get(t.blueprint_step_id);r&&A.add(r);const s=w.get(t.blueprint_step_id);s&&M.add(s),S.add(t.user_id)}const[q,P,I,z]=await Promise.all([A.size>0?_r(d[2]).supabase.from('blueprints').select('id, title').in('id',Array.from(A)):Promise.resolve({data:[]}),M.size>0?_r(d[2]).supabase.from('timeline_steps').select('id, title').in('id',Array.from(M)):Promise.resolve({data:[]}),S.size>0?_r(d[2]).supabase.from('profiles').select('id, full_name, first_name, last_name, avatar_url').in('id',Array.from(S)):Promise.resolve({data:[]}),_r(d[2]).supabase.from('timeline_steps').select('id, source_blueprint_step_id').eq('user_id',t).in('source_blueprint_step_id',b)]),B=new Map((q.data??[]).map(t=>[t.id,t.title])),T=new Map((P.data??[]).map(t=>[t.id,t.title])),U=new Map((I.data??[]).map(t=>[t.id,t])),j=new Map;for(const t of z.data??[])j.set(t.source_blueprint_step_id,t.id);return v.map(t=>{const r=f.get(t.blueprint_step_id)??'',s=w.get(t.blueprint_step_id),l=U.get(t.user_id)??null,u=l?.full_name?.trim()||[l?.first_name,l?.last_name].filter(Boolean).join(' ').trim()||'A cohort member';return{id:t.id,blueprintStepId:t.blueprint_step_id,blueprintId:r,blueprintTitle:B.get(r)??null,stepTitle:s?T.get(s)??null:null,body:t.body,bodyPreview:n(t.body),createdAt:t.created_at,authorUserId:t.user_id,authorName:u,authorAvatarUrl:l?.avatar_url??null,authorInitial:(o=u,o.trim().charAt(0).toUpperCase()||'?'),viewerStepId:j.get(t.blueprint_step_id)??null};var o})}})};const t=3e4,r=50,s=140;function n(t){const r=t.replace(/\s+/g,' ').trim();return r.length<=s?r:r.slice(0,139).trimEnd()+'\u2026'}},2841,[1680,1708,1682]); 7__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.useBlueprintTitles=function(t){const n=Array.from(new Set(t)).sort(),l=n.join(',');return(0,r(d[0]).useQuery)({queryKey:['blueprint-titles',l],enabled:n.length>0,staleTime:3e5,queryFn:async()=>{const{data:t,error:l}=await r(d[1]).supabase.rpc('get_blueprint_titles',{p_ids:n});if(l)return console.warn('[useBlueprintTitles] get_blueprint_titles failed',l),new Map;const s=new Map;for(const n of t??[])s.set(n.id,{title:n.title??'Untitled blueprint',slug:n.slug});return s}})}},2842,[1708,1682]); 8__d(function(g,r,i,_a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.FOLLOWED_STEP_GAP_TOUCH_KEY=void 0,e.useFollowedStepGapTouch=function(o,n,s){const a=[...s].sort().join(',');return(0,r(d[0]).useQuery)({queryKey:[t,o??null,a],enabled:Boolean(o)&&Boolean(n)&&!1===n?.isGeneralFramework&&s.length>0,staleTime:3e4,queryFn:async()=>{const t=new Map;if(!n)return t;const o=new Set,a=new Map;for(const t of n.byCategory)for(const n of t.competencies)a.set(n.id,t.category),n.evidenced||o.add(n.id);if(0===o.size)return t;const{data:c,error:p}=await r(d[1]).supabase.rpc('followed_step_gap_attempts',{p_step_ids:s,p_competency_ids:Array.from(o)});if(p)return console.warn('[useFollowedStepGapTouch] attempts query failed',p),t;const u=new Map;for(const t of c??[]){if(!t.event_id)continue;const o=a.get(t.competency_id);if(!o)continue;let n=u.get(t.event_id);n||(n=new Set,u.set(t.event_id,n)),n.add(o)}for(const[o,n]of u)t.set(o,Array.from(n).sort());return t}}).data??new Map};const t=e.FOLLOWED_STEP_GAP_TOUCH_KEY='followed-step-gap-touch'},2843,[1708,1682]); 9__d(function(g,r,i,a,m,e,d){var t=r(d[0]).default,n=r(d[1]).default;
9Object.defineProperty(e,"__esModule",{value:!0}),e.DiscoverPeopleContent=function({toolbarOffset:t,onScroll:n,followedIds:l,onToggleFollow:c}){const{currentInterest:u}=(0,r(d[10]).useInterest)(),p=u?.slug??'sail-racing',S=u?.name,C='sail-racing'===p,I=(0,o.useMemo)(()=>(0,r(d[11]).getConnectDemoData)(p),[p]),[b,j]=(0,o.useState)(''),w=(0,o.useRef)(null);if(C)return(0,r(d[12]).jsx)(y,{toolbarOffset:t,onScroll:n,interestName:S,searchQuery:b,setSearchQuery:j,searchInputRef:w});if(I)return(0,r(d[12]).jsx)(f,{toolbarOffset:t,onScroll:n,peers:I.peers,interestName:S,searchQuery:b,setSearchQuery:j,searchInputRef:w,followedIds:l,onToggleFollow:c});return(0,r(d[12]).jsx)(h.default,{style:x.container,children:(0,r(d[12]).jsx)(s.default,{style:x.scrollView,contentContainerStyle:[x.scrollContent,{paddingTop:t}],showsVerticalScrollIndicator:!1,onScroll:n,scrollEventThrottle:16,children:(0,r(d[12]).jsx)(r(d[13]).DiscoverEmptyState,{icon:"people-outline",title:"Nobody here yet",body:`You're early in ${S??'this register'}. Join an org or invite peers to start building your network.`})})})};var o=n(r(d[2])),l=t(r(d[3])),s=(t(r(d[4])),t(r(d[5]))),c=t(r(d[6])),u=t(r(d[7])),p=t(r(d[8])),h=t(r(d[9]));function f({toolbarOffset:t,onScroll:n,peers:c,interestName:u,searchQuery:p,setSearchQuery:f,searchInputRef:y,followedIds:I,onToggleFollow:b}){const j=(0,r(d[14]).useRouter)(),{user:w,signedIn:R,isSigningOut:T}=(0,r(d[15]).useAuth)(),O=p.trim(),v=O.length>=2,{data:k=[],isLoading:E}=(0,r(d[16]).useQuery)({queryKey:['people-search',O],queryFn:()=>r(d[17]).CrewFinderService.searchUsers(O,50),enabled:Boolean(w?.id)&&R&&!T&&v,staleTime:3e4}),$=(0,o.useMemo)(()=>k.filter(t=>t.userId!==w?.id),[k,w?.id]),N=(0,o.useMemo)(()=>{if(!O)return c;const t=O.toLowerCase();return c.filter(n=>n.name.toLowerCase().includes(t)||n.subtitle.toLowerCase().includes(t))},[c,O]),z=v?$.length:N.length,F=p?{plain:'Search \xb7 ',em:`${z} ${1===z?'person':'people'}`}:u?{plain:'Other ',em:u,tail:' practitioners'}:{plain:'People in your register',em:''};return(0,r(d[12]).jsx)(h.default,{style:x.container,children:(0,r(d[12]).jsxs)(s.default,{style:x.scrollView,contentContainerStyle:[x.scrollContent,{paddingTop:t}],showsVerticalScrollIndicator:!1,onScroll:n,scrollEventThrottle:16,keyboardShouldPersistTaps:"handled",children:[(0,r(d[12]).jsx)(S,{ref:y,value:p,onChangeText:f}),v?E?(0,r(d[12]).jsx)(h.default,{style:x.loadingContainer,children:(0,r(d[12]).jsx)(l.default,{size:"large",color:r(d[18]).IOS_COLORS.systemBlue})}):$.length>0?(0,r(d[12]).jsxs)(r(d[12]).Fragment,{children:[(0,r(d[12]).jsx)(r(d[19]).CanonicalListEyebrow,Object.assign({},F)),(0,r(d[12]).jsx)(r(d[19]).CanonicalList,{children:$.map((t,n)=>{const o=t.email??'On BetterAt';return(0,r(d[12]).jsx)(r(d[19]).CanonicalPersonRow,{first:0===n,initials:(0,r(d[19]).initialsForName)(t.fullName),markColor:t.avatarColor||(0,r(d[19]).pickAvatarMarkColor)(t.userId),name:t.fullName,descriptor:o,onPress:()=>{(0,r(d[20]).triggerHaptic)('selection'),j.push(`/discover/person/${t.userId}?from=people`)}},t.userId)})})]}):(0,r(d[12]).jsx)(C,{label:`No people match \u201c${p}\u201d yet.`}):N.length>0?(0,r(d[12]).jsxs)(r(d[12]).Fragment,{children:[(0,r(d[12]).jsx)(r(d[19]).CanonicalListEyebrow,Object.assign({},F)),(0,r(d[12]).jsx)(r(d[19]).CanonicalList,{children:N.map((t,n)=>(0,r(d[12]).jsx)(r(d[19]).CanonicalPersonRow,{first:0===n,initials:t.avatarInitials||(0,r(d[19]).initialsForName)(t.name),markColor:t.avatarColor||(0,r(d[19]).pickAvatarMarkColor)(t.id),name:t.name,descriptor:t.stat?`${t.subtitle} \xb7 ${t.stat}`:t.subtitle,tag:{kind:'weak',label:'Suggested'},onPress:()=>{(0,r(d[20]).triggerHaptic)('selection');const n=t.avatarInitials||(0,r(d[19]).initialsForName)(t.name),o=t.stat?`${t.subtitle} \xb7 ${t.stat}`:t.subtitle;j.push(`/discover/person/${t.id}?from=people&name=${encodeURIComponent(t.name)}&sub=${encodeURIComponent(o)}&initials=${encodeURIComponent(n)}`)}},t.id))})]}):(0,r(d[12]).jsx)(C,{label:"No people available."})]})})}function y({toolbarOffset:t,onScroll:n,interestName:c,searchQuery:p,setSearchQuery:f,searchInputRef:y}){const I=(0,r(d[14]).useRouter)(),{suggestions:b,isLoading:j,toggleFollow:w,followedIds:R}=(0,r(d[21]).useSailorSuggestions)(p),T=(0,o.useCallback)(t=>{I.push(`/discover/person/${t}?from=people`)},[I]),O=(0,o.useCallback)(async t=>{(0,r(d[20]).triggerHaptic)('selection'),await w(t)},[w]),v=(0,o.useCallback)(t=>{if(t.mutualConnections&&t.mutualConnections>0)return{kind:'mine',label:1===t.mutualConnections?'1 mutual':`${t.mutualConnections} mutuals`,icon:'swap-horizontal'};const n=t.similarityReason?.trim();return n&&n.length<=22?{kind:'weak',label:n}:{kind:'weak',label:'Suggested'}},[]),k=p?{plain:'Search \xb7 ',em:`${b.length} ${1===b.length?'person':'people'}`}:c?{plain:'Other ',em:c,tail:' practitioners'}:{plain:'People in your register',em:''};return(0,r(d[12]).jsx)(h.default,{style:x.container,children:(0,r(d[12]).jsxs)(s.default,{style:x.scrollView,contentContainerStyle:[x.scrollContent,{paddingTop:t}],showsVerticalScrollIndicator:!1,onScroll:n,scrollEventThrottle:16,keyboardShouldPersistTaps:"handled",children:[(0,r(d[12]).jsx)(S,{ref:y,value:p,onChangeText:f}),j?(0,r(d[12]).jsx)(h.default,{style:x.loadingContainer,children:(0,r(d[12]).jsx)(l.default,{size:"large",color:r(d[18]).IOS_COLORS.systemBlue})}):b.length>0?(0,r(d[12]).jsxs)(r(d[12]).Fragment,{children:[(0,r(d[12]).jsx)(r(d[19]).CanonicalListEyebrow,Object.assign({},k)),(0,r(d[12]).jsx)(r(d[19]).CanonicalList,{children:b.map((t,n)=>{const o=(0,r(d[19]).initialsForName)(t.fullName),l=t.avatarColor??(0,r(d[19]).pickAvatarMarkColor)(t.userId),s=v(t),c=t.similarityReason?.trim(),u=t.mutualConnections??0,p=c&&c.length>22?c:void 0,h=[];return u>0&&h.push(`${u} mutual${1===u?'':'s'}`),p&&0===h.length&&h.push(p),0===h.length&&h.push('Sailor in your community'),(0,r(d[12]).jsx)(r(d[19]).CanonicalPersonRow,{first:0===n,initials:o,markColor:l,name:t.fullName,descriptor:h.join(' \xb7 '),tag:s,onPress:()=>T(t.userId)},t.userId)})}),0===R.size&&b.length>0&&(0,r(d[12]).jsxs)(h.default,{style:x.followHint,children:[(0,r(d[12]).jsx)(r(d[22]).Ionicons,{name:"information-circle",size:14,color:r(d[18]).IOS_REGISTER.labelSecondary}),(0,r(d[12]).jsx)(u.default,{style:x.followHintText,onPress:()=>O(b[0].userId),children:"Tap a sailor to open their profile and follow."})]})]}):(0,r(d[12]).jsx)(C,{label:p?`No people match \u201c${p}\u201d yet.`:'No suggestions yet. Join a fleet or club to see people in your community.'})]})})}const S=o.default.forwardRef(function({value:t,onChangeText:n},o){return(0,r(d[12]).jsx)(h.default,{style:x.searchOuter,children:(0,r(d[12]).jsxs)(h.default,{style:x.searchBar,children:[(0,r(d[12]).jsx)(r(d[22]).Ionicons,{name:"search",size:16,color:r(d[18]).IOS_REGISTER.labelSecondary}),(0,r(d[12]).jsx)(p.default,{ref:o,style:x.searchInput,placeholder:"Find people",placeholderTextColor:r(d[18]).IOS_REGISTER.labelSecondary,value:t,onChangeText:n,autoCapitalize:"none",autoCorrect:!1,clearButtonMode:"while-editing",returnKeyType:"search"})]})})});function C({label:t}){return(0,r(d[12]).jsxs)(h.default,{style:x.emptyContainer,children:[(0,r(d[12]).jsx)(r(d[22]).Ionicons,{name:"people-outline",size:36,color:r(d[18]).IOS_REGISTER.labelTertiary}),(0,r(d[12]).jsx)(u.default,{style:x.emptyText,children:t})]})}const x=c.default.create({container:{flex:1},scrollView:{flex:1},scrollContent:{paddingBottom:120},searchOuter:{paddingTop:16,paddingBottom:4},searchBar:{marginHorizontal:16,height:36,backgroundColor:'rgba(120, 120, 128, 0.12)',borderRadius:10,flexDirection:'row',alignItems:'center',gap:6,paddingHorizontal:10},searchInput:Object.assign({flex:1,fontSize:15,letterSpacing:-.2,color:r(d[18]).IOS_REGISTER.label,paddingVertical:0},{outlineStyle:'none'}),followHint:{flexDirection:'row',alignItems:'center',gap:6,paddingHorizontal:22,paddingTop:14},followHintText:{flex:1,fontSize:12,lineHeight:16,color:r(d[18]).IOS_REGISTER.labelSecondary},loadingContainer:{paddingVertical:60,alignItems:'center'},emptyContainer:{alignItems:'center',paddingVertical:40,paddingHorizontal:32,gap:8},emptyText:{fontSize:14,color:r(d[18]).IOS_REGISTER.labelSecondary,textAlign:'center',lineHeight:20}})},2844,[2,4,7,722,16,109,29,164,258,22,1758,2845,914,2846,1681,1680,1708,2075,1783,2160,1782,2159,1728]);
10__d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.getConnectDemoData=function(o){return t[o]??null};const o={peersHeader:'Athletes to Follow',searchPlaceholder:'Search athletes',peers:[{id:'athlete-1',name:'Alex Turner',subtitle:'Strength Training \xb7 Powerlifting',avatarInitials:'AT',avatarColor:'#DC2626',stat:'520 workouts logged',isFollowing:!1},{id:'athlete-2',name:'Jordan Kim',subtitle:'Distance Running \xb7 Marathon',avatarInitials:'JK',avatarColor:'#2563EB',stat:'380 workouts logged',isFollowing:!1},{id:'athlete-3',name:'Sofia Martinez',subtitle:'CrossFit \xb7 HIIT',avatarInitials:'SM',avatarColor:'#D97706',stat:'290 workouts logged',isFollowing:!1},{id:'athlete-4',name:'Ryan Okafor',subtitle:'Calisthenics \xb7 Bodyweight',avatarInitials:'RO',avatarColor:'#059669',stat:'440 workouts logged',isFollowing:!1},{id:'athlete-5',name:'Mia Chang',subtitle:'Yoga \xb7 Mobility',avatarInitials:'MC',avatarColor:'#7C3AED',stat:'610 workouts logged',isFollowing:!1},{id:'athlete-6',name:'Chris Hensley',subtitle:'Olympic Lifting \xb7 Strength',avatarInitials:'CH',avatarColor:'#374151',stat:'350 workouts logged',isFollowing:!1}],communities:[{id:'comm-fitness-1',name:'Strength & Power',description:'Programming, form checks, and PR celebrations for lifters of all levels.',memberCount:4200,icon:'barbell-outline',iconColor:'#DC2626',iconBgColor:'#FEE2E2',postCount:890},{id:'comm-fitness-2',name:'Running Community',description:'Training plans, race reports, and gear reviews for runners.',memberCount:6100,icon:'walk-outline',iconColor:'#2563EB',iconBgColor:'#DBEAFE',postCount:1340},{id:'comm-fitness-3',name:'Nutrition & Recovery',description:'Meal prep ideas, supplement discussions, and recovery protocols.',memberCount:3800,icon:'nutrition-outline',iconColor:'#059669',iconBgColor:'#D1FAE5',postCount:420},{id:'comm-fitness-4',name:'Form Check',description:'Post videos for form feedback. Prevent injuries, lift better.',memberCount:2900,icon:'videocam-outline',iconColor:'#D97706',iconBgColor:'#FEF3C7',postCount:780},{id:'comm-fitness-5',name:'Injury Prevention',description:'Mobility work, prehab exercises, and coming back from injuries.',memberCount:1800,icon:'bandage-outline',iconColor:'#7C3AED',iconBgColor:'#EDE9FE',postCount:210}],posts:[{id:'post-fitness-1',communityName:'Strength & Power',authorName:'Alex Turner',authorInitials:'AT',authorColor:'#DC2626',title:'Hit a 200kg deadlift PR after switching to sumo \u2014 here\'s what changed',body:'After 2 years stuck at 185kg conventional, I switched to sumo 6 months ago. The key wasn\'t just the stance \u2014 it was the hip mobility work I had to do first.',postType:'discussion',topicTags:[{label:'Deadlift',color:'#DC2626'},{label:'PR',color:'#D97706'}],upvotes:124,commentCount:38,viewCount:2800,timeAgo:'4h ago',comments:[{id:'c-f1-1',authorName:'Chris Hensley',authorInitials:'CH',authorColor:'#374151',body:'How long did it take to adjust? I tried sumo once and my hips were screaming for a week.',timeAgo:'3h ago',upvotes:8},{id:'c-f1-2',authorName:'Alex Turner',authorInitials:'AT',authorColor:'#DC2626',body:'Honestly about 3 weeks of feeling weak. The 90/90 hip stretch and frog stretch daily made the biggest difference. Stick with it!',timeAgo:'2h ago',upvotes:19}]},{id:'post-fitness-2',communityName:'Running Community',authorName:'Jordan Kim',authorInitials:'JK',authorColor:'#2563EB',title:'Sub-3:30 marathon training plan \u2014 16 weeks, 5 days/week',body:'Sharing the plan that got me from 3:45 to 3:28. Key insight: the 80/20 easy/hard split is real. I was running too fast on easy days for years.',postType:'tip',topicTags:[{label:'Marathon',color:'#2563EB'},{label:'Training Plan',color:'#059669'}],upvotes:89,commentCount:22,viewCount:1900,timeAgo:'8h ago'},{id:'post-fitness-3',communityName:'Form Check',authorName:'Sofia Martinez',authorInitials:'SM',authorColor:'#D97706',title:'Squat form check \u2014 is my butt wink a problem at this depth?',body:'I\'ve been told I have butt wink at the bottom of my squat but I\'m not sure if it\'s actually causing issues. Currently squatting 100kg pain-free.',postType:'question',topicTags:[{label:'Squat',color:'#DC2626'},{label:'Form Check',color:'#D97706'}],upvotes:45,commentCount:31,viewCount:1200,timeAgo:'1d ago'},{id:'post-fitness-4',communityName:'Injury Prevention',authorName:'Mia Chang',authorInitials:'MC',authorColor:'#7C3AED',title:'Shoulder impingement: the 3 exercises that fixed mine',body:'After 4 months of shoulder pain during overhead pressing, these 3 exercises from my physio completely resolved
10it. Face pulls, band pull-aparts, and...',postType:'tip',topicTags:[{label:'Rehab',color:'#7C3AED'},{label:'Shoulders',color:'#2563EB'}],upvotes:201,commentCount:44,viewCount:4200,timeAgo:'2d ago'},{id:'post-fitness-5',communityName:'Nutrition & Recovery',authorName:'Ryan Okafor',authorInitials:'RO',authorColor:'#059669',title:'Creatine timing: does it actually matter?',body:'I\'ve been taking creatine post-workout for years but just read a study saying timing doesn\'t matter. Anyone notice a difference?',postType:'question',topicTags:[{label:'Supplements',color:'#059669'},{label:'Recovery',color:'#7C3AED'}],upvotes:56,commentCount:29,viewCount:1600,timeAgo:'2d ago'}]},t={nursing:{peersHeader:'Classmates & Preceptors',searchPlaceholder:'Search cohort',peers:[{id:'nurse-1',name:'Maria Santos',subtitle:'Preceptor \xb7 CCRN, MSN \xb7 Hopkins ICU',avatarInitials:'MS',avatarColor:'#6366F1',stat:'12 students mentored',isFollowing:!1},{id:'nurse-2',name:'James Rodriguez',subtitle:'MSN Cohort \'26 \xb7 Adult-Gero CNS track',avatarInitials:'JR',avatarColor:'#DC2626',stat:'38 clinicals logged',isFollowing:!1},{id:'nurse-3',name:'Emily Watson',subtitle:'MSN Cohort \'26 \xb7 Pediatric NP track',avatarInitials:'EW',avatarColor:'#059669',stat:'42 clinicals logged',isFollowing:!1},{id:'nurse-4',name:'Aisha Patel',subtitle:'MSN Cohort \'26 \xb7 Family NP track',avatarInitials:'AP',avatarColor:'#D97706',stat:'35 clinicals logged',isFollowing:!1},{id:'nurse-5',name:'Marcus Thompson',subtitle:'Preceptor \xb7 CRNA \xb7 Hopkins Bayview',avatarInitials:'MT',avatarColor:'#7C3AED',stat:'8 students mentored',isFollowing:!1},{id:'nurse-6',name:'Rachel Kim',subtitle:'MSN Cohort \'26 \xb7 Nurse-Midwifery track',avatarInitials:'RK',avatarColor:'#EC4899',stat:'29 clinicals logged',isFollowing:!1},{id:'nurse-7',name:'Dr. Linda Rojas',subtitle:'Faculty \xb7 DNP \xb7 Clinical Coordinator',avatarInitials:'LR',avatarColor:'#0891B2',stat:'JHU SON Faculty',isFollowing:!1}],communities:[{id:'comm-nursing-1',name:'JHU MSN Cohort \'26',description:'Your cohort hub \u2014 rotation swaps, study sessions, shared notes, and moral support.',memberCount:86,icon:'school-outline',iconColor:'#2563EB',iconBgColor:'#DBEAFE',postCount:312},{id:'comm-nursing-2',name:'Evidence-Based Practice',description:'Discuss research appraisal, PICOT questions, and implementing evidence in clinical rotations.',memberCount:420,icon:'document-text-outline',iconColor:'#7C3AED',iconBgColor:'#EDE9FE',postCount:178},{id:'comm-nursing-3',name:'Clinical Rotation Tips',description:'What to expect at each site, preceptor advice, and how to get the most out of your hours.',memberCount:1640,icon:'compass-outline',iconColor:'#059669',iconBgColor:'#D1FAE5',postCount:534},{id:'comm-nursing-4',name:'Advanced Pharm',description:'Drug interactions, prescribing nuances, and pharmacology study resources for NP students.',memberCount:980,icon:'flask-outline',iconColor:'#DC2626',iconBgColor:'#FEE2E2',postCount:245},{id:'comm-nursing-5',name:'Certification & Boards Prep',description:'ANCC, AANP, and specialty cert study strategies, question banks, and exam day tips.',memberCount:3200,icon:'ribbon-outline',iconColor:'#D97706',iconBgColor:'#FEF3C7',postCount:890},{id:'comm-nursing-6',name:'Patient Safety & Quality',description:'Near-miss reporting, root cause analysis, and quality improvement project ideas.',memberCount:740,icon:'shield-checkmark-outline',iconColor:'#0891B2',iconBgColor:'#CFFAFE',postCount:156}],posts:[{id:'post-nursing-1',communityName:'JHU MSN Cohort \'26',authorName:'Aisha Patel',authorInitials:'AP',authorColor:'#D97706',title:'Anyone rotating at Sibley Memorial next block? Let\'s coordinate schedules',body:'I just got my Spring placement at Sibley for my FNP clinical hours. Would love to connect with anyone else placed there \u2014 we can share parking tips, preceptor intel, and study together between patients.',postType:'discussion',topicTags:[{label:'Rotation Planning',color:'#2563EB'},{label:'Cohort \'26',color:'#6366F1'}],upvotes:24,commentCount:11,viewCount:78,timeAgo:'2h ago',comments:[{id:'c-n1-1',authorName:'Emily Watson',authorInitials:'EW',authorColor:'#059669',body:'I\'m at Sibley too! Peds NP track, starting in March. Let\'s definitely coordinate \u2014 the parking garage on the south side is free before 7am.',timeAgo:'1h ago',upvotes:8},{id:'c-n1-2',authorName:'James Rodriguez',authorInitials:'JR',authorColor:'#DC2626',body:'I was there last semester. Ask for Dr. Pham as your preceptor if you can \u2014 she\'s incredible and lets students run the assessment independently.',timeAgo:'45m ago',upvotes:14},{id:'c-n1-3',authorName:'Rachel Kim',authorInitials:'RK',authorColor:'#EC4899',body:'Not at Sibley but I\'m at Suburban \u2014 close enough for study sessions! DM me.',timeAgo:'30m ago',upvotes:3}]},{id:'post-nursing-2',communityName:'Evidence-Based Practice',authorName:'Emily Watson',authorInitials:'EW',authorColor:'#059669',title:'PICOT framework for my capstone: feedback on my clinical question?',body:'Working on my DNP capstone proposal. My PICOT: "In hospital
10ized pediatric patients (P), does nurse-led family education using teach-back (I) compared to standard discharge instructions (C) reduce 30-day readmission rates (O) within 6 months (T)?" Thoughts on feasibility?',postType:'question',topicTags:[{label:'Capstone',color:'#7C3AED'},{label:'Research',color:'#059669'}],upvotes:38,commentCount:16,viewCount:290,timeAgo:'4h ago',comments:[{id:'c-n2-1',authorName:'Dr. Linda Rojas',authorInitials:'LR',authorColor:'#0891B2',body:'Good PICOT structure, Emily. Consider narrowing "hospitalized" to a specific unit (e.g., general peds) \u2014 it\'ll make your data collection much more feasible for the capstone timeline.',timeAgo:'3h ago',upvotes:22},{id:'c-n2-2',authorName:'Maria Santos',authorInitials:'MS',authorColor:'#6366F1',body:'Teach-back is a great intervention. We use it in the ICU and readmission data is easy to pull from Epic. Happy to connect you with our QI team.',timeAgo:'2h ago',upvotes:11}]},{id:'post-nursing-3',communityName:'Clinical Rotation Tips',authorName:'Maria Santos',authorInitials:'MS',authorColor:'#6366F1',title:'Preceptor perspective: what makes an MSN student stand out on day one',body:'After mentoring 12 grad students, here\'s what separates the ones who thrive: come with 3 learning goals written down, review your patient list the night before, and ask "Can I try that?" instead of waiting to be invited. The students who own their learning get the best experiences.',postType:'tip',topicTags:[{label:'Preceptor Advice',color:'#6366F1'},{label:'Clinical Success',color:'#059669'}],upvotes:142,commentCount:29,viewCount:1840,timeAgo:'1d ago',comments:[{id:'c-n3-1',authorName:'Aisha Patel',authorInitials:'AP',authorColor:'#D97706',body:'The "Can I try that?" tip is so good. I started doing this and my preceptor immediately gave me more autonomy with patient assessments.',timeAgo:'20h ago',upvotes:34},{id:'c-n3-2',authorName:'Rachel Kim',authorInitials:'RK',authorColor:'#EC4899',body:'Writing down 3 learning goals changed everything for me. It gives the preceptor something concrete to work with instead of "what do you want to learn today?"',timeAgo:'18h ago',upvotes:28},{id:'c-n3-3',authorName:'James Rodriguez',authorInitials:'JR',authorColor:'#DC2626',body:'Also \u2014 review your patients the night before if your preceptor sends the list. Showing up knowing the meds and history makes a huge impression.',timeAgo:'16h ago',upvotes:19}]},{id:'post-nursing-4',communityName:'Advanced Pharm',authorName:'James Rodriguez',authorInitials:'JR',authorColor:'#DC2626',title:'Warfarin vs. DOACs decision tree \u2014 made a study sheet',body:'Struggling with the anticoagulation prescribing decisions for our pharm final. Made a one-page decision tree covering when to use warfarin vs. apixaban vs. rivaroxaban based on indication, renal function, and drug interactions. Happy to share.',postType:'tip',topicTags:[{label:'Pharmacology',color:'#DC2626'},{label:'Study Resources',color:'#2563EB'}],upvotes:67,commentCount:21,viewCount:580,timeAgo:'1d ago',comments:[{id:'c-n4-1',authorName:'Emily Watson',authorInitials:'EW',authorColor:'#059669',body:'Please share! I\'m drowning in the anticoag section. The renal dosing adjustments alone are a nightmare.',timeAgo:'22h ago',upvotes:9},{id:'c-n4-2',authorName:'Marcus Thompson',authorInitials:'MT',authorColor:'#7C3AED',body:'Great resource, James. One thing to add \u2014 always check for heparin-induced thrombocytopenia history before bridging. It\'s a common miss on boards.',timeAgo:'20h ago',upvotes:15}]},{id:'post-nursing-5',communityName:'Patient Safety & Quality',authorName:'Dr. Linda Rojas',authorInitials:'LR',authorColor:'#0891B2',title:'Reminder: near-miss reporting is learning, not blame \u2014 use your BetterAt logs',body:'A student flagged a near-miss during clinical this week and it led to a real process improvement at the site. This is exactly how QI works. Document what you see in your clinical debrief \u2014 your observations as students are incredibly valuable because you notice things the unit has normalized.',postType:'safety_alert',topicTags:[{label:'Patient Safety',color:'#DC2626'},{label:'Quality Improvement',color:'#0891B2'}],upvotes:94,commentCount:13,viewCount:720,timeAgo:'2d ago',comments:[{id:'c-n5-1',authorName:'Aisha Patel',authorInitials:'AP',authorColor:'#D97706',body:'That was me who reported it! My preceptor helped me write it up as a QI case study. It\'s now part of my clinical portfolio. So glad I spoke up.',timeAgo:'1d ago',upvotes:42},{id:'c-n5-2',authorName:'Maria Santos',authorInitials:'MS',authorColor:'#6366F1',body:'As a preceptor, I want to emphasize \u2014 we WANT students to report. Fresh eyes catch things we\'ve become blind to. It\'s not tattling, it\'s patient advocacy.',timeAgo:'1d ago',upvotes:31}]},{id:'post-nursing-6',communityName:'Certification & Boards Prep',authorName:'Rachel Kim',authorInitials:'RK',authorColor:'#EC4899',title:'Passed ANCC FNP boards on first attempt \u2014 here\'s my 8-week study plan',body:'Just got my results back \u2014 passed! Used a combo of Leik review, Fitzgerald audio, and the APEA predictor exams. The biggest game changer was doing 75 practice questions every single day for the last 4 weeks. Full breakdown of my schedule inside.',postType:'tip',topicTags:[{label:'ANCC',color:'#D97706'},{label:'Study Plan',color:'#2563EB'}],upvotes:218,commentCount:47,viewCount:4100,timeAgo:'3d ago',comments:[{id:'c-n6-1',authorName:'Emily Watson',authorInitials:'EW',authorColor:'#059669',body:'Rachel this is incredibly helpful! Did you do the Fitzgerald live review or just the audio? Trying to decide if the live session is worth the $$$.',timeAgo:'2d ago',upvotes:18},{id:'c-n6-2',authorName:'Rachel Kim',authorInitials:'RK',authorColor:'#EC4899',body:'Just the audio \u2014 saved $400 and honestly it was enough. Pair it with Leik for the content gaps. The APEA predictor is the real secret weapon though.',timeAgo:'2d ago',upvotes:26},{id:'c-n6-3',authorName:'James Rodriguez',authorInitials:'JR',authorColor:'#DC2626',body:'Congrats Rachel! How did you handle the pharm section? That\'s where I\'m weakest.',timeAgo:'2d ago',upvotes:7}]}]},drawing:{peersHeader:'Artists to Follow',searchPlaceholder:'Search artists',peers:[{id:'artist-1',name:'Maya Patel',subtitle:'Digital Illustration \xb7 Concept Art',avatarInitials:'MP',avatarColor:'#7C3AED',stat:'180 sessions logged',isFollowing:!1},{id:'artist-2',name:'Lucas Rivera',subtitle:'Charcoal & Graphite \xb7 Portraits',avatarInitials:'LR',avatarColor:'#374151',stat:'240 sessions logged',isFollowing:!1},{id:'artist-3',name:'Sophie Turner',subtitle:'Watercolor \xb7 Landscapes',avatarInitials:'ST',avatarColor:'#2563EB',stat:'310 sessions logged',isFollowing:!1},{id:'artist-4',name:'Kenji Tanaka',subtitle:'Ink & Pen \xb7 Urban Sketching',avatarInitials:'KT',avatarColor:'#059669',stat:'420 sessions logged',isFollowing:!1},{id:'artist-5',name:'Olivia Chen',subtitle:'Oil Painting \xb7 Still Life',avatarInitials:'OC',avatarColor:'#D97706',stat:'150 sessions logged',isFollowing:!1}],communities:[{id:'comm-drawing-1',name:'Portrait Fundamentals',description:'Anatomy, proportion, and likeness. Share studies, get feedback on portraits.',memberCount:2800,icon:'person-outline',iconColor:'#7C3AED',iconBgColor:'#EDE9FE',postCount:198},{id:'comm-drawing-2',name:'Daily Sketch Challenge',description:'A new prompt every day. Post your sketch, see what others created.',memberCount:4500,icon:'brush-outline',iconColor:'#D97706',iconBgColor:'#FEF3C7',postCount:1240},{id:'comm-drawing-3',name:'Digital Art Tools',description:'Procreate, Clip Studio, Photoshop \u2014 tips, brushes, and workflow discu
10ssions.',memberCount:3200,icon:'tablet-portrait-outline',iconColor:'#2563EB',iconBgColor:'#DBEAFE',postCount:340},{id:'comm-drawing-4',name:'Critique Circle',description:'Constructive feedback on your work. Post a piece, receive thoughtful critique.',memberCount:1600,icon:'chatbubble-ellipses-outline',iconColor:'#DC2626',iconBgColor:'#FEE2E2',postCount:890},{id:'comm-drawing-5',name:'Reference & Inspiration',description:'Share reference photos, inspiring artwork, and creative prompts.',memberCount:5200,icon:'image-outline',iconColor:'#059669',iconBgColor:'#D1FAE5',postCount:670}],posts:[{id:'post-drawing-1',communityName:'Portrait Fundamentals',authorName:'Lucas Rivera',authorInitials:'LR',authorColor:'#374151',title:'The Loomis method vs. Reilly abstraction \u2014 which do you prefer for head construction?',body:'I\'ve been using Loomis for years but recently tried the Reilly method and found it helps me capture gesture better. Curious what others prefer and why.',postType:'discussion',topicTags:[{label:'Anatomy',color:'#7C3AED'},{label:'Technique',color:'#2563EB'}],upvotes:62,commentCount:28,viewCount:940,timeAgo:'3h ago',comments:[{id:'c-d1-1',authorName:'Sophie Turner',authorInitials:'ST',authorColor:'#2563EB',body:'I switched to Reilly last year and it really helped with gesture. Loomis is great for static poses but Reilly captures movement better IMO.',timeAgo:'2h ago',upvotes:14},{id:'c-d1-2',authorName:'Kenji Tanaka',authorInitials:'KT',authorColor:'#059669',body:'I use a hybrid \u2014 Loomis for the basic form, then Reilly rhythms for the features. Best of both worlds.',timeAgo:'1h ago',upvotes:21}]},{id:'post-drawing-2',communityName:'Daily Sketch Challenge',authorName:'Maya Patel',authorInitials:'MP',authorColor:'#7C3AED',title:'Day 47: "Morning Light" \u2014 30 minute study',body:'Tried to capture the warm light through my kitchen window hitting the fruit bowl. Focused on keeping values simple \u2014 only 3 value groups.',postType:'discussion',topicTags:[{label:'Daily Sketch',color:'#D97706'},{label:'Values',color:'#059669'}],upvotes:34,commentCount:8,viewCount:420,timeAgo:'6h ago'},{id:'post-drawing-3',communityName:'Digital Art Tools',authorName:'Kenji Tanaka',authorInitials:'KT',authorColor:'#059669',title:'Custom brush set for architectural sketching in Procreate',body:'I made a set of 6 brushes that simulate technical pens and felt tips. They\'re great for urban sketching with clean line weights. Free download link inside.',postType:'tip',topicTags:[{label:'Procreate',color:'#2563EB'},{label:'Brushes',color:'#374151'}],upvotes:108,commentCount:19,viewCount:2100,timeAgo:'1d ago'},{id:'post-drawing-4',communityName:'Critique Circle',authorName:'Sophie Turner',authorInitials:'ST',authorColor:'#2563EB',title:'Feedback request: watercolor landscape \u2014 struggling with atmospheric perspective',body:'The foreground feels right but my background mountains keep looking too saturated and don\'t recede. I\'ve tried diluting more but lose detail. Any suggestions?',postType:'question',topicTags:[{label:'Watercolor',color:'#2563EB'},{label:'Critique',color:'#DC2626'}],upvotes:22,commentCount:14,viewCount:380,timeAgo:'1d ago'}]},design:{peersHeader:'Designers to Follow',searchPlaceholder:'Search designers',peers:[{id:'designer-1',name:'Aiko Tanaka',subtitle:'UX Design \xb7 Design Systems',avatarInitials:'AT',avatarColor:'#6366F1',stat:'78 projects shared',isFollowing:!1},{id:'designer-2',name:'Marcus Reid',subtitle:'Brand Identity \xb7 Typography',avatarInitials:'MR',avatarColor:'#DC2626',stat:'52 projects shared',isFollowing:!1},{id:'designer-3',name:'Priya Sharma',subtitle:'Product Design \xb7 Prototyping',avatarInitials:'PS',avatarColor:'#059669',stat:'95 projects shared',isFollowing:!1},{id:'designer-4',name:'Leo Andersson',subtitle:'Motion Design \xb7 3D',avatarInitials:'LA',avatarColor:'#D97706',stat:'41 projects shared',isFollowing:!1},{id:'designer-5',name:'Camille Dubois',subtitle:'Graphic Design \xb7 Editorial',avatarInitials:'CD',avatarColor:'#7C3AED',stat:'63 projects shared',isFollowing:!1},{id:'designer-6',name:'Jin Park',subtitle:'Interaction Design \xb7 Accessibility',avatarInitials:'JP',avatarColor:'#0891B2',stat:'110 projects shared',isFollowing:!1}],communities:[{id:'comm-design-1',name:'Design Systems',description:'Tokens, components, documentation, and scaling design across teams.',memberCount:3400,icon:'grid-outline',iconColor:'#6366F1',iconBgColor:'#EEF2FF',postCount:560},{id:'comm-design-2',name:'Typography & Layout',description:'Type pairings, grid systems, and the craft of beautiful text.',memberCount:2100,icon:'text-outline',iconColor:'#DC2626',iconBgColor:'#FEE2E2',postCount:340},{id:'comm-design-3',name:'Portfolio & Career',description:'Portfolio reviews, job search tips, and career growth discu
10ssions.',memberCount:4800,icon:'briefcase-outline',iconColor:'#059669',iconBgColor:'#D1FAE5',postCount:920},{id:'comm-design-4',name:'Tools & Workflow',description:'Figma, Framer, Sketch, and the tools that power your process.',memberCount:5600,icon:'construct-outline',iconColor:'#D97706',iconBgColor:'#FEF3C7',postCount:1100},{id:'comm-design-5',name:'Design Critique',description:'Share work-in-progress and get constructive feedback from peers.',memberCount:1900,icon:'chatbubble-ellipses-outline',iconColor:'#7C3AED',iconBgColor:'#EDE9FE',postCount:280}],posts:[{id:'post-design-1',communityName:'Design Systems',authorName:'Aiko Tanaka',authorInitials:'AT',authorColor:'#6366F1',title:'How we migrated 200+ components to design tokens without breaking production',body:'Our team spent 3 months migrating from hardcoded values to a token-based system. The key was building a codemods pipeline and doing it in layers \u2014 color first, then spacing, then typography.',postType:'discussion',topicTags:[{label:'Design Tokens',color:'#6366F1'},{label:'Migration',color:'#059669'}],upvotes:156,commentCount:42,viewCount:3200,timeAgo:'6h ago',comments:[{id:'c-d1-1',authorName:'Jin Park',authorInitials:'JP',authorColor:'#0891B2',body:'Did you handle dark mode tokens at the same time or was that a separate pass?',timeAgo:'5h ago',upvotes:12},{id:'c-d1-2',authorName:'Aiko Tanaka',authorInitials:'AT',authorColor:'#6366F1',body:'Separate pass \u2014 we added semantic aliases (surface-primary, text-primary) that mapped to different values per theme. Much cleaner than conditional logic.',timeAgo:'4h ago',upvotes:24}]},{id:'post-design-2',communityName:'Typography & Layout',authorName:'Marcus Reid',authorInitials:'MR',authorColor:'#DC2626',title:'The 4px baseline grid changed everything about my layouts',body:'Switched from arbitrary spacing to a strict 4px grid 6 months ago. Every element snaps, vertical rhythm is automatic, and handoff to engineering is way smoother.',postType:'tip',topicTags:[{label:'Layout',color:'#DC2626'},{label:'Spacing',color:'#6366F1'}],upvotes:98,commentCount:18,viewCount:2100,timeAgo:'1d ago'},{id:'post-design-3',communityName:'Tools & Workflow',authorName:'Priya Sharma',authorInitials:'PS',authorColor:'#059669',title:'Figma variables vs. styles \u2014 when to use which?',body:'Now that Figma has variables, I keep going back and forth on when to use variables vs. traditional styles. Anyone have a clear mental model?',postType:'question',topicTags:[{label:'Figma',color:'#D97706'},{label:'Workflow',color:'#059669'}],upvotes:67,commentCount:35,viewCount:1800,timeAgo:'1d ago'},{id:'post-design-4',communityName:'Design Critique',authorName:'Camille Dubois',authorInitials:'CD',authorColor:'#7C3AED',title:'Feedback on my magazine redesign concept \u2014 going for brutalist meets editorial',body:'Experimenting with heavy type, monochrome palette, and asymmetric grids for an independent music magazine. Looking for honest critique on readability vs. impact.',postType:'discussion',topicTags:[{label:'Editorial',color:'#7C3AED'},{label:'Critique',color:'#DC2626'}],upvotes:43,commentCount:21,viewCount:980,timeAgo:'2d ago'}]},fitness:o,'health-and-fitness':o,golf:{peersHeader:'Golfers to Follow',searchPlaceholder:'Search golfers',peers:[{id:'golfer-1',name:'Tom Mitchell',subtitle:'Single Digit \xb7 Course Strategy',avatarInitials:'TM',avatarColor:'#166534',stat:'340 rounds logged',isFollowing:!1},{id:'golfer-2',name:'Sarah Johansson',subtitle:'Mid-Handicap \xb7 Short Game',avatarInitials:'SJ',avatarColor:'#2563EB',stat:'185 rounds logged',isFollowing:!1},{id:'golfer-3',name:'David Park',subtitle:'Scratch Golfer \xb7 Competitive',avatarInitials:'DP',avatarColor:'#DC2626',stat:'520 rounds logged',isFollowing:!1},{id:'golfer-4',name:'Rachel Torres',subtitle:'Beginner \xb7 Learning Journey',avatarInitials:'RT',avatarColor:'#D97706',stat:'62 rounds logged',isFollowing:!1},{id:'golfer-5',name:'James O\'Brien',subtitle:'Club Fitting \xb7 Equipment',avatarInitials:'JO',avatarColor:'#374151',stat:'290 rounds logged',isFollowing:!1},{id:'golfer-6',name:'Linda Chen',subtitle:'Teaching Pro \xb7 Swing Analysis',avatarInitials:'LC',avatarColor:'#7C3AED',stat:'48 lessons shared',isFollowing:!1}],communities:[{id:'comm-golf-1',name:'Swing Tips',description:'Swing mechanics, drills, and video analysis from players and coaches.',memberCount:5200,icon:'golf-outline',iconColor:'#166534',iconBgColor:'#DCFCE7',postCount:1200},{id:'comm-golf-2',name:'Course Reviews',description:'Play reports, hidden gems, and honest reviews of courses worldwide.',memberCount:3800,icon:'map-outline',iconColor:'#2563EB',iconBgColor:'#DBEAFE',postCount:680}
10,{id:'comm-golf-3',name:'Equipment & Gear',description:'Club reviews, fitting experiences, ball comparisons, and deals.',memberCount:6100,icon:'construct-outline',iconColor:'#D97706',iconBgColor:'#FEF3C7',postCount:1450},{id:'comm-golf-4',name:'Short Game Lab',description:'Chipping, pitching, bunker play, and putting \u2014 the scoring zone.',memberCount:2900,icon:'flag-outline',iconColor:'#DC2626',iconBgColor:'#FEE2E2',postCount:520},{id:'comm-golf-5',name:'Mental Game',description:'Pre-shot routines, course management, and staying composed under pressure.',memberCount:1800,icon:'bulb-outline',iconColor:'#7C3AED',iconBgColor:'#EDE9FE',postCount:310}],posts:[{id:'post-golf-1',communityName:'Swing Tips',authorName:'David Park',authorInitials:'DP',authorColor:'#DC2626',title:'The one drill that fixed my early extension for good',body:'Struggled with early extension for years \u2014 tried everything. What finally clicked was the "wall drill" where you set up with your glutes touching a wall. 3 weeks of daily reps and my swing path is totally different.',postType:'tip',topicTags:[{label:'Swing',color:'#166534'},{label:'Drill',color:'#D97706'}],upvotes:142,commentCount:38,viewCount:3100,timeAgo:'5h ago',comments:[{id:'c-g1-1',authorName:'Linda Chen',authorInitials:'LC',authorColor:'#7C3AED',body:'Great drill! I use this with all my students. Pro tip: film yourself from down the line to verify your pelvis stays back through impact.',timeAgo:'4h ago',upvotes:22},{id:'c-g1-2',authorName:'Tom Mitchell',authorInitials:'TM',authorColor:'#166534',body:'Tried this today at the range. Feels weird but my contact was so much more solid. Thanks for sharing.',timeAgo:'2h ago',upvotes:8}]},{id:'post-golf-2',communityName:'Equipment & Gear',authorName:'James O\'Brien',authorInitials:'JO',authorColor:'#374151',title:'Got fitted for irons \u2014 the numbers blew my mind',body:'Playing off-the-rack irons for 10 years. Finally got a proper fitting \u2014 2 degrees upright, half inch long, and stiffer shafts. Gained 15 yards and my dispersion tightened by 30%.',postType:'discussion',topicTags:[{label:'Club Fitting',color:'#374151'},{label:'Irons',color:'#2563EB'}],upvotes:89,commentCount:27,viewCount:2400,timeAgo:'1d ago'},{id:'post-golf-3',communityName:'Short Game Lab',authorName:'Sarah Johansson',authorInitials:'SJ',authorColor:'#2563EB',title:'How do you practice bunker shots when your range doesn\'t have a bunker?',body:'My local range has zero bunker practice areas. I dread bunker shots on the course because I never get to practice. Any creative solutions?',postType:'question',topicTags:[{label:'Bunker',color:'#DC2626'},{label:'Practice',color:'#166534'}],upvotes:34,commentCount:19,viewCount:890,timeAgo:'1d ago'},{id:'post-golf-4',communityName:'Mental Game',authorName:'Tom Mitchell',authorInitials:'TM',authorColor:'#166534',title:'Stopped keeping score for a month \u2014 here\'s what happened',body:'After a bad stretch I decided to play 4 rounds without keeping score, just focusing on process goals. When I went back to scoring, I shot my best round of the year.',postType:'discussion',topicTags:[{label:'Mental Game',color:'#7C3AED'},{label:'Mindset',color:'#166534'}],upvotes:178,commentCount:45,viewCount:4100,timeAgo:'2d ago'}]},knitting:{peersHeader:'Knitters to Follow',searchPlaceholder:'Search knitters',peers:[{id:'knitter-1',name:'Hannah Birch',subtitle:'Colorwork & Fair Isle \xb7 Sweaters',avatarInitials:'HB',avatarColor:'#7C3AED',stat:'48 projects completed',isFollowing:!1},{id:'knitter-2',name:'Clara Nguyen',subtitle:'Lace Knitting \xb7 Shawls',avatarInitials:'CN',avatarColor:'#EC4899',stat:'62 projects completed',isFollowing:!1},{id:'knitter-3',name:'Ruth Andersen',subtitle:'Sock Knitting \xb7 Accessories',avatarInitials:'RA',avatarColor:'#059669',stat:'91 projects completed',isFollowing:!1},{id:'knitter-4',name:'Tom Weaver',subtitle:'Cable Knitting \xb7 Aran Sweaters',avatarInitials:'TW',avatarColor:'#2563EB',stat:'35 projects completed',isFollowing:!1},{id:'knitter-5',name:'Margot Ellis',subtitle:'Brioche \xb7 Two-Color Knitting',avatarInitials:'ME',avatarColor:'#D97706',stat:'44 projects completed',isFollowing:!1}
10,{id:'knitter-6',name:'Yuki Sato',subtitle:'Japanese Knitting \xb7 Amigurumi',avatarInitials:'YS',avatarColor:'#DC2626',stat:'73 projects completed',isFollowing:!1},{id:'knitter-7',name:'Diane Okafor',subtitle:'Garment Construction \xb7 Sweater Design',avatarInitials:'DO',avatarColor:'#0891B2',stat:'28 patterns published',isFollowing:!1}],communities:[{id:'comm-knit-1',name:'Sock Knitters Unite',description:'Toe-up, cuff-down, two-at-a-time \u2014 all sock techniques welcome. Share your latest pair.',memberCount:3200,icon:'footsteps-outline',iconColor:'#7C3AED',iconBgColor:'#EDE9FE',postCount:890},{id:'comm-knit-2',name:'Colorwork & Fair Isle',description:'Stranded colorwork, intarsia, and Fair Isle patterns. Tips for tension and floats.',memberCount:2400,icon:'color-palette-outline',iconColor:'#DC2626',iconBgColor:'#FEE2E2',postCount:560},{id:'comm-knit-3',name:'Yarn Stash & Reviews',description:'Yarn reviews, stash organization, and finding the perfect yarn for your next project.',memberCount:5100,icon:'pricetag-outline',iconColor:'#D97706',iconBgColor:'#FEF3C7',postCount:1240},{id:'comm-knit-4',name:'Beginner Knitters',description:'No question too basic. Learn cast-on, knit, purl, and build confidence stitch by stitch.',memberCount:4800,icon:'sparkles-outline',iconColor:'#059669',iconBgColor:'#D1FAE5',postCount:2100},{id:'comm-knit-5',name:'Sweater Workshop',description:'Top-down, bottom-up, seamed or seamless. Share WIPs and get fit advice.',memberCount:1800,icon:'shirt-outline',iconColor:'#2563EB',iconBgColor:'#DBEAFE',postCount:420},{id:'comm-knit-6',name:'Knit-Alongs',description:'Active KALs, pattern discussions, and progress check-ins. Knit together, apart.',memberCount:2600,icon:'people-outline',iconColor:'#EC4899',iconBgColor:'#FCE7F3',postCount:780}],posts:[{id:'post-knit-1',communityName:'Sock Knitters Unite',authorName:'Ruth Andersen',authorInitials:'RA',authorColor:'#059669',title:'Finally nailed the afterthought heel \u2014 here\'s my trick for avoiding holes',body:'After 20+ pairs with flap-and-gusset, I tried afterthought heels and kept getting holes at the pickup points. The fix: pick up one extra stitch on each side, then k2tog on the next round. Zero holes.',postType:'tip',topicTags:[{label:'Socks',color:'#7C3AED'},{label:'Technique',color:'#059669'}],upvotes:87,commentCount:23,viewCount:1200,timeAgo:'3h ago',comments:[{id:'c-k1-1',authorName:'Clara Nguyen',authorInitials:'CN',authorColor:'#EC4899',body:'This is exactly what I needed! I gave up on afterthought heels after too many holes. Trying this on my next pair.',timeAgo:'2h ago',upvotes:12},{id:'c-k1-2',authorName:'Tom Weaver',authorInitials:'TW',authorColor:'#2563EB',body:'I do something similar but with a crochet provisional cast-on. Keeps it really tidy. Great tip!',timeAgo:'1h ago',upvotes:8}]},{id:'post-knit-2',communityName:'Colorwork & Fair Isle',authorName:'Hannah Birch',authorInitials:'HB',authorColor:'#7C3AED',title:'Managing float tension in Fair Isle \u2014 do you trap or not?',body:'I\'m working on a yoke sweater with long floats (7+ stitches). I trap my floats every 3-4 stitches but I can see them showing through on the right side with lighter colors. Anyone have tips for trapping without show-through?',postType:'question',topicTags:[{label:'Fair Isle',color:'#DC2626'},{label:'Tension',color:'#2563EB'}],upvotes:54,commentCount:31,viewCount:940,timeAgo:'5h ago',comments:[{id:'c-k2-1',authorName:'Diane Okafor',authorInitials:'DO',authorColor:'#0891B2',body:'Try trapping on the purl bumps only \u2014 if you trap on the smooth V side, the carried yarn peeks through. Also, going up a needle size for colorwork sections helps.',timeAgo:'4h ago',upvotes:19},{id:'c-k2-2',authorName:'Yuki Sato',authorInitials:'YS',authorColor:'#DC2626',body:'In Japanese knitting books they recommend not trapping at all \u2014 just keep floats loose. I use a yarn guide on my left hand and it keeps tension even without trapping.',timeAgo:'3h ago',upvotes:24}]},{id:'post-knit-3',communityName:'Yarn Stash & Reviews',authorName:'Margot Ellis',authorInitials:'ME',authorColor:'#D97706',title:'Honest review: is Malabrigo Rios worth the hype?',body:'I see Rios recommended everywhere for sweaters. Just finished my first skein \u2014 the hand is incredible but I noticed slight pooling in the variegated colorway. Has anyone had pilling issues after wearing? Considering it for a full sweater quantity.',postType:'discussion',topicTags:[{label:'Yarn Review',color:'#D97706'},{label:'Sweater Yarn',color:'#2563EB'}],upvotes:92,commentCount:41,viewCount:2800,timeAgo:'1d ago',comments:[{id:'c-k3-1',authorName:'Hannah Birch',authorInitials:'HB',authorColor:'#7C3AED',body:'I\'ve knit 3 sweaters in Rios. It pills a bit the first few wears but then stops. The colors are unbeatable. For pooling, try alternating skeins every 2 rows.',timeAgo:'20h ago',upvotes:28},{id:'c-k3-2',authorName:'Ruth Andersen',authorInitials:'RA',authorColor:'#059669',body:'Love Rios for socks too \u2014 surprisingly durable for a superwash merino. The semi-solids are gorgeous.',timeAgo:'18h ago',upvotes:15}]},{id:'post-knit-4',communityName:'Beginner Knitters',authorName:'Tom Weaver',authorInitials:'TW',authorColor:'#2563EB',title:'Just finished my first cable project and it actually looks like cables!',body:'I was so intimidated by cables but they\'re honestly just moving stitches around. Started with a simple 6-stitch rope cable scarf and I\'m hooked. Already planning a cabled hat. The cable needle feels awkward though \u2014 any tips?',postType:'discussion',topicTags:[{label:'Cables',color:'#2563EB'},{label:'Beginner Win',color:'#059669'}],upvotes:156,commentCount:28,viewCount:3200,timeAgo:'1d ago',comments:[{id:'c-k4-1',authorName:'Diane Okafor',authorInitials:'DO',authorColor:'#0891B2',body:'Try cabling without a cable needle! For small cables (4-6 stitches), just pinch the stitches and slip them off, then put them back. Game changer.',timeAgo:'22h ago',upvotes:42},{id:'c-k4-2',authorName:'Margot Ellis',authorInitials:'ME',authorColor:'#D97706',body:'Congrats! That first cable moment is magical. If the cable needle is annoying, a DPN one size smaller works great too.',timeAgo:'20h ago',upvotes:18}]},{id:'post-knit-5',communityName:'Sweater Workshop',authorName:'Diane Okafor',authorInitials:'DO',authorColor:'#0891B2',title:'Top-down raglan fit guide: how to check your yoke depth before committing',body:'The most common mistake I see in top-down raglans is separating the body too early or too late. Here\'s my quick check: try it on (or measure flat) when you think you\'re close. The raglan line should end about 1" below your armpit. If it\'s at your armpit, you need 4-6 more rows.',postType:'tip',topicTags:[{label:'Sweater Fit',color:'#0891B2'},{label:'Construction',color:'#7C3AED'}],upvotes:198,commentCount:36,viewCount:4100,timeAgo:'2d ago',comments:[{id:'c-k5-1',authorName:'Hannah Birch',authorInitials:'HB',authorColor:'#7C3AED',body:'This would have saved me frogging an entire yoke last month. I separated way too early and the armholes were tiny. Bookmarking this.',timeAgo:'1d ago',upvotes:31},{id:'c-k5-2',authorName:'Clara Nguyen',authorInitials:'CN',authorColor:'#EC4899',body:'Another tip: put your body stitches on waste yarn and try on before doing the sleeves. Much easier to adjust at that point.',timeAgo:'1d ago',upvotes:22}]}]},'fiber-arts':{peersHeader:'Fiber Artists to Follow',searchPlaceholder:'Search f
10iber artists',peers:[{id:'fiber-1',name:'Amara Osei',subtitle:'Weaving \xb7 Tapestry',avatarInitials:'AO',avatarColor:'#D97706',stat:'34 projects completed',isFollowing:!1},{id:'fiber-2',name:'Lin Zhao',subtitle:'Crochet \xb7 Amigurumi',avatarInitials:'LZ',avatarColor:'#EC4899',stat:'58 projects completed',isFollowing:!1},{id:'fiber-3',name:'Petra Novak',subtitle:'Spinning \xb7 Natural Dyes',avatarInitials:'PN',avatarColor:'#059669',stat:'42 projects completed',isFollowing:!1},{id:'fiber-4',name:'Sam Delgado',subtitle:'Macram\xe9 \xb7 Fiber Sculpture',avatarInitials:'SD',avatarColor:'#7C3AED',stat:'29 projects completed',isFollowing:!1},{id:'fiber-5',name:'Elsa Bergman',subtitle:'Felting \xb7 Mixed Media',avatarInitials:'EB',avatarColor:'#2563EB',stat:'51 projects completed',isFollowing:!1}],communities:[{id:'comm-fiber-1',name:'Handspinning',description:'Drop spindle, wheel spinning, and fiber prep. Share your handspun creations.',memberCount:1800,icon:'sync-outline',iconColor:'#D97706',iconBgColor:'#FEF3C7',postCount:420},{id:'comm-fiber-2',name:'Weaving Studio',description:'Rigid heddle, floor loom, tapestry \u2014 all weaving welcome.',memberCount:1200,icon:'grid-outline',iconColor:'#7C3AED',iconBgColor:'#EDE9FE',postCount:310},{id:'comm-fiber-3',name:'Natural Dyes',description:'Plant-based dyes, mordants, and color experiments on fiber and fabric.',memberCount:2400,icon:'leaf-outline',iconColor:'#059669',iconBgColor:'#D1FAE5',postCount:580},{id:'comm-fiber-4',name:'Crochet Circle',description:'Patterns, techniques, and WIP sharing for crocheters of all levels.',memberCount:4200,icon:'infinite-outline',iconColor:'#EC4899',iconBgColor:'#FCE7F3',postCount:1100}],posts:[{id:'post-fiber-1',communityName:'Handspinning',authorName:'Petra N
10ovak',authorInitials:'PN',authorColor:'#059669',title:'First skein from raw fleece \u2014 the process was so satisfying',body:'Washed, carded, and spun a Cormo fleece I picked up at a fiber festival. The whole process from raw to finished skein took about 2 weeks of evening sessions. The yarn is rustic but incredibly soft.',postType:'discussion',topicTags:[{label:'Spinning',color:'#D97706'},{label:'Fleece to Yarn',color:'#059669'}],upvotes:76,commentCount:18,viewCount:920,timeAgo:'4h ago'},{id:'post-fiber-2',communityName:'Crochet Circle',authorName:'Lin Zhao',authorInitials:'LZ',authorColor:'#EC4899',title:'Amigurumi tip: invisible decrease vs regular decrease \u2014 when to use each',body:'The invisible decrease gives a cleaner look on the outside, but for structural pieces (like legs that need to support weight), the regular decrease is actually stronger. Here\'s my guide for when to use which.',postType:'tip',topicTags:[{label:'Amigurumi',color:'#EC4899'},{label:'Technique',color:'#2563EB'}],upvotes:104,commentCount:22,viewCount:1800,timeAgo:'1d ago'}]},'global-health':{peersHeader:'Practitioners to Follow',searchPlaceholder:'Search practitioners',peers:[{id:'gh-1',name:'Dr. Maria Reyes',subtitle:'Community Health \xb7 Program Design',avatarInitials:'MR',avatarColor:'#059669',stat:'12 programs led',isFollowing:!1},{id:'gh-2',name:'James Okonkwo',subtitle:'Epidemiology \xb7 Data Systems',avatarInitials:'JO',avatarColor:'#2563EB',stat:'8 field deployments',isFollowing:!1},{id:'gh-3',name:'Ana Lucia Mendez',subtitle:'Maternal Health \xb7 CHW Training',avatarInitials:'AM',avatarColor:'#DC2626',stat:'15 programs led',isFollowing:!1},{id:'gh-4',name:'David Chen',subtitle:'Health Systems \xb7 Policy',avatarInitials:'DC',avatarColor:'#7C3AED',stat:'6 field deployments',isFollowing:!1},{id:'gh-5',name:'Fatima Al-Rashid',subtitle:'Nutrition \xb7 Food Security',avatarInitials:'FA',avatarColor:'#D97706',stat:'10 programs led',isFollowing:!1}],communities:[{id:'comm-gh-1',name:'Community Health Workers',description:'Training, supervision, and impact measurement for CHW programs worldwide.',memberCount:2800,icon:'heart-outline',iconColor:'#DC2626',iconBgColor:'#FEE2E2',postCount:640},{id:'comm-gh-2',name:'Program Design & M&E',description:'Logic models, indicators, and monitoring frameworks for health programs.',memberCount:1600,icon:'analytics-outline',iconColor:'#2563EB',iconBgColor:'#DBEAFE',postCount:380},{id:'comm-gh-3',name:'Field Stories',description:'Share experiences, challenges, and lessons learned from field work.',memberCount:3400,icon:'earth-outline',iconColor:'#059669',iconBgColor:'#D1FAE5',postCount:920}],posts:[{id:'post-gh-1',communityName:'Community Health Workers',authorName:'Ana Lucia Mendez',authorInitials:'AM',authorColor:'#DC2626',title:'Training CHWs in remote areas: what worked and what didn\'t',body:'Just finished a 6-month CHW training program in rural Guatemala. Mobile-first training materials were essential \u2014 paper manuals got destroyed in rainy season. Biggest win: pairing new CHWs with experienced ones for the first month.',postType:'discussion',topicTags:[{label:'CHW Training',color:'#DC2626'},{label:'Field Lessons',color:'#059669'}],upvotes:89,commentCount:24,viewCount:1400,timeAgo:'6h ago'},{id:'post-gh-2',communityName:'Program Design & M&E',authorName:'James Okonkwo',authorInitials:'JO',authorColor:'#2563EB',title:'Simple M&E framework that actually works in low-resource settings',body:'After years of overcomplicating our monitoring systems, we stripped it down to 5 core indicators tracked via WhatsApp voice notes. Data quality went up because the burden on field staff went way down.',postType:'tip',topicTags:[{label:'M&E',color:'#2563EB'},{label:'Data Systems',color:'#7C3AED'}],upvotes:124,commentCount:31,viewCount:2100,timeAgo:'1d ago'}]},'painting-printing':{peersHeader:'Artists to Follow',searchPlaceholder:'Search artists',peers:[{id:'paint-1',name:'Isabel Moreno',subtitle:'Oil Painting \xb7 Portraiture',avatarInitials:'IM',avatarColor:'#DC2626',stat:'84 sessions logged',isFollowing:!1},{id:'paint-2',name:'Niko Petrov',subtitle:'Printmaking \xb7 Linocut',avatarInitials:'NP',avatarColor:'#374151',stat:'120 sessions logged',isFollowing:!1},{id:'paint-3',name:'Mei Lin',subtitle:'Watercolor \xb7 Botanical',avatarInitials:'ML',avatarColor:'#059669',stat:'96 sessions logged',isFollowing:!1},{id:'paint-4',name:'Andre Williams',subtitle:'Acrylic \xb7 Abstract',avatarInitials:'AW',avatarColor:'#D97706',stat:'150 sessions logged',isFollowing:!1},{id:'paint-5',name:'Sofia Berg',subtitle:'Screen Printing \xb7 Textile',avatarInitials:'SB',avatarColor:'#7C3AED',stat:'68 sessions logged',isFollowing:!1}],communities:[{id:'comm-paint-1',name:'Color Mixing Lab',description:'Color theory, palette building, and mixing techniques across all media.',memberCount:3200,icon:'c
10olor-palette-outline',iconColor:'#DC2626',iconBgColor:'#FEE2E2',postCount:680},{id:'comm-paint-2',name:'Printmakers Guild',description:'Relief, intaglio, screen printing \u2014 techniques, inks, and press setup.',memberCount:1400,icon:'layers-outline',iconColor:'#374151',iconBgColor:'#F3F4F6',postCount:320},{id:'comm-paint-3',name:'Plein Air Painters',description:'Painting outdoors \u2014 gear, locations, and handling changing light.',memberCount:2800,icon:'sunny-outline',iconColor:'#D97706',iconBgColor:'#FEF3C7',postCount:540},{id:'comm-paint-4',name:'Critique & Feedback',description:'Post your work for constructive critique. All skill levels and media welcome.',memberCount:2100,icon:'chatbubble-ellipses-outline',iconColor:'#7C3AED',iconBgColor:'#EDE9FE',postCount:890}],posts:[{id:'post-paint-1',communityName:'Color Mixing Lab',authorName:'Isabel Moreno',authorInitials:'IM',authorColor:'#DC2626',title:'Limited palette challenge: painting with just 3 colors + white',body:'Tried the Zorn palette (yellow ochre, cadmium red, ivory black, white) for a portrait study. The range of skin tones you can get from just these four is incredible. Highly recommend for understanding value and temperature.',postType:'tip',topicTags:[{label:'Color Theory',color:'#DC2626'},{label:'Oil Painting',color:'#D97706'}],upvotes:78,commentCount:19,viewCount:1200,timeAgo:'5h ago'},{id:'post-paint-2',communityName:'Printmakers Guild',authorName:'Niko Petrov',authorInitials:'NP',authorColor:'#374151',title:'Reduction linocut: planning your layers in reverse',body:'The key insight that unlocked reduction printing for me: plan your lightest areas first and cut those away before the first print. You\'re printing dark to light but cutting light to dark. A simple color map on paper saves hours of frustration.',postType:'discussion',topicTags:[{label:'Linocut',color:'#374151'},{label:'Technique',color:'#059669'}],upvotes:62,commentCount:14,viewCount:880,timeAgo:'1d ago'}]},'lifelong-learning':{peersHeader:'Learners to Follow',searchPlaceholder:'Search learners',peers:[{id:'ll-1',name:'Marcus Rivera',subtitle:'Languages \xb7 History',avatarInitials:'MR',avatarColor:'#2563EB',stat:'180 sessions logged',isFollowing:!1},{id:'ll-2',name:'Priya Sharma',subtitle:'Philosophy \xb7 Writing',avatarInitials:'PS',avatarColor:'#7C3AED',stat:'220 sessions logged',isFollowing:!1},{id:'ll-3',name:'Chen Wei',subtitle:'Music \xb7 Piano',avatarInitials:'CW',avatarColor:'#059669',stat:'340 sessions logged',isFollowing:!1},{id:'ll-4',name:'Emma Larsson',subtitle:'Photography \xb7 Film',avatarInitials:'EL',avatarColor:'#D97706',stat:'150 sessions logged',isFollowing:!1},{id:'ll-5',name:'Kwame Asante',subtitle:'Chess \xb7 Strategy Games',avatarInitials:'KA',avatarColor:'#DC2626',stat:'420 sessions logged',isFollowing:!1}],communities:[{id:'comm-ll-1',name:'Book Club',description:'Monthly reads, discussion threads, and reading lists across genres.',memberCount:4200,icon:'book-outline',iconColor:'#7C3AED',iconBgColor:'#EDE9FE',postCount:1200},{id:'comm-ll-2',name:'Language Exchange',description:'Find practice partners, share resources, and discuss language learning methods.',memberCount:3600,icon:'chatbubbles-outline',iconColor:'#2563EB',iconBgColor:'#DBEAFE',postCount:890},{id:'comm-ll-3',name:'Learning Methods',description:'Spaced repetition, deliberate practice, and evidence-based study techniques.',memberCount:2800,icon:'bulb-outline',iconColor:'#D97706',iconBgColor:'#FEF3C7',postCount:540}],posts:[{id:'post-ll-1',communityName:'Learning Methods',authorName:'Priya Sharma',authorInitials:'PS',authorColor:'#7C3AED',title:'How I use interleaving to learn 3 subjects simultaneously without confusion',body:'Instead of blocking my study time by subject, I rotate between philosophy, creative writing, and history in 25-minute Pomodoros. Counterintuitively, the context switching actually helps retention because I\'m constantly re-activating each subject.',postType:'tip',topicTags:[{label:'Study Methods',color:'#7C3AED'},{label:'Interleaving',color:'#2563EB'}],upvotes:94,commentCount:27,viewCount:1800,timeAgo:'4h ago'},{id:'post-ll-2',communityName:'Language Exchange',authorName:'Marcus Rivera',authorInitials:'MR',authorColor:'#2563EB',title:'Hit B2 in Japanese after 18 months \u2014 what actually worked',body:'Passed JLPT N3 and my tutor says I\'m solidly B2 conversational. The secret: I stopped studying grammar textbooks and started reading manga with a dictionary. Comprehensible input > drilling exercises.',postType:'discussion',topicTags:[{label:'Japanese',color:'#DC2626'},{label:'Progress Report',color:'#059669'}],upvotes:142,commentCount:38,viewCount:3200,timeAgo:'1d ago'}]},'regenerative-agriculture':{peersHeader:'Growers to Follow',searchPlaceholder:'Search growers',peers:[{id:'regen-1',name:'Miguel Torres',subtitle:'Soil Health \xb7 Cover Cropping',avatarInitials:'MT',avatarColor:'#059669',stat:'6 growing seasons',isFollowing:!1},{id:'regen-2',name:'Sarah Greenfield',subtitle:'Permaculture \xb7 Food Forests',avatarInitials:'SG',avatarColor:'#2563EB',stat:'8 growing seasons',isFollowing:!1},{id:'regen-3',name:'Raj Patel',subtitle:'Composting \xb7 Soil Biology',avatarInitials:'RP',avatarColor:'#D97706',stat:'4 growing seasons',isFollowing:!1},{id:'regen-4',name:'Kimi Nakamura',subtitle:'No-Till \xb7 Market Garden',avatarInitials:'KN',avatarColor:'#DC2626',stat:'10 growing seasons',isFollowing:!1},{id:'regen-5',name:'Blessing Moyo',subtitle:'Agroforestry \xb7 Water Systems',avatarInitials:'BM',avatarColor:'#7C3AED',stat:'5 growing seasons',isFollowing:!1}],communities:[{id:'comm-regen-1',name:'Soil Health Network',description:'Soil testing, biology, amendments, and building living soil systems.',memberCount:2400,icon:'leaf-outline',iconColor:'#059669',iconBgColor:'#D1FAE5',postCount:560},{id:'comm-regen-2',name:'Cover Crop Exchange',description:'Species selection, mixes, termination timing, and regional experiences.',memberCount:1800,icon:'flower
10-outline',iconColor:'#2563EB',iconBgColor:'#DBEAFE',postCount:380},{id:'comm-regen-3',name:'Market Garden',description:'No-till beds, succession planting, and direct-to-consumer sales strategies.',memberCount:3200,icon:'storefront-outline',iconColor:'#D97706',iconBgColor:'#FEF3C7',postCount:740}],posts:[{id:'post-regen-1',communityName:'Soil Health Network',authorName:'Miguel Torres',authorInitials:'MT',authorColor:'#059669',title:'Year 3 soil test results after switching to no-till: organic matter up 1.2%',body:'Started at 2.8% OM, now at 4.0% after 3 years of no-till, cover cropping, and compost applications. The biggest change was in water infiltration \u2014 went from 45 minutes per inch to 12 minutes. The soil is alive.',postType:'discussion',topicTags:[{label:'Soil Health',color:'#059669'},{label:'No-Till',color:'#D97706'}],upvotes:108,commentCount:29,viewCount:1600,timeAgo:'5h ago'},{id:'post-regen-2',communityName:'Cover Crop Exchange',authorName:'Sarah Greenfield',authorInitials:'SG',authorColor:'#2563EB',title:'My go-to 5-species cover crop mix for zone 6b',body:'After testing dozens of combos: crimson clover, cereal rye, daikon radish, field peas, and oats. Plant by Sept 15 in my area. The daikon breaks up compaction, the rye provides biomass, and the legumes fix nitrogen. Total seed cost about $45/acre.',postType:'tip',topicTags:[{label:'Cover Crops',color:'#2563EB'},{label:'Seed Mix',color:'#059669'}],upvotes:87,commentCount:22,viewCount:1200,timeAgo:'1d ago'}]},'lac-craft-business':{peersHeader:'SHG Members & Mentors',searchPlaceholder:'Search members',peers:[{id:'lac-1',name:'Phulmani Oraon',subtitle:'Lac bangles \xb7 Completed MUDRA loan',avatarInitials:'PO',avatarColor:'#E67E22',stat:'6 steps completed',isFollowing:!1},{id:'lac-2',name:'Champa Kumari',subtitle:'Puffed rice business \xb7 Mukhyamantri scheme',avatarInitials:'CK',avatarColor:'#27AE60',stat:'4 steps in progress',isFollowing:!1},{id:'lac-3',name:'Basanti Mahto',subtitle:'Tasar silk thread \xb7 Just started',avatarInitials:'BM',avatarColor:'#8E44AD',stat:'1 step completed',isFollowing:!1},{id:'lac-4',name:'Suman Tirkey',subtitle:'PRADAN Field Coordinator \xb7 Khunti',avatarInitials:'ST',avatarColor:'#2980B9',stat:'4 programs published',isFollowing:!0},{id:'lac-5',name:'Rakesh Kumar Singh',subtitle:'Block Development Officer \xb7 Khunti',avatarInitials:'RS',avatarColor:'#C0392B',stat:'Government liaison',isFollowing:!1}],communities:[{id:'lac-comm-1',name:'Johar Mahila Mandal',description:'Self-help group for women artisans in Khunti block',memberCount:12,icon:'people',iconColor:'#E67E22',iconBgColor:'#FDF2E9',postCount:8},{id:'lac-comm-2',name:'PRADAN Jharkhand Network',description:'Livelihoods support across Ranchi, Khunti, and Hazaribagh',memberCount:340,icon:'globe',iconColor:'#2980B9',iconBgColor:'#EBF5FB',postCount:45}],posts:[{id:'lac-post-1',communityName:'Johar Mahila Mandal',authorName:'Phulmani Oraon',authorInitials:'PO',authorColor:'#E67E22',title:'MUDRA loan approved \u2014 what I learned',body:'Got \u20b940,000 from SBI Khunti. Took 3 visits. Make sure you get a receipt with application number on first visit.',postType:'tip',topicTags:[{label:'MUDRA',color:'#E67E22'},{label:'Bank Tips',color:'#27AE60'}],upvotes:12,commentCount:4,viewCount:67,timeAgo:'3d ago'},{id:'lac-post-2',communityName:'PRADAN Jharkhand Network',authorName:'Suman Tirkey',authorInitials:'ST',authorColor:'#2980B9',title:'New Mukhyamantri scheme guidelines for 2026',body:'Updated eligibility: income limit raised to \u20b96 lakh. Women in SHGs get priority processing. Contact your VO for applications.',postType:'discussion',topicTags:[{label:'Schemes',color:'#8E44AD'},{label:'Jharkhand',color:'#2980B9'}],upvotes:28,commentCount:11,viewCount:203,timeAgo:'1w ago'}]}}},2845,[]); 11__d(function(g,r,i,a,m,e,d){var t=r(d[0]).default;Object.defineProperty(e,"__esModule",{value:!0}),e.DiscoverEmptyState=function({icon:t="sparkles-outline",title:n,body:u,ctaLabel:f,onCtaPress:S}){return(0,r(d[6]).jsxs)(c.default,{style:s.container,children:[(0,r(d[6]).jsx)(r(d[7]).Ionicons,{name:t,size:36,color:r(d[8]).IOS_REGISTER.labelTertiary}),(0,r(d[6]).jsx)(o.default,{style:s.title,children:n}),u?(0,r(d[6]).jsx)(o.default,{style:s.body,children:u}):null,f&&S?(0,r(d[6]).jsx)(l.default,{style:s.cta,onPress:S,hitSlop:8,children:(0,r(d[6]).jsx)(o.default,{style:s.ctaText,children:f})}):null]})};t(r(d[1]));
11var l=t(r(d[2])),n=t(r(d[3])),o=t(r(d[4])),c=t(r(d[5]));const s=n.default.create({container:{alignItems:'center',paddingVertical:44,paddingHorizontal:32,gap:10},title:{fontSize:16,fontWeight:'700',color:r(d[8]).IOS_REGISTER.label,textAlign:'center'},body:{fontSize:14,lineHeight:20,color:r(d[8]).IOS_REGISTER.labelSecondary,textAlign:'center'},cta:{marginTop:6,borderRadius:999,paddingHorizontal:16,paddingVertical:9,backgroundColor:r(d[8]).IOS_COLORS.systemBlue},ctaText:{fontSize:14,fontWeight:'700',color:'#FFFFFF'}})},2846,[2,7,737,29,164,22,914,1728,1783]); 12__d(function(g,r,i,a,m,e,d){var t=r(d[0]).default;Object.defineProperty(e,"__esModule",{value:!0}),e.WatchFilterRow=h,e.default=void 0;t(r(d[1]));var o=t(r(d[2])),l=t(r(d[3])),n=t(r(d[4])),c=t(r(d[5])),s=t(r(d[6]));function h({categories:t,entities:o=[],selectedId:n,onSelect:c}){return(0,r(d[7]).jsxs)(l.default,{horizontal:!0,showsHorizontalScrollIndicator:!1,contentContainerStyle:p.row,style:p.scroll,children:[t.map(t=>(0,r(d[7]).jsx)(u,{chip:t,active:t.id===n,onPress:()=>c(t.id)},t.id)),o.length>0?(0,r(d[7]).jsx)(s.default,{style:p.divider}):null,o.map(t=>(0,r(d[7]).jsx)(u,{chip:t,active:t.id===n,onPress:()=>c(t.id)},t.id))]})}function u({chip:t,active:l,onPress:n}){return(0,r(d[7]).jsxs)(o.default,{onPress:n,style:[p.chip,t.avatar&&p.chipWithAvatar,l&&p.chipActive],accessibilityRole:"button",accessibilityState:{selected:l},children:[t.avatar?(0,r(d[7]).jsx)(s.default,{style:[p.chipAvatar,{backgroundColor:t.avatar.color}],children:(0,r(d[7]).jsx)(c.default,{style:p.chipAvatarText,children:t.avatar.text})}):null,(0,r(d[7]).jsx)(c.default,{style:[p.chipText,l&&p.chipTextActive],numberOfLines:1,children:t.label})]})}const p=n.default.create({scroll:{marginBottom:r(d[8]).IOS_SPACING.md},row:{flexDirection:'row',alignItems:'center',gap:8,paddingHorizontal:r(d[8]).IOS_SPACING.lg},divider:{width:n.default.hairlineWidth,alignSelf:'stretch',marginVertical:4,backgroundColor:'rgba(60,60,67,0.18)'},chip:{flexDirection:'row',alignItems:'center',gap:6,borderRadius:999,paddingHorizontal:12,paddingVertical:6,backgroundColor:r(d[8]).IOS_COLORS.secondarySystemGroupedBackground,borderWidth:n.default.hairlineWidth,borderColor:'rgba(60,60,67,0.10)'},chipWithAvatar:{paddingLeft:6},chipActive:{backgroundColor:'#DCEAFE',borderColor:'transparent'},chipAvatar:{width:20,height:20,borderRadius:10,alignItems:'center',justifyContent:'center',overflow:'hidden'},chipAvatarText:{fontSize:9,fontWeight:'800',color:'#FFFFFF'},chipText:{fontSize:13,fontWeight:'600',color:r(d[8]).IOS_COLORS.secondaryLabel},chipTextActive:{color:r(d[8]).IOS_COLORS.systemBlue}});e.default=h},2847,[2,7,737,109,29,164,22,914,1783]); 13__d(function(g,r,i,_a,m,e,d){var t=r(d[0]).default,o=r(d[1]).default;Object.defineProperty(e,"__esModule",{value:!0}),e.WatchNearbySection=S,e.default=void 0;var l=o(r(d[2])),n=t(r(d[3])),a=t(r(d[4])),s=t(r(d[5])),c=t(r(d[6]));const u=new Set(['following','crew']),f=new Set(['fleet','cohort']),p={private:{label:'Private',color:r(d[7]).IOS_COLORS.secondaryLabel,background:'#EFEFF3'},crew:{label:'Crew',color:'#0A6A56',background:'#DDF8F0'},cohort:{label:'Cohort',color:'#3155B5',background:'#E5EDFF'},program:{label:'Program',color:'#3155B5',background:'#E5EDFF'},following:{label:'Followers',color:'#5B2C83',background:'#F0E6FF'},fleet:{label:'Fleet',color:'#8A4B08',background:'#FFF4D6'},public:{label:'Public',color:r(d[7]).IOS_COLORS.secondaryLabel,background:'#EFEFF3'}};function h(t){const o=new Date(t).getTime();if(Number.isNaN(o))return'';const l=Math.floor((Date.now()-o)/6e4);if(l<1)return'just now';if(l<60)return`${l}m ago`;const n=Math.floor(l/60);if(n<24)return`${n}h ago`;const a=Math.floor(n/24);if(a<7)return`${a}d ago`;const s=Math.floor(a/7);return s<5?`${s}w ago`:new Date(t).toLocaleDateString(void 0,{month:'short',day:'numeric'})}function S({homeVenueLat:t,homeVenueLng:o,homeVenueLabel:a,interestSlug:p}){const h=null!=t&&null!=o,[S,b]=(0,l.useState)('all'),[x,O]=(0,l.useState)(!1),{data:I=[],isLoading:C}=(0,r(d[8]).useAtlasPeerSteps)({lat:t,lng:o,radiusKm:25,interestSlug:p,enabled:h}),j=(0,l.useMemo)(()=>I.filter(t=>
13'self'!==t.relationship).sort((t,o)=>o.set_at.localeCompare(t.set_at)),[I]),L=(0,l.useMemo)(()=>{const t=[{id:'all',label:'All'}];return j.some(t=>u.has(t.relationship))&&t.push({id:'people',label:'People'}),j.some(t=>f.has(t.relationship))&&t.push({id:'groups',label:'Groups'}),t},[j]),_=(0,l.useMemo)(()=>'people'===S?j.filter(t=>u.has(t.relationship)):'groups'===S?j.filter(t=>f.has(t.relationship)):j,[j,S]);return h?C?(0,r(d[9]).jsx)(s.default,{style:F.loading,children:"Loading\u2026"}):0===j.length?(0,r(d[9]).jsxs)(r(d[9]).Fragment,{children:[(0,r(d[9]).jsxs)(c.default,{children:[(0,r(d[9]).jsx)(r(d[12]).LocationFocusSuggestionPill,{focusLat:t,focusLng:o}),(0,r(d[9]).jsxs)(c.default,{style:F.emptyCard,children:[(0,r(d[9]).jsx)(r(d[10]).Ionicons,{name:"locate-outline",size:28,color:r(d[7]).IOS_COLORS.tertiaryLabel}),(0,r(d[9]).jsxs)(s.default,{style:F.emptyTitle,children:["Quiet around ",a??'you']}),(0,r(d[9]).jsx)(s.default,{style:F.emptyCopy,children:"Nobody nearby is working a step right now. Change your location focus to check another area."}),(0,r(d[9]).jsxs)(n.default,{style:F.setLocationBtn,onPress:()=>O(!0),children:[(0,r(d[9]).jsx)(r(d[10]).Ionicons,{name:"navigate",size:16,color:"#FFFFFF"}),(0,r(d[9]).jsx)(s.default,{style:F.setLocationBtnText,children:"Change location"})]})]})]}),(0,r(d[9]).jsx)(r(d[11]).HomeVenuePickerSheet,{visible:x,onDismiss:()=>O(!1)})]}):(0,r(d[9]).jsxs)(c.default,{style:F.section,children:[(0,r(d[9]).jsx)(r(d[12]).LocationFocusSuggestionPill,{focusLat:t,focusLng:o}),L.length>1?(0,r(d[9]).jsx)(r(d[13]).WatchFilterRow,{categories:L,selectedId:S,onSelect:t=>b(t)}):null,(0,r(d[9]).jsxs)(s.default,{style:F.sectionEyebrow,children:["Within 25km \xb7 ",a??'your area']}),_.length>0?(0,r(d[9]).jsx)(c.default,{style:F.feed,children:_.map(t=>(0,r(d[9]).jsx)(y,{step:t,interestSlug:p},t.step_id))}):(0,r(d[9]).jsxs)(c.default,{style:F.emptyCard,children:[(0,r(d[9]).jsx)(r(d[10]).Ionicons,{name:"filter-outline",size:28,color:r(d[7]).IOS_COLORS.tertiaryLabel}),(0,r(d[9]).jsx)(s.default,{style:F.emptyTitle,children:"No nearby activity from this source"}),(0,r(d[9]).jsx)(s.default,{style:F.emptyCopy,children:"Reset the source filter to see all nearby steps."}),(0,r(d[9]).jsxs)(n.default,{style:F.setLocationBtn,onPress:()=>b('all'),children:[(0,r(d[9]).jsx)(r(d[10]).Ionicons,{name:"layers-outline",size:16,color:"#FFFFFF"}),(0,r(d[9]).jsx)(s.default,{style:F.setLocationBtnText,children:"Show all nearby"})]})]})]}):(0,r(d[9]).jsxs)(r(d[9]).Fragment,{children:[(0,r(d[9]).jsxs)(c.default,{style:F.emptyCard,children:[(0,r(d[9]).jsx)(r(d[10]).Ionicons,{name:"location-outline",size:28,color:r(d[7]).IOS_COLORS.tertiaryLabel}),(0,r(d[9]).jsx)(s.default,{style:F.emptyTitle,children:"Set your location"}),(0,r(d[9]).jsx)(s.default,{style:F.emptyCopy,children:"Nearby surfaces people working steps around your current location. Set yours to light up this feed."}),(0,r(d[9]).jsxs)(n.default,{style:F.setLocationBtn,onPress:()=>O(!0),children:[(0,r(d[9]).jsx)(r(d[10]).Ionicons,{name:"navigate",size:16,color:"#FFFFFF"}),(0,r(d[9]).jsx)(s.default,{style:F.setLocationBtnText,children:"Set your location"})]})]}),(0,r(d[9]).jsx)(r(d[11]).HomeVenuePickerSheet,{visible:x,onDismiss:()=>O(!1)})]})}function y({step:t,interestSlug:o}){const l=p[t.audience]??p.private,a=(0,r(d[14]).getVisibilityLabels)(o),u='crew'===t.audience?a.crew:'fleet'===t.audience?a.fleet:l.label,f=t.preview_name??'Someone nearby';return(0,r(d[9]).jsxs)(n.default,{style:F.card,onPress:()=>{r(d[15]).router.push(`/step/${t.step_id}?readOnly=true&origin=watch`)},children:[(0,r(d[9]).jsxs)(c.default,{style:F.cardHeader,children:[(0,r(d[9]).jsx)(c.default,{style:F.personMark,children:(0,r(d[9]).jsx)(s.default,{style:F.personInitial,children:(f[0]??'?').toUpperCase()})}),(0,r(d[9]).jsxs)(c.default,{style:F.cardHeaderText,children:[(0,r(d[9]).jsx)(s.default,{style:F.personName,numberOfLines:1,children:f}),(0,r(d[9]).jsxs)(s.default,{style:F.personMeta,numberOfLines:1,children:[t.loc_precision??'Nearby'," \xb7 ",h(t.set_at)]})]}),(0,r(d[9]).jsx)(c.default,{style:[F.relPill,{backgroundColor:l.background}],children:(0,r(d[9]).jsx)(s.default,{style:[F.relText,{color:l.color}],children:u})})]}),t.step_title?.trim()?(0,r(d[9]).jsx)(s.default,{style:F.stepTitle,numberOfLines:2,children:t.step_title.trim()}):null]})}const F=a.default.create({section:{marginBottom:r(d[7]).IOS_SPACING.lg},sectionEyebrow:{fontSize:11,fontFamily:r(d[16]).fontFamily.mono,fontWeight:'500',letterSpacing:.6,color:r(d[7]).IOS_COLORS.secondaryLabel,textTransform:'uppercase',marginHorizontal:r(d[7]).IOS_SPACING.md,marginBottom:r(d[7]).IOS_SPACING.sm},feed:{paddingHorizontal:r(d[7]).IOS_SPACING.md,gap:r(d[7]).IOS_SPACING.sm},card:{backgroundColor:'#FFFFFF',borderRadius:14,padding:r(d[7]).IOS_SPACING.md,borderWidth:a.default.hairlineWidth,borderColor:r(d[7]).IOS_COLORS.separator},cardHeader:{flexDirection:'row',alignItems:'center',gap:10},stepTitle:{marginTop:r(d[7]).IOS_SPACING.sm,fontSize:16,fontFamily:r(d[16]).fontFamily.serif,fontWeight:'500',color:r(d[7]).IOS_COLORS.label,letterSpacing:-.25,lineHeight:20},personMark:{width:32,height:32,borderRadius:16,backgroundColor:'#1F6FEB',alignItems:'center',justifyContent:'center'},personInitial:{color:'#FFFFFF',fontSize:13,fontWeight:'700'},cardHeaderText:{flex:1},personName:{fontSize:14,fontWeight:'600',color:r(d[7]).IOS_COLORS.label,letterSpacing:-.2},personMeta:{fontSize:12,color:r(d[7]).IOS_COLORS.secondaryLabel,marginTop:2},relPill:{paddingHorizontal:8,paddingVertical:4,borderRadius:10},relText:{fontSize:10,fontFamily:r(d[16]).fontFamily.mono,fontWeight:'500',letterSpacing:.4,textTransform:'uppercase'}
13,emptyCard:{alignItems:'center',gap:8,paddingVertical:r(d[7]).IOS_SPACING.lg,paddingHorizontal:r(d[7]).IOS_SPACING.lg,marginHorizontal:r(d[7]).IOS_SPACING.md,backgroundColor:'#FFFFFF',borderRadius:14,borderWidth:a.default.hairlineWidth,borderColor:r(d[7]).IOS_COLORS.separator},emptyTitle:{fontSize:16,fontFamily:r(d[16]).fontFamily.serif,fontWeight:'500',color:r(d[7]).IOS_COLORS.label,letterSpacing:-.3,textAlign:'center'},emptyCopy:{fontSize:13,color:r(d[7]).IOS_COLORS.secondaryLabel,textAlign:'center',lineHeight:18},loading:{color:r(d[7]).IOS_COLORS.secondaryLabel,fontSize:13,paddingHorizontal:r(d[7]).IOS_SPACING.md},setLocationBtn:{flexDirection:'row',alignItems:'center',gap:6,marginTop:r(d[7]).IOS_SPACING.sm,paddingVertical:9,paddingHorizontal:16,borderRadius:10,backgroundColor:'#0A84FF'},setLocationBtnText:{color:'#FFFFFF',fontSize:14,fontWeight:'600',letterSpacing:-.2}});e.default=S},2848,[2,4,7,737,29,164,22,1783,2852,914,1728,1935,2853,2847,2074,1681,1818]);
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.