Show pre-sale close time as a duration before the event starts.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Michilis
2026-09-17 15:40:30 +00:00
co-authored by Cursor
parent a70333f5e4
commit 0b7f0a474e
5 changed files with 30 additions and 16 deletions
@@ -10,7 +10,7 @@ import DurationInput from '@/components/admin/DurationInput';
import { StarIcon, TrashIcon, XMarkIcon } from '@heroicons/react/24/outline';
import toast from 'react-hot-toast';
import { useLanguage } from '@/context/LanguageContext';
import { parseDate, EVENT_TIMEZONE, minutesToDuration } from '@/lib/utils';
import { parseDate, EVENT_TIMEZONE, formatDurationWords } from '@/lib/utils';
interface EventFormData {
title: string;
@@ -43,12 +43,6 @@ interface PresaleDefaults {
const FALLBACK_PRESALE_DEFAULTS: PresaleDefaults = { enabled: true, minutesBefore: 120 };
function describeDuration(minutes: number): string {
const { value, unit } = minutesToDuration(minutes);
const label = value === 1 ? unit.slice(0, -1) : unit;
return `${value} ${label}`;
}
const EMPTY_FORM: EventFormData = {
title: '', titleEs: '', slug: '', description: '', descriptionEs: '',
shortDescription: '', shortDescriptionEs: '',
@@ -425,7 +419,7 @@ export default function EventFormModal({
)}
<p className="text-xs text-gray-500">
Site default: {presaleDefaults.enabled
? `closes ${describeDuration(presaleDefaults.minutesBefore)} before the start`
? `closes ${formatDurationWords(presaleDefaults.minutesBefore)} before the start`
: 'off'}
{' '}(Admin Settings General).
</p>