From 0e66a015e82e645ce0e0b112d82985a5cd64b9ab Mon Sep 17 00:00:00 2001 From: Dennis Schoepf Date: Tue, 3 Aug 2021 17:43:10 +0200 Subject: [PATCH] Fix logging problems --- src/logger.ts | 26 +++++++++++++---- src/sketchObjects/Revealable.ts | 11 +++++++ src/ui/info.ts | 32 ++++++++++----------- src/ui/intro.ts | 51 +++++++++++++++++++++++++++++---- 4 files changed, 93 insertions(+), 27 deletions(-) diff --git a/src/logger.ts b/src/logger.ts index 26dd21e..02415f6 100644 --- a/src/logger.ts +++ b/src/logger.ts @@ -50,16 +50,32 @@ export class Logger { public log(ev: LogEvent) { console.log('Logging event'); const uid = store.getState().uid; - const logEvKey = this.database.ref(uid).child('logs').push().key; - this.database.ref(uid).update({ [`logs/${logEvKey}`]: ev }); + if (uid) { + const logEvKey = this.database.ref(uid).child('logs').push().key; + + this.database.ref(uid).update({ [`logs/${logEvKey}`]: ev }); + } } - public logPersonalData() {} + public logPersonalData(name: string, age: number, background: string, experience: string) { + const uid = store.getState().uid; - public logKnowledgeQuestions() {} + this.database.ref(uid).set({ + name, + age, + background, + experience, + }); + } - public logGeneralQuestions() {} + public logQuestions(answers: string[], isKQ: boolean = false) { + const uid = store.getState().uid; + + this.database.ref(uid).set({ + [`${isKQ ? 'knowledge' : 'general'}Questions`]: answers, + }); + } } export const logger = new Logger(); diff --git a/src/sketchObjects/Revealable.ts b/src/sketchObjects/Revealable.ts index 526a4e9..cbaffa0 100644 --- a/src/sketchObjects/Revealable.ts +++ b/src/sketchObjects/Revealable.ts @@ -131,6 +131,17 @@ export class Revealable { if (this.isHovered && !this.wasInteractedWith) { this.wasInteractedWith = true; + logger.log({ + type: + this.type === RevealableTypes.CONTRIBUTOR + ? 'NS' + : this.type === RevealableTypes.LEGACY + ? 'LS' + : 'PS', + timestamp: Date.now(), + message: `Showing info message for ${this.name}`, + }); + store.getState().addInfoMessage({ type: this.type, headline: this.name, diff --git a/src/ui/info.ts b/src/ui/info.ts index 0e601b6..6eb548d 100644 --- a/src/ui/info.ts +++ b/src/ui/info.ts @@ -80,22 +80,16 @@ export class InfoMessage { } private show() { - logger.log({ - type: - this.type === RevealableTypes.CONTRIBUTOR - ? 'NS' - : this.type === RevealableTypes.LEGACY - ? 'LS' - : 'PS', - timestamp: Date.now(), - message: `Showing info message for ${this.name}`, - }); - this.infoMessage.style.display = 'block'; this.backdrop.style.display = 'block'; } private hide() { + this.infoMessage.style.display = 'none'; + this.backdrop.style.display = 'none'; + } + + private onBackdropClick() { logger.log({ type: this.type === RevealableTypes.CONTRIBUTOR @@ -106,16 +100,20 @@ export class InfoMessage { timestamp: Date.now(), message: `Closing info message for ${this.name}`, }); - - this.infoMessage.style.display = 'none'; - this.backdrop.style.display = 'none'; - } - - private onBackdropClick() { store.setState({ infoMessageShown: false }); } private onCloseClick() { + logger.log({ + type: + this.type === RevealableTypes.CONTRIBUTOR + ? 'NC' + : this.type === RevealableTypes.LEGACY + ? 'LC' + : 'PC', + timestamp: Date.now(), + message: `Closing info message for ${this.name}`, + }); store.setState({ infoMessageShown: false }); } } diff --git a/src/ui/intro.ts b/src/ui/intro.ts index f09b6ec..6ae9796 100644 --- a/src/ui/intro.ts +++ b/src/ui/intro.ts @@ -23,6 +23,17 @@ export class Intro { backgroundRef: HTMLInputElement; experienceRef: HTMLSelectElement; + fb1: HTMLTextAreaElement; + fb2: HTMLTextAreaElement; + fb3: HTMLTextAreaElement; + fb4: HTMLTextAreaElement; + fb5: HTMLTextAreaElement; + fb6: HTMLTextAreaElement; + fb7: HTMLTextAreaElement; + fb8: HTMLTextAreaElement; + fb9: HTMLTextAreaElement; + fb10: HTMLTextAreaElement; + errorRef: HTMLElement; constructor() { @@ -43,6 +54,17 @@ export class Intro { this.backgroundRef = document.querySelector('#intro-background'); this.experienceRef = document.querySelector('#intro-experience'); + this.fb1 = document.querySelector('#fb1'); + this.fb2 = document.querySelector('#fb2'); + this.fb3 = document.querySelector('#fb3'); + this.fb4 = document.querySelector('#fb4'); + this.fb5 = document.querySelector('#fb5'); + this.fb6 = document.querySelector('#fb6'); + this.fb7 = document.querySelector('#fb7'); + this.fb8 = document.querySelector('#fb8'); + this.fb9 = document.querySelector('#fb9'); + this.fb10 = document.querySelector('#fb10'); + this.errorRef = document.querySelector('#intro-error'); this.nextButton.addEventListener('click', () => this.onNextClick()); @@ -132,17 +154,36 @@ export class Intro { return; } + if (currentStep === 6) { + this.sendGeneralQuestionAnswers(); + } + store.setState((state) => ({ currentIntroStep: state.currentIntroStep + 1 })); } - private sendConsent() {} - private sendDemographicData(name: string, age: number, background: string, experience: string) { - console.log(name, age, background, experience); - - // TODO: Log + logger.logPersonalData(name, age, background, experience); } + private sendGeneralQuestionAnswers() { + const answers = [ + this.fb1.value, + this.fb2.value, + this.fb3.value, + this.fb4.value, + this.fb5.value, + this.fb6.value, + this.fb7.value, + this.fb8.value, + this.fb9.value, + this.fb10.value, + ]; + + console.log(answers); + } + + private sendKnowledgeQuestionAnswers() {} + private hideNameInput() {} private showStep() {