feat: organizers, meetups UI, Plausible analytics, and migration tooling
- Add organizer model/API, admin and public organizer pages, meetup cards - Refresh events/home/contact; add calendar dialog and carousel components - Optional Plausible via NEXT_PUBLIC_PLAUSIBLE_* env vars in root layout - Prisma migration, seed updates, baseline-and-migrate script Made-with: Cursor
This commit is contained in:
@@ -56,6 +56,16 @@ async function main() {
|
||||
});
|
||||
}
|
||||
|
||||
const defaultOrganizer = await prisma.organizer.upsert({
|
||||
where: { slug: 'belgian-bitcoin-embassy' },
|
||||
update: {},
|
||||
create: {
|
||||
id: '00000000-0000-4000-8000-000000000001',
|
||||
name: 'Belgian Bitcoin Embassy',
|
||||
slug: 'belgian-bitcoin-embassy',
|
||||
},
|
||||
});
|
||||
|
||||
const existingMeetup = await prisma.meetup.findFirst({
|
||||
where: { title: 'Monthly Bitcoin Meetup' },
|
||||
});
|
||||
@@ -70,8 +80,9 @@ async function main() {
|
||||
time: '19:00',
|
||||
location: 'Brussels, Belgium',
|
||||
link: 'https://meetup.com/example',
|
||||
status: 'UPCOMING',
|
||||
status: 'PUBLISHED',
|
||||
featured: true,
|
||||
organizerId: defaultOrganizer.id,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user