From 3655d8e1191c9801182f4c51aef7aa6d5aebaffe Mon Sep 17 00:00:00 2001 From: Angie Cao Date: Wed, 25 Sep 2024 08:48:23 -0400 Subject: [PATCH] created sidebar component, input values, passed as param --- src/app/editor/components/ReferenceData.tsx | 89 +++++++++++++++++++++ src/app/editor/components/RenderPanel.tsx | 18 +++++ 2 files changed, 107 insertions(+) create mode 100644 src/app/editor/components/ReferenceData.tsx diff --git a/src/app/editor/components/ReferenceData.tsx b/src/app/editor/components/ReferenceData.tsx new file mode 100644 index 0000000..b674101 --- /dev/null +++ b/src/app/editor/components/ReferenceData.tsx @@ -0,0 +1,89 @@ +import React, { FC } from 'react' + +interface ReferenceDataProps { + participantInfoName?: string + guessPartnerParty?: string + guessPartnerPosition?: string + stageName?: string + setParticipantInfoName: (value: string) => void + setGuessPartnerParty: (value: string) => void + setGuessPartnerPosition: (value: string) => void + setStageName: (value: string) => void +} + +const ReferenceData: FC = ({ + participantInfoName = '', + guessPartnerParty = '', + guessPartnerPosition = '', + stageName = '', + setParticipantInfoName, + setGuessPartnerParty, + setGuessPartnerPosition, + setStageName, +}) => { + return ( +
+

+ Stage Refs and Dependencies +

+ + {/* user input for participantInfo.name */} +
+ + setParticipantInfoName(e.target.value)} + className="mt-1 block w-full rounded-md border-gray-300 bg-gray-200 p-2 shadow-md hover:shadow-lg focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 transition-shadow duration-200 ease-in-out" + placeholder="Enter participant name" + /> +
+ + {/* user input for prompt.guessPartnerParty */} +
+ + setGuessPartnerParty(e.target.value)} + className="mt-1 block w-full rounded-md border-gray-300 bg-gray-200 p-2 shadow-md hover:shadow-lg focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 transition-shadow duration-200 ease-in-out" + placeholder="Enter partner party" + /> +
+ + {/* user input for prompt.guessPartnerPosition */} +
+ + setGuessPartnerPosition(e.target.value)} + className="mt-1 block w-full rounded-md border-gray-300 bg-gray-200 p-2 shadow-md hover:shadow-lg focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 transition-shadow duration-200 ease-in-out" + placeholder="Enter partner position" + /> +
+ + {/* user input for stageName */} +
+ + setStageName(e.target.value)} + className="mt-1 block w-full rounded-md border-gray-300 bg-gray-200 p-2 shadow-md hover:shadow-lg focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 transition-shadow duration-200 ease-in-out" + placeholder="Enter stage name" + /> +
+
+ ) +} + +export default ReferenceData diff --git a/src/app/editor/components/RenderPanel.tsx b/src/app/editor/components/RenderPanel.tsx index 7426276..a8e8972 100644 --- a/src/app/editor/components/RenderPanel.tsx +++ b/src/app/editor/components/RenderPanel.tsx @@ -1,6 +1,7 @@ import React, { useEffect, useState, useContext } from 'react' import dynamic from 'next/dynamic.js' import TimePicker from './TimePicker' +import ReferenceData from './ReferenceData' //import { Stage } from './../../../.././deliberation-empirica/client/src/Stage.jsx' import RenderDelibElement from './RenderDelibElement' @@ -27,6 +28,13 @@ export function RenderPanel() { treatment, setTreatment, } = useContext(StageContext) + + //const for reference data in sidebar + const [participantInfoName, setParticipantInfoName] = useState('') + const [guessPartnerParty, setGuessPartnerParty] = useState('') + const [guessPartnerPosition, setGuessPartnerPosition] = useState('') + const [stageName, setStageName] = useState('') + console.log('RenderPanel.tsx current stage index', currentStageIndex) console.log('Current Treatment', treatment) @@ -52,6 +60,16 @@ export function RenderPanel() { setValue={setElapsed} maxValue={treatment.gameStages[currentStageIndex]?.duration ?? 0} /> + {/* need to retrieve stage duration from treatment */} )}