From 7535a2a61eb7957dd1b5729f72088ddd94e96759 Mon Sep 17 00:00:00 2001 From: Benji Grant Date: Sun, 18 Jun 2023 10:27:58 +1000 Subject: [PATCH] Add selection control buttons --- .../AvailabilityEditor.module.scss | 5 +++ .../AvailabilityEditor/AvailabilityEditor.tsx | 37 ++++++++++++------- .../components/Content/Content.module.scss | 2 + 3 files changed, 30 insertions(+), 14 deletions(-) create mode 100644 frontend/src/components/AvailabilityEditor/AvailabilityEditor.module.scss diff --git a/frontend/src/components/AvailabilityEditor/AvailabilityEditor.module.scss b/frontend/src/components/AvailabilityEditor/AvailabilityEditor.module.scss new file mode 100644 index 0000000..e7f7115 --- /dev/null +++ b/frontend/src/components/AvailabilityEditor/AvailabilityEditor.module.scss @@ -0,0 +1,5 @@ +.selectionControls { + display: flex; + align-items: center; + gap: 1em; +} diff --git a/frontend/src/components/AvailabilityEditor/AvailabilityEditor.tsx b/frontend/src/components/AvailabilityEditor/AvailabilityEditor.tsx index d46cb6e..b684e67 100644 --- a/frontend/src/components/AvailabilityEditor/AvailabilityEditor.tsx +++ b/frontend/src/components/AvailabilityEditor/AvailabilityEditor.tsx @@ -1,12 +1,14 @@ import { Fragment, useCallback, useRef, useState } from 'react' +import Button from '/src/components/Button/Button' import Content from '/src/components/Content/Content' import GoogleCalendar from '/src/components/GoogleCalendar/GoogleCalendar' import { usePalette } from '/src/hooks/usePalette' import { useTranslation } from '/src/i18n/client' import { calculateTable, makeClass, parseSpecificDate } from '/src/utils' -import styles from '../AvailabilityViewer/AvailabilityViewer.module.scss' +import styles from './AvailabilityEditor.module.scss' +import viewerStyles from '../AvailabilityViewer/AvailabilityViewer.module.scss' import Skeleton from '../AvailabilityViewer/components/Skeleton/Skeleton' interface AvailabilityEditorProps { @@ -35,7 +37,14 @@ const AvailabilityEditor = ({ times, timezone, value = [], onChange, table }: Av const palette = usePalette(2) return <> - {t('you.info')} + +
{t('you.info')}
+
+ + + +
+
{times[0].length === 13 &&
} -
+
-
-
+
+
{table?.rows.map((row, i) => -
- {row &&
{table?.columns.map((column, x) => - {column ?
- {column.header.dateLabel && } - + {column ?
+ {column.header.dateLabel && } +
@@ -75,7 +84,7 @@ const AvailabilityEditor = ({ times, timezone, value = [], onChange, table }: Av if (y === column.cells.length - 1) return null if (!cell) return
('greyed_times')} /> @@ -87,7 +96,7 @@ const AvailabilityEditor = ({ times, timezone, value = [], onChange, table }: Av return
})}
-
:
} +
:
} ) ?? }
diff --git a/frontend/src/components/Content/Content.module.scss b/frontend/src/components/Content/Content.module.scss index 387f1d4..b27a2ce 100644 --- a/frontend/src/components/Content/Content.module.scss +++ b/frontend/src/components/Content/Content.module.scss @@ -9,6 +9,8 @@ align-items: center; justify-content: center; text-align: center; + flex-direction: column; + gap: 1em; } .slim {