Add event + add job form

- Modified handlers to catch errors
- Added placeholder "No location added", etc. messages to Job/Event cards
- Added EventForm.js and JobForm.js for adding
- EventForm and JobForm are animated to slide up from bottom
- Modified openProfile/closeProfile logic
- Fixed SidebarItem().onClick() firing twice bug (switched to .onTap)
- Profile is now animated to slide up from the bottom
This commit is contained in:
2026-03-19 15:32:51 -04:00
parent 8dd2312aa0
commit 58589c56dd
11 changed files with 532 additions and 151 deletions

View File

@@ -4,47 +4,91 @@ const handlers = {
},
async addEvent(newEvent, networkId, creatorId) {
return await global.db.events.add(newEvent, networkId, creatorId)
try {
return await global.db.events.add(newEvent, networkId, creatorId)
} catch (e) {
return { status: e.status, error: e.message }
}
},
async editEvent(id, updatedEvent, networkId, userId) {
return await global.db.events.edit(id, updatedEvent, networkId, userId);
try {
return await global.db.events.edit(id, updatedEvent, networkId, userId);
} catch (e) {
return { status: e.status, error: e.message }
}
},
async deleteEvent(id, networkId, userId) {
return await global.db.events.delete(id, networkId, userId);
try {
return await global.db.events.delete(id, networkId, userId);
} catch (e) {
return { status: e.status, error: e.message }
}
},
async getEvent(id) {
return global.db.events.getById(id)
try {
return global.db.events.getById(id)
} catch (e) {
return { status: e.status, error: e.message }
}
},
async getEvents(networkId) {
return global.db.events.getByNetwork(networkId)
try {
return global.db.events.getByNetwork(networkId)
} catch (e) {
return { status: e.status, error: e.message }
}
},
async addJob(newJob, networkId, creatorId) {
return await global.db.jobs.add(newJob, networkId, creatorId);
try {
return await global.db.jobs.add(newJob, networkId, creatorId);
} catch (e) {
return { status: e.status, error: e.message }
}
},
async editJob(id, updatedJob, networkId, userId) {
return await global.db.jobs.edit(id, updatedJob, networkId, userId);
try {
return await global.db.jobs.edit(id, updatedJob, networkId, userId);
} catch (e) {
return { status: e.status, error: e.message }
}
},
async deleteJob(id, networkId, userId) {
return await global.db.jobs.delete(id, networkId, userId);
try {
return await global.db.jobs.delete(id, networkId, userId);
} catch (e) {
return { status: e.status, error: e.message }
}
},
async getJob(id) {
return await global.db.jobs.getById(id)
try {
return await global.db.jobs.getById(id)
} catch (e) {
return { status: e.status, error: e.message }
}
},
async getJobs(networkId) {
return global.db.jobs.getByNetwork(networkId)
try {
return global.db.jobs.getByNetwork(networkId)
} catch (e) {
return { status: e.status, error: e.message }
}
},
async editBio(newBio, userId) {
return global.db.members.editBio(newBio, userId)
try {
return global.db.members.editBio(newBio, userId)
} catch (e) {
return { status: e.status, error: e.message }
}
}
}