From 84517d06a3d7948f6ed8fbf692323318a9df92eb Mon Sep 17 00:00:00 2001 From: Midas Date: Tue, 20 Jun 2023 09:22:25 +0100 Subject: [PATCH] Added feature to copy the list of availabilities --- .../AvailabilityViewer/AvailabilityViewer.tsx | 13 ++++++++++++- frontend/src/i18n/locales/en-GB/event.json | 8 +++++++- frontend/src/i18n/locales/en/event.json | 9 ++++++++- frontend/src/i18n/locales/pt-BR/event.json | 8 +++++++- frontend/src/i18n/locales/pt-PT/event.json | 7 ++++++- 5 files changed, 40 insertions(+), 5 deletions(-) diff --git a/frontend/src/components/AvailabilityViewer/AvailabilityViewer.tsx b/frontend/src/components/AvailabilityViewer/AvailabilityViewer.tsx index 05f31e1..e667c41 100644 --- a/frontend/src/components/AvailabilityViewer/AvailabilityViewer.tsx +++ b/frontend/src/components/AvailabilityViewer/AvailabilityViewer.tsx @@ -101,7 +101,18 @@ const AvailabilityViewer = ({ times, people, table }: AvailabilityViewerProps) = people: peopleHere, }) }} + onMouseDown={e => { + setTooltip({ + anchor: e.currentTarget, + available: `${peopleHere.length} / ${filteredPeople.length} ${t('available')}`, + date: cell.label, + people: peopleHere, + }) + let text2Clipboard = t("copy.message") + cell.label + ":\n" + peopleHere.join(';\n') + ";"; + navigator.clipboard.writeText(text2Clipboard); + }} onMouseLeave={() => setTooltip(undefined)} + /> })} @@ -130,7 +141,7 @@ const AvailabilityViewer = ({ times, people, table }: AvailabilityViewerProps) = /> {t('group.info1')} - + {t('group.info3')} {people.length > 1 && <> {t('group.info2')}
diff --git a/frontend/src/i18n/locales/en-GB/event.json b/frontend/src/i18n/locales/en-GB/event.json index 1c76d6b..0db3146 100644 --- a/frontend/src/i18n/locales/en-GB/event.json +++ b/frontend/src/i18n/locales/en-GB/event.json @@ -49,7 +49,13 @@ "group": { "legend_tooltip": "Click to highlight highest availability", "info1": "Hover or tap the calendar below to see who is available", - "info2": "Click the names below to view people individually" + "info2": "Click the names below to view people individually", + "info3": "Click on a time slot to copy a list of people who are available then" + }, + + "copy": { + "alert": "List of available people copied to clipboard!", + "message": "List of available people at " }, "you": { diff --git a/frontend/src/i18n/locales/en/event.json b/frontend/src/i18n/locales/en/event.json index b86712d..e56cbef 100644 --- a/frontend/src/i18n/locales/en/event.json +++ b/frontend/src/i18n/locales/en/event.json @@ -49,7 +49,14 @@ "group": { "legend_tooltip": "Click to highlight highest availability", "info1": "Hover or tap the calendar below to see who is available", - "info2": "Click the names below to view people individually" + "info2": "Click the names below to view people individually", + "info3": "Click on a time slot to copy a list of people who are available then" + + }, + + "copy": { + "alert": "List of available people copied to clipboard!", + "message": "List of available people at " }, "you": { diff --git a/frontend/src/i18n/locales/pt-BR/event.json b/frontend/src/i18n/locales/pt-BR/event.json index 5c713c8..162a350 100644 --- a/frontend/src/i18n/locales/pt-BR/event.json +++ b/frontend/src/i18n/locales/pt-BR/event.json @@ -49,7 +49,13 @@ "group": { "legend_tooltip": "Clique para destacar o melhor tempo", "info1": "Passe o mouse ou toque o calendário pra ver quem está livre", - "info2": "Clique nos nomes pra ver a disponibilidade de cada um" + "info2": "Clique nos nomes pra ver a disponibilidade de cada um", + "info3": "Clica num slot para copiar uma lista das pessoas disponíveis nesse horário" + }, + + "copy": { + "alert": "Lista de pessoas disponíveis copiada!", + "message": "Pessoas diponíveis a " }, "you": { diff --git a/frontend/src/i18n/locales/pt-PT/event.json b/frontend/src/i18n/locales/pt-PT/event.json index 4867d47..0df2e3a 100644 --- a/frontend/src/i18n/locales/pt-PT/event.json +++ b/frontend/src/i18n/locales/pt-PT/event.json @@ -49,7 +49,12 @@ "group": { "legend_tooltip": "Clica para realçar as horas com maior disponibilidade", "info1": "Passa o cursor ou clica no calendário abaixo para ver quem está disponível", - "info2": "Clica nos nomes abaixo para ver a disponibilidade de cada pessoa" + "info2": "Clica nos nomes abaixo para ver a disponibilidade de cada pessoa", + "info3": "Clica num slot para copiar uma lista das pessoas disponíveis nesse horário" + }, + "copy": { + "alert": "Lista de pessoas disponíveis copiada!", + "message": "Pessoas diponíveis a " }, "you": {