28 lines
840 B
TypeScript
28 lines
840 B
TypeScript
|
import { Booking } from "@prisma/client";
|
||
|
import dayjs from "dayjs";
|
||
|
import { Modal, Blocks, Elements, Bits, Message } from "slack-block-builder";
|
||
|
|
||
|
import { BASE_URL } from "@calcom/lib/constants";
|
||
|
|
||
|
const TodayMessage = (bookings: Booking[]) => {
|
||
|
if (bookings.length === 0) {
|
||
|
return Message()
|
||
|
.blocks(Blocks.Section({ text: "You do not have any bookings for today." }))
|
||
|
.asUser()
|
||
|
.buildToJSON();
|
||
|
}
|
||
|
return Message()
|
||
|
.blocks(
|
||
|
Blocks.Section({ text: `Todays Bookings.` }),
|
||
|
Blocks.Divider(),
|
||
|
bookings.map((booking) =>
|
||
|
Blocks.Section({
|
||
|
text: `${booking.title} | ${dayjs(booking.startTime).format("HH:mm")}`,
|
||
|
}).accessory(Elements.Button({ text: "Cancel", url: `${BASE_URL}/cancel/${booking.uid}` }))
|
||
|
)
|
||
|
)
|
||
|
.buildToObject();
|
||
|
};
|
||
|
|
||
|
export default TodayMessage;
|