Something went wrong. Try again.
Website hub for the atmosphere community, aggregating posts, events, regional, and more
Something went wrong. Try again.
1.2 kB · 61 lines
TypeScript
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162export interface CommunityEvent { name: string; startsAt: Date; endsAt?: Date; description?: string; mode: 'inperson' | 'virtual' | 'hybrid'; status: string; location?: string; locationDetail?: LocationDetail; /** Public-facing URL for this event (Smoke Signal / OpenMeet / etc.). */ uri: string; /** at:// URI of the underlying event record. */ atUri: string; source: string; rkey: string; did: string;}
export interface LocationDetail { type: 'address' | 'geo' | 'hthree'; name?: string; locality?: string; region?: string; country?: string; latitude?: number; longitude?: number;}
export interface SharedPost { title: string; url: string; textContent?: string; publishedAt?: Date; sharedAt: Date; author: AtProfile; sharedBy?: AtProfile; source: string; documentUri: string; shareRecordUri: string; shareRecordRkey: string; tags?: string[];}
export interface BlogPost { title: string; url: string; textContent?: string; publishedAt: Date; author: AtProfile; path?: string; tags?: string[]; rkey: string; did: string;}
export interface AtProfile { did: string; handle: string; displayName?: string; avatar?: string;}