Skip to content

Commit f179d47

Browse files
authored
Merge pull request #102 from isaacphysics/events
Events
2 parents 66c44b4 + 87a0118 commit f179d47

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+1583
-563
lines changed

src/IsaacApiTypes.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@ export type EmailVerificationStatus = "VERIFIED" | "NOT_VERIFIED" | "DELIVERY_FA
474474

475475
export type GroupMembershipStatus = "ACTIVE" | "INACTIVE" | "DELETED";
476476

477-
export type Gender = "MALE" | "FEMALE" | "OTHER" | "UNKNOWN";
477+
export type Gender = "MALE" | "FEMALE" | "OTHER" | "PREFER_NOT_TO_SAY" | "UNKNOWN";
478478

479479
export type AuthenticationProvider = "GOOGLE" | "FACEBOOK" | "TWITTER" | "RAVEN" | "TEST" | "SEGUE";
480480

src/IsaacAppTypes.tsx

Lines changed: 55 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,6 @@
1+
import React from "react";
12
import * as ApiTypes from "./IsaacApiTypes";
2-
import {
3-
Content,
4-
GameboardDTO,
5-
GameboardItemState,
6-
GroupMembershipDTO,
7-
UserGroupDTO,
8-
UserSummaryDTO,
9-
UserSummaryWithEmailAddressDTO
10-
} from "./IsaacApiTypes";
113
import {ACTION_TYPE, DOCUMENT_TYPE, EXAM_BOARD, MEMBERSHIP_STATUS, TAG_ID} from "./app/services/constants";
12-
import React from "react";
13-
144

155
export type Action =
166
| {type: ACTION_TYPE.TEST_ACTION}
@@ -212,9 +202,30 @@ export type Action =
212202
| {type: ACTION_TYPE.GROUPS_MANAGER_ADD_RESPONSE_SUCCESS; group: ApiTypes.UserGroupDTO; managerEmail: string; newGroup: ApiTypes.UserGroupDTO}
213203
| {type: ACTION_TYPE.GROUPS_MANAGER_ADD_RESPONSE_FAILURE; group: ApiTypes.UserGroupDTO; managerEmail: string}
214204

215-
| {type: ACTION_TYPE.GROUPS_MANAGER_DELETE_REQUEST; group: ApiTypes.UserGroupDTO; manager: UserSummaryWithEmailAddressDTO}
216-
| {type: ACTION_TYPE.GROUPS_MANAGER_DELETE_RESPONSE_SUCCESS; group: ApiTypes.UserGroupDTO; manager: UserSummaryWithEmailAddressDTO}
217-
| {type: ACTION_TYPE.GROUPS_MANAGER_DELETE_RESPONSE_FAILURE; group: ApiTypes.UserGroupDTO; manager: UserSummaryWithEmailAddressDTO}
205+
| {type: ACTION_TYPE.GROUPS_MANAGER_DELETE_REQUEST; group: ApiTypes.UserGroupDTO; manager: ApiTypes.UserSummaryWithEmailAddressDTO}
206+
| {type: ACTION_TYPE.GROUPS_MANAGER_DELETE_RESPONSE_SUCCESS; group: ApiTypes.UserGroupDTO; manager: ApiTypes.UserSummaryWithEmailAddressDTO}
207+
| {type: ACTION_TYPE.GROUPS_MANAGER_DELETE_RESPONSE_FAILURE; group: ApiTypes.UserGroupDTO; manager: ApiTypes.UserSummaryWithEmailAddressDTO}
208+
209+
| {type: ACTION_TYPE.EVENTS_REQUEST}
210+
| {type: ACTION_TYPE.EVENTS_RESPONSE_SUCCESS; augmentedEvents: ApiTypes.IsaacEventPageDTO[]; total: number}
211+
| {type: ACTION_TYPE.EVENTS_RESPONSE_FAILURE}
212+
| {type: ACTION_TYPE.EVENTS_CLEAR}
213+
214+
| {type: ACTION_TYPE.EVENT_REQUEST}
215+
| {type: ACTION_TYPE.EVENT_RESPONSE_SUCCESS; augmentedEvent: AugmentedEvent}
216+
| {type: ACTION_TYPE.EVENT_RESPONSE_FAILURE}
217+
218+
| {type: ACTION_TYPE.EVENT_BOOKING_REQUEST}
219+
| {type: ACTION_TYPE.EVENT_BOOKING_RESPONSE_SUCCESS}
220+
| {type: ACTION_TYPE.EVENT_BOOKING_RESPONSE_FAILURE}
221+
222+
| {type: ACTION_TYPE.EVENT_WAITING_LIST_REQUEST}
223+
| {type: ACTION_TYPE.EVENT_WAITING_LIST_RESPONSE_SUCCESS}
224+
| {type: ACTION_TYPE.EVENT_WAITING_LIST_RESPONSE_FAILURE}
225+
226+
| {type: ACTION_TYPE.EVENT_CANCELLATION_REQUEST}
227+
| {type: ACTION_TYPE.EVENT_CANCELLATION_RESPONSE_SUCCESS}
228+
| {type: ACTION_TYPE.EVENT_CANCELLATION_RESPONSE_FAILURE}
218229

