Add UI to trips

This commit is contained in:
Logan
2026-06-21 10:12:33 -04:00
parent 8edb717dd2
commit 7b9aefbcc5
8 changed files with 1078 additions and 221 deletions
+15 -9
View File
@@ -316,7 +316,8 @@ class TripCommands(commands.Cog):
trip="The trip to add this event to.",
title="Event title",
date="Date of the event (YYYY-MM-DD or MM/DD/YYYY)",
time="Time of the event (e.g. 14:00 or 2:00 PM) — optional",
start_time="Start time (e.g. 14:00 or 2:00 PM) — optional",
end_time="End time (e.g. 16:00 or 4:00 PM) — optional",
location="Location override (optional, inherits trip location if omitted)",
maps_link="Google Maps link for this event (optional)",
notes="Any additional notes (optional)",
@@ -328,7 +329,8 @@ class TripCommands(commands.Cog):
trip: str,
title: str,
date: str,
time: Optional[str] = None,
start_time: Optional[str] = None,
end_time: Optional[str] = None,
location: Optional[str] = None,
maps_link: Optional[str] = None,
notes: Optional[str] = None,
@@ -340,17 +342,21 @@ class TripCommands(commands.Cog):
await interaction.followup.send("Invalid date format. Use YYYY-MM-DD.")
return
parsed_time = _parse_time(time) if time else None
if time and parsed_time is None:
await interaction.followup.send(
"Couldn't parse that time. Try `14:00` or `2:00 PM`."
)
parsed_start = _parse_time(start_time) if start_time else None
parsed_end = _parse_time(end_time) if end_time else None
if start_time and parsed_start is None:
await interaction.followup.send("Couldn't parse start time. Try `14:00` or `2:00 PM`.")
return
if end_time and parsed_end is None:
await interaction.followup.send("Couldn't parse end time. Try `16:00` or `4:00 PM`.")
return
event = await c2.create_trip_event(trip, {
"title": title,
"date": parsed_date.strftime("%Y-%m-%d"),
"time": parsed_time,
"start_time": parsed_start,
"end_time": parsed_end,
"location": location,
"maps_link": maps_link,
"notes": notes,
@@ -362,7 +368,7 @@ class TripCommands(commands.Cog):
)
return
time_display = f" at {_fmt_time(parsed_time)}" if parsed_time else ""
time_display = f" at {_fmt_time(parsed_start)}" if parsed_start else ""
await interaction.followup.send(
f"Added **{title}**{time_display} on {_fmt_date(parsed_date.strftime('%Y-%m-%d'))}."
)