mirror of
https://github.com/soconnor0919/hristudio.git
synced 2026-05-08 13:58:55 -04:00
Enhance HRIStudio with immersive experiment designer and comprehensive documentation updates
- Introduced a new immersive experiment designer using React Flow, providing a professional-grade visual flow editor for creating experiments. - Added detailed documentation for the flow designer connections and ordering system, emphasizing its advantages and implementation details. - Updated existing documentation to reflect the latest features and improvements, including a streamlined README and quick reference guide. - Consolidated participant type definitions into a new file for better organization and clarity. Features: - Enhanced user experience with a node-based interface for experiment design. - Comprehensive documentation supporting new features and development practices. Breaking Changes: None - existing functionality remains intact.
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
// Participant type definitions for HRIStudio
|
||||
|
||||
export interface ParticipantDemographics {
|
||||
age?: number;
|
||||
gender?: string;
|
||||
grade?: number;
|
||||
background?: string;
|
||||
education?: string;
|
||||
occupation?: string;
|
||||
experience?: string;
|
||||
notes?: string;
|
||||
[key: string]: string | number | boolean | undefined;
|
||||
}
|
||||
|
||||
export interface ParticipantWithStudy {
|
||||
id: string;
|
||||
studyId: string;
|
||||
participantCode: string;
|
||||
email: string | null;
|
||||
name: string | null;
|
||||
demographics: ParticipantDemographics | null;
|
||||
consentGiven: boolean;
|
||||
consentDate: Date | null;
|
||||
notes: string | null;
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
study: {
|
||||
id: string;
|
||||
name: string;
|
||||
institution: string | null;
|
||||
} | null;
|
||||
}
|
||||
|
||||
export interface CreateParticipantData {
|
||||
studyId: string;
|
||||
participantCode: string;
|
||||
email?: string;
|
||||
name?: string;
|
||||
demographics?: ParticipantDemographics;
|
||||
consentGiven?: boolean;
|
||||
consentDate?: Date;
|
||||
notes?: string;
|
||||
}
|
||||
|
||||
export interface UpdateParticipantData {
|
||||
participantCode?: string;
|
||||
email?: string;
|
||||
name?: string;
|
||||
demographics?: ParticipantDemographics;
|
||||
consentGiven?: boolean;
|
||||
consentDate?: Date;
|
||||
notes?: string;
|
||||
}
|
||||
|
||||
export interface ParticipantListItem {
|
||||
id: string;
|
||||
studyId: string;
|
||||
participantCode: string;
|
||||
name: string | null;
|
||||
consentGiven: boolean;
|
||||
consentDate: Date | null;
|
||||
createdAt: Date;
|
||||
studyName: string;
|
||||
}
|
||||
|
||||
export interface ParticipantTrialSummary {
|
||||
id: string;
|
||||
experimentName: string;
|
||||
status: "scheduled" | "in_progress" | "completed" | "aborted";
|
||||
scheduledAt: Date | null;
|
||||
startedAt: Date | null;
|
||||
completedAt: Date | null;
|
||||
duration: number | null;
|
||||
}
|
||||
|
||||
export interface ParticipantDetailData extends ParticipantWithStudy {
|
||||
trials: ParticipantTrialSummary[];
|
||||
upcomingTrials: ParticipantTrialSummary[];
|
||||
completedTrials: ParticipantTrialSummary[];
|
||||
}
|
||||
Reference in New Issue
Block a user