diff --git a/app.json b/app.json
index 78f7fde6..f12d2e0e 100644
--- a/app.json
+++ b/app.json
@@ -2,7 +2,7 @@
"expo": {
"name": "TAMU SHPE",
"slug": "TAMU-SHPE",
- "version": "1.0.8",
+ "version": "1.0.9",
"owner": "tamu-shpe",
"orientation": "portrait",
"icon": "./assets/icon.png",
@@ -54,7 +54,7 @@
"permissions": [
"android.permission.RECORD_AUDIO"
],
- "versionCode": 67,
+ "versionCode": 68,
"userInterfaceStyle": "automatic"
},
"ios": {
diff --git a/package.json b/package.json
index bcb57c89..18efcdd3 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "shpe-app",
- "version": "1.0.8",
+ "version": "1.0.9",
"scripts": {
"start": "npx expo start --dev-client",
"test": "jest --coverage=true --verbose --bail --config ./jest.config.ts",
diff --git a/src/screens/events/EventCard.tsx b/src/screens/events/EventCard.tsx
index 6076f29f..bb1e99cc 100644
--- a/src/screens/events/EventCard.tsx
+++ b/src/screens/events/EventCard.tsx
@@ -48,7 +48,7 @@ const EventCard = ({ event, navigation }: { event: SHPEEvent, navigation: any })
{formatDate(event.startTime?.toDate()!)}
- {hasPrivileges && (
+ {hasPrivileges && event.noPoints && (
{ navigation.navigate("QRCode", { event: event }) }}
diff --git a/src/screens/events/EventInfo.tsx b/src/screens/events/EventInfo.tsx
index 1bb0f286..4a295a62 100644
--- a/src/screens/events/EventInfo.tsx
+++ b/src/screens/events/EventInfo.tsx
@@ -92,6 +92,11 @@ const EventInfo = ({ navigation }: EventProps) => {
const getEventButtonState = (event: SHPEEvent, userEventLog: SHPEEventLog | null): EventButtonState => {
const now = new Date();
+ //Event does not give points
+ if (!event?.noPoints){
+ return EventButtonState.NO_POINTS;
+ }
+
// Event has not started
if (now < new Date(startTime!.toDate().getTime() - (startTimeBuffer || 0))) {
return EventButtonState.NOT_STARTED;
@@ -224,7 +229,7 @@ const EventInfo = ({ navigation }: EventProps) => {
- {hasPrivileges && (
+ {hasPrivileges && event.noPoints && (
{
navigation.navigate("QRCode", { event: event })
@@ -364,6 +369,9 @@ const EventInfo = ({ navigation }: EventProps) => {
{eventButtonState === EventButtonState.SIGN_OUT && (
Sign Out
)}
+ {eventButtonState === EventButtonState.NO_POINTS && (
+ This event does not give points
+ )}
{eventButtonState === EventButtonState.NOT_STARTED && (
This event has not started
)}
@@ -471,6 +479,7 @@ enum EventButtonState {
RECEIVED_POINTS = "You receive points for this event",
SIGN_OUT = "Sign out of this event",
SIGN_IN = "Sign in",
+ NO_POINTS = "No Points for this event"
}
export type EventInfoScreenRouteProp = RouteProp;
diff --git a/src/screens/events/Events.tsx b/src/screens/events/Events.tsx
index ddf72299..e1b2108c 100644
--- a/src/screens/events/Events.tsx
+++ b/src/screens/events/Events.tsx
@@ -358,7 +358,7 @@ const Events = ({ navigation }: EventsProps) => {
{formatTime(event.startTime?.toDate()!)}
- {hasPrivileges && (
+ {hasPrivileges && event.noPoints && (
{ navigation.navigate("QRCode", { event: event }) }}
className='absolute right-0 top-0 p-2 m-2 rounded-full'
diff --git a/src/screens/events/SetSpecificEventDetails.tsx b/src/screens/events/SetSpecificEventDetails.tsx
index 4fd03265..f7cbea85 100644
--- a/src/screens/events/SetSpecificEventDetails.tsx
+++ b/src/screens/events/SetSpecificEventDetails.tsx
@@ -45,6 +45,7 @@ const SetSpecificEventDetails = ({ navigation }: EventProps) => {
const [endTimeBuffer, setEndTimeBuffer] = useState(event.endTimeBuffer ?? 20 * 60000);
const [hiddenEvent, setHiddenEvent] = useState(event.hiddenEvent ?? undefined);
const [isGeneral, setIsGeneral] = useState(event.general ?? false);
+ const [noPoints, setNoPoints] = useState(event.noPoints ?? undefined);
const eventTypeNotification = ["Study Hours", "Workshop", "Volunteer Event", "Social Event", "Intramural Event"]
@@ -416,6 +417,28 @@ const SetSpecificEventDetails = ({ navigation }: EventProps) => {
/>
+
+ Event No Points
+ setNoPoints(previousState => !previousState)}
+ value={noPoints}
+ />
+
+
) =>
- 1. Pay the {
const url = tamuLink?.url?.trim() || "";
if (!url) {
@@ -305,8 +305,8 @@ const MemberSHPE = ({ navigation }: NativeStackScreenProps) =>
}}
className='text-primary-blue font-bold text-xl underline'
>
- chapter dues
- , which include a t-shirt. Be sure to take a screenshot of your
+ t-shirt
+ , and be sure to take a screenshot of your
receipt and upload it below.
diff --git a/src/types/events.ts b/src/types/events.ts
index 25bfdea6..6ac22b83 100644
--- a/src/types/events.ts
+++ b/src/types/events.ts
@@ -60,6 +60,8 @@ export abstract class SHPEEvent {
public notificationSent?: boolean | null;
/** Hide event from Events Screen */
public hiddenEvent?: boolean | null;
+ /** A flag to indicate if an event should count towards points or not */
+ public noPoints?: boolean | null;
/**
@@ -83,6 +85,7 @@ export abstract class SHPEEvent {
this.endTimeBuffer = null;
this.startTimeBuffer = null;
this.hiddenEvent = false;
+ this.noPoints = false;
}
/**