/** @jsxRuntime classic */ /** @jsx jsx */ import { css, jsx } from '@emotion/react'; import dayjs from 'dayjs'; import { Avatar, BnIcon, Button, Tag, Typography } from '../../components'; import { ContainerWithIcon } from '../../components/containerWithIcon'; import { useColors } from '../../hooks/useColors'; import { ETypography, ETypographyColor, IColors, Icons, } from '../../types/theme'; import utc from 'dayjs/plugin/utc'; import { useTimeFormats } from '../../hooks/useTimeFormats'; dayjs.extend(utc); const closeButton = css` position: absolute; top: 16px; right: 16px; `; const slotHeader = css` display: flex; flex-direction: column; padding: 36px 40px 24px 40px; .line { display: flex; align-items: center; div { margin-right: 4px; } } `; const dividerCss = (colors: IColors) => css` border-bottom: 1px solid ${colors.bg_border_seperator}; `; const bodyCss = css` padding: 24px 40px; display: flex; flex-direction: column; .line { display: flex; align-items: center; div { margin-right: 4px; } } `; const footerCss = css` display: flex; padding: 16px 40px; justify-content: flex-end; `; export const SlotBody = ({ state, toggle, isEditable, triggerEvent, }: { state: any; toggle: () => void; isEditable: boolean; triggerEvent: (v: any) => void; }) => { const { generateDelta } = useTimeFormats(); const { colors } = useColors(); const diff = dayjs .utc(state.endTime) .diff(dayjs.utc(state.startTime), 'minutes'); const reservationStatusMapper = { active: 'green', }; const isProgram = state?.reservation?.creatorType === 'program_season'; return (
{state?.reservation?.name}
Reservation #{state.reservationId} {/* */}
{/*
Created by {state?.reservation?.userCreatorId}
*/}
{state?.reservation?.customer?.name}
{/* */}
{dayjs.utc(state?.startDate).format('ddd, MMM DD')} {dayjs.utc(state?.startTime).format('hh:mma')} - {dayjs.utc(state?.endTime).format('hh:mma')} {`( ${generateDelta(diff)} )`}
{/*
Weekly on Mon & Wed 1 / 3 Slots
*/}
{state?.space?.name && (
{state?.space?.name} {/* $120/Hr */}
)} {isProgram && false && (
should be participants
)} {state?.reservation?.description && ( {state?.reservation?.description} )} {state?.publicNotes && ( {state?.publicNotes} )} {/* Add-Ons
Filed Sixth 2 $120/Hr
*/}
{isEditable && (
)}
); };