import { format, isToday } from "date-fns";
import { utcToZonedTime } from "date-fns-tz"
import { GuildScheduledEvent } from "discord.js";
import { logger } from "../logger";
import de from "date-fns/locale/de";

export function createDateStringFromEvent(eventStartDate:Date, requestId: string, guildId?: string): string {
	if (!eventStartDate) {
		logger.error("Event has no start. Cannot create dateString.", { guildId, requestId })
		return `"habe keinen Startzeitpunkt ermitteln können"`
	}

	const timeZone = 'Europe/Berlin'
	const zonedDateTime = utcToZonedTime(eventStartDate, timeZone)
	const time = format(zonedDateTime, "HH:mm", { locale: de })

	if (isToday(zonedDateTime)) {
		return `heute um ${time}`
	}

	const date = format(zonedDateTime, "eeee dd.MM.", { locale: de })
	return `am ${date} um ${time}`
}
