Feature: Walk-Einladungen und RSVP-System
Gassi-Treffen bekommen ein vollständiges Einladungs- und RSVP-System: - Neue Tabelle walk_invitations (walk_id, user_id, status, Zeitstempel) - Backend: /invite-candidates, /invite, /rsvp, /participants Endpoints - Push-Notification beim Einladen - Frontend: RSVP-Buttons (Zusagen/Vielleicht/Absagen), Teilnehmerliste mit Avatar-Initialen und farbkodierten RSVP-Badges, Einladen-Modal - SW by-v205, APP_VER 173
This commit is contained in:
parent
e3230237a2
commit
066b722c5e
7 changed files with 489 additions and 18 deletions
|
|
@ -227,9 +227,13 @@ const API = (() => {
|
|||
create(data) { return post('/walks', data); },
|
||||
update(id, data) { return patch(`/walks/${id}`, data); },
|
||||
cancel(id) { return del(`/walks/${id}`); },
|
||||
join(id, dogIds) { return post(`/walks/${id}/join`, { dog_ids: dogIds }); },
|
||||
leave(id) { return del(`/walks/${id}/join`); },
|
||||
nearby(lat, lon) { return get(`/walks/nearby?lat=${lat}&lon=${lon}`); },
|
||||
join(id, dogIds) { return post(`/walks/${id}/join`, { dog_ids: dogIds }); },
|
||||
leave(id) { return del(`/walks/${id}/join`); },
|
||||
nearby(lat, lon) { return get(`/walks/nearby?lat=${lat}&lon=${lon}`); },
|
||||
inviteCandidates(id) { return get(`/walks/${id}/invite-candidates`); },
|
||||
invite(id, friendId) { return post(`/walks/${id}/invite`, { friend_id: friendId }); },
|
||||
rsvp(id, status) { return post(`/walks/${id}/rsvp`, { status }); },
|
||||
participants(id) { return get(`/walks/${id}/participants`); },
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue