From 63d763cbaff73fc40afb665b3a825fc41d4e9ee5 Mon Sep 17 00:00:00 2001 From: Fabian Posenau Date: Sun, 19 Feb 2023 20:52:42 +0100 Subject: [PATCH] Feature/#276/qrcodes (#289) * bugfix: wrong format when on 12h format * update: website link in placeholder --------- Co-authored-by: Fabian Posenau Co-authored-by: cv <34649812+cpvalente@users.noreply.github.com> --- .../src/common/models/EventData.type.ts | 8 ++- .../features/modals/EventSettingsModal.jsx | 59 ++++++++++++------- apps/client/src/features/table/utils.js | 3 +- .../features/viewers/backstage/Backstage.tsx | 24 ++------ .../src/features/viewers/public/Public.tsx | 19 ++---- .../features/viewers/studio/StudioClock.jsx | 2 +- .../server/src/controllers/eventController.js | 3 +- .../controllers/eventController.validate.js | 3 +- apps/server/src/models/dataModel.js | 3 +- apps/server/src/utils/parser.js | 22 ++++--- apps/server/src/utils/parserFunctions.js | 3 +- apps/server/test-db/db.json | 3 +- demo-db/db.json | 3 +- 13 files changed, 81 insertions(+), 74 deletions(-) diff --git a/apps/client/src/common/models/EventData.type.ts b/apps/client/src/common/models/EventData.type.ts index 1f71424ae..9c966be12 100644 --- a/apps/client/src/common/models/EventData.type.ts +++ b/apps/client/src/common/models/EventData.type.ts @@ -1,15 +1,17 @@ export type EventDataType = { title: string; - url: string; + publicUrl: string; publicInfo: string; + backstageUrl: string; backstageInfo: string; endMessage: string; -} +}; export const eventDataPlaceholder: EventDataType = { title: '', - url: '', + publicUrl: '', publicInfo: '', + backstageUrl: '', backstageInfo: '', endMessage: '', }; diff --git a/apps/client/src/features/modals/EventSettingsModal.jsx b/apps/client/src/features/modals/EventSettingsModal.jsx index 553670264..da12197d9 100644 --- a/apps/client/src/features/modals/EventSettingsModal.jsx +++ b/apps/client/src/features/modals/EventSettingsModal.jsx @@ -27,8 +27,9 @@ export default function SettingsModal() { setFormData({ title: data.title, - url: data.url, + publicUrl: data.publicUrl, publicInfo: data.publicInfo, + backstageUrl: data.backstageUrl, backstageInfo: data.backstageInfo, endMessage: data.endMessage, }); @@ -45,7 +46,7 @@ export default function SettingsModal() { try { await postEvent(formData); } catch (error) { - emitError(`Error saving event settings: ${error}`) + emitError(`Error saving event settings: ${error}`); } finally { await refetch(); setChanged(false); @@ -53,7 +54,7 @@ export default function SettingsModal() { setSubmitting(false); }, - [emitError, formData, refetch] + [emitError, formData, refetch], ); /** @@ -69,12 +70,15 @@ export default function SettingsModal() { * @param {string} field - object parameter to update * @param {string} value - new object parameter value */ - const handleChange = useCallback((field, value) => { - const temp = { ...formData }; - temp[field] = value; - setFormData(temp); - setChanged(true); - },[formData]); + const handleChange = useCallback( + (field, value) => { + const temp = { ...formData }; + temp[field] = value; + setFormData(temp); + setChanged(true); + }, + [formData], + ); return ( @@ -99,19 +103,19 @@ export default function SettingsModal() {
Additional Screen Info
- - Event URL + + Public URL
- Shown as a QR code in some views + QR code to be shown on public screens
handleChange('url', event.target.value)} + name='publicUrl' + placeholder='www.getontime.no' + value={formData.publicUrl} + onChange={(event) => handleChange('publicUrl', event.target.value)} />
@@ -130,6 +134,22 @@ export default function SettingsModal() { onChange={(event) => handleChange('publicInfo', event.target.value)} />
+
+ + Backstage URL + +
+ QR to be shown on backstage screens +
+
+ handleChange('backstageUrl', event.target.value)} + /> +
Backstage Info @@ -165,12 +185,7 @@ export default function SettingsModal() { />
- +
); diff --git a/apps/client/src/features/table/utils.js b/apps/client/src/features/table/utils.js index d48458a29..28d9c5cd5 100644 --- a/apps/client/src/features/table/utils.js +++ b/apps/client/src/features/table/utils.js @@ -39,7 +39,8 @@ export const makeTable = (headerData, tableData, userFields) => { const data = [ ['Ontime ยท Schedule Template'], ['Event Name', headerData?.title || ''], - ['Event URL', headerData?.url || ''], + ['Public URL', headerData?.publicUrl || ''], + ['Backstage URL', headerData?.backstageUrl || ''], [], ]; diff --git a/apps/client/src/features/viewers/backstage/Backstage.tsx b/apps/client/src/features/viewers/backstage/Backstage.tsx index 231fc6248..f48897e12 100644 --- a/apps/client/src/features/viewers/backstage/Backstage.tsx +++ b/apps/client/src/features/viewers/backstage/Backstage.tsx @@ -83,12 +83,7 @@ export default function Backstage(props) { -