219230
| {type: ACTION_TYPE.BOARDS_REQUEST; accumulate: boolean}
220231
| {type: ACTION_TYPE.BOARDS_RESPONSE_SUCCESS; boards: ApiTypes.GameboardListDTO; accumulate: boolean}
@@ -254,7 +265,7 @@ export interface AppGroup extends ApiTypes.UserGroupDTO {
254265
}
255266

256267
export interface AppGroupMembership extends ApiTypes.UserSummaryWithGroupMembershipDTO {
257-
groupMembershipInformation: GroupMembershipDTO;
268+
groupMembershipInformation: ApiTypes.GroupMembershipDTO;
258269
}
259270

260271
export interface ShortcutResponses {
@@ -277,10 +288,15 @@ export interface UserExamPreferences {
277288
[EXAM_BOARD.OCR]?: boolean;
278289
}
279290

291+
export interface SubjectInterests {
292+
CS_ALEVEL?: boolean;
293+
}
294+
280295
export interface UserPreferencesDTO {
281296
BETA_FEATURE?: string;
282297
EMAIL_PREFERENCE?: UserEmailPreferences;
283298
EXAM_BOARD?: UserExamPreferences;
299+
SUBJECT_INTEREST?: SubjectInterests;
284300
}
285301

286302
export interface ValidatedChoice<C extends ApiTypes.ChoiceDTO> {
@@ -346,12 +362,12 @@ export enum BoardOrder {
346362

347363
export type ActualBoardLimit = number | "ALL";
348364

349-
export type AppGameBoard = GameboardDTO & {assignedGroups?: UserGroupDTO[]};
365+
export type AppGameBoard = ApiTypes.GameboardDTO & {assignedGroups?: ApiTypes.UserGroupDTO[]};
350366

351367
// Admin Content Errors:
352368
export interface ContentErrorItem {
353369
listOfErrors: string[];
354-
partialContent: Content;
370+
partialContent: ApiTypes.Content;
355371
successfulIngest: boolean;
356372
}
357373

@@ -377,17 +393,37 @@ export interface FigureNumbersById {[figureId: string]: number}
377393
export const FigureNumberingContext = React.createContext<FigureNumbersById>({});
378394

379395
export interface AppAssignmentProgress {
380-
user: UserSummaryDTO;
396+
user: ApiTypes.UserSummaryDTO;
381397
correctPartResults: number[];
382398
incorrectPartResults: number[];
383-
results: GameboardItemState[];
399+
results: ApiTypes.GameboardItemState[];
384400

385401
tickCount: number;
386402
correctQuestionPartsCount: number;
387403
incorrectQuestionPartsCount: number;
388404
notAttemptedPartResults: number[];
389405
}
390406

407+
export interface AugmentedEvent extends ApiTypes.IsaacEventPageDTO {
408+
multiDay?: boolean;
409+
expired?: boolean;
410+
withinBookingDeadline?: boolean;
411+
inProgress?: boolean;
412+
teacher?: boolean;
413+
student?: boolean;
414+
virtual?: boolean;
415+
field?: "physics" | "maths";
416+
}
417+
418+
export interface AdditionalInformation {
419+
jobTitle?: string;
420+
yearGroup?: string;
421+
medicalRequirements?: string;
422+
accessibilityRequirements?: string;
423+
emergencyName?: string;
424+
emergencyNumber?: string;
425+
}
426+
391427
export interface ZxcvbnResult {
392428
calc_time: number;
393429
crack_times_display: { [key: string]: string };

src/app/components/content/IsaacSymbolicLogicQuestion.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {setCurrentAttempt} from "../../state/actions";
44
import {IsaacContentValueOrChildren} from "./IsaacContentValueOrChildren";
55
import {AppState} from "../../state/reducers";
66
import {LogicFormulaDTO, IsaacSymbolicLogicQuestionDTO} from "../../../IsaacApiTypes";
7-
import { InequalityModal } from "../elements/InequalityModal";
7+
import { InequalityModal } from "../elements/modals/InequalityModal";
88
import katex from "katex";
99
import {IsaacHints} from "./IsaacHints";
1010
import { determineExamBoardFrom } from "../../services/examBoard";

src/app/components/elements/DateString.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
// TODO Format options
2+
// export const FORMAT = {
3+
// TIME_ONLY: (d: Date) => `${d.getUTCHours()}:${d.getUTCMinutes()} UTC`,
4+
// DAY: (d: Date) => `${d.getUTCDay()} ${d.getUTCDate()} ${d.getUTCMonth()} ${d.getUTCFullYear()}`,
5+
// DAY_AND_TIME: (d: Date) => `${d.getUTCDay()} ${d.getUTCDate()} ${d.getUTCMonth()} ${d.getUTCFullYear()} ${d.getUTCHours()}:${d.getUTCMinutes()}`,
6+
// };
7+
18
export const DateString = ({children, defaultValue}: {children: any; defaultValue?: any}) => {
29
const fallback = defaultValue || "NOT A VALID DATE";
310
try {

0 commit comments

Comments
 (0)