projects/deliberation_at_scale/packages/frontend/utilities/constants.tsx (47 lines of code) (raw):
import { OutcomeType } from "@/generated/graphql";
/**
* Environment variables from .env file
* NOTE: make sure you use the `process.env.NEXT_PUBLIC_` prefix so NextJS can detect them
*/
export const NEXT_PUBLIC_SUPABASE_URL = process.env.NEXT_PUBLIC_SUPABASE_URL ?? '';
export const NEXT_PUBLIC_SUPABASE_ANON_KEY = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY ?? '';
export const NEXT_PUBLIC_WHEREBY_SUBDOMAIN = process.env.NEXT_PUBLIC_WHEREBY_SUBDOMAIN ?? 'deliberation-at-scale.whereby.com';
export const NEXT_PUBLIC_TRANSCRIBE_API_URL = process.env.NEXT_PUBLIC_TRANSCRIBE_API_URL ?? '';
export const NEXT_PUBLIC_SIGN_IN_ANONYMOUS_API_URL = process.env.NEXT_PUBLIC_SIGN_IN_ANONYMOUS_API_URL ?? '';
/**
* Default theming
*/
export const DEFAULT_ROOM_BASE_COLOR = 'orange';
export const AUTHENTICATE_ROOM_BASE_COLOR = 'blue';
export const DELIBERATION_ROOM_BASE_COLOR = 'green';
export const ANIMATION_DURATION_S = '0.3s';
/**
* Language
*/
export const DEFAULT_LANGUAGE = process.env.NEXT_PUBLIC_DEFAULT_LANGUAGE ?? 'en';
export const ENABLE_FORCE_LANGUAGE = process.env.NEXT_PUBLIC_ENABLE_FORCE_LANGUAGE ?? false;
export const FORCED_LANGUAGE = process.env.NEXT_PUBLIC_FORCED_LANGUAGE ?? 'en';
/**
* Time
*/
export const ONE_SECOND_MS = 1000;
/**
* Element IDs
*/
export const MESSAGES_SCROLL_CONTAINER_ID = 'messages-scroll-container';
/**
* Chat flows
*/
export const DEFAULT_BOT_MESSAGE_SPEED_MS = ONE_SECOND_MS * 1.5;
export const LOBBY_ALLOW_ASK_PERMISSION_STATE_KEY = 'allowAskPermission';
export const LOBBY_WAITING_FOR_ROOM_STATE_KEY = 'waitingForRoom';
export const LOBBY_FOUND_ROOM_STATE_KEY = 'foundRoom';
export const LOBBY_WANT_TO_JOIN_ROOM_STATE_KEY = 'wantToJoinRoom';
export const PARTICIPANT_PING_INTERVAL_DELAY_MS = ONE_SECOND_MS;
/**
* Enable when you want all the `useRealtimeQuery` wrappers to automatically refetch periodically
*/
export const ENABLE_REALTIME_SUBSCRIPTIONS = true;
export const ENABLE_AUTO_QUERY_REFETCH = true;
export const AUTO_QUERY_REFETCH_INTERVAL_MS = ONE_SECOND_MS * 5;
/**
* Rooms
*/
export const PARTICIPANTS_PER_ROOM = 3;
export const SHOW_VIDEO_CONTROLS_INITIALLY = true;
export const ENABLE_WHEREBY = true;
export const ENABLE_TEST_ROOM = false;
// nice conversation: 5ab38de6-3516-4b9e-8b1a-67e80f3b38c2
export const TEST_ROOM_ID = 'fab98755-ff11-4241-91c6-0b4da1ea2d02'; // '0a323099-4c94-49f9-89ff-2bf11d4dfb21'; ee440eef-3cbd-48fd-ab37-a0ea12a7c895
export const TEST_EXTERNAL_ROOM_ID = 'https://deliberation-at-scale.whereby.com/das-c01b747d-b9b5-43d3-8b95-c8312ec6538f';
export const ROOM_JOINING_EXPIRY_TIME_MS = ONE_SECOND_MS * 60;
export const ENABLE_ROOM_AUTO_JOIN = true;
/**
* Transcriptions
*/
export const ENABLE_TRANSCRIPTION = false;
export const ENABLE_AUTO_START_TRANSCRIPTION = false && ENABLE_TRANSCRIPTION;
export const DEFAULT_TRANSCRIPTION_CHUNK_DURATION_MS = ONE_SECOND_MS * 60 * 2;
export const DEFAULT_TRANSCRIPTION_TIME_SLICE_MS = ONE_SECOND_MS * 60 * 2;
export const TRANSCRIBE_VALID_MIN_TEXT_LENGTH = 30;
/**
* Opinions
*/
export const DISABLE_OPINION_INPUT_WHEN_TIMED_OUT = false;
export const OUTCOME_OPINION_TIMEOUT_MS_LOOKUP: Record<OutcomeType, number> = {
[OutcomeType.Consensus]: 0,
[OutcomeType.CrossPollination]: 0,
[OutcomeType.Milestone]: 0,
[OutcomeType.OffTopic]: 0,
[OutcomeType.OverallImpression]: 0,
[OutcomeType.TopicInterest]: 0,
[OutcomeType.SeedStatement]: 0,
};