{hero.title}
+{hero.description}
+ +diff --git a/src/components/AvatarPile.astro b/src/components/AvatarPile.astro new file mode 100644 index 0000000..615fc01 --- /dev/null +++ b/src/components/AvatarPile.astro @@ -0,0 +1,56 @@ +--- +import Avatar from './Avatar.astro'; +import type { UserPublic } from '../lib/db'; + +interface Props { + users: UserPublic[]; + max?: number; + size?: number; + /** Border color between overlapping avatars — defaults to --surface for cream surfaces. */ + borderColor?: string; +} + +const { users, max = 5, size = 22, borderColor = 'var(--surface)' } = Astro.props; + +const shown = users.slice(0, max); +const overflow = Math.max(0, users.length - shown.length); +--- +
Events
+Dinners, working sessions, the occasional summit. Always small, always off the record.
+{hero.description}
+ ++ Nothing scheduled yet — when we have something, you'll be the first to know. +
+Also coming up
+Past gatherings
+ View all → ++ {attended} attended · {hasNotes ? 'Notes shared' : 'No notes'} +
+Past gatherings
+Everything the council has gathered around so far.
+ ← Back to upcoming +No past events yet.
+ ) : ( ++ {attended} attended · {hasNotes ? 'Notes shared' : 'No notes'} +
+