Skip to content

Commit

Permalink
Merge branch 'master' into achievement-page
Browse files Browse the repository at this point in the history
  • Loading branch information
cgu2020 committed Apr 24, 2024
2 parents 9903fbb + 2045861 commit 48e891f
Show file tree
Hide file tree
Showing 29 changed files with 1,134 additions and 808 deletions.
8 changes: 4 additions & 4 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"typescript.preferences.importModuleSpecifier": "relative",
"githubPullRequests.ignoredPullRequestBranches": [
"master"
]
}
"editor.formatOnSave": true,
"githubPullRequests.ignoredPullRequestBranches": ["master"],
"typescript.tsdk": "node_modules/typescript/lib"
}
56 changes: 18 additions & 38 deletions admin/src/all.dto.ts
Original file line number Diff line number Diff line change
@@ -1,36 +1,7 @@
// CODE AUTOGENERATED BY npm run updateapi
// IF YOU MODIFY THIS FILE, MAKE SURE TO ALSO MODIFY THE updateapi SCRIPT!
// OTHERWISE YOUR CHANGES MAY BE OVERWRITTEN!
export enum AchievementLocationType {
EngQuad = "EngQuad",
ArtsQuad = "ArtsQuad",
AgQuad = "AgQuad",
NorthCampus = "NorthCampus",
WestCampus = "WestCampus",
Collegetown = "Collegetown",
IthacaCommons = "IthacaCommons",
Any = "Any",
}

export enum AchievementType {
TotalPoints = "TotalPoints",
TotalChallenges = "TotalChallenges",
TotalJourneys = "TotalJourneys",
TotalChallengesOrJourneys = "TotalChallengesOrJourneys",
}

export enum AchievementLocationTypeDto {
ENG_QUAD = "ENG_QUAD",
ARTS_QUAD = "ARTS_QUAD",
AG_QUAD = "AG_QUAD",
NORTH_CAMPUS = "NORTH_CAMPUS",
WEST_CAMPUS = "WEST_CAMPUS",
COLLEGETOWN = "COLLEGETOWN",
ITHACA_COMMONS = "ITHACA_COMMONS",
ANY = "ANY",
}

export enum AchievementAchievementTypeDto {
export enum AchievementTypeDto {
TOTAL_POINTS = "TOTAL_POINTS",
TOTAL_CHALLENGES = "TOTAL_CHALLENGES",
TOTAL_JOURNEYS = "TOTAL_JOURNEYS",
Expand Down Expand Up @@ -103,14 +74,14 @@ export enum UserAuthTypeDto {

export interface AchievementDto {
id: string;
eventId: string;
requiredPoints: number;
name: string;
description: string;
imageUrl: string;
locationType: AchievementLocationTypeDto;
achievementType: AchievementAchievementTypeDto;
organizations: string[];
eventId?: string;
requiredPoints?: number;
name?: string;
description?: string;
imageUrl?: string;
locationType?: ChallengeLocationDto;
achievementType?: AchievementTypeDto;
initialOrganizationId?: string;
}

export interface AchievementTrackerDto {
Expand All @@ -120,6 +91,15 @@ export interface AchievementTrackerDto {
dateComplete?: string;
}

export interface UpdateAchievementDataDto {
achievement: AchievementDto;
deleted: boolean;
}

export interface RequestAchievementDataDto {
achievements: string[];
}

export interface LoginDto {
idToken: string;
latF: number;
Expand Down
27 changes: 12 additions & 15 deletions admin/src/components/Challenges.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { useContext, useState } from "react";
import { compareTwoStrings } from "string-similarity";
import styled, { css } from "styled-components";
import { ChallengeDto } from "../all.dto";
import { ChallengeDto, ChallengeLocationDto } from "../all.dto";
import { moveDown, moveUp } from "../ordering";
import { AlertModal } from "./AlertModal";
import { DeleteModal } from "./DeleteModal";
Expand All @@ -24,7 +24,6 @@ import {
} from "./ListCard";
import { SearchBar } from "./SearchBar";
import { ServerDataContext } from "./ServerData";
import { ChallengeLocationDto } from "../all.dto";

const ChallengeImage = styled.div<{ url: string }>`
width: calc(100% + 23px);
Expand All @@ -38,15 +37,15 @@ const ChallengeImage = styled.div<{ url: string }>`
`}
`;

const locationOptions = [
"ENG_QUAD",
"ARTS_QUAD",
"AG_QUAD",
"NORTH_CAMPUS",
"WEST_CAMPUS",
"COLLEGETOWN",
"ITHACA_COMMONS",
"ANY",
const locationOptions: ChallengeLocationDto[] = [
ChallengeLocationDto.ENG_QUAD,
ChallengeLocationDto.ARTS_QUAD,
ChallengeLocationDto.AG_QUAD,
ChallengeLocationDto.NORTH_CAMPUS,
ChallengeLocationDto.WEST_CAMPUS,
ChallengeLocationDto.COLLEGETOWN,
ChallengeLocationDto.ITHACA_COMMONS,
ChallengeLocationDto.ANY,
];

function ChallengeCard(props: {
Expand Down Expand Up @@ -90,7 +89,7 @@ function makeForm(): EntryForm[] {
{ name: "Location", latitude: 42.447546, longitude: -76.484593 },
{
name: "Location Description",
options: locationOptions,
options: locationOptions as string[],
value: 0,
},
{ name: "Name", characterLimit: 256, value: "" },
Expand Down Expand Up @@ -157,9 +156,7 @@ function fromForm(
return {
id,
name: (form[2] as FreeEntryForm).value,
location: locationOptions[
(form[1] as OptionEntryForm).value
] as ChallengeLocationDto,
location: locationOptions[(form[1] as OptionEntryForm).value],
description: (form[3] as FreeEntryForm).value,
points: (form[4] as NumberEntryForm).value,
imageUrl: (form[5] as FreeEntryForm).value,
Expand Down
22 changes: 22 additions & 0 deletions admin/src/components/ServerApi.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@ export class ServerApi {
this.socket.emit(ev, data);
}

requestAchievementData(data: dto.RequestAchievementDataDto) {
this.send("requestAchievementData", data);
}

updateAchievementData(data: dto.UpdateAchievementDataDto) {
this.send("updateAchievementData", data);
}

requestChallengeData(data: dto.RequestChallengeDataDto) {
this.send("requestChallengeData", data);
}
Expand Down Expand Up @@ -136,6 +144,20 @@ export class ServerApi {
this.socket.on("updateChallengeData", (data) => callback(data));
}

onUpdateAchievementData(
callback: (data: dto.UpdateAchievementDataDto) => void
) {
this.socket.removeAllListeners("updateAchievementData");
this.socket.on("updateAchievementData", (data) => callback(data));
}

onUpdateAchievementTrackerData(
callback: (data: dto.AchievementTrackerDto) => void
) {
this.socket.removeAllListeners("updateAchievementTrackerData");
this.socket.on("updateAchievementTrackerData", (data) => callback(data));
}

onUpdateEventTrackerData(callback: (data: dto.EventTrackerDto) => void) {
this.socket.removeAllListeners("updateEventTrackerData");
this.socket.on("updateEventTrackerData", (data) => callback(data));
Expand Down
20 changes: 20 additions & 0 deletions game/lib/api/game_client_api.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,16 @@ class GameClientApi {
Stream<UpdateChallengeDataDto> get updateChallengeDataStream =>
_updateChallengeDataController.stream;

final _updateAchievementDataController =
StreamController<UpdateAchievementDataDto>.broadcast(sync: true);
Stream<UpdateAchievementDataDto> get updateAchievementDataStream =>
_updateAchievementDataController.stream;

final _updateAchievementTrackerDataController =
StreamController<AchievementTrackerDto>.broadcast(sync: true);
Stream<AchievementTrackerDto> get updateAchievementTrackerDataStream =>
_updateAchievementTrackerDataController.stream;

final _updateEventTrackerDataController =
StreamController<EventTrackerDto>.broadcast(sync: true);
Stream<EventTrackerDto> get updateEventTrackerDataStream =>
Expand Down Expand Up @@ -85,6 +95,16 @@ class GameClientApi {
(data) => _updateChallengeDataController
.add(UpdateChallengeDataDto.fromJson(data)));

sock.on(
"updateAchievementData",
(data) => _updateAchievementDataController
.add(UpdateAchievementDataDto.fromJson(data)));

sock.on(
"updateAchievementTrackerData",
(data) => _updateAchievementTrackerDataController
.add(AchievementTrackerDto.fromJson(data)));

sock.on(
"updateEventTrackerData",
(data) => _updateEventTrackerDataController
Expand Down
Loading

0 comments on commit 48e891f

Please sign in to comment